NFsec Logo

Prosty mirror backup via (L)FTP

05/07/2010 w Administracja, Hacks & Scripts Brak komentarzy.  (artykuł nr 267, ilość słów: 247)

W

wielu sytuacjach przydaje się prosta kopia zapasowa, która oprócz przechowywania najważniejszych plików – trzyma ich wersję z paru dni oraz jest równolegle przechowywana na innym serwerze w przypadku poważnej awarii oryginalnego źródła. Poniższy skrypt tworzy backup wybranych katalogów – przechowując przez 20 dni ich wcześniejsze wersje oraz tworzy lustrzaną kopię plików z archiwami na serwerze FTP.

#!/bin/bash
export yesterday=`date +%d%m%Y --date='20 day ago'`
export today=`date +%d%m%Y`
if [ -e /chroot/backup/backup$yesterday.bz2 ]
then
        rm /chroot/backup/backup$yesterday.bz2
fi
tar -cvjpf /backup/backup$today.bz2 --same-owner --exclude=/etc/X11 /etc 2> /backup/error.log
lftp serwer-ftp.pl -u login,hasło << EOF
cd backup_router
lcd /backup
mirror -R -e -c --ignore-time
mirror -R -e -n --ignore-time
quit
EOF
unset yesterday
unset today
exit 0

Do poprawnego działania skryptu wymagane są takie programy jak tar, bzip2 oraz lftp. Zmienna yesterday określa ile dni wstecz będą przechowywane kopie katalogu /etc (z wykluczeniem /etc/X11) w katalogu /backup. Narzędzie lftp dzięki wykorzystaniu przeciwnego działania (-R) polecenia mirror umieszcza całą zawartość katalogu /backup na zdalnym serwerze serwer-ftp.pl w katalogu backup_router. Pozostałe opcje dbają o poprawną synchronizację treści przy każdej sesji. Ze względu na przechowywanie w skrypcie danych autoryzacyjnych do serwera FTP należy nadać mu odpowiednie prawa dostępu:

chmod 700 backup.sh

Sam skrypt z powodu braku szyfrowania transmisji powinien być stosowany w sieciach wewnętrznych. Jest to również rozwiązanie przeznaczone dla serwerów, w których użytkownicy mają tylko prawo do wyświetlania swoich procesów. Jeśli zależy nam na kopii przyrostowej, a nie jeden do jednego – należy usunąć parametr -e przy poleceniu mirror.

Więcej informacji: Kopia bezpieczeństwa, LFTP

Kategorie K a t e g o r i e : Administracja, Hacks & Scripts

Tagi T a g i : , , , , , , ,

Komentowanie tego wpisu jest zablokowane.