User:Otuur: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
|||
Line 1: | Line 1: | ||
==PowerShell Suurimad failid== | ==PowerShell Suurimad failid== | ||
<source lang="powershell"> | |||
# Loome uue taski Task Scheduleri jaoks, ehk viimane käivitab iga nädal skripti, peale esimestkasutamist võib selle välja kommenteerida | |||
schtasks.exe /Create /TN prots_v2rskendaja /SC WEEKLY /MO 1 /TR "PowerShell.exe -file C:\powersell_kodutöö.ps1 -WindowStyle Hidden -NoLogo -NonInteractive" | |||
</source> | |||
<source lang="powershell"> | |||
# Skript, mis otsib kõige suuremaid faile arvutist ja saadab need soovitud meilile | |||
# Autor: Olle Tuur, otuur@itcollege.ee | |||
# Versioon: 0.4 | |||
#Ütleme kasutajale, mis toimub | |||
echo "Sinu arvutist $(hostname) otsitakse suuremaid faile, see on automaatne tegevus, mis võib veidi aega võtta, palun ole kannatlik." | |||
#Muutujad-----------------------------------------------------------------Muutujad# | |||
[int]$mitu=6 | |||
[string]$failinimi="C:\Users\Olle\$(hostname)" #Sisesta vastavalt oma soovile täispikk faili asukoht (faili lõppu lisatakse kuupäev ja faili formaat hiljem) | |||
#Ära unusta ka muuta meili aadresse ja smtp serverit allpool!!!# | |||
#Lisab failinime lõppu aasta kuu ja päeva ning formaadi | |||
$eristaja = get-date -uformat "%Y%m%d" | |||
$failinimi2 = "$failinimi"+"_"+"$eristaja"+".txt" | |||
#Loe kõik kettad arraysse. CDRom'e ei uurita | |||
[array]$kokku = [System.IO.DriveInfo]::GetDrives() | where {$_.DriveType -ne "CDRom"} | |||
#Loome uue faili, mida kasutaja soovis ja kirjutame sinna millal fail loodud on | |||
echo "Fail on loodud $(date)" | out-File $failinimi2 | |||
#FOR tsükkel, mis määrab ära milliselt kettalt otsida | |||
for($i=0; $i -lt $kokku.Length; $i++){ | |||
[string]$kust = $kokku[$i].RootDirectory | |||
[string]$nimi = $kokku[$i].Name | |||
if($mitu -eq 1){ | |||
echo "$nimi kõige suurem fail on:" | Out-File -filepath $failinimi2 -append | |||
}else{ | |||
echo "$nimi $mitu Kõige suuremat faili on:" | Out-File -filepath $failinimi2 -append | |||
} | |||
#Iga Ketta X suurimat faili | |||
Get-ChildItem $kust -Recurse -ErrorAction "SilentlyContinue" | sort length -Descending | select -First $mitu Name, Length | Out-File -filepath $failinimi2 -append | |||
} | |||
#NB! Ära unusta siia lisada oma andmeid! | |||
#Saada meil | |||
$smtpserver = “smtp.minuserver.ee” #Siia kirjuta oma SMTP serveri aadress | |||
$message = new-object Net.Mail.MailMessage | |||
$att = new-object Net.Mail.Attachment($failinimi2) | |||
$smtp = new-object Net.Mail.SmtpClient($smtpserver) | |||
$smtp.EnableSsl = $True | |||
$message.From = “kust@minuserver.ee” #Saatja meiliaadress | |||
$message.To.Add(”kuhu@minuserver.ee”) #Saaja meiliaadress | |||
$message.Subject = “Kõige suuremad failid ( $(date) )” #E-maili pealkiri | |||
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst ) | |||
$message.Attachments.Add($att) | |||
$smtp.Send($message) | |||
$att.Dispose() | |||
$message.Dispose() | |||
Remove-Item $failinimi2 | |||
</source> | |||
==Quest3== | ==Quest3== | ||
<source lang="bash"> | <source lang="bash"> |
Revision as of 10:22, 20 May 2011
PowerShell Suurimad failid
# Loome uue taski Task Scheduleri jaoks, ehk viimane käivitab iga nädal skripti, peale esimestkasutamist võib selle välja kommenteerida
schtasks.exe /Create /TN prots_v2rskendaja /SC WEEKLY /MO 1 /TR "PowerShell.exe -file C:\powersell_kodutöö.ps1 -WindowStyle Hidden -NoLogo -NonInteractive"
# Skript, mis otsib kõige suuremaid faile arvutist ja saadab need soovitud meilile
# Autor: Olle Tuur, otuur@itcollege.ee
# Versioon: 0.4
#Ütleme kasutajale, mis toimub
echo "Sinu arvutist $(hostname) otsitakse suuremaid faile, see on automaatne tegevus, mis võib veidi aega võtta, palun ole kannatlik."
#Muutujad-----------------------------------------------------------------Muutujad#
[int]$mitu=6
[string]$failinimi="C:\Users\Olle\$(hostname)" #Sisesta vastavalt oma soovile täispikk faili asukoht (faili lõppu lisatakse kuupäev ja faili formaat hiljem)
#Ära unusta ka muuta meili aadresse ja smtp serverit allpool!!!#
#Lisab failinime lõppu aasta kuu ja päeva ning formaadi
$eristaja = get-date -uformat "%Y%m%d"
$failinimi2 = "$failinimi"+"_"+"$eristaja"+".txt"
#Loe kõik kettad arraysse. CDRom'e ei uurita
[array]$kokku = [System.IO.DriveInfo]::GetDrives() | where {$_.DriveType -ne "CDRom"}
#Loome uue faili, mida kasutaja soovis ja kirjutame sinna millal fail loodud on
echo "Fail on loodud $(date)" | out-File $failinimi2
#FOR tsükkel, mis määrab ära milliselt kettalt otsida
for($i=0; $i -lt $kokku.Length; $i++){
[string]$kust = $kokku[$i].RootDirectory
[string]$nimi = $kokku[$i].Name
if($mitu -eq 1){
echo "$nimi kõige suurem fail on:" | Out-File -filepath $failinimi2 -append
}else{
echo "$nimi $mitu Kõige suuremat faili on:" | Out-File -filepath $failinimi2 -append
}
#Iga Ketta X suurimat faili
Get-ChildItem $kust -Recurse -ErrorAction "SilentlyContinue" | sort length -Descending | select -First $mitu Name, Length | Out-File -filepath $failinimi2 -append
}
#NB! Ära unusta siia lisada oma andmeid!
#Saada meil
$smtpserver = “smtp.minuserver.ee” #Siia kirjuta oma SMTP serveri aadress
$message = new-object Net.Mail.MailMessage
$att = new-object Net.Mail.Attachment($failinimi2)
$smtp = new-object Net.Mail.SmtpClient($smtpserver)
$smtp.EnableSsl = $True
$message.From = “kust@minuserver.ee” #Saatja meiliaadress
$message.To.Add(”kuhu@minuserver.ee”) #Saaja meiliaadress
$message.Subject = “Kõige suuremad failid ( $(date) )” #E-maili pealkiri
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst )
$message.Attachments.Add($att)
$smtp.Send($message)
$att.Dispose()
$message.Dispose()
Remove-Item $failinimi2
Quest3
#!/bin/bash
#Autor: Olle Tuur, otuur@itcollege.ee
#Versioon 0.3
#Exit väärtused
#0 - skript lõpetas edukalt tegevuse
#1 - kasutajal ei ole juurkasutaja õigusi
#2 - arvutis on liiga vähe kerneleid
#Kas kasutajal on vajalikud õigused?
if [ $UID -ne 0 ]; then
echo "$(basename $0) käivitamiseks, pead olema juurkasutaja!"
exit 1
fi
#Teatame, kasutajale, millega ta riskib
echo "See skript kustutab kõik vanad kernelid peale kahe kõige uuema."
echo "Jätka juhul, kui oled täiesti kindel, et ei vaja enam vanemaid kerneleid."
echo ""
echo "Kas soovid jätkata? (Jätkamiseks sisesta Y ja vajuta ENTER):"
read JATKA
#Kui kasutaja soovib jätkata
if [ $JATKA == "Y" ] || [ $JATKA == "y" ]; then
echo "Hetkel on kasutusel versioon $(uname -r | cut -d'-' -f1,2)"
echo ""
echo "Skript leidis sinu arvutist järgnevad kernelid:"
#Array, kus on kõik kernelid, mis leiti
OLEMAS=($(ls /boot | grep vmlinuz | cut -d'-' -f2,3))
#Array pikkus
PIKKUS=${#OLEMAS[@]}
#Trükime välja olemasolevad kernelid
for((i=0; i<${PIKKUS}; i++));
do
echo ${OLEMAS[$i]}
done
#Kas on olemas üle 2 kerneli?
if [ ${PIKKUS} -lt 3 ]; then
echo "Kahte kernelit ei saa alles jätta. Sul on ainult ${PIKKUS} kernel(it)."
echo "Skript lõpetab töö."
exit 2
fi
#Mitu võib kustutada
KUSTUTA=$[PIKKUS-2]
#Ütleme, mitu kernelit kustutatakse
echo "Kustutatakse ${KUSTUTA} kernel(it)"
for((j=0; j<${KUSTUTA}; j++));
do
#Teavitame, mis kustutatakse
echo "Kerneliga ${OLEMAS[$j]} seotud paketid, mis eemaldatakse:"
echo $(dpkg -l | grep ^ii | grep ${OLEMAS[$j]} | awk -F' ' '{ print $2 }')
#Kustutame
apt-get remove $(dpkg -l | grep ${OLEMAS[$j]} | awk -F' ' '{ print $2 }')
done
#Teavitame kasutajat töö lõpetamisest
echo "Tehtud!"
exit 0
fi