Backup
Z openSUSE wiki
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ę".
| 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.
| 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
| 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/.

