rsnapshot je úžasný bezplatný nástroj pro zálohování Linuxu k provedení zálohy rsync místního i vzdáleného systému souborů.
Toto je série dvou článků. V tomto článku se podíváme na to, jak nainstalovat a nakonfigurovat nástroj rsnapshot k vytvoření zálohy rsync místního souborového systému. V dalším článku se podíváme na to, jak nastavit nástroj rsnapshot pro zálohování vzdáleného systému souborů pomocí rsync.
rsnapshot používá kombinaci rsync a pevných odkazů k udržení plné zálohy a přírůstkových záloh. Jakmile nastavíte a nakonfigurujete rsnapshot, není s tím spojena absolutně žádná údržba. rsnapshot se automaticky postará o odstranění a otočení starých záloh.
Zabere také mnohem méně místa na disku. První úplná záloha bude mít stejnou velikost jako původní soubory a adresáře. Následné úplné zálohy rsnapshot zaberou pouze méně místa, protože zaberou zálohu pouze upravených souborů z předchozí plné zálohy.
1. Stáhněte si rsnapshot Linux Backup Utility
Stáhněte si nástroj rsnapshot z rsnapshot.org, jak je uvedeno níže.
# cd /usr/src # wget http://www.rsnapshot.org/downloads/rsnapshot-1.3.1.tar.gz # tar xvfz rsnapshot-1.3.1.tar.gz # cd rsnapshot-1.3.1
2. Nainstalujte si rsnapshot pro zálohování Linuxu přímo
Nainstalujte zálohovací nástroj rsnapshot Linux pomocí ./configure a proveďte instalaci, jak je uvedeno níže.
# ./configure --sysconfdir=/etc checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes config.status: creating t/rsync.t config.status: creating t/gnu_cp.t config.status: creating t/relative_delete_bugfix.t Type "make install" to install the program. After rsnapshot is installed, don't forget to copy /etc/rsnapshot.conf.default to /etc/rsnapshot.conf # make install /usr/bin/pod2man -c '' -n 'rsnapshot' -r '' rsnapshot > rsnapshot.1 /usr/bin/pod2man -c '' -n 'rsnapshot-diff' -r '' rsnapshot-diff > rsnapshot-diff.1 make[1]: Entering directory `/usr/src/rsnapshot-1.3.1' test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin" /usr/bin/install -c 'rsnapshot' '/usr/local/bin/rsnapshot' /usr/bin/install -c 'rsnapshot-diff' '/usr/local/bin/rsnapshot-diff' test -z "/etc" || mkdir -p -- "/etc" /usr/bin/install -c -m 644 'rsnapshot.conf.default' '/etc/rsnapshot.conf.default' test -z "/usr/local/man/man1" || mkdir -p -- "/usr/local/man/man1" /usr/bin/install -c -m 644 './rsnapshot.1' '/usr/local/man/man1/rsnapshot.1' /usr/bin/install -c -m 644 './rsnapshot-diff.1' '/usr/local/man/man1/rsnapshot-diff.1' make[1]: Leaving directory `/usr/src/rsnapshot-1.3.1'
Nyní vytvořte nový rsnapshot.conf založený na výchozím konfiguračním souboru, který je dodáván s linuxovým zálohovacím nástrojem rsnapshot.
# cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
3. Nakonfigurujte rsnapshot a zadejte záložní zdrojový adresář
Otevřete soubor /etc/rsnapshot.conf a odkomentujte následující řádky.
# vi /etc/rsnapshot.conf cmd_cp /bin/cp cmd_ssh /usr/bin/ssh cmd_du /usr/bin/du cmd_rsnapshot_diff /usr/local/bin/rsnapshot-diff logfile /var/log/rsnapshot
Definujte cílové záložní adresáře v /etc/rsnapshot.conf, jak je uvedeno níže. V tomto příkladu
- /etc – zdrojový adresář, který by měl být zálohován
- localhost/ – cílový adresář, kam bude záloha uložena. Upozorňujeme, že tento adresář bude vytvořen v adresáři /.snapshots/{internal.n}/, jak je znázorněno v posledním kroku.
# vi /etc/rsnapshot.conf backup /etc/ localhost/
Poznámka: Změňte /etc/ na příslušný adresář, který chcete zálohovat.
4. Otestujte konfiguraci rsnapshot
Proveďte konfigurační test, abyste se ujistili, že je rsnapshot správně nastaven a připraven provést zálohu linux rsync.
# rsnapshot configtest Syntax OK
5. Ověřte konfiguraci hodinového zálohování rsnapshot
Můžete zálohovat linuxové adresáře nebo soubory v různých intervalech. Ve výchozím nastavení je nakonfigurováno hodinové a denní zálohování.
Ověřte konfiguraci hodinového zálohování.
# rsnapshot -t hourly echo 6490 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ mkdir -m 0755 -p /.snapshots/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \ /.snapshots/hourly.0/localhost/ mkdir -m 0755 -p /.snapshots/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \ /.snapshots/hourly.0/localhost/ mkdir -m 0755 -p /.snapshots/hourly.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ /usr/local /.snapshots/hourly.0/localhost/ touch /.snapshots/hourly.0/
6. Ověřte konfiguraci denního zálohování rsnapshot
Ověřte, zda je správně nakonfigurován proces denního zálohování rsnapshot cwrsync.
# rsnapshot -t daily echo 6493 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ /.snapshots/hourly.5 not present (yet), nothing to copy
7. Neplatný interval zálohování rsnapshot
Neexistuje žádný měsíční interval zálohování. Pokud se tedy pokusíte ověřit konfiguraci měsíční zálohy, může se zobrazit tato zpráva, jak je uvedeno níže — CHYBA:Interval „měsíční“ neznámý, podívejte se na /etc/rsnapshot.conf
# rsnapshot -t weekly echo 6495 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ /.snapshots/daily.6 not present (yet), nothing to copy # rsnapshot -t monthly echo 6496 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ ---------------------------------------------------------------------------- rsnapshot encountered an error! The program was invoked with these options: /usr/local/bin/rsnapshot -t monthly ---------------------------------------------------------------------------- ERROR: Interval "monthly" unknown, check /etc/rsnapshot.conf
8. Přidejte záznam Crontab pro rsnapshot
Jakmile ověříte, že konfigurace hodinového a denního zálohování rsync je správně nastavena v nástroji rsnapshot cwrsync, je čas nastavit toto štěně v crontab, jak je znázorněno níže.
# crontab -e 0 */4 * * * /usr/local/bin/rsnapshot hourly 30 23 * * * /usr/local/bin/rsnapshot daily
Podívejte se na článek s příklady unixového crontab, abyste pochopili, jak nastavit a nakonfigurovat crontab.
9. Ověřte úlohu rsnapshot ručně (jednorázová kontrola)
Poprvé možná budete chtít provést zálohu rsnapshot ručně, abyste se ujistili, že funguje podle očekávání.
Ve výchozím nastavení budou všechny zálohy rsync pořízené nástrojem rnspashot uloženy v adresáři /.snapshots.
Protože rsnapshot nebyl nikdy spuštěn, tento adresář nemusí existovat, jak je uvedeno níže.
# ls -al /.snapshots/ ls: /.snapshots/: No such file or directory
Manuálně spusťte zálohovací nástroj rsnapshot pro hodinovou konfiguraci, jak je uvedeno níže.
# /usr/local/bin/rsnapshot hourly
Protože jsme provedli hodinové zálohování, linuxový zálohovací nástroj rsnapshot vytvořil následující adresář /.snapshots s adresářem hourly.0
Procházejte adresář /.snapshots/hourly.0/ a ujistěte se, že soubory a adresáře, které jste nakonfigurovali v kroku č. 3, jsou odpovídajícím způsobem zálohovány.
# ls -al /.snapshots/ total 16 drwx------ 3 root root 4096 Jul 13 05:07 .s drwxr-xr-x 25 root root 4096 Jul 13 05:07 .. drwxr-xr-x 3 root root 4096 Jul 13 05:07 hourly.0 # ls -al /.snapshots/hourly.0/localhost/etc/ total 2516 drwxr-xr-x 93 root root 12288 Jul 13 05:05 . drwxr-xr-x 3 root root 4096 Jul 13 05:07 .. -rw-r--r-- 1 root root 15288 Mar 13 2008 a2ps.cfg -rw-r--r-- 1 root root 2562 Mar 13 2008 a2ps-site.cfg drwxr-xr-x 4 root root 4096 Oct 31 2008 acpi -rw-r--r-- 1 root root 44 Jan 16 10:43 adjtime drwxr-xr-x 4 root root 4096 Jan 16 10:36 alchemist -rw-r--r-- 1 root root 2155 Mar 19 08:22 aliases -rw-r----- 1 root smmsp 12288 Mar 19 08:22 aliases.db
V našem dalším článku se podíváme na to, jak zálohovat více vzdálených hostitelů pomocí nástroje rsnapshot.