Nell'articolo precedente abbiamo esaminato come eseguire il backup dell'host unix locale utilizzando l'utilità rsnapshot.
In questo articolo, esaminiamo come eseguire il backup dell'host Linux remoto utilizzando questa utilità.
1. Configurazione dell'autenticazione basata su chiave
Come spiegato in precedenza, imposta l'autenticazione basata sulla chiave come spiegato nell'articolo ssh-keygen e ssh-copy-id o nell'articolo openSSH.
[root@local-host]# ssh-keygen [root@local-host]# ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
2. Verifica la password meno l'accesso tra i server
Accedi all'host remoto dall'host locale senza inserire la password.
[root@local-host]# ssh remote-host Last login: Sun Mar 15 16:45:40 2009 from local-host [root@remote-host]#
3. Configura rsnapshot e specifica le directory di backup dell'host remoto
Definisci le directory di backup di destinazione dell'host remoto in /etc/rsnapshot.conf come mostrato di seguito. In questo esempio,
- root@host-remoto:/ecc – Directory di origine sull'host remoto di cui eseguire il backup. cioè directory di destinazione del backup remoto.
- backup dell'host remoto/ – directory di destinazione in cui verrà archiviato il backup dell'host remoto. Tieni presente che questa directory verrà creata nella directory local-host /.snapshots/{internal.n}/ come mostrato nell'ultimo passaggio.
# vi /etc/rsnapshot.conf backup root@remote-host:/etc/ remote-host-backup/ exclude=mtab,exclude=core
4. Verifica la configurazione di rsnapshot
Esegui il test di configurazione per assicurarti che rsnapshot sia configurato correttamente e pronto per eseguire il backup di rsync di Linux.
# rsnapshot configtest Syntax OK
5. Aggiungi la voce Crontab per rsnapshot
Dopo aver verificato che le configurazioni di backup orario e giornaliero di rsync sono impostate correttamente nell'utilità rsnapshot cwrsync, è il momento di configurare questo cucciolo nel crontab come mostrato di seguito.
# crontab -e 0 */4 * * * /usr/local/bin/rsnapshot hourly 30 23 * * * /usr/local/bin/rsnapshot daily
Dai un'occhiata all'articolo sugli esempi di crontab di Linux per capire come impostare e configurare crontab.
6. Testare manualmente il backup dell'host remoto una volta
[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
Suggerimenti per la risoluzione dei problemi
Problema :rsnapshot non riuscito con ERRORE:/usr/bin/rsync ha restituito 20 come mostrato di seguito.
[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/
Soluzione: Ciò si verifica in genere quando gli utenti che stanno eseguendo rsnapshot (rsync) non hanno accesso alla directory remota di cui si sta tentando di eseguire il backup. Assicurati che la directory di backup dell'host remoto disponga dell'autorizzazione appropriata per l'utente che sta tentando di eseguire rsnapshot.