Zalohovaci skript - OSY (aj s kódom)

Created: 2008-12-14 - 13:26

Zadanie

Vytvorte 2 skripty, ktoré budú vykonávať jednoduché zálohovanie na vzdialený server. Prvý skript zazipuje obsah priečinka a odošle (cez scp alebo rsync) ho na server. Druhý skript bude zabezpečovať to, že v priečinku na servri bude zachovaných len posledných 5 najaktuálnejších záloh. Skripty budú bežať napr. v cron-e a budú svoju činnosť vykonávať v pravidelných intervaloch.

Ak nemáte na domácom pc gnu/linux, môžete robiť všetko na študentovi, t.j. posielanie aj triedenie.


na jednej strane sa bude odosielat asi takto:

datum=`date +"%F_%H-%M"`
zip -r zaloha$datum.zip priecinok/
scp zaloha$datum.zip rajzak@s.ics.upjs.sk:zaloha/zaloha$datum.zip
rm zaloha$datum.zip

t.z.: zazipuje priecinok pod nazvom datumROK-MESIAC-DEN_HODINA-MINUTA.zip a posle ho cez 
scp (pristup je umozneny cez kluce, takze netreba zadavat ziadne hesla) a zmaze, aby sa 
zbytocne nehromadili subory ...

bude to nastavene v crone napr. na posielanie kazdu hodinu...
na strane prijmatela bude v priecinku zaloha tento skript:

cmd=`ls -t1 | grep -c zaloha`;
if [ $cmd -gt 5 ]
then
kolko=`expr $cmd - 5`;
rm `ls -rt1 | grep -m $kolko zaloha`;
fi

t.z.: zisti pocet suborov (grep -c) ktore obsahuju "zaloha" a zorad ich podla casu 
poslednej upravy, jeden riadok = jeden subor... ak je toto cislo vacsie ako 5, tak vymaze 
taky pocet suborov, kolko netreba(usporiada podla casu opat ale v opacnom poradi (-r), 
vymaze $kolko suborov, ak ich je tam napr. 8 z nejakeho dovodu (daco sa pokazilo ale 
subory sa posielali dalej), tak zmaz 3 subory...)

tento zas bude chodit napr. aj kazdu polhodinu napr... vyhoda je v tom, ze stale 
kontroluje ci je tam aspon 5 zaloh, t.z. ked sa nieco pokazi na strane odosielatela, tak 
nebude nic mazat a ked sa pokazi nieco na strane prijmatela, tak vie jednorazovo zmazat 
aj viacej suborov...