RDIFF -BACKUP - zdalne przyrostowe narzędzie do tworzenia kopii zapasowych dla Linux

RDIFF -BACKUP - zdalne przyrostowe narzędzie do tworzenia kopii zapasowych dla Linux

Rdiff-Backup to potężny i łatwy w użyciu skrypt Python dla lokalnej/zdalnej kopii zapasowej przyrostowej, który działa na dowolnym systemie operacyjnym POSIX, takim jak Linux, Mac OS X lub Cygwin. Łączy niezwykłe cechy lustra i przyrostową kopię zapasową.

Co istotne, zachowuje podwodniki, pliki deweloperskie, twarde linki i atrybuty krytyczny. Może działać w trybie oszczędnościowym przepustowością nad rurą, w podobny sposób jak popularne narzędzie do tworzenia kopii zapasowych RSYNC.

Rdiff-Backup tworzy kopię zapasową jednego katalogu do innego przez sieć za pomocą SSH, co sugeruje, że przesyłanie danych jest szyfrowane w ten sposób bezpieczne. Katalog docelowy (w systemie zdalnym) kończy dokładną kopię katalogu źródłowego, jednak dodatkowe odwrotne różnice są przechowywane w specjalnym podwodnicy w katalogu docelowym, co umożliwia odzyskanie plików utraconych jakiś czas temu.

Zależności

Aby użyć RDIFF-Backup w Linux, potrzebujesz następujących pakietów zainstalowanych w systemie:

  • Python v2.2 lub później
  • Librsync v0.9.7 lub później
  • Moduły pylibacl i pyxattr python są opcjonalne, ale niezbędne odpowiednio dla listy kontroli dostępu Posx (ACL) i rozszerzonego obsługi atrybutów.
  • RDIFF-BACKUP-STATYSTYKA wymaga Python V2.4 lub później.

Jak zainstalować RDIFF-Backup w Linux

Ważny: Jeśli działasz przez sieć, musisz zainstalować oba systemy RDIFF-Backup, najlepiej obie instalacje rdiff-backup będą musiały być dokładnie tą samą wersją.

Skrypt jest już obecny w oficjalnych repozytoriach głównego nurtu dystrybucji Linux, po prostu uruchom poniższe polecenie, aby zainstalować RDIFF-Backup, a także jego zależności:

Niewidoczne rdiff-backup na Ubuntu

Żeby zainstalować Rdiff-Backup NA Ubuntu Focal Lub Debian Bullseye lub nowsze (ma 2.0).

$ sudo apt-get aktualizacja $ sudo apt-get instaluj librsync-dev rdiff-backup 

Żeby zainstalować Rdiff-Backup w Ubuntu Backports dla starszych wersji (potrzebuje backported 2.0).

$ sudo add-apt-repozytory PPA: rdiff-backup/rdiff-backup-backports $ sudo appt aktualizacja $ sudo apt instal instalacja rdiff-backu 

Na Centos/Rhel 8

Aby zainstalować RDIFF-Backup w Centos i Rhel 8 (z COPR).

$ sudo yum instaluj Yum-Plugin-Copp Epel-Release $ sudo yum copr włączenie frankcrawford/rdiff-backup $ sudo yum instaluj rdiff-backup 

Na Centos/Rhel 7

Aby zainstalować RDIFF-Backup w Centos i Rhel 7 (z COPR).

$ sudo yum instaluj Yum-Plugin-Copp Epel-Release $ sudo yum copr włączenie frankcrawford/rdiff-backup $ sudo yum instaluj rdiff-backup 

Na Centos/Rhel 6

$ sudo yum instaluj centos-release-scl $ sudo yum instaluj rh-python36 gcc libacl-devel $ scl enable rh-python36 bash $ sudo pip instalacja rdiff-backup pyxattr pylibacl $ echo 'exec scl „[e -mail chroniony]” ”| sudo tee/usr/bin/rdiff-backup $ sudo chmod +x/usr/bin/rdiff-backup 

Na Fedorze

Aby zainstalować RDIFF-Backup na Fedora 32+.

$ sudo dnf instaluj rdiff-backup 

Jak używać RDIFF-Backup w Linux

Jak już wspomniałem, Rdiff-Backup używa SSH do łączenia się z zdalnymi maszynami w sieci, a domyślnym uwierzytelnianiem w SSH jest metodą nazwy użytkownika/hasła, która zwykle wymaga interakcji człowieka.

Jednak, aby zautomatyzować zadania, takie jak automatyczne kopie zapasowe ze skryptami i nie tylko, musisz skonfigurować logowanie bez hasła SSH za pomocą klawiszy SSH, ponieważ klawisze SSH zwiększa zaufanie między dwoma serwerami Linux dla łatwej synchronizacji plików lub transferu.

Po skonfigurowaniu logowania SSH bez hasła możesz zacząć używać skryptu z następującymi przykładami.

Pliki kopii zapasowej do innej partycji

Poniższy przykład utworzy kopię zapasową /itp katalog w Kopia zapasowa katalog na innej partycji:

$ sudo rdiff-backup/etc/media/aaronkilik/data/backup/mint_etc.kopia zapasowa 
Pliki kopii zapasowej do innej partycji

Aby wykluczyć konkretny katalog, a także jego podwodne, możesz użyć --wykluczać Opcja w następujący sposób:

$ sudo rdiff-backup-exclude/etc/cockpit-exclude/etc/bluetooth/media/aaronkilik/data/backup/mint_etc.kopia zapasowa 

Możemy dołączyć wszystkie pliki urządzeń, pliki FIFO, pliki gniazda i symboliczne linki do --Uwzględnij specjalizację opcja jak poniżej:

$ sudo rdiff-backup-Include-Special-Files-exclude/etc/cockpit/media/aaronkilik/data/backup/mint_etc.kopia zapasowa 

Istnieją dwie inne ważne flagi, które możemy ustawić do wyboru plików; --maksymalny plik wielkości rozmiar, który wyklucza pliki większe niż dany rozmiar w bajtach i --Min-file-size rozmiar, który wyklucza pliki mniejsze niż dany rozmiar w bajtach:

$ sudo rdiff-backup--max-file-size 5M-Include-Special-Files-exclude/etc/cockpit/media/aaronkilik/data/backup/mint_etc.kopia zapasowa 

Kopie zapasowe zdalne pliki na lokalnym serwerze Linux

Do celów tej sekcji użyjemy:

Serwer zdalny (Tecmint): 192.168.56.102 lokalny serwer kopii zapasowej (kopia zapasowa): 192.168.56.10 

Jak powiedzieliśmy wcześniej, musisz zainstalować tę samą wersję Rdiff-Backup Na obu maszynach spróbuj teraz sprawdzić wersję na obu maszynach w następujący sposób:

$ rdiff -backup -v 
Sprawdź wersję RDIFF na serwerach

Na serwerze tworzenia kopii zapasowych utwórz katalog, który będzie przechowywał pliki kopii zapasowych, takie jak:

# mkdir -p /kopie zapasowe 

Teraz z serwera kopii zapasowych uruchom następujące polecenia, aby wykonać kopię zapasową katalisk /var/log/ I /źródło z zdalnego serwera Linux 192.168.56.102 W /kopie zapasowe:

# rdiff-backup [e-mail chroniony] ::/var/log//backups/192.168.56.102_logs.Backup # rdiff-backup [e-mail chroniony] ::/root//backups/192.168.56.102_rootfiles.kopia zapasowa 

Poniższy zrzut ekranu pokazuje plik główny na zdalnym serwerze 192.168.56.102 i zapasowe pliki na tylnym serwerze 192.168.56.10:

Katał zdalny kopii zapasowej na serwerze lokalnym

Zwróć uwagę na rdiff-backup-data katalog stworzony w kopia zapasowa katalog, jak widać na zrzucie ekranu, zawiera istotne dane dotyczące procesu kopii zapasowej i plików przyrostowych.

RDIFF -BACKUP - Pliki procesowe tworzenia kopii zapasowych

Teraz na serwerze 192.168.56.102, Do katalogu głównego dodano dodatkowe pliki, jak pokazano poniżej:

Sprawdź katalog tworzenia kopii zapasowych

Uruchom polecenie kopii zapasowej jeszcze raz, aby uzyskać zmienione dane, możemy użyć -v [0-9] (Tam, gdzie liczba określa poziom gadatości, domyślnie to 3, co jest ciche) Opcja ustawienia funkcji gadatości:

# rdiff -backup -v4 [e -mail chroniony] ::/root//backups/192.168.56.102_rootfiles.kopia zapasowa 
Przyrostowa kopia zapasowa z podsumowaniem

Oraz wymienić liczbę i datę częściowych przyrostowych kopii zapasowych zawartych w /Backups/192.168.56.102_rootfiles.kopia zapasowa katalog, możemy uruchomić:

# rdiff -backup -l /backups /192.168.56.102_rootfiles.kopia zapasowa/ 

Automatyzacja kopii zapasowej RDIFF-Back za pomocą CRON

Możemy wydrukować statystyki podsumowujące po udanej kopii zapasowej z --Statystyka drukowania. Jeśli jednak nie ustalimy tej opcji, informacje będą nadal dostępne w pliku statystyki sesji. Przeczytaj więcej dotyczących tej opcji w sekcji Statystyka strony Man.

I -zdalny schema Flaga pozwala nam określić alternatywną metodę łączenia się z komputerem zdalnym.

Teraz zacznijmy od utworzenia kopia zapasowa.cii skrypt na serwerze kopii zapasowej 192.168.56.10 następująco:

# cd ~/bin # vi kopia zapasowa.cii 

Dodaj następujące wiersze do pliku skryptu.

#!/bin/bash #tis to narzędzie rdiff-backup Script #backup polecenie rdiff-backup --print-Statistics--Remote-Schema 'ssh -c %s "sudo/usr/bin/rdiff-backup--server- -Restrict-Read tylko/"'[e-mail chroniony] ::/var/logs/backups/192.168.56.102_logs.Wstecz #Checking rdiff-backup polecenie sukcesu/błędu status = $? Jeśli [status $ != 0]; Następnie #append komunikat o błędzie w ~/kopii zapasowej.plik dziennika echo "kod wyjścia rdiff -backup: $ Status - polecenie nieudane" >> ~/tworzenie kopii zapasowych.dziennik; Wyjście 1; Fi #Remove Incremental Backup Pliki starsze niż jeden miesiąc Rdiff-Backup-Force--Remove-starszy niż 1m /Backups /192.168.56.102_logs.z powrotem 

Zapisz plik i wyjdź, a następnie uruchom następujące polecenie, aby dodać skrypt do crontab na serwerze kopii zapasowej 192.168.56.10:

# crontab -e 

Dodaj ten wiersz, aby codziennie uruchomić skrypt kopii zapasowej o północy:

0 0 * * */root/bin/backup.sh> /dev /null 2> i 1 

Zapisz crontab i zamknij go, teraz udało nam się zautomatyzować proces tworzenia kopii zapasowych. Upewnij się, że działa zgodnie z oczekiwaniami.

Przeczytaj stronę Man Rdiff-Backup, aby uzyskać dodatkowe informacje, wyczerpujące opcje użytkowania i przykłady:

# Man Rdiff-Backup 

Strona główna rdiff-backup: http: // www.Nongnu.org/rdiff-backup/

To wszystko na razie! W tym samouczku pokazaliśmy, jak zainstalować i zasadniczo używać RDIFF-Backup, łatwego w użyciu skryptu Pythona do lokalnej/zdalnej kopii zapasowej w Linux. Podziel się z nami swoimi przemyśleniami za pośrednictwem sekcji informacji zwrotnej poniżej.