background image

praktyka

Rsnapshot - Tworzenie kopii bezpieczeństwa danych

64

maj 2007

praktyka

Rsnapshot - Tworzenie kopii bezpieczeństwa danych

65

www.lpmagazine.org

lin

ux

@

so

ftw

ar

e.

co

m

.p

l

Tworzenie kopii 

bezpieczeństwa danych

Jeżeli kiedykolwiek utraciłeś jakieś dane to doskonale wiesz jaką ważną rzeczą jest robienie kopii  
bezpieczeństwa danych. Robienie kopii ręcznie jest sprawą dość męczącą, jednak można to 
zautomatyzować. Opiszę tutaj jak skonfigurować rsnapshot, który jest bardzo dobrym i o potężnych 
możliwościach, programem do robienia kopii bezpieczeństwa danych. Jest wiele innych programów tego 
rodzaju, jednak ja skupię się tutaj tylko i wyłącznie na rsnapshot, który jest moim ulubionym narzędziem 
tego typu. Używam go z powodzeniem przez bardzo długi okres i jeszcze nigdy się na nim nie zawiodłem. 

Damian Labuda

A

by  używać  narzędzia  rsnapshot  trzeba  je 
najpierw  zainstalować.  Uczynimy  to  wy-
dając w konsoli na przykład: 

aptitude in-

stall  rsnapshot

. Po poprawnym zainsta-

lowaniu  pakietu,  czeka  nas  jego  konfiguracja.  Cały  pro-
ces  konfiguracji  będzie  się  odbywał  w  plikach  teksto-
wych.  Konfiguracja  rsnapshot  znajduje  się  w  pliku 
/etc/rsnapshot.conf
. Plik ten należy otworzyć z uprawnie-
niami administratora w dowolnym edytorze, na przy-
kład za pomocą vim'a: 

vim  /etc/rsnapshot.conf

. Te-

raz odnajdujemy w otwartym pliku linijkę snapshot_ro-
ot.
  Zmienna  snapshot_root  pozwala  na  zdefiniowanie 
katalogu,  w  którym  będą  przechowywane  kopie  da-
nych.  Wartość  ta  musi  wskazywać  na  punkt  monto-
wania urządzenia, na którym wykonana ma być kopia 
danych.  Jeżeli  montujesz  jakiś  zewnętrzny,  wymien-
ny dysk twardy, na przykład pendrive, jako /mnt/dysk
to  powinieneś  zmienić  odpowiedni  wpis  w  pliku  na: 

snapshot_root  /mnt/dysk

.  Możemy  również  usta-

wić aby nasza kopia była robiona na aktualnym dysku, 
to znaczy, nie będzie robiona na innych wymiennych 
dyskach. Jeżeli zdecydujemy się na powyższe, to nale-

ży zmienić zmienną snapshot_root na na przykład: 

snap-

shot_root /home/ty/rsnapshot

. Oznacza to, że nasza 

kopia bezpieczeństwa będzie umieszczana w /home/ty/
rsnapshot
.

Automatyczne 

wykonywanie kopii

Teraz  rozpoczyna  się  najważniejsza  część  konfiguracji. 
Musimy ustawić w jakich odstępach czasu będzie robio-
na kopia danych. Rsnapshot będzie mógł robić kopie da-
nych w takim czasie jaki mu wyznaczymy. Jest to bardzo 
wygodne, ponieważ nie musimy się przejmować tym, że 
zapomnieliśmy  zrobić  kopię  itp.  Warunkiem  jest  to,  że 
musi być oczywiście włączony komputer. Jeśli chcesz aby 
kopia była wykonywana:

•   co cztery godziny (sześć razy na dobę),
•   raz dziennie, każda przechowywana przez tydzień, 
•   trzy  razy  w  tygodniu,  każda  przechowywana  przez 

trzy tygodnie, 

•   trzy  razy  w  miesiącu,  każda  przechowywana  przez 

trzy miesiące, 

background image

praktyka

Rsnapshot - Tworzenie kopii bezpieczeństwa danych

64

maj 2007

praktyka

Rsnapshot - Tworzenie kopii bezpieczeństwa danych

65

www.lpmagazine.org

to w pliku konfiguracyjnym rsnapshot od-
najdujemy  poniższe  linijki  i  usuwamy  ko-
mentarze  (komentarz  to  znak  #)  tak  aby 
konfiguracja wyglądała w ten sposób:

interval hourly 6 
interval daily 7 
interval weekly 3 
interval monthly 3

No dobrze, ale na pewno zastanawiasz się 
co zrobić jeżeli samemu chcesz robić kopię 
za pomocą rsnapshot. Służy do tego odpo-
wiednie polecenie, o którym wspomnę póź-
niej. Dodam tylko, że nie jest ważne czy sa-
mi będziemy robić kopię, czy ustawimy na 
automatyczne  robienie  kopii  -  i  tak  trze-
ba  mieć  odhaszowany  przynajmniej  jeden 
z wyżej podanych interwałów. 

Ostatnim  etapem  konfiguracji  pliku 

rsnapshot  jest  zdefiniowanie  katalogów, 
których zawartość powinna być kopiowa-
na. To tutaj ustalamy jakie pliki czy katalo-
gi mają być kopiowane. Przykładowy wpis, 
a  dokładniej  taki,  który  ja  mam,  wygląda
tak: 

# LOCALHOST 
#backup /home/ localhost/ 
backup /etc/ localhost/ 
backup /usr/local/ localhost/ 
#backup /etc/passwd localhost/ 

Poszukaj  w  aktualnie  otwartym  pliku  po-
dobnych  linii  (powinno  być  to  gdzieś  na 
końcu  pliku).  Wyżej  przedstawiony  wpis 
oznacza, że: 

•   będzie robiona kopia katalogu /etc 
•   będzie robiona kopia katalogu /usr/local 
•   nie będzie robiona kopia katalogu /home 

ponieważ  linijka  ta  jest  komentarzem 
(znak #), a wszelkie komentarze są igno-
rowane,

•   nie będą robione żadne inne kopie, które 

są oznaczone jako komentarz.

Oczywiście  możesz  zdefiniować  tutaj  wła-
sne katalogi. W tym momencie upewnij się, 
że wszystko zrobiłeś dobrze, po czym zapisz 
plik. Jeżeli plik ten zmieniałeś za pomocą vi-
m'a to aby zapisać i wyjść z edytora wciśnij 
Esc i wpisz :wq. 

Będąc  dalej  zalogowanym  jako  root 

wydajemy w konsoli polecenie: 

rsnapshot 

configtest

.  Powinieneś  otrzymać  taki  ko-

munikat:  Syntax  OK.  Jeżeli  tak  właśnie  się 
stało,  to  oznacza  to,  że  poprawnie  skonfi-
gurowałeś rsnapshot. Jeżeli nie otrzymałeś 

takiego komunikatu to oznacza to, że pod-
czas  konfiguracji  popełniłeś  jakiś  błąd. 
Otwórz więc ponownie plik /etc/rsnapshot.
conf  
i  znajdź  miejsca  gdzie  zrobiłeś  błędy, 
a następnie popraw je. 

Ostatnim etapem, także bardzo ważnym, 

jest  skonfigurowanie  cron'a.  Cron  w  sys-
temach  uniksowych  jest  demonem,  który 
wywołuje inne programy w odpowiednim
czasie. To właśnie dzięki niemu kopia bę-
dzie  robiona  w  odpowiednim  czasie.  To 
co ustawiliśmy w /etc/rsnapshot.conf to tyl-
ko  informacja,  że  kopia  ma  być  robiona 
o  danym  czasie.  Teraz  to  wszystko  musi-
my  potwierdzić.  Jako  root  otwieramy  plik 
/etc/cron.d/rsnapshot  i  usuwamy  znaki  ko-
mentarza z następujących linii: 

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

Twój  plik  może  się  troszeczkę  różnić  od 
mojego. Wynika to z tego, że możesz mieć 
inaczej ustawione ilości robionych kopii. 

Ręczne wykonywanie kopii

Wspominałem wcześniej, że kopie nie mu-
szą być robione automatycznie. Być może 
nie chcesz, żeby kopia była robiona auto-
matycznie, ale tylko i wyłącznie na Twoje 
polecenie. W takim wypadku podany wy-
żej  wpis  w  /etc/cron.d/rsnapshot  możesz, 
a  raczej  powinieneś,  zakomentować.  Na-
tomiast  kopię  będziesz  robił  poleceniem 

rsnapshot  daily

.  Polecenie  to  musisz 

wykonać jako root. Przyznam się, że aktu-
alnie  korzystam  z  tego  sposobu  robienia 
kopii,  choć  dawniej  używałem  do  tego 
cron'a. Nie oznacza to jednak, że robienie 
kopii za pomocą cron'a jest gorsze. Dla po-
czątkujących użytkowników jest to wręcz 
zalecane. 

Należałoby jeszcze wspomnieć o jednej 

bardzo  ważnej  rzeczy.  Rsnapshot  pierw-
szą kopię robi pełną, to znaczy, zrobi kopię 
wszystkich  podanych  plików  i  katalogów. 
Jednak z następnymi kopiami jest trochę in-
aczej.  Mianowicie  rsnapshot  nie  zrobi  ko-
lejnej pełnej kopii jednak zrobi tylko kopię 
tych plików, które uległy zmianie, a reszty 
nie  będzie  ruszać.  Mogłoby  się  wydawać, 
że  jest  to  złe  rozwiązanie,  ale  jest  zupełnie 
odwrotnie.  Wyobraź  sobie,  że  robisz  kopię 
co 30 minut, całego katalogu /etc i /var. Gdy-
by wszystkie pliki miałyby być kopiowane co 
30 minut, to po dwóch dniach byś już nie miał 
miejsca  na  kolejne  kopie.  Dlatego  właśnie 
rsnapshot postępuje w podany wyżej sposób 
– żeby zaoszczędzić miejsce na dysku. 

Aby odzyskać dany plik, pliki czy folde-

ry musisz udać się do katalogu, gdzie zapi-
sywana jest kopia i następnie odnaleźć po-
trzebną rzecz i ją skopiować.

Podsumowanie

Oczywiście  rsnapshot  możemy  skonfigu-
rować  według  własnych  wymagań.  Tutaj 
przedstawiłem tylko przykład konfiguracji. 
Osobom, którym sposób konfiguracji poka-
zany  przeze  mnie  w  artykule  nie  jest  wy-
starczający, odsyłam do podręcznika rsnap-
shot  (

man  rsnapshot

),  oraz  do  oficjalnej 

strony internetowej: http://www.rsnapshot.org/ 
Dodam jeszcze, że sam plik /etc/rsnapshot.conf 
jest  bogato  zaopatrzony  w  pożyteczne  ko-
mentarze. 

Rysunek 1.

 Rsnapshot w akcji