Kopia zapasowa całego serwera
W każdym artykule traktującym o kopiach zapasowych przeważnie używana jest ta sama sentencja – „ludzie dzielą się na dwie grupy – ci którzy robią back-up’y i ci którzy będą je robić po utracie danych”. Jest to banał, ale jakże prawdziwy. Back-up’y to po prostu podstawa, kropka. Do tego istotne jest również odpowiednie zarządzanie kopiami.
Zasada 3-2-1
Zasada 3-2-1 polega w skrócie na:
– posiadaniu przynajmniej 3 kopii zapasowych,
– przechowywanych na przynajmniej 2 różnych rodzajach nośników danych,
– z czego przynajmniej 1 znajduje się w innym miejscu niż pozostałe.
Jak można to zrealizować? Podam przykład mojego Macbooka, którego kopie zapasowe trzymam na serwerach iCloud, domowym serwerze NAS (Synology) oraz dysku zewnętrznym podłączonym do huba USB-C, który jest bazą dla mojego domowego set-up’u. W ten sposób zawsze mam 3 kopie, 2 z nich znajdują się w domu, a jedna w chmurze.
Teoria zawsze działa na papierze, natomiast często wydaje nam się, że system działa prawidłowo, a w praktyce jak przyjdzie co do czego to coś jednak nie działa i nawet nie byliśmy tego świadomi. Często zdaża się tak, że kopia wygląda na wykonaną poprawnie, a w praktyce coś w jej środku jest zepsute. Dlatego warto co jakiś czas sprawdzić poprawność wykonywania kopii i po prostu ją przywrócić.
Tworzymy kopię zapasową całego serwera
Można korzystać z różnego rodzaju skryptów czy programów specjalnie do tego stworzonych, jednak ja nie jestem zwolennikiem doinstalowywania software’u jeżeli nie ma takiej potrzeby, a nie ma, bo Linux ma wbudowane narzędzie, które w zupełności wystarcza – tar. Załóżmy, że chcemy utworzyć back-up w folderze:mkdir ~/backup
Polecenie do tworzenia back-up’u wygląda następująco:sudo tar -cvpzf /home/odroid/backup/$(date +"%FT%H%M")_odroid_backup.tar.gz --exclude=/home/odroid/backup --one-file-system /
Polecenie wydaje się skomplikowane, ale w praktyce składa się z dość prostych elementów:
– określenia, gdzie back-up ma zostać zapisany,
– definicji jak ma zostać nazwany, tutaj została zastosowana funkcja „date”, która wrzuci nam w nazwę pliku datę i godzinę jego utworzenia, co jest bardzo przydatne,
– wyłączenia z back-up’u folderu, w którym przechowujemy ten i inne back-up’y, bo bez sensu aby kopia zapasowa robiła się z samej siebie,
– określenia, że uprawnienia plików mają zostać zachowane,
– określenia z jakiego zakresu ma zostać zrobiony back-up, w naszym przypadku chcemy zrobić całkowitą kopię serwera, więc wpisujemy jedynie ścieżkę do katalogu głównego.
Utworzony przeze mnie back-up prezentuje się następująco:$ ls -l ~/backup/
total 1788984
-rw-r--r-- 1 root root 1831914433 Jun 12 16:13 2022-06-12T1550_odroid_backup.tar.
Jak widać kopia zapasowa serwera, skonfigurowanego na tyle na ile zostało to do tej pory opisane we wszystkich wpisach, zajmuje ok. 1.8 GB. Przed zrobieniem kopii na dysku było zajęte 5.3 GB pamięci, więc back-up stanowi 1/3 tej wielkości.
Trzeba jeszcze przenieść świeżo utworzony back-up na pendrive zamontowany w poprzednim wpisie:sudo cp ~/backup/2022-06-12T1550_odroid_backup.tar.gz /media/usb-ultrafit16/
Przywracanie kopii zapasowej
Przed rozpoczęciem przywracania dobrze jest najpierw przerzucić plik kopii na dysk systemowy:sudo cp /media/usb-ultrafit16/2022-06-12T1550_odroid_backup.tar.gz ~/backup/
Przywracanie z dysku przenośnego będzie wolniejsze i bardziej ryzykowne. Polecenie służące do przywracania nie odstaje poziomem skomplikowania od tego, którym wykonujemy kopie:sudo tar -xvpzf /home/odroid/backup/2022-06-12T1550_odroid_backup.tar.gz -C / --numeric-owner
Przywracanie kopii zapasowej polega na powrotnym rozpakowaniu archiwum i nadpisywaniu po kolei wszystkich plików, które są takie same w serwerze i w archiwum ze wskazaniem na te z archwium. Po wykonanym przywracaniu zawsze dobrze jest zrobić:sudo reboot
Jeżeli materiał zawarty w tym wpisie jest dla Ciebie wartościowy i masz ochotę wesprzeć moją pracę to zapraszam na mój profil na >Patronite<. Zachęcam także do odwiedzenia mojej strony >tomaszdunia.pl<. Możesz także zagadać do mnie na Twitterze >@theto3k<.
Poprzedni wpis:
Obsługa pamięci przenośnych USB (pendrive/dyski)
Następny wpis:
Dostęp do SSH spoza sieci lokalnej
Kategorie: Dla początkujących,Poradniki - @ 2022-06-12 18:00
Tagi: back-up, gzip, kopia zapasowa, Linux, ODROID, RaspberryPi, tar, ubuntu, zasada321