User:Vvinogra

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Vadim Vinogradin

Bash Quests

Quest 12 kasutaja olemasolu testimine

#!/bin/bash
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon 0.2
#Teha skript is_user.sh mis kontrollib, kas kasutaja eksisteerib.
KASUTAJA=$1
#Kontrollib, kas kasutaja on olemas (kui jah - siis näitab "0", kui ei ole - "1")
if [ $(getent passwd $KASUTAJA ) ]; then
        exit 0
else
        exit 1
fi
exit 0

Quest 12 Grupi olemasolu testimine

#!/bin/bash
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon 0.2
#Teha skript is_group.sh mis kontrollib, kas grupp eksisteerib.
GRUPP=$1
#Kontrollib, kas grupp on olemas (kui jah - siis näitab "0", kui ei ole - "1")
if [ $(getent group $GRUPP ) ]; then
        exit 0
else
        exit 1
fi
exit 0

Skript, mis vähendab foto lahutus

Käivitamise näide: /home/student/scripts/script.sh /home/student/foto

Esimene kataloog - kataloog skriptiga /home/student/scripts/script.sh

Teine kataloog - kataloog piltidega /home/student/foto

#!/bin/bash
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon: 1.0
#Skript, mis vähendab foto lahutus
#Skript on tehtud inimestele, kes tihti teeb fotod ja on vaja kõik aeg vähendada neid.
#Seda tõttu selles skriptis kasutatakse määratud lahutusi, mis on olemas igas digikaameras
if [ $UID -ne 0 ]; then
echo "On vaja olla root!"
exit 1
fi
#Kontrollime, kas on juba installeeritud "convert" programm, kui ei - siis algab installeerimine
if which convert >/dev/null; then
	echo "Convert on olemas"
else
	echo "Convert programmi ei ole, alustan installeerida..."
	sudo apt-get install imagemagick
fi
KATALOOG=$1
#Kustutame "/" lõpus
KATALOOG=`echo $1 | sed -e 's,\(.\)/$,\1,'`

find $KATALOOG/$i -type f | while read file; do
# Kasutame POSIX-klass [:space:] selle jaoks, et leida failide nimed tühikud
if [[ "$file" = *[[:space:]]* ]]; then
#Vahetame tühikud märkiga "_"
mv "$file" `echo $file | tr ' ' '_'`
fi
done
#Loome kataloogi vana kataloogi jaoks nimega "Katalooginimi.vana"
mkdir "$KATALOOG.vana"
#Kopeerime pildid kataloogile nimega "Katalooginimi.vana"
for i in `ls $KATALOOG`
do
cp $KATALOOG/$i $KATALOOG.vana
done
VIGA=0;
echo "Alustan vähendada..."
#Skript küsib sisestada sobiv variant foto vähendamise jaoks
for i in `ls $KATALOOG`
do
echo "Pildi nimi on: $i"
echo "1 - 640x480"
echo "2 - 1024x768"
echo "3 - 1280x960"
echo "4 - 2048x1536"
echo -n "Sistestage number 1-4: "
read number
case $number in
        [1] )
                convert $KATALOOG/$i -resize 307200@ $KATALOOG/$i;
                ;;
 	[2] )
                convert $KATALOOG/$i -resize 786432@ $KATALOOG/$i;
                ;;
        [3] )
                convert $KATALOOG/$i -resize 1228800@ $KATALOOG/$i;
                ;;
        [4] )
                convert $KATALOOG/$i -resize 3145728@ $KATALOOG/$i;
                ;;
        *) echo "Viga! Käivitage skript uuesti ja sisestage number 1-4"
		exit 0
           	;;
esac

if [ $? -eq 0 ]; then
	echo "$i edukalt vähendanud"
#Arvutame vead  
else VIGA=$[$VIGA+1]
fi
done
if [ $VIGA -eq 0 ]; then
	echo "Kõik on tehtud"
else 
	echo "Vead, kontrollige omadused."
fi
	echo "Te saate leida vana pilte siin: $KATALOOG.vana"

PowerShell

PowerShell ping skript

shtask.ps1

#See väike skript loob scheduled task, mis uuendab iga tunni jooksul ja käivitab pingskript.ps1
start-process PowerShell.exe -arg $pwd\Desktop\pingskript.ps1 -WindowStyle Hidden 
schtasks.exe /Create /TN v2rskendaja /SC MINUTE /MO 60 /TR "PowerShell.exe -file $pwd\Desktop\pingskript.ps1 -WindowStyle Hidden -NoLogo -NonInteractive"

pingskript.ps1

#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon: 0.3
#Skript, mis kontrollib, saidi IP-aadressi töötamine. 
#Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis  kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.
$ipaadress="193.40.194.205"
$pingimine = New-Object System.Net.NetworkInformation.Ping
$date=date
$tulemus = $pingimine.send($ipaadress)
if ($tulemus.status.tostring() -eq "Success") { Write-Host Saan pingida $ipaadress }
else { Write-Host "Ei saa pingida $ipaadress"
#Siia tuleb kirjutada oma e-mailiga seotud andmed
$MessageParameters = @{
From = "username@mail.com"
To = "username@mail.com"
Subject = "Ping ei toota! Vaata C:\ping.txt kataloogi"
Body = "Vaata faili"
#SmtpServer igal interneti pakkujal on oma, siis kui on vaja - tuleb muuta
SmtpServer = "mail.starman.ee"
	}
Send-MailMessage @MessageParameters
}

echo "$date" >> C:\ping.txt
echo "$ipaadress" >> C:\ping.txt
if ($True) { ping $ipaadress >> C:\ping.txt }
echo "------------------------------------------------------------------------------------------------" >> C:\ping.txt

Python

Python kasutaja olemasolu testimine skript

#!/usr/bin/python
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon 0.7
#Skript user.py mis kutsub sisestada kasutajanimi ja peale seda kontrollib, kas kasutaja eksisteerib.
kasutajanimi = raw_input("Sisestage kasutajanimi: ")
for rida in open("/etc/passwd"):
	rida = rida.split("\"")[0].split(":x")	
	if kasutajanimi in rida:
		print "Kasutaja " + kasutajanimi + " on olemas"
		break
else:
	print "Kasutaja " + kasutajanimi + " puudub"