GNU/Linux >> Znalost Linux >  >> Linux

Jak zálohovat místního hostitele Unix pomocí nástroje rsnapshot rsync

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.


Linux
  1. Linux / UNIX :Jak vytvořit rozšířený oddíl pomocí fdisk

  2. Jak připojit vzdálený hostitel pomocí příkazu ssh

  3. rsync/ssh/rsnapshot backup -- vzdálené spuštění skriptu

  1. Jak ručně migrovat WordPress na nového hostitele

  2. Jak zálohovat celý systém Linux pomocí Rsync

  3. Jak ukončit připojení TCP pomocí nástroje tcpkill

  1. Jak spravovat vzdáleného hostitele Windows pomocí Ansible

  2. Jak zálohovat a obnovit svůj web pomocí nástroje pro zálohování LCN

  3. Linuxový zálohovací nástroj pro přírůstkové zálohování