User:Vvinogra: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Vvinogra (talk | contribs)
Vvinogra (talk | contribs)
 
(10 intermediate revisions by the same user not shown)
Line 35: Line 35:


===Skript, mis vähendab foto lahutus===
===Skript, mis vähendab foto lahutus===
'''On vaja veel lisada mingi asju.'''
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">
<source lang="bash">
#!/bin/bash
#!/bin/bash
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon: 1.0
#Versioon: 1.0
#Käivitamise näide: /home/student/scripts/script.sh /home/student/foto
#Skript, mis vähendab foto lahutus
#Esimene kataloog - kataloog skriptiga /home/student/scripts/script.sh
#Skript on tehtud inimestele, kes tihti teeb fotod ja on vaja kõik aeg vähendada neid.
#Teine kataloog - kataloog piltidega /home/student/foto
#Seda tõttu selles skriptis kasutatakse määratud lahutusi, mis on olemas igas digikaameras
if [ $UID -ne 0 ]; then
if [ $UID -ne 0 ]; then
echo "On vaja olla root!"
echo "On vaja olla root!"
exit 1
exit 1
fi
fi
#Kontrollime, kas on juba installitud "convert" programm
#Kontrollime, kas on juba installeeritud "convert" programm, kui ei - siis algab installeerimine
if which convert >/dev/null; then
if which convert >/dev/null; then
echo "Convert on olemas"
echo "Convert on olemas"
Line 74: Line 79:
VIGA=0;
VIGA=0;
echo "Alustan vähendada..."
echo "Alustan vähendada..."
#Skript küsib sisestada sobiv variant foto vähendamise jaoks
for i in `ls $KATALOOG`
for i in `ls $KATALOOG`
do
do
Line 84: Line 90:
read number
read number
case $number in
case $number in
         [1] )
         [1] )
                 convert $KATALOOG/$i -resize 307200@ $KATALOOG/$i;
                 convert $KATALOOG/$i -resize 307200@ $KATALOOG/$i;
Line 117: Line 122:


==PowerShell==
==PowerShell==
===PowerShell pingi skript===
===PowerShell ping skript===
<source lang="powershell">
shtask.ps1
$saidinimi="www.itcollege.ee"
$pingimine = New-Object System.Net.NetworkInformation.Ping
$date=date
 
Function SendMail(){
$MessageParameters = @{
From = "v.vinogradin@gmail.com"
To = "v.vinogradin@gmail.com"
Subject = "Ping ei toota! Vaata C:\ping.txt kataloogi"
Body = "Vaata faili"
SmtpServer = "mail.starman.ee"
}
Send-MailMessage @MessageParameters
}
 
trap {Write-Verbose "Error"; $False; continue}
if ($pingimine.send($saidinimi).Status -eq "Success") { $True, "Saan pingida $saidinimi" }
else { $False, "Ei saa pingida $saidinimi" }
echo "$date" >> C:\ping.txt
echo "$saidinimi" >> C:\ping.txt
if ($True) { ping $saidinimi >> C:\ping.txt }
echo "------------------------------------------------------------------------------------------------" >> C:\ping.txt
 
SendMail
</source>
 
===PowerShell pingi skript 2===
<source lang="powershell">
<source lang="powershell">
$saidinimi="193.40.194.205"
#See väike skript loob scheduled task, mis uuendab iga tunni jooksul ja käivitab pingskript.ps1
$pingimine = New-Object System.Net.NetworkInformation.Ping
start-process PowerShell.exe -arg $pwd\Desktop\pingskript.ps1 -WindowStyle Hidden
$date=date
schtasks.exe /Create /TN v2rskendaja /SC MINUTE /MO 60 /TR "PowerShell.exe -file $pwd\Desktop\pingskript.ps1 -WindowStyle Hidden -NoLogo -NonInteractive"
$tulemus = $pingimine.send($saidinimi)
if ($tulemus.status.tostring() -eq "Success") { Write-Host Saan pingida $saidinimi }
else { Write-Host "Ei saa pingida $saidinimi"
$MessageParameters = @{
From = "v.vinogradin@gmail.com"
To = "v.vinogradin@gmail.com"
Subject = "Ping ei toota! Vaata C:\ping.txt kataloogi"
Body = "Vaata faili"
SmtpServer = "mail.starman.ee"
}
Send-MailMessage @MessageParameters
}
 
echo "$date" >> C:\ping.txt
echo "$saidinimi" >> C:\ping.txt
if ($True) { ping $saidinimi >> C:\ping.txt }
echo "------------------------------------------------------------------------------------------------" >> C:\ping.txt
</source>
</source>
 
pingskript.ps1
===PowerShell pingi skript 3===
Skript.ps1
<source lang="powershell">
<source lang="powershell">
start-process PowerShell.exe -arg $pwd\Desktop\scriptike.ps1 -WindowStyle Hidden
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
schtasks.exe /Create /TN v2rskendaja /SC MINUTE /MO 1 /TR "PowerShell.exe -file $pwd\Desktop\scriptike.ps1 -WindowStyle Hidden -NoLogo -NonInteractive"
#Versioon: 0.3
</source>
#Skript, mis kontrollib, saidi IP-aadressi töötamine.  
Skriptike.ps1
#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.
<source lang="powershell">
$ipaadress="193.40.194.205"
$saidinimi="193.40.194.205"
$pingimine = New-Object System.Net.NetworkInformation.Ping
$pingimine = New-Object System.Net.NetworkInformation.Ping
$date=date
$date=date
$tulemus = $pingimine.send($saidinimi)
$tulemus = $pingimine.send($ipaadress)
if ($tulemus.status.tostring() -eq "Success") { Write-Host Saan pingida $saidinimi }
if ($tulemus.status.tostring() -eq "Success") { Write-Host Saan pingida $ipaadress }
else { Write-Host "Ei saa pingida $saidinimi"
else { Write-Host "Ei saa pingida $ipaadress"
#Siia tuleb kirjutada oma e-mailiga seotud andmed
$MessageParameters = @{
$MessageParameters = @{
From = "v.vinogradin@gmail.com"
From = "username@mail.com"
To = "v.vinogradin@gmail.com"
To = "username@mail.com"
Subject = "Ping ei toota! Vaata C:\ping.txt kataloogi"
Subject = "Ping ei toota! Vaata C:\ping.txt kataloogi"
Body = "Vaata faili"
Body = "Vaata faili"
#SmtpServer igal interneti pakkujal on oma, siis kui on vaja - tuleb muuta
SmtpServer = "mail.starman.ee"
SmtpServer = "mail.starman.ee"
}
}
Send-MailMessage @MessageParameters
Send-MailMessage @MessageParameters
}
}


echo "$date" >> C:\ping.txt
echo "$date" >> C:\ping.txt
echo "$saidinimi" >> C:\ping.txt
echo "$ipaadress" >> C:\ping.txt
if ($True) { ping $saidinimi >> C:\ping.txt }
if ($True) { ping $ipaadress >> C:\ping.txt }
echo "------------------------------------------------------------------------------------------------" >> C:\ping.txt
echo "------------------------------------------------------------------------------------------------" >> C:\ping.txt
</source>
</source>
Line 204: Line 164:
#!/usr/bin/python
#!/usr/bin/python
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Autor: Vadim Vinogradin A21, vvinogra@itcollege.ee
#Versioon 0.4
#Versioon 0.7
#Teha skript user.py mis kutsub sisestada kasutajanimi ja peale seda kontrollib, kas kasutaja eksisteerib.
#Skript user.py mis kutsub sisestada kasutajanimi ja peale seda kontrollib, kas kasutaja eksisteerib.
import string
i = 0.0
kasutajanimi = raw_input("Sisestage kasutajanimi: ")
kasutajanimi = raw_input("Sisestage kasutajanimi: ")
for rida in open("/etc/passwd"):
for rida in open("/etc/passwd"):
rida=rida.strip().split(":")
rida = rida.split("\"")[0].split(":x")
if kasutajanimi in rida:
if kasutajanimi in rida:
i = i + 1
print "Kasutaja " + kasutajanimi + " on olemas"
elif kasutajanimi in rida:
break
i = 0
#Kontrollib, kas kasutaja on olemas (kui jah - siis kirjutab "Kasutajanimi <kasutajanimi> on olemas", kui ei ole - "Kasutaja <kasutajanimi> puudub")
if i > 0:
print "Kasutaja " + kasutajanimi + " on olemas"
else:
else:
print "Kasutaja " + kasutajanimi + " puudub"
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"