V předchozím článku jsme se zabývali tím, jak zálohovat místního unixového hostitele pomocí nástroje rsnapshot.
V tomto článku se podíváme na to, jak zálohovat vzdáleného hostitele Linuxu pomocí tohoto nástroje.
1. Nastavení ověřování pomocí klíče
Jak jsme vysvětlili dříve, nastavte autentizaci založenou na klíči, jak je vysvětleno v článku ssh-keygen a ssh-copy-id nebo v článku openSSH.
[root@local-host]# ssh-keygen [root@local-host]# ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
2. Ověřte heslo bez přihlášení mezi servery
Přihlaste se ke vzdálenému hostiteli z místního hostitele bez zadání hesla.
[root@local-host]# ssh remote-host Last login: Sun Mar 15 16:45:40 2009 from local-host [root@remote-host]#
3. Nakonfigurujte rsnapshot a zadejte vzdálené záložní adresáře hostitele
Definujte cílové záložní adresáře vzdáleného hostitele v /etc/rsnapshot.conf, jak je znázorněno níže. V tomto příkladu
- root@remote-host:/etc – Zdrojový adresář na vzdáleném hostiteli, který by měl být zálohován. tj. cílový adresář vzdálené zálohy.
- remote-host-backup/ – cílový adresář, kde bude uložena záloha vzdáleného hostitele. Upozorňujeme, že tento adresář bude vytvořen v adresáři local-host /.snapshots/{internal.n}/, jak je znázorněno v posledním kroku.
# vi /etc/rsnapshot.conf backup root@remote-host:/etc/ remote-host-backup/ exclude=mtab,exclude=core
4. Otestujte konfiguraci rsnapshot
Proveďte konfigurační test, abyste se ujistili, že je rsnapshot správně nastaven a připraven k zálohování Linuxu rsync.
# rsnapshot configtest Syntax OK
5. 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 crontab pro Linux, abyste pochopili, jak nastavit a nakonfigurovat crontab.
6. Jednou ručně otestujte zálohu vzdáleného hostitele
[root@local-host]# /usr/local/bin/rsnapshot hourly [root@local-host]# ls -l /.snapshots/hourly.0/ total 8 drwxr-xr-x 3 root root 4096 Jul 22 04:19 remote-host-backup drwxr-xr-x 3 root root 4096 Jul 13 05:07 localhost [root@local-host]# ls -l /.snapshots/hourly.0/remote-host-backup/ total 4 drwxr-xr-x 93 root root 4096 Jul 22 03:36 etc
Tipy pro odstraňování problémů
Problém :rsnapshot se nezdařil s CHYBA:/usr/bin/rsync vrátilo 20 jak je uvedeno níže.
[root@local-host]# /usr/local/bin/rsnapshot hourly rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(260) [receiver=2.6.8] ---------------------------------------------------------------------------- rsnapshot encountered an error! The program was invoked with these options: /usr/local/bin/rsnapshot hourly ---------------------------------------------------------------------------- ERROR: /usr/bin/rsync returned 20 while processing [email protected]:/etc/
Řešení: K tomu obvykle dochází, když uživatelé, kteří provádějí rsnapshot (rsync), nemají přístup ke vzdálenému adresáři, který se pokoušíte zálohovat. Ujistěte se, že záložní adresář vzdáleného hostitele má příslušná oprávnění pro uživatele, který se pokouší spustit rsnapshot.