rsnapshot - instalacja i konfiguracja

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

rsnapshot - instalacja i konfiguracja

Post autor: Kaka' »

Zapewne wielu z Was miało nieraz przykrą niespodziankę typu, że zmieniliśmy jakiś plik, nie zrobiliśmy jego kopii, zmieniliśmy go i klapa... Napiszę tutaj jak w prostu sposób robić kopię bezpieczeństwa danych. Do tego celu użyjemy pakietu rsnapshot.

Rsnapshot to doskonały pakiet do robienia kopi bezpieczeństwa dla użytkowników domowych, czyli na Desktop.

Jeżeli jesteś początkującym użytkownikiem linuksa to polecam skorzystanie z rsnapshot ponieważ dzięki niemu możesz spokojnie "majsterkować" z systemem a w razie jakiegoś problemu przywrócić dany plik/pliki.


Instalacja

1) ¯eby z tego pakietu korzystać trzeba go rzecz jasna zainstalować, czyli:

Kod: Zaznacz cały

aptitude install rsnapshot
lub:

Kod: Zaznacz cały

apt-get install rsnapshot

Konfiguracja


2) Otwieramy plik /etc/rsnapshot.conf np.

Kod: Zaznacz cały

vim /etc/rsnapshot.conf

3) Odnajdujemy na początku pliku linijkę snapshot_root Teraz mamy kilka opcji

a) Zmienna snapshot_root pozwala na zdefiniowanie katalogu, w którym będą przechowywane kopie danych. Wartość ta musi wskazywać na punkt montowania urządzenia, na którym wykonana ma być kopia danych. Przykładowo, jeżeli montujesz zewnętrzny, wymienny dysk twardy jako /mnt/kopia, to powinieneś zmienić odpowiedni wpis w pliku na:
snapshot_root /mnt/kopia
b) Możemy ustawić aby nasza kopia była robiona na "aktualnym" dysku, tzn, nie będzie robiona na innych "doczepianych" dyskach. Jeżeli zdecydujemy się na to to należy zmienić odpowiedni wpis na:
snapshot_root /home/TY/rsnapshot
Oznacza to, że nasza kopia bezpieczeństwa będzie robiona w /home/TY/rsnapshot

c) Jest jeszcze kilka innych wyjść robienia kopi ale są one mało popularne dlatego nie będę o nich pisał.


4) Teraz chyba najważniejsza cześć konfiguracji. Musimy ustawić w jakich odstępach czasu będzie robiona kopia danych. Jeżeli chcesz tworzyć pełną kopię co 4 godziny, to system będzie tworzył i przechowywał w ciągu doby 6 ostatnich kopii, stąd interwał hourly ustawiamy na wartość 6. Możesz jeszcze ustawić żeby kopie były robione np. co 15 minut.

Więc tak, jeśli chcesz by:

- kopia była wykonywana co cztery godziny, sześć razy na dobę,
- jedna kopia dziennie, każda przechowywana przez tydzień,
- kopia była wykonywana trzy razy w tygodniu, każda przechowywana przez trzy tygodnie,
- kopia była robiona trzy razy w miesiącu, każda przechowywana przez trzy miesiące.

to w pliku konfiguracyjnym usuwamy komentarze tak aby konfiguracja wyglądała tak:
interval hourly 6
interval daily 7
interval weekly 3
interval monthly 3
5) Ostatni etap konfiguracji rsnapshot jest zdefiniowanie katalogów, których zawartość powinna być kopiowana. Przykładowy wpis, a dokładniej to taki który ja mam, wygląda tak:
# LOCALHOST
#backup /home/ localhost/
backup /etc/ localhost/
backup /usr/local/ localhost/
#backup /etc/passwd localhost/
#backup /home/foo/My Documents/ localhost/
#backup /foo/bar/ localhost/ one_fs=1, rsync_short_args=-urltvpog
#backup_script /usr/local/bin/backup_pgsql.sh localhost/postgres/
Ten wyżej wpis oznacza, że:

- będzie robiona kopia katalogu /etc
- będzie robiona kopia katalogu /usr/local
- NIE będzie robiona kopia katalogu /home
- NIE będą robione kopie innych katalogów niż te które nie są oznaczone jako komentarz (#), tzn. jeśli chcesz aby np. była robiona kopia katalogu /home to po prostu wywal komentarz z tej linii, czyli będzie to wyglądać tak:
backup /home/ localhost/
6) Zapisujemy plik i jako root wydajemy polecenie:

Kod: Zaznacz cały

rsnapshot configtest
Jeśli otrzymasz taki komunikat:
Syntax OK
to oznacza to, że poprawnie skonfigurowałeś rsnapshot, ale jeżeli otrzymałeś inny komunikat to oznacza to, że coś schrzaniłeś i musisz to poprawić.


7) Ostatni etap, także bardzo ważny, to ustawienie odpowiednich zadań programu cron. Jeżeli tego nie uczynisz to nie będzie robiona żadna kopia danych. Więc otwieramy plik /etc/cron.d/rsnapshot i usuwamy znaki komentarza z następujących lini:
0 */4 * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly
Wasz plik może się trochę różnić od mojego bo zależy to do tego jak skonfigurowaliśmy rsnapshot.

Należy jeszcze wspomnieć, że robienie kopi za pomocą crona, tzn., że kopia będzie robiona co tyle i tyle, nie jest konieczne. Można jeszcze robić kopię poleceniem:

Kod: Zaznacz cały

rsnapshot daily
Wykona to kopię danych w danym momencie.


Podsumowanie


No i to już koniec konfiguracji. Aby odzyskać dany plik/pliki musisz tylko przejść do odpowiedniego katalogu (tam gdzie robiona jest kopia) i następnie znaleźć ten plik i go skopiować.

Co do konfiguracji rsnapshot to oczywiście możemy zmienić konfigurację rsnapshot żeby np. częściej robił kopie i w innych folderach, itd. To wszystko zależy od nas. To co pokazałem to tylko jedna z wielu możliwych konfiguracji rsnapshot. Można na przykład ustawić tak aby po podpięciu pendriva od razu była robiona na nim kopia danych. Takich sposobów na konfigurację jest naprawdę wiele a możliwości rsnapshot ogromne. Po więcej szczegółów odsyłam do google i dokumentacji.




W razie jakiś uwag propozycji i takich tam, proszę o kontakt na PW, jabbera, gadu, czy w tym temacie.
spikeneo
Posty: 70
Rejestracja: 14 listopada 2007, 14:15

Post autor: spikeneo »

Witam :)

Ustawiam wszystko tak jak jest w w/w poście i to nie działa , nie mogę wykonać rsnapshot configtest ...

Jaki błąd może być przy linii :

snapshot_root /backup/ ??

Błędy występują także przy liniach związanych ze ścieżką jakich folderów ma robić kopie zapasowe...

Nie rozumiem, dlaczego ?
szakal_kp
Posty: 18
Rejestracja: 22 marca 2007, 23:30

Post autor: szakal_kp »

Moze uzyłes spacji zamiast tabulatorow.
Zablokowany