Wyszukiwanie w witrynie

To polecenie Linuksa jest jedynym narzędziem do tworzenia kopii zapasowych, jakiego kiedykolwiek będę potrzebować


Eksperci zalecają specjalistyczne pakiety kopii zapasowych, skomplikowane oprogramowanie korporacyjne i narzędzia chmurowe do ochrony danych, a ja korzystałem z całkiem sporej części z nich. Mam dość wszystkich. Co ciekawe, to, co uświadomiło mi, że żaden z tych rozbudowanych narzędzi GUI do tworzenia kopii zapasowych nie jest dla mnie wystarczająco dobry, jest starsze niż połowa inżynierów w Dolinie Krzemowej.

To natywne narzędzie wiersza poleceń o nazwie rsync. rsync usuwa elementy graficzne i opiera się na surowym, różnicowym procesie dopasowywania, co czyni go szybszym i bardziej wydajnym. Cała moja strategia odzyskiwania danych opiera się na nim.

Kopiuje tylko to, co się liczy

Wtedy kopie zapasowe stały się praktyczne

Zazwyczaj staram się unikać niewygodnych zadań, a do pewnego stopnia kopie zapasowe stały się przez lata uciążliwe. Rozumiałem, jak są ważne, ale myśl o czekaniu za każdym razem, gdy musiałem uruchomić kopię zapasową, powstrzymywała mnie przed ich regularnym wykonywaniem. Rsync całkowicie to zmienił.

Mój folder roboczy, który zawierał kilka gigabajtów plików projektowych, został zarchiwizowany w kilka minut. Następnie, po dokonaniu kilku edycji i dodaniu nowych plików, uruchomiłem ponownie kopię zapasową i w ciągu kilku sekund była gotowa. Oto polecenie, które wykonałem:

rsync -avh --delete /home/user/projects/ /media/backup/projects/

Opcje -avh są ważną częścią tego polecenia. -a włącza tryb archiwum, zachowując uprawnienia, właściciela i znaczniki czasu. -v wyświetla pliki przesyłane w terminalu, a -h zapewnia, że ich rozmiary będą pokazywane w megabajtach i gigabajtach zamiast w bajtach.

Powodem, dla którego było to tak szybkie, jest to, że zamiast patrzeć na to, co znajduje się w źródle, rsync porównuje źródło i cel i przesyła tylko różnice. Oznacza to, że kolejne uruchomienia po pierwszym obciążają system tylko zmianami. Tak więc, nawet gdy początkowa kopia zapasowa zajmuje 20 minut, kolejne aktualizacje mogą trwać zaledwie 30 sekund. Ta różnica w prędkości była głównym czynnikiem stojącym za moim nowym nawykiem tworzenia kopii zapasowych. Jeśli nie zajmuje to tyle czasu, mogę robić to regularnie.

Działa wszędzie

Moja strategia tworzenia kopii zapasowych nigdy się nie zmieniła






Większość narzędzi do tworzenia kopii zapasowych, których używałem, wymaga czegoś w zamian. Czasami jest to subskrypcja; innym razem jest to własny format i uciążliwy projekt migracyjny, jeśli zdecydujesz się zmienić usługę. Te elementy nie występują w przypadku rsync.

Zmieniłem miejsca przechowywania kopii zapasowych kilka razy: zewnętrzne dyski, dodatkowe dyski SSD, Raspberry Pi i zdalne VPS-y, przy prawie żadnej zmianie w poleceniach. Dla lokalnych kopii zapasowych polecenie wygląda tak:

rsync -avh --delete /home/user/ /media/external/backup/

Dodaj -n do dowolnego polecenia rsync, aby wykonać suchy bieg pokazujący, co zostałoby przeniesione, bez faktycznego przenoszenia czegokolwiek.

Polecenie do zdalnej kopii zapasowej przez SSH wygląda tak:

rsync -avh --delete -e ssh /home/user/ user@192.168.1.100:/backup/laptop/

To jest mniej więcej tak różne, jak to możliwe. Nigdy nie wymaga ode mnie inicjalizacji repozytoriów ani instalowania oprogramowania klienckiego na urządzeniach docelowych. Wszystko, co otrzymuję na miejscu docelowym, to moje pliki, zorganizowane dokładnie tak, jak były u źródła.

Ostatecznie nie byłem naprawdę lojalny wobec rsync, ale wobec przepływu pracy, który oferował i który działał prawie identycznie na wszystkim.

Proces odzyskiwania pozostaje prosty

Nigdy nie uczę się na nowo przywraca

Kiedy odzyskiwanie staje się skomplikowane, zmniejsza to wartość narzędzia do tworzenia kopii zapasowych. Chociaż może to wydawać się oczywiste, kilka narzędzi do tworzenia kopii zapasowych ma problemy z odzyskiwaniem. Niektóre komplikacje, na jakie natknąłem się podczas przywracania, obejmują sam kreator przywracania, katalogi oraz interfejsy użytkownika, które nie wyglądają tak, jak w momencie tworzenia kopii zapasowej moich danych.

Rsync omija całą złożoność, ponieważ docelowe miejsce kopii zapasowej to zazwyczaj po prostu folder. Kiedy otworzysz folder, widzisz wszystko, co zostało zarchiwizowane, a jeśli potrzebujesz czegoś, możesz po prostu to skopiować. Jeśli potrzebuję wszystkich danych, używam polecenia podobnego do poniższego, aby uruchomić rsync w odwrotnym kierunku:

rsync -avh /media/backup/projects/ /home/user/projects/

Dla kopii zapasowych, które używają --link-dest snapshotów, unikaj ręcznego kopiowania plików, aby twarde linki nie ulegały cichej awarii; zamiast tego użyj rsync do przywracania.

W tym poleceniu celowo pomijam flagę --delete, ponieważ podczas procesu przywracania nie potrzebuję, aby narzędzie usuwało pliki z mojego systemu na żywo, które brakuje w kopii zapasowej. Cały proces jest bardzo prosty.

Przestałem szukać

Kopie zapasowe i tak się robią

Od pierwszego użycia wiedziałem, że rsync musi być moim narzędziem do tworzenia kopii zapasowych. Wystarczy dodatkowa linia w moim crontabie, aby automatyczne kopie zapasowe uruchamiały się o 2 w nocy z zapisywaniem wyników:

0 2 * * * rsync -avh --delete /home/user/ /media/backup/ >> /var/log/rsync-backup.log 2>&1

Jeśli nigdy nie używałeś crontab, polecenie, aby go otworzyć, to: crontab -e.

Pierwsze pięć pól przed poleceniem reprezentuje minutę, godzinę, dzień, miesiąc i dzień tygodnia. Jest to polecenie, którego nauka zajmuje tylko kilka minut, po czym używasz go raz i o nim zapominasz.

Od czasu do czasu sprawdzaj swój dziennik za pomocą tail /var/log/rsync-backup.log, aby potwierdzić, że kopie zapasowe rzeczywiście się kończą.

W tym momencie nie musiałem już oceniać innych alternatyw tworzenia kopii zapasowych. W przeszłości korzystałem z Borga i mi się podobał. To świetna opcja, jeśli potrzebujesz szyfrowanych repozytoriów lub deduplikacji obrazów maszyn wirtualnych. Ale rsync jest idealnym rozwiązaniem do bezpiecznego przechowywania osobistych plików w wielu lokalizacjach. To, co sprawia, że rsync jest najlepszym narzędziem do tworzenia kopii zapasowych, z jakiego korzystałem, to fakt, że naprawdę nie musisz o niego myśleć ani zauważać go w codziennej pracy.

Prostota wygrywa za każdym razem

Jedną rzecz, której się nauczyłem, jest to, że nie potrzebuję rozbudowanego ekosystemu, aby naprawdę chronić moje dane. Najlepszym rozwiązaniem jest narzędzie, które nie wymaga uwagi podczas wykonywania swojej pracy. Rsync eliminuje nadmiarowy interfejs graficzny i przekształcił to, co kiedyś było uciążliwym obowiązkiem, w niewidoczny proces działający w tle.

Powiązane artykuły