User:Iambos
From ICO wiki
#!/bin/bash
#Autor Ivar Ambos
#Rühm A22
#Versioon: 0.1
#Skript kopeerib viimati kasutatud failid erinevatesse kaustadesse.
#oiguste kontroll
if [ "$UID" -ne "0" ]
then
echo "Kaivita see skript root oigustes"
exit 1
fi
#sisestatakse kasutaja
echo "Sisesta kasutaja"
read KASUTAJA
#Kasutaja kontroll
kontroll=$(grep "$KASUTAJA" /etc/passwd |cut -d ":" -f1 )
if [ "$kontroll" = "$KASUTAJA" ]; then
echo "Sisestatud kasutaja $KASUTAJA on olemas"
else
echo "Sellist kasutajat $KASUTAJA ei ole, sisesta uus kasutaja"
exit 1
fi
#Kataloogi kontroll
if [ -d /home/$KASUTAJA/kakspaeva ]; then
echo "kaust kakspaeva on juba olemas"
#Kustutatakse kaust koos sisuga, kasutajale oeldakse, et kustutatakse kausta sisu.
$( rm -r /home/$KASUTAJA/kakspaeva )
echo "Kustutan kaustast failid"
mkdir /home/$KASUTAJA/kakspaeva
else
echo "Loon kausta kakspaeva"
mkdir /home/$KASUTAJA/kakspaeva
fi
echo "Otsin faile mida on viimati muudetud vahem kui 2 paeva tagasi..."
#Otsingu kriteeriumid. Skriptis on eeldatud, et kasutaja kodukataloog
#asub ''home'' kataloogis. Otsitakse kƵiki faile valjaarvatud peidetud ja punktiga failid.
#faile otsitakse viimase muutmise aja jargi.
otsi=$(find /home/$KASUTAJA -type f \( ! -regex ".*/\..*" \) -mtime -2)
#kontrollitakse otsingu tulemust
if [ ! -n "$otsi" ]; then
echo "Otsingu kriteeriumitele vastavaid faile ei leitud"
else
#kopeeritakse leitud failid
$(cp -rf $otsi /home/$KASUTAJA/kakspaeva )
echo "Leitud failid kopeeriti kausta kakspaeva, "
fi
#valjastatakse kopeeritud failide arv
failidearv=$(ls /home/$KASUTAJA/kakspaeva | wc -l)
echo "Kokku kopeeriti $failidearv faili."
if [ -d /home/$KASUTAJA/seitsepaeva ]; then
echo "kaust seitsepaeva on juba olemas"
$( rm -r /home/$KASUTAJA/seitsepaeva )
echo "Kustutan kaustast failid"
mkdir /home/$KASUTAJA/seitsepaeva
else
echo "Loon kausta seitsepaeva"
mkdir /home/$KASUTAJA/seitsepaeva
fi
echo "Otsin faile mida on viimati muudetud 2 - 7 paeva tagasi..."
otsi=$(find /home/$KASUTAJA -type f \( ! -regex ".*/\..*" \) -mtime 2 -mtime -7)
if [ ! -n "$otsi" ]; then
echo "Otsingu kriteeriumitele vastavaid faile ei leitud"
else
$(cp -rf $otsi /home/$KASUTAJA/seitsepaeva )
echo "Leitud failid kopeeriti kausta seitsepaeva"
fi
failidearv=$(ls /home/$KASUTAJA/seitsepaeva | wc -l)
echo "Kokku kopeeriti $failidearv faili."
if [ -d /home/$KASUTAJA/neliteistpaeva ]; then
echo "kaust neliteistpaeva on juba olemas"
$( rm -r /home/$KASUTAJA/neliteistpaeva )
echo "Kustutan kaustast failid"
mkdir /home/$KASUTAJA/neliteistpaeva
else
echo "Loon kausta neliteistpaeva"
mkdir /home/$KASUTAJA/neliteistpaeva
fi
echo "Otsin faile mida on viimati muudetud 8 - 14 paeva tagasi..."
otsi=$(find /home/$KASUTAJA -type f \( ! -regex ".*/\..*" \) -mtime 8 -mtime -14)
if [ ! -n "$otsi" ]; then
echo "Otsingu kriteeriumitele vastavaid faile ei leitud"
else
$(cp -rf $otsi /home/$KASUTAJA/neliteistpaeva )
echo "Leitud failid kopeeriti kausta neliteistpaeva"
fi
failidearv=$(ls /home/$KASUTAJA/neliteistpaeva | wc -l)
echo "Kokku kopeeriti $failidearv faili."
if [ -d /home/$KASUTAJA/viisteistpaeva ]; then
echo "kaust viisteistpaeva on juba olemas"
$( rm -r /home/$KASUTAJA/viisteistpaeva )
echo "Kustutan kaustast failid"
mkdir /home/$KASUTAJA/viisteistpaeva
else
echo "Loon kausta viisteistpaeva"
mkdir /home/$KASUTAJA/viisteistpaeva
fi
echo "Otsin faile mida on viimati muudetud 15 - 29 paeva tagasi..."
otsi=$(find /home/$KASUTAJA -type f \( ! -regex ".*/\..*" \) -mtime 15 -mtime -29)
if [ ! -n "$otsi" ]; then
echo "Otsingu kriteeriumitele vastavaid faile ei leitud"
else
$(cp -rf $otsi /home/$KASUTAJA/viisteistpaeva )
echo "Leitud failid kopeeriti kausta viisteistpaeva"
fi
failidearv=$(ls /home/$KASUTAJA/viisteistpaeva | wc -l)
echo "Kokku kopeeriti $failidearv faili."
if [ -d /home/$KASUTAJA/vanemad ]; then
echo "kaust vanemad on juba olemas"
$( rm -r /home/$KASUTAJA/vanemad )
echo "Kustutan kaustast failid"
mkdir /home/$KASUTAJA/vanemad
else
echo "Loon kausta vanemad"
mkdir /home/$KASUTAJA/vanemad
fi
echo "Otsin faile mida on viimati muudetud 30 voi rohkem paeva tagasi..."
otsi=$(find /home/$KASUTAJA -type f \( ! -regex ".*/\..*" \) -mtime +30)
if [ ! -n "$otsi" ]; then
echo "Otsingu kriteeriumitele vastavaid faile ei leitud"
else
$(cp -rf $otsi /home/$KASUTAJA/vanemad )
echo "Leitud failid kopeeriti kausta vanemad"
fi
failidearv=$(ls /home/$KASUTAJA/vanemad | wc -l)
echo "Kokku kopeeriti $failidearv faili."
echo "Failid on kopeeritud ja sorteeritud nende muutmise aja jƤrgi"
#NB ''sleep'' tootamiseks peab olema maaratud skripti asukoht!!!
sleep 172800 && /root/failid