email: darw32@poczta.onet.pl


Linux - 10.Kopie Zapasowe

Proste Kopie Zapasowe

Tworzenie takich kopii sprowadza się do skopiowania wszystkiego za pierwszym razem, oraz późniejszych dopisywań. Pierwsza kopia nazywana jest pełną, późniejsze to kopie różnicowe. Odtwarzanie danych za pomocą kopii różnicowych wymaga odtworzenia kopii pełnej.

Jeżeli chcesz tworzyć kopie codziennie i posiadasz 6 taśm, możesz 1 wykorzystać na pełną kopię. Na taśmach 2 - 5 tworzyć kopie inkrementacyjne, po czym tworzysz pełną kopię na taśmie 6 i znów wykorzystujesz taśmy 2 - 5. Nie powinieneś nadpisywać taśmy 1 do czasu stworzenia pełnej kopii (na wszelki wypadek). Po utworzeniu pełnej kopii na taśmie 6 i przystępując do tworzenia następnej pełnej kopii wykorzystujesz taśmę nr 1, a 6 odkładasz na półkę, itd.

Jeżeli posiadasz więcej niż 6 taśm możesz dodatkowe wykorzystać do tworzenia pełnych kopii. Za każdym razem wykorzystujesz najstarszą z nich podczas tworzenia następnej pełnej kopii. Posiadając kilka pełnych kopii możesz znaleźć plik, który aktualnie nie istnieje, lub jego starszą wersję, itp.

Tworzenie Kopii za pomocą tara

Pełną kopię można utworzyć w sposób następujący:

# tar --create --file /dev/ftape /usr/src
  tar: Removing leading / from absolute path names in the archive
#

W powyższym przykładzie używam opcji GNU tara, oryginalny tar obsługuje tylko jedno literowe opcje. Wersja GNU posiada również inne rozszerzenia: obsługuje bardzo długie ścieżki, podział archiwum na kilku mediach, itd.

Jeżeli twoja kopia nie mieści się na jednej dyskietce użyj opcji --multi-volume (-M):

# tar -cMf /dev/fd0H1440 /usr/src
  tar: Removing leading / from absolute path names in the archive
  Prepare volume #2 for /dev/fd0H1440 and hit return:
#

Pamiętaj, że przed użyciem dyskietek powinieneś jest sformatować.

Po stworzeniu kopii powinieneś sprawdzić jej poprawność:

# tar --compare --verbose -f /dev/ftape
  usr/src/
  usr/src/linux
  usr/src/linux-1.2.10-includes/
  ....
#

Pamiętaj aby to zrobić, inaczej zauważysz awarię za późno.

Kopia różnicowa może zostać utworzona za pomocą opcji --newer (-N):

# tar --create --newer '8 Sep 1995' --file /dev/ftape /usr/src --verbose
  tar: Removing leading / from absolute path names in the archive
  usr/src/
  usr/src/linux-1.2.10-includes/
  usr/src/linux-1.2.10-includes/include/
  usr/src/linux-1.2.10-includes/include/linux/
  usr/src/linux-1.2.10-includes/include/linux/modules/
  usr/src/linux-1.2.10-includes/include/asm-generic/
  usr/src/linux-1.2.10-includes/include/asm-i386/
  usr/src/linux-1.2.10-includes/include/asm-mips/
  usr/src/linux-1.2.10-includes/include/asm-alpha/
  usr/src/linux-1.2.10-includes/include/asm-m68k/
  usr/src/linux-1.2.10-includes/include/asm-sparc/
  usr/src/patch-1.2.11.gz
#

Niestety tar nie zauważa zmian w i-węźle pliku (np. zmiana praw dostępu, lub jego nazwy), można to obejść wykorzystując program find. Skrypty wykonujące te wszystkie operacje są dostępne na wielu serwerach FTP.

Odtwarzanie Plików za pomocą tara

Opcja --extract (-x) pomoże Ci odzyskać twoje dane:

# tar --extract --same-permissions --verbose --file /dev/fd0H1440
  usr/src/
  usr/src/linux
  usr/src/linux-1.2.10-includes/
  usr/src/linux-1.2.10-includes/include/
  usr/src/linux-1.2.10-includes/include/linux/
  usr/src/linux-1.2.10-includes/include/linux/hdreg.h
  usr/src/linux-1.2.10-includes/include/linux/kernel.h
  ...
#

Możesz również wyciągnąć specyficzny plik, lub katalog (wraz z podkatalogami i zawartymi w nich plikami):

# tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h
  usr/src/linux-1.2.10-includes/include/linux/hdreg.h
#

Za pomocą opcji --list (-t) możesz sprawdzić zawartość kopii zapasowej:

# tar --list --file /dev/fd0H1440
  usr/src/
  usr/src/linux
  usr/src/linux-1.2.10-includes/
  usr/src/linux-1.2.10-includes/include/
  usr/src/linux-1.2.10-includes/include/linux/
  usr/src/linux-1.2.10-includes/include/linux/hdreg.h
  usr/src/linux-1.2.10-includes/include/linux/kernel.h
  ...
#

Pamiętaj, że tar odczytuje dane sekwencyjnie co przy dużych archiwach jest wolne. Taka metoda działania wynika z budowy taśm (i innych mediów sekwencyjnych).

tar nie obsługuje skasowanych plików: jeżeli pełna kopia zawiera plik, natomiast kopia różnicowa nie, plik po odtworzeniu danych będzie istniał. W przypadku niektórych plików może to stanowić poważny problem.