RSNAPSHOT (oparta na RSync) - Narzędzie kopii zapasowej systemu plików lokalnych/zdalnych dla Linux

RSNAPSHOT (oparta na RSync) - Narzędzie kopii zapasowej systemu plików lokalnych/zdalnych dla Linux

Rsnapshot jest open source lokalny / zdalny Narzędzie do tworzenia kopii zapasowych systemu plików zostało napisane Perl Język ten przewagę jest mocą Rsync I Ssh program do tworzenia, zaplanowane przyrostowe kopie zapasowe Linux/UNIX systemy plików, choć zajmują tylko jedną przestrzeń jednego pełnego kopii zapasowej plus różnice i trzymaj te kopie zapasowe lokalny prowadzić do innego twardy dysk, zewnętrzny USB kij, dysk montowany na NFS lub po prostu przez sieć do innego komputera za pośrednictwem Ssh.

Zainstaluj narzędzie do tworzenia kopii zapasowych RSNAPSHOT

W tym artykule pokaże, jak instalować, konfigurować i używać Rsnapshot Aby utworzyć przyrostowy cogodzinny, codziennie, co tydzień I miesięczny lokalne kopie zapasowe, a także zdalne kopie zapasowe. Aby wykonać wszystkie kroki w tym artykule, musisz być źródło użytkownik.

Krok 1: Instalowanie kopii zapasowej RSNAPSHOT w Linux

Instalacja Rsnapshot za pomocą Mniam I TRAFNY May różni się nieznacznie, jeśli używasz czerwony kapelusz I Debian rozkłady oparte na oparciu.

Na RHEL/CENTOS

Najpierw będziesz musiał zainstalować i włączyć repozytorium stron trzecich Epel. Podążaj poniżej link, aby zainstalować i włączyć pod swoim Rhel/Centos systemy. Fedora Użytkownicy nie wymagają żadnych specjalnych konfiguracji repozytorium.

  1. Zainstaluj i włącz repozytorium EPEL w RHEL/CENTOS 6/5/4

Po uzyskaniu konfiguracji rzeczy zainstaluj Rsnapshot z wiersza poleceń, jak pokazano.

# mniam instalacja rsnapshot
Na Mint Debian/Ubuntu/Linux

Domyślnie, Rsnapshot zawarte w UbuntuRepozytoria, dzięki czemu można je zainstalować za pomocą apt-get polecenie jak pokazano.

# apt-get instaluj rsnapshot

Krok 2: Konfigurowanie logowania bez hasła SSH

Aby uzyskać kopię zapasową zdalnych serwerów Linux, twoje RSNAPSHOT SERWER Backup będzie mógł się połączyć Ssh bez hasła. Aby to osiągnąć, musisz stworzyć Ssh klucze publiczne i prywatne do uwierzytelnienia na Rsnapshot serwer. Podążaj poniżej link, aby wygenerować klucze publiczne i prywatne na swoim Rsnapshot serwer zapasowy.

  1. Utwórz login bez hasła SSH za pomocą ssh keygen

Krok 3: Konfigurowanie RSNapshot

Teraz będziesz musiał edytować i dodać parametry do Rsnapshot plik konfiguracyjny. otwarty Rsnapshot.conf plik z vi Lub Nano redaktor.

# vi /etc /rsnapshot.conf

Następnie utwórz katalog tworzenia kopii zapasowych, w którym chcesz przechowywać wszystkie kopie zapasowe. W moim przypadku moja lokalizacja katalogu kopii zapasowej to „/Backup danych/". Wyszukaj i edytuj następujący parametr, aby ustawić lokalizację kopii zapasowej.

snapshot_root/data/kopia zapasowa/

Również pocukaj „CMD_SSH”Linia, która umożliwia zdalne kopie zapasowe Ssh. Aby porzucić linię, usuń „#„Po froncie następującej wierszy, aby Rsnapshot może bezpiecznie przenieść swoje dane na serwer kopii zapasowej.

cmd_ssh/usr/bin/ssh

Następnie musisz zdecydować, ile starych kopii zapasowych chcesz zachować, ponieważ Rsnapshot nie miał pojęcia, jak często chcesz robić migawki. Musisz określić, ile danych do zapisania, dodać interwały, aby zachować i ile z nich.

Cóż, domyślne ustawienia są wystarczająco dobre, ale nadal chciałbym, żebyś włączył „miesięczny„Interwał, abyś mógł również mieć długoterminowe kopie zapasowe. Prosimy o edytuj tę sekcję, aby wyglądać podobnie do poniżej ustawień.

######################################### # BACKUP INTERVALS # # Must be unique and w kolejności rosnącej # # i.mi. Co godzinę, codziennie, co tydzień itp. ###############################################t. Interval 6 Interval Daily 7 Interwał co tydzień 4 interwał miesięcznie 3

Jeszcze jedna rzecz, którą musisz edytować, jest „SSH_ARGS" zmienny. Jeśli zmieniłeś domyślne Port SSH (22) Do czegoś innego, musisz określić ten numer portu swojego serwera tworzenia kopii zapasowych.

SSH_ARGS -p 7851

Na koniec dodaj lokalne i zdalne katalogi tworzenia kopii zapasowych, które chcesz tworzyć kopie zapasowe.

Kopie zapasowe lokalne katalogi

Jeśli zdecydowałeś się zapasować swoje katalogi lokalnie na tym samym komputerze, wpis kopii zapasowej wyglądałby tak. Na przykład, biorę kopię zapasową mojego /Tecmint I /itp katalogi.

Backup/ Tecmint/ LocalHost/ Backup/ Etc/ LocalHost/
Kopie zapasowe zdalne katalogi

Jeśli chcesz wykonać kopię zapasową zdalnych katalogów serwera, musisz powiedzieć RSNapshot, gdzie jest serwer i które katalogi chcesz zapasować. Tutaj biorę kopię zapasową mojego zdalnego serwera ”/dom„Katalog pod„/Backup danych”Katalog na serwerze RSNAPSHOT.

kopia zapasowa [e -mail chroniony]:/home//data/kopia zapasowa/

Przeczytaj także:

  1. Jak tworzyć kopie zapasowe/zsynchronizowanie katalogów za pomocą narzędzia RSYNC (zdalny synchronizacja)
  2. Jak przesyłać pliki/foldery za pomocą polecenia SCP
Wyklucz pliki i katalogi

Tutaj zamierzam wykluczyć wszystko, a potem tylko konkretnie zdefiniuję to, co chcę utworzyć. Aby to zrobić, musisz utworzyć plik wykluczający.

# vi/data/kopia zapasowa/tecmint.wykluczać

Najpierw uzyskaj listę katalogów, które chcesz utworzyć kopię zapasową i dodać ( - * ) Aby wykluczyć wszystko inne. Będzie to tylko kopie zapasowe tego, co wymieniłeś w pliku. Mój plik wyklucz wygląda podobnie do poniżej.

+ /boot + /data + /tecMint + /etc + /home + /opt + /root + /usr - /usr /* - /var /cache + /var - /*

Korzystanie z opcji pliku wykluczonego może być bardzo trudne ze względu na użycie rsync rekurencja. Więc mój powyższy przykład może nie być tym, czego szukasz. Następnie dodaj plik wyklucz do Rsnapshot.conf plik.

exclude_file/data/backup/tecmint.wykluczać

Wreszcie, jesteś prawie skończony z początkową konfiguracją. Zapisz "/etc/rsnapshot.conf”Plik konfiguracyjny przed dalszym przejściem. Istnieje wiele opcji do wyjaśnienia, ale oto mój przykładowy plik konfiguracyjny.

config_version 1.2 Snapshot_root/data/Backup/cmd_cp/bin/cp cmd_rm/bin/rm cmd_rsync/usr/bin/rsync cmd_ssh/usr/bin/ssh cmd_logger/usr/bin/logger cmd_du 7 Interwał tygodniowy 4 interwał Miesięczny 3 ssh_args -p 25000 Verbose 2 LogLevel 4 logfile/var/log/rsnapshot/exclude_file/data/backup/tecMint.Wyłącz rsync_long_args--delete --Numeric-IDS--delete-excluded Lockfile/var/run/rsnapshot.PID Backup/ Tecmint/ LocalHost/ Backup/ Etc/ LocalHost/ Backup [E -mail chroniony]:/ home// data/ backup/

Wszystkie powyższe opcje i wyjaśnienia argumentów są następujące:

  1. config_version 1.2 = Wersja pliku konfiguracyjnego
  2. Snapshot_root = Miejsce docelowe do przechowywania migawek
  3. cmd_cp = Ścieżka do kopiowania polecenia
  4. cmd_rm = Ścieżka do usunięcia polecenia
  5. cmd_rsync = Ścieżka do rsync
  6. CMD_SSH = Ścieżka do SSH
  7. cmd_logger = Ścieżka do interfejsu polecenia powłoki do syslog
  8. CMD_DU = Ścieżka do użycia dysku
  9. Interwał co godzinę = Ile godzinowych kopii zapasowych do przechowywania.
  10. odstęp codziennie = Ile codziennych kopii zapasowych do przechowywania.
  11. Interwał co tydzień = Ile cotygodniowych kopii zapasowych do przechowywania.
  12. Interwał co miesiąc = Ile miesięcznych kopii zapasowych do przechowywania.
  13. SSH_ARGS = Opcjonalne argumenty SSH, takie jak inny port (-p)
  14. gadatliwy = Eksplanatoryjne
  15. Loglevel = Eksplanatoryjne
  16. plik dziennika = Ścieżka do pliku dziennika
  17. exclude_file = Ścieżka do pliku wykluczonego (zostanie wyjaśniona bardziej szczegółowo)
  18. rsync_long_args = Długie argumenty do przekazania do rsync
  19. Lockfile = Eksplanatoryjne
  20. kopia zapasowa = Pełna ścieżka do tego, co ma być poparte, a następnie względna ścieżka umieszczenia.

Krok 4: Sprawdź konfigurację RSNAPSHOT

Po zakończeniu z całą konfiguracją czas sprawdzić, czy wszystko działa zgodnie z oczekiwaniami. Uruchom następujące polecenie, aby sprawdzić, czy konfiguracja ma prawidłową składnię.

# rsnapshot ConfigTest Składnia OK

Jeśli wszystko skonfigurowano poprawnie, otrzymasz „Składnia OK" wiadomość. Jeśli otrzymasz jakieś komunikaty o błędach, oznacza to, że musisz poprawić te błędy przed uruchomieniem Rsnapshot.

Następnie wykonaj test testowy na jednej z migawek, aby upewnić się, że generujemy prawidłowe wyniki. Bierzemy „cogodzinny”Parametr do wykonania testu za pomocą -T (test) argument. To poniższe polecenie wyświetli pełną listę rzeczy, które zrobi, nie robiąc.

# rsnapshot -t godzinę
Przykładowy wyjście
Echo 2028>/var/run/rsnapshot.PID MKDIR -M 0700 -p/Data/Backup/Mkdir -m 0755 -p/Data/Backup/Co godzinę.0//usr/bin/rsync -a--delete--numeric-ids--relatywny--delete-excluded/home \/backup/godzinę.0/localhost/mkdir -m 0755 -p/kopia zapasowa/godzinę.0//usr/bin/rsync -a--delete-numeric-ids--relatywny--delete-excluded/etc \/backup/godzinę.0/localhost/mkdir -m 0755 -p/dane/kopia zapasowa/godzinę.0//usr/bin/rsync -a--delete--numeric-ids--relatywny--delete-excluded \/usr/local/data/backup/godzinę.0/LocalHost/Touch/Data/Backup/Co godzinę.0/

Notatka: Powyższe polecenie mówi Rsnapshot Aby stworzyć „cogodzinny" kopia zapasowa. W rzeczywistości wydrukuje polecenia, które będą wykonywać, gdy naprawdę je wykonamy.

Krok 5: Ręczne uruchamianie RSNapshot

Po weryfikacji wyników możesz usunąć „-T„Opcja, aby naprawdę uruchomić polecenie.

# rsnapshot co godzinę

Powyższe polecenie uruchomi skrypt kopii zapasowej z całą konfiguracją, którą dodaliśmy w Rsnapshot.conf złożyć i tworzy „kopia zapasowa”Katalog, a następnie tworzy pod nim strukturę katalogów, która organizuje nasze pliki. Po uruchomieniu powyżej polecenia możesz zweryfikować wyniki, przechodząc do katalogu kopii zapasowej i wymienić strukturę katalogu za pomocą polecenia LS -L, jak pokazano.

# CD /Data /Backup # LS -l Razem 4 DRWXR-XR-X 3 Korzenie root 4096 28 października 09:11 Co godzinę.0

Krok 6: Automatyzacja procesu

Aby zautomatyzować proces, Musisz zaplanować Rsnapshot być uruchamiając w niektórych odstępach czasu Cron. Domyślnie, Rsnapshot przychodzi z Cron Plik pod „/etc/cron.D/rsnapshot„Jeśli nie istnieje, stwórz jeden i dodaj do niego następujące wiersze.

Domyślnie komentowane są reguły, więc musisz usunąć „#”Z przed sekcją planowania, aby włączyć te wartości.

# To jest przykładowy plik cron dla RSNapshot. # Zastosowane wartości odpowiadają przykładom w /etc /rsnapshot.conf. # Tam możesz również ustawić punkty tworzenia kopii zapasowych i wiele innych rzeczy. # # Aby aktywować ten plik CRON, musisz porzucić poniższe wiersze. # Zapraszam do dostosowania go do swoich potrzeb. 0 */4 * * * root/usr/bin/rsnapshot godzinę 30 3 * * * root/usr/bin/rsnapshot codziennie 0 3 * * 1 root/usr/rsnapshot Weekly 30 2 1 * * root/usr/ bin/rsnapshot co miesiąc

Pozwól mi dokładnie wyjaśnić, co robią powyżej reguły Cron:

  1. Uruchamia każdy 4 godziny i tworzy cogodzinny Directory pod /kopia zapasowa informator.
  2. Działa codziennie o 3:30 i stwórz codziennie Directory pod /kopia zapasowa informator.
  3. Bierze co tydzień na każdy Poniedziałek Na 03:00 i stwórz co tydzień Directory pod /kopia zapasowa informator.
  4. Uruchamia każdy miesięczny Na 2:30 i stwórz miesięczny Directory pod /kopia zapasowa informator.

Lepiej zrozumieć, jak CRON ZASADY Działa, sugeruję przeczytanie naszego artykułu, który opisuje.

  1. 11 Przykłady planowania cron

Krok 7: Raporty RSNapshot

Rsnapshot zapewnia fajne małe raporty Skrypt perl To wysyła ci Alert e -mail ze wszystkimi szczegółami dotyczącymi tego, co wydarzyło się podczas twoich kopii zapasowych danych. Aby skonfigurować ten skrypt, musisz skopiować skrypt gdzieś pod „/usr/lokalny/bin”I spraw, aby był wykonywalny.

# cp/usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.PL/USR/Local/bin # chmod +x/usr/local/bin/rsnapreport.pl

Następnie dodaj „-statystyki„Parametr w swoim„Rsnapshot.conf”Plik do sekcji RSYNC's Long Arguments.

vi /etc /rsnapshot.conf
rsync_long_args --stats--delete-numeric-ids--delete-excluded

Teraz edytuj Zasady crontab które zostały dodane wcześniej i zadzwoń RSNapReport.pl skrypt do przekazania raportów na określony adres e -mail.

# To jest przykładowy plik cron dla RSNapshot. # Zastosowane wartości odpowiadają przykładom w /etc /rsnapshot.conf. # Tam możesz również ustawić punkty tworzenia kopii zapasowych i wiele innych rzeczy. # # Aby aktywować ten plik CRON, musisz porzucić poniższe wiersze. # Zapraszam do dostosowania go do swoich potrzeb. 0 */4 * * * root/usr/bin/rsnapshot godzinę 2> i 1 | \/usr/local/bin/rsnapreport.Pl | Mail -s „Courly Backup” [e -mail chroniony] 30 3 * * * root/usr/bin/rsnapshot codziennie 2> i 1 | \/usr/local/bin/rsnapreport.Pl | Mail -s „Daily Backup” [e -mail chroniony] 0 3 * * 1 root/usr/bin/rsnapshot Weekly 2> i 1 | \/usr/local/bin/rsnapreport.Pl | Mail -s „Cotygodniowe kopie zapasowe” [e -mail chroniony] 30 2 1 * * root/usr/bin/rsnapshot Monthly 2> i 1 | \/usr/local/bin/rsnapreport.Pl | Mail -s „Montly Backup” [e -mail chroniony]

Po prawidłowym dodaniu powyżej wpisów otrzymasz raport na swój adres e-mail podobny do poniżej.

Źródło plików całkowitą trans Trans MB MB List Trans List Plik czasu generacji xfer czas ------------------------------- -------------------------------------------------- ------------------- LocalHost/ 185734 11853 2889.45 6179.18 40.661 Second 0.000 sekund

Linki referencyjne

  1. Strona główna rsnapshot

To wszystko na razie, jeśli jakieś problemy wystąpią podczas instalacji, upuszczą mi komentarz. Do tego czasu bądź na bieżąco Tecmint Aby uzyskać bardziej interesujące artykuły na temat świata open source.