automaticka zaloha MT routrov, *.backup a *.rcs (niekedy chce clovek vycitat len cast zalohy)
Vsetko je zalozene na Linuxe (treba mat tcsh, cron, date a ftp).
Linux server:
auto_backup.sh
#! /bin/tcsh
# loop through a set of numbers
foreach myloop (192.168.7.1 192.168.8.1)
/usr/MT/ftp_get.sh $myloop
end
IP adresy predstavuju IP MT routrov. Tento script vola iny script, ktory uz priamo stahuje zalohy. Ja som si toto vsetko ulozil do /usr/MT/, ak to ulozite inde, treba prepisat cestu. V adresary je treba spravit priecinok backup s patricnymi pravami na zapis.
ftp_get.sh
#!/bin/sh
USER='ftp-user'
PASSWD='ftp-password'
FILE1='backup.rsc'
FILE2="backup.backup"
cd /usr/MT/backup
mkdir $1
cd /usr/MT/backup/$1
mkdir `date '+%F'`
cd /usr/MT/backup/$1/`date '+%F'`
ftp -n $1 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
get $FILE1
get $FILE2
quit
END_SCRIPT
exit 0
Zalohy sa ukladaju do adresara backup. Vytvori sa pod adresar s IP routra a dalsi pod adresar s datumom zalohy.
Este nastavit cron:
0 1 * * * root /usr/MT/auto_backup.sh
Script sa vykona o 1 hodine v noci, co zabezpeci dostatocny odstup od vytvorenia zalohy a jej stiahnutia. (cas je samozrejme mozne nastavit aj inak, ale treba to potom skonsolidovat aj so schedulerom na MT routry).
MT router:
/user group add name=ftp policy=ftp
/user add name=ftp-user group=ftp address=10.0.0.1 password=ftp-password
/system script add name=backup source="/export file=backup\n/system backup save name=backup" policy=write,test,read,policy,ftp
/system scheduler add name=backup start-time=00:00:00 interval=1d on-event="/system script run backup"
User je ftp-user (samozrejme sa da zmenit, nutne editovat ftp_get.sh), kvoli bezpecnosti je dobre zadat aj address, co je adresa, z akej sa moze ftp-user prihlasit (linux server).
Scheduler vytvara zalohy presne o 00 (dobre si nastavit NTP klienta), kazdy den.
Edit: bug to nie je, chyba bola v ftp (policy).
Bug vo verzii 3.9 (teda vo vsetkych co som testoval, 2.9.51, 3.7 a i). vytvoreny script ide spustit ale nic nespravy. tu je teda source scriptu, ktory treba manualne vytvorit, potom vsetko funguje:
/export file=backup
/system backup save name=backup
Bugy > ked je vytvoreny adresar, tak vracia chybu, ze je uz vytvoreny, ale script prebehne v poriadku.