Backup

Z openSUSE wiki

Grafika:Niekompletny.png Ten artykuł jest niekompletny i wymaga rozbudowy. Szczegóły można znaleźć na stronie dyskusji.

Część użytkowników nie dba o wykonywanie kopii zapasowej (backup'u) zgromadzonych danych. Po kilku latach czy miesiącach może się zebrać dużo wartościowych danych (takich jak książki adresowe, listy kontaktów, zdjęcia, itd.) których utrata na wskutek awarii lub błędu jest bolesna. Oczywiście istnieje kilka firm specjalizujących się w odzyskiwaniu danych, jednak ich usługi są o wiele droższe niż kilka płyt CD-RW, karta pamięci czy nawet drugi dysk twardy. Dlatego najlepiej regularnie tworzyć kopie zapasowe zgromadzonych danych - pamiętaj, tylko twardziele nie robią backupów!

Spis treści

MBR - Tworzenie i przywracanie kopii

Podczas instalacji innych systemów operacyjnych (takich jak na przykład MS Windows) rekord startowy, zawierający takie programy jak lilo czy grub, zostaje nadpisany. Nie jest to duży problem dla doświadczonego użytkownika, ale początkującym ponowna instalacja programu rozruchowego może sprawić kłopoty - zwłaszcza jak płyty instalacyjne openSUSE "zgubiły się".


Grafika:Wskazówka.png Wskazówka: Backup MBR można wykonać w działającym systemie, ale dla "ćwiczenia" zostanie to przedstawione na przykładzie Live CD, a dokładniej SystemRescueCd - dystrybucji przeznaczonej ratowania danych i systemu, jej obraz zajmuje około 100 MB (a mimo to zawiera serwer X), a sama nie ma problemów z uruchamianiem się na komputerach z małą ilością pamięci ram (wystarczą nawet 64 MB do poprawnej pracy!).


Po uruchomieniu komputera z płyty, zorientuj się jaki masz układ partycji. Możesz to zrobić za pomocą polecenia fdisk -l, jego wynik wygląda mniej więcej tak:

Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1305    10482381   83  Linux
/dev/sda2            1306        3916    20972857+  83  Linux
/dev/sda3            3917        3981      522112+  82  Linux swap / Solaris
/dev/sda4            3982        7296    26627737+   5  Extended
/dev/sda5            3982        5640    13317885   83  Linux
/dev/sda6            5640        7296    13309789+  83  Linux

Niech miejscem przechowania kopi bezpieczeństwa będzie partycja /dev/sda6.żeby ją tam umieścić, należy wykonać kolejno:

mkdir -p /mnt/partycja
mount /dev/sda6 /mnt/partycja
dd if=/dev/sda of=/mnt/partycja/backup_mbr.img bs=512 count=1
umount /dev/sda6

Jeśli backup ma nie zawierać tablicy partycji, to zamiast 512 należy wpisać 446.


Grafika:Wskazówka.png Wskazówka: Najlepiej nazwij odpowiednio pliki zawierające kopie bezpieczeństwa MBR - na przykład pelny_backup_mbr.img lub backup_mbr_bez_tablicy_partycji.img. Zapobiegnie to kłopotom w przyszłości.


Odzyskiwanie MBR z kopii bezpieczeństwa jest łatwiejsze niż jej tworzenie. Wystarczy tylko uruchomić komputer z dowolnej dystrybucji Live CD, podmontować partycje z backupem (czyli na tym przykładzie /dev/sda6):

 mkdir -p /mnt/partycja
 mount /dev/sda6 /mnt/partycja

Teraz za pomocą polecenia dd przywrócić MBR:

dd if=/mnt/partycja/backup_mbr.img of=/dev/hda bs=512 count=1

Oczywiście, jeśli backup nie zawiera tablicy partycji, to zamiast 512 należy wpisać 446.

MySQL - Tworzenie i przywracanie kopii

Poleceniem mysqldump tworzy sie kopie zapasowe bazy danych MySQL. Kopie są szczególnie przydatne podczas przenoszenia lub aktualizacji pakietów bazy danych.

Prosty backup bazy danych o nazwie "nazwa_bazy" można wykonać poleceniem:

 
$ mysqldump -u użytkownik_bazy -p  nazwa_bazy > nazwa_pliku_z_bazą.`date +%Y-%m-%d`.sql

Polecenie wykona kopie bazy o nazwie nazwa_bazy i przekieruje potok do pliku nazwa_bazy.(data wykonania).sql. Oczywiście można podać kilka nazw baz, jednak trzeba je oddzielić spacją. Opcja -A jest równoważna z podaniem wszystkich baz jako argumenty.

Można kompresować dane "w locie" w celu oszczędności miejsca:

 
$ mysqldump -u użytkownik_bazy -p nazwa_bazy | gzip -c - > nazwa_pliku_z_bazą.`date +%Y-%m-%d`.sql.gz


Grafika:Wskazówka.png Wskazówka: Polecenie mysqldump zwraca zawartość bazy w postaci tekstu, więc świetnie się kompresuje. Warto na to zwrócić uwagę, ponieważ nawet backup skompresowany za pomocą mało wydajnego gzipa może zaoszczędzić kilka megabajtów na nośniku lub kilkanaście sekund ściągania. Więcej informacji o kompresji znajdziesz w artykule Archiwa.


Łatwo przywrócić bazę z skompresowanej kopii za pomocą polecenia zcat:

 
$ zcat nazwa_pliku_z_bazą.(data).sql.gz | mysql -u użytkownik_bazy -p nazwa_bazy

Bazę z nieskompresowanej kopii można przywrócić w ten sposób:

$ mysql -u użytkownik_bazy -p  nazwa_bazy < nazwa_pliku_z_bazą.(data).sql

Całą bazę (kopia utworzona z opcją -A) przywraca się bez podawania opcji nazwa_bazy w poleceniu mysql.


Część artykułu została napisana na potrzeby dystrybucji Aurox; została tutaj umieszczona za zgodą autora.

Część lub całość artykułu pochodzi z portalu http://suse.ehelp.pl/.