Wstęp

Wstęp

RSNapshot to narzędzie kopii zapasowych napisane w Perl, które wykorzystuje RSYNC jako zaplecza. RSNAPSHOT pozwala użytkownikom tworzyć niestandardowe rozwiązania tworzenia kopii zapasowych. W tym artykule omówiono następujące informacje: Korzyści z przyrostowego rozwiązania tworzenia kopii zapasowych, instalacja RSNAPSHOT, jego konfiguracja i przykłady użytkowania.

Z powrotem!

Niedawno rozmawiałem z kolegą o korzyściach wynikających z tworzenia kopii zapasowych twoich danych. Mój kolega opowiedział mi, jak jeden z jej klientów stracił niedawno dość długi artykuł, nad którym pracowali. Zdecydowałem, że może to być dobra szansa na eksperymentowanie z moim netbookiem i rsnapshot. W tym samouczku założę, że masz 2 elementy sprzętu: komputer hosta i sprzęt docelowy. Będę używać zewnętrznego dysku twardego dla większości tego postu. Jednak krótko omówię użycie tworzenia kopii zapasowych plików nad sieci LAN.

Wycofanie twoich danych nie powinno być pytaniem, ale raczej jak powinienem tworzyć kopie zapasowe moich rzeczy? Jaki jest najlepszy sposób? Cóż, istnieje wiele różnych ścieżek tworzenia kopii zapasowych, w tym poziom blokowy (DD, Parmage), poziom partycji (RAID i wszystkie jego odmiany), poziom plików (RSYNCand jego aplikacje dla dzieci). Omówię dwa rodzaje kopii zapasowych w kontekście kopii zapasowych opartych na plikach.

Normalne kopie zapasowe lub pełne kopie zapasowe są samowystarczalne. Normalne kopie zapasowe to jeden ze sposobów tworzenia kopii zapasowych wszystkich plików za każdym razem, gdy wykonujesz kopię zapasową. Jednym z problemów z wykorzystaniem wielokrotnego normalnego schematu tworzenia kopii zapasowych jest to, że normalna kopia zapasowa zajmuje znaczną ilość miejsca. Na przykład, jeśli wykonasz pełną kopię zapasową dysku twardego 250gig o pojemności 20%, codziennie przez zaledwie tydzień (zakładając, że ilość danych nie waha się) oznacza, że ​​użyłeś już 350gigów za tylko tydzień zapasów kopii zapasowych. Jak widać, na dłuższą metę nie jest to możliwe. Inną metodą, którą wolę, jest przyrostowa metoda kopii zapasowej. Przyrostowa kopia zapasowa składa się z jednej pełnej kopii zapasowej, a następnie wykonania dodatkowych kopii zapasowych. Te dodatkowe kopie zapasowe będą tylko Pliki kopii zapasowych, które zmieniły się od ostatniej kopii zapasowej. Zamiast tworzenia kopii zapasowej całego dysku twardego, tylko określone pliki, które się zmieniły od czasu ostatniej kopii zapasowej. Jak zapewne możesz sobie wyobrazić, jest to znacznie bardziej wydajny proces. Jednym narzędziem, które to robi na *Nix, jest RSNapshot.



Co to jest rsnapshot?

RSNapshot, jak wspomniano wcześniej, jest przyrostowym narzędziem tworzenia kopii zapasowych. W tym samouczku pokażę, jak stworzyć siedmiodniowy schemat kopii zapasowej rotacji za pomocą RSNapshot. Zasadniczo RSNapshot utworzy 1 pełną kopię zapasową, a następnie kolejne kopie zapasowe będą tworzyć kopie zapasowe tylko pliki, które się zmieniły. Prawdziwą moc RSNapshot jest jego zdolność do wykorzystania twardych łączy między każdą kopią zapasową. Każda kopia zapasowa wydaje się być pełną kopią zapasową. W rzeczywistości każda nowa kopia zapasowa składa się z nowo utworzonych lub zaktualizowanych plików. Rsnapshot może być używany na sieci LAN i można go również uruchomić z Cron. W tym samouczku pokażę oba przykłady użytkowania.

Instalacja

Instalacja RSNapshot jest dość prosta, po prostu uruchom następujące polecenie Linux:

Na Debian (lub Ubuntu):

apt-get instaluj rsnapshot

Na Fedorze:

Yum Instaluj rsnapshot

Na archlinux:

Pacman -s rsnapshot

Teraz skonfigurujmy rsnapshot.

Konfiguracja

Spójrz na /etc, if /etc /rsnapshot.conf.Istnieje domyślnie, musisz skopiować go na /etc /rsnapshot.conf. Jeśli .Plik domyślny nie istnieje, a następnie utwórz kopię zapasową regularnego .conf. Jest to przydatne w przypadku, gdy musisz odwołać się później.

Otwórz rsnapshot.Conf i zacznij edytować swoje potrzeby. Plik konfiguracyjny RSNAPSHOT jest dobrze skomentowany. To znacznie ułatwia konfigurację. Zacząłbym od odchudzenia wszystkich aplikacji w sekcji „Zależności programu zewnętrznego” pliku konfiguracyjnego. Na początek, pocukaj następujące linie:

cmd_rsync/uso/bin/rsync
cmd_d /bin /d
cmd_rsnapshot_diff/USA/bin/rsnapshot-diff

Może być konieczne zmianę lokalizacji RSNapshot-Diff, jeśli RSNapshot go nie zlokalizuje. Aby upewnić się, że odwołujesz się do prawidłowego problemu binarnego:

Gdzie jest rsnapshot-diff

Teraz musisz zdecydować, jak dokładnie zaprojektować swój schemat kopii zapasowej. Po osiedleniu się na schemacie musisz edytować linie „interwałowe” znajdujące się w „interwałach tworzenia kopii zapasowych”. RSNapshot może wykonywać co godzinę, codziennie, co tydzień i miesięczne kopie zapasowe. Mój system wykonuje siedmiodniowy schemat kopii zapasowej, ale możesz tutaj zdecydować, co chcesz zrobić. Jednym z przykładów może być tworzenie kopii zapasowej, która działa co sześć godzin, codziennie w tygodniu. To zależy od Ciebie. Użyję mojej konfiguracji jako przykładu. Zobacz zrzut ekranu poniżej:



Pozostałe dwa wiersze, które musisz porzucić, to Snapshot_Root (znajdujący się na początku skryptu) i zapasowe (znajdujące się pod „Punkty/Skrypty zapasowe”).

snapshot_root $ destying/ #specjafuje się, gdzie są przechowywane twoich kopii zapasowych
.
.
Backup $ Source/ $ hastens
#BackUp Określa, co możesz tworzyć kopie zapasowe, możesz tworzyć kopię zapasową
#z wielu lokalizacji po prostu określ wiele linii kopii zapasowych

Linia zapasowa składa się z trzech części. Te trzy części obejmują deklarację „kopię zapasową”, lokalizację źródła i pospieszne. Każdy komponent musi być oddzielony za pomocą zakładki, a katalogi muszą zakończyć się / lub rsnapshot nie będzie prawidłowo. Dwie kolejne funkcje, które warto zwrócić uwagę, to funkcja rejestrowania i możliwość korzystania z plików RSYNC. Pocukanie następujących trzech linii (i odpowiednio zmień):

Verbose 5 #ile informacji powinno powinno
#Działający przekaźnik tworzenia kopii zapasowych?
LogLevel 5 #Jak musi informacje
#powinny być przechowywane w pliku dziennika?
logfile $ log_file_destination #where jeśli plik dziennika będzie przechowywany?

Jak prawdopodobnie zauważyłeś po przeczytaniu komentarzy w .Plik CONF, gadatliwość od 1-5, a 5 jest najbardziej gadatory. Na początku pozwoliłbym to zobaczyć, czy wszystko działa dobrze. Ten poziom kontroli jest pomocny. Jeśli napotkasz jakiekolwiek problemy, możesz wykonać debugowanie.

Jak wspomniano wcześniej, możesz również użyć rsync include i wyklucz pliki, a poniżej znajduje się przykład wyklucz plik.

#WYKLUCZAĆ
#nie do tworzenia kopii zapasowych ~
- /home/javier/data/
- /Home/Javier/$ dest/

Dołącz pliki mają podobny charakter. Zamiast „-„ Użyj ”+”, aby oznaczyć dane, które chcesz uwzględnić. Jeśli zdecydujesz, że chcesz użyć lub wykluczyć pliki, spójrz na linie COULLOM_FILE/EXCEDE_FILE. Oto moja sekcja RSNapshot.Zwróć uwagę na te opcje.

Ablow_file/home/javier/kopia zapasowa/w tym.LST
exclude_file/home/javier/backup/exclude.LST

Jeśli śledziłeś do tego momentu, RSNapshot jest prawie skonfigurowany. Jeśli chcesz uruchomić coś przed lub po zakończeniu RSNapshot, spójrz na linie CMD_PREEXEC i CMD_POSTEXEC. Możesz porzucić te linie i określić skrypty do uruchomienia przed lub po zakończeniu kopii zapasowej w razie potrzeby. Jeśli nie, skończysz edytować swój plik konfiguracyjny. Teraz uruchom następujące polecenie Linux:

RSNapshot ConfigTest

Zrzut ekranu poniżej:

To polecenie działa RSNapshot i mówi, aby wykonał kontrolę zdrowia rsnapshot.conf. Jeśli wszystko poszło dobrze, powinieneś uzyskać następujące dane wyjściowe: „Składnia OK.”Jeśli nie przeczytał wyjścia, który daje i edytuj RSNapshot.w razie potrzeby.



Przykłady użytkowania

Omówię trzy formy korzystania z RSNapshot. Formularze te obejmują lokalnie, zdalnie i jego automatyzację (poprzez Cron).Zastosowanie nie jest konieczne, różni się między wykonaniem lokalnym lub zdalnym. Zamiast tego wskazam różnice w plikach konfiguracyjnych

Korzystanie z RSNapshot lokalnie

W przypadku lokalnej kopii zapasowej dwie ważne linie to:

snapshot_root $ dest/
Backup $ source/ $ hostName/

Możesz określić wiele źródeł kopii zapasowej, po prostu tworząc wiele wierszy odnoszących się do każdego katalogu, który chcesz zapasować.
Aby faktycznie uruchomić wydanie kopii zapasowej następujące polecenie Linux:

Rsnapshot codziennie

Możesz także używać godzin, co tydzień i miesięcznie jako opcje. Każde polecenie utworzy katalog kopii zapasowej zgodnie z określoną operacją. Jeśli przejdę do mojej lokalizacji tworzenia kopii zapasowych, zobaczę następujące czynności:

[Some_user@hostName Backupdir]# ls
codziennie.0 codziennie.1 dziennik

Powyższe wyjście pokazuje, że mam dwa kopie zapasowe utworzonego mojego siedmiodniowego schematu kopii zapasowej.

Zdalne kopie zapasowe

Aby wykorzystać zdalne możliwości tworzenia kopii zapasowych RSNAPSHOT, po prostu określ lokalizację jako źródło kopii zapasowej (aby włączyć zdalne kopie zapasowe, SSH będzie musiał być włączony dla serwera. Uwierzytelnianie oparte na kluczu będzie najlepszą opcją tutaj):

Przykład kopii zapasowej [email protected]:/ home/ przykład.com/

Po określaniu zdalnego źródła jako lokalizacji do tworzenia kopii zapasowych po prostu uruchom RSNAPSHOT. Przykład poniżej:

Rsnapshot Co godzinę

Automatyzacja z Cron

Jeśli masz jakieś doświadczenie z cronthen, dodając wpis ze migawką, po prostu polega na dodaniu konkretnego polecenia E.G. „RSNapshot Co godzinę” i odpowiednia składnia na Cron. Oto kilka przykładów:

20 23 * * */usr/bin/rsnapshot codziennie # Daily Backup jest uruchomiony o 23:20
05 23 * * 7/usr/bin/rsnapshot cotygodniowy # cotygodniowe kopie zapasowe odbywa się o 23:05
# w niedzielę

Zaleca się zaplanowanie większych kopii zapasowych przed mniejszymi tworzeniem kopii zapasowych (jak pokazano powyżej), aby zapobiec konfliktom z obrotami między kopią zapasową. Ponadto zaleca się stworzenie luki między większymi kopii zapasowej a mniejszymi kopii zapasowych, aby uniknąć konfliktów między każdą pracą.



Inne zastosowania RSNapshot

RSNAPSHOT ma kilka innych przydatnych funkcji. Na przykład możesz uruchomić następujące polecenie Linux:

rsnapshot du

Aby zobaczyć, ile miejsca na dysku używa (DU musi być niezmienione w /etc /rsnapshot.conf). Zrzut ekranu poniżej:

Możesz uruchomić następujące, aby porównać zmiany między kopią zapasową:

RSNapshot Diff codziennie.0 Daily1

Poniżej należy zobaczyć wyjście podobne do zrzutu ekranu:


Zobacz stronę Man RSNapshot, aby uzyskać dodatkowe funkcjonalność.

Rozwiązywanie problemów

Jeśli otrzymasz jakieś problemy dotyczące LChown, uruchom następujące polecenie Linux:

perl -mcpan -e 'instal qc (lchown)'

Wniosek

Po pomyślnym zakończeniu tego samouczka powinieneś teraz mieć wysokiej jakości program kopii zapasowej. Aby uzyskać dodatkową dokumentację, sprawdź stronę Man RSNapshot i jej strona główna znajdująca się tutaj. Zawiera doskonałe poradniki, które jest dostępne w kilku formatach. Dodatkowo polecam sprawdzenie innych programów tworzenia kopii zapasowych, obejmują one RSync (zaplecze do RSNapshot), RDIFF-Backup, Parmage i DD.

Powiązane samouczki Linux:

  • Przykłady rsync w Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Jak tworzyć przyrostowe kopie zapasowe za pomocą RSync w Linux
  • Najlepsze oprogramowanie do tworzenia kopii zapasowych Ubuntu
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak tworzyć przyrostowe i różnicowe kopie zapasowe z TAR
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Jak tworzyć przyrostowe kopie zapasowe systemu za pomocą Timeshift na…
  • Mastering Bash Script Loops