User:Vvinogra: Difference between revisions
From ICO wiki
Jump to navigationJump to search
Created page with '==Bash Quests== ===Quest 12=== <source lang="bash"> #!/bin/bash #Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee #Versioon 0.1 #Teha skript is_group.sh mis kontrollib, kas ka…' |
|||
(38 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Vadim Vinogradin | |||
==Bash Quests== | ==Bash Quests== | ||
===Quest 12=== | ===Quest 12 kasutaja olemasolu testimine=== | ||
<source lang="bash"> | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee | #Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee | ||
#Versioon 0. | #Versioon 0.2 | ||
#Teha skript | #Teha skript is_user.sh mis kontrollib, kas kasutaja eksisteerib. | ||
KASUTAJA=$1 | KASUTAJA=$1 | ||
# | #Kontrollib, kas kasutaja on olemas (kui jah - siis näitab "0", kui ei ole - "1") | ||
if [ $(getent | if [ $(getent passwd $KASUTAJA ) ]; then | ||
exit 0 | |||
else | else | ||
exit 1 | |||
fi | fi | ||
exit 0 | |||
</source> | |||
===Quest 12 Grupi olemasolu testimine=== | |||
<source lang="bash"> | |||
#!/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 | |||
</source> | |||
===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 | |||
<source lang="bash"> | |||
#!/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" | |||
</source> | |||
==PowerShell== | |||
===PowerShell ping skript=== | |||
shtask.ps1 | |||
<source lang="powershell"> | |||
#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" | |||
</source> | |||
pingskript.ps1 | |||
<source lang="powershell"> | |||
#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 | |||
</source> | |||
==Python== | |||
===Python kasutaja olemasolu testimine skript=== | |||
<source lang="python"> | |||
#!/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" | |||
</source> | </source> |
Latest revision as of 16:05, 20 May 2011
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"