[ Pobierz całość w formacie PDF ]
Czwartek Poziom 6 (przyrostowa kopia bezpieczeństwa)
Piątek Poziom 5 (przyrostowa kopia bezpieczeństwa)
Sobota Poziom 4 (przyrostowa kopia bezpieczeństwa)
Zwróć uwagę, że po wykonaniu pełnej kopii bezpieczeństwa w niedzielę następnego dnia
tworzona jest przyrostowa kopia bezpieczeństwa na poziomie 9 i kolejno każdego dnia
jest wykonywana przyrostowa kopia bezpieczeństwa o jeden poziom niżej. Dzięki temu
572 Część III Zarządzanie systemem Fedora
wszystkie pliki, które uległy modyfikacji od niedzieli, zostaną zapisane na każdej przy-
rostowej kopii bezpieczeństwa. Z tego powodu każda przyrostowa kopia bezpieczeń-
stwa jest większa od poprzedniej; zawiera ona wszystkie pliki z poprzedniej przyrostowej
kopii bezpieczeństwa oraz pliki, które od tego czasu uległy modyfikacji. Może się to wyda-
wać marnotrawstwem miejsca na taśmie, ale pozwala zaoszczędzić wiele czasu i wysiłku,
gdyby zaistniała potrzeba odtworzenia systemu plików.
Wyobrazmy sobie np., że dysk twardy uległ awarii w piątek. Po zastąpieniu go nowym
dyskiem możesz przywrócić cały system plików, wykonując dwa kroki: przywracasz pełną
kopię bezpieczeństwa z poprzedniej niedzieli, a następnie przywracasz zmodyfikowane
od tego czasu dane z przyrostowej kopii bezpieczeństwa wykonanej w czwartek. Jest to
możliwe dzięki temu, że czwartkowa kopia przyrostowa zawiera wszystkie dane z taśm
poniedziałkowej, wtorkowej i środowej, jak również pliki, które zostały zmodyfikowane
pózniej. Jeśli poziomy operacji dump wzrastałyby w kolejne dni (poziom 1 w poniedzia-
łek, poziom 2 we wtorek itd.), wszystkie przyrostowe kopie bezpieczeństwa musiałyby
być przywracane, aby odtworzyć cały system plików do najbardziej aktualnego stanu.
Automatyzacja
tworzenia kopii bezpieczeństwa
z wykorzystaniem narzędzia cron
Możesz zautomatyzować wykonanie większości kopii zapasowych za pomocą skryptów
powłoki i demona cron. Użyj polecenia su, aby nadać sobie prawa użytkownika root,
a następnie przy użyciu polecenia cd przejdz do katalogu /usr/local/bin. Użyj dowolnego
edytora tekstów do utworzenia skryptu powłoki o nazwie backups.sh, który ma nastę-
pującą postać:
#!/bin/sh
#
# backups.sh Prosty skrypt tworzenia kopii
# zapasowej, autorstwa Thada Phetteplace
#
# Przedstawiony skrypt wymaga podania jednego
# parametru, poziomu operacji dump.
# Jeśli poziom operacji dump nie jest podany,
# automatycznie przyjmowana jest wartość zero.
# Dla poziomu zero (pełna kopia bezpieczeństwa)
# taśma jest przewijana i wysuwana z napędu.
#
if [ $1 ]; then
level=$1
else
#
# Nie podano poziomu wykonania operacji, dlatego
# domyślnie wybierana jest wartość zero.
#
level="0"
fi
/sbin/dump $level'uf' /dev/nrft0 /
/sbin/dump $level'uf' /dev/nrft0 /home
Rozdział 13. Tworzenie kopii bezpieczeństwa i przywracanie plików 573
/sbin/dump $level'uf' /dev/nrft0 /var
/sbin/dump $level'uf' /dev/nrft0 /usr
#
# Jeśli wykonywana jest pełna kopia bezpieczeństwa,
# przewiń i wysuń taśmę z napędu po zakończeniu operacji.
#
if [ $level = "0" ] ; then
/bin/mt f /dev/nrft0 rewind
/bin/mt f /dev/nrft0 offline
fi
Możesz zmodyfikować skrypt w taki sposób, aby tworzył kopie bezpieczeństwa konkret-
nych partycji, ale oprócz tego skrypt nie wymaga dodatkowych zmian i powinien działać
poprawnie. Po zapisaniu pliku i zamknięciu edytora tekstów zmień uprawnienia do pliku
w taki sposób, aby mógł on być uruchamiany tylko przez użytkownika root:
# chmod 700 backups.sh
Teraz, jeśli jesteś zalogowany jako użytkownik root, to za pomocą skryptu backups.sh
możesz utworzyć kopię bezpieczeństwa całego systemu plików. Skrypt wymaga podania
jednego parametru, którym jest poziom operacji dump. Jeśli go nie podasz, automatycznie
wybrany zostanie poziom zero. Dlatego następujące polecenia spowodują wykonanie
takiej samej kopii bezpieczeństwa:
# backups.sh
# backups.sh 0
Może zaistnieć konieczność dopasowania skryptu do potrzeb Twojego systemu. Ja np.
korzystam z napędu taśm /dev/nrft0. W Twoim wypadku może to być inny napęd. Nie-
zależnie od tego, jakiego urządzenia używasz, powinieneś używać wersji nazwy urzą-
dzenia rozpoczynającej się od n. Dzięki temu system wie, że po zakończeniu kopiowa-
nia danych na taśmę nie powinien przewijać tej taśmy. Widać w przykładzie, że użyłem
polecenia /dev/nrft0 zamiast /dev/rst0. Gdybym użył /dev/rst0, każda kolejna kopia
przyrostowa zastępowałaby zapisaną wcześniej kopię.
Możesz również zmienić partycje, których kopie bezpieczeństwa są wykonywane oraz
poziom operacji dump, przy którym taśma jest wysuwana z napędu. Często stosowaną
praktyką jest wysuwanie taśmy po wykonaniu ostatniej kopii przyrostowej, czyli przed
wykonaniem kolejnej pełnej kopii bezpieczeństwa.
Największą zaletą tego skryptu jest łatwość jego modyfikacji w zakresie automatycznego
uruchamiania tego skryptu przez system. Wystarczy dodać kolejne wpisy w pliku
crontab, a demon cron będzie uruchamiał skrypt w podanych terminach. Jeśli jesteś
zalogowany jako użytkownik root, wpisz polecenie crontab z parametrem e:
# crontab e
Spowoduje to otwarcie pliku crontab w edytorze tekstów. Dodaj następujące wpisy na
końcu pliku:
0 22 * * 0 /usr/local/bin/backup.sh 0
0 22 * * 1 /usr/local/bin/backup.sh 9
0 22 * * 2 /usr/local/bin/backup.sh 8
0 22 * * 3 /usr/local/bin/backup.sh 7
574 Część III Zarządzanie systemem Fedora
0 22 * * 4 /usr/local/bin/backup.sh 6
0 22 * * 5 /usr/local/bin/backup.sh 5
0 22 * * 6 /usr/local/bin/backup.sh 4
Zapisz i zamknij plik. Demon cron uruchomi skrypt o godzinie 22:00 każdego dnia tygo-
dnia. Przedstawiony przykład wykorzystuje omówiony wcześniej schemat harmonogramu.
Pełna kopia bezpieczeństwa jest wykonywana w niedzielę i po jej utworzeniu taśma jest
wysuwana. Nowa taśma powinna zostać załadowana w poniedziałek i kolejne przyro-
stowe kopie bezpieczeństwa będą zapisywane na niej przez pozostałe dni tygodnia. Na-
stępna pełna kopia bezpieczeństwa zostanie zapisana na tej taśmie pod koniec tygodnia,
[ Pobierz całość w formacie PDF ]