Im vorigen Artikel haben wir uns angesehen, wie man lokale Unix-Hosts mit dem Hilfsprogramm rsnapshot sichert.
Lassen Sie uns in diesem Artikel überprüfen, wie Sie mit diesem Dienstprogramm einen entfernten Linux-Host sichern.
1. Schlüsselbasierte Authentifizierung einrichten
Wie wir bereits erklärt haben, richten Sie die schlüsselbasierte Authentifizierung ein, wie entweder im Artikel ssh-keygen und ssh-copy-id oder im Artikel openSSH beschrieben.
[root@local-host]# ssh-keygen [root@local-host]# ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
2. Überprüfen Sie die passwortlose Anmeldung zwischen Servern
Melden Sie sich vom lokalen Host beim Remote-Host an, ohne das Passwort einzugeben.
[root@local-host]# ssh remote-host Last login: Sun Mar 15 16:45:40 2009 from local-host [root@remote-host]#
3. Konfigurieren Sie rsnapshot und geben Sie Remote-Host-Backup-Verzeichnisse an
Definieren Sie Ihre Backup-Zielverzeichnisse auf dem Remote-Host in /etc/rsnapshot.conf wie unten gezeigt. In diesem Beispiel
- root@remote-host:/etc – Quellverzeichnis auf dem Remote-Host, der gesichert werden soll. d.h. Remote-Backup-Zielverzeichnis.
- Remote-Host-Sicherung/ – Zielverzeichnis, in dem das Backup des Remote-Hosts gespeichert wird. Bitte beachten Sie, dass dieses Verzeichnis wie im letzten Schritt gezeigt unter local-host /.snapshots/{internal.n}/ Verzeichnis erstellt wird.
# vi /etc/rsnapshot.conf backup root@remote-host:/etc/ remote-host-backup/ exclude=mtab,exclude=core
4. Testen Sie die rsnapshot-Konfiguration
Führen Sie einen Konfigurationstest durch, um sicherzustellen, dass rsnapshot ordnungsgemäß eingerichtet und bereit ist, eine Linux-rsync-Sicherung durchzuführen.
# rsnapshot configtest Syntax OK
5. Crontab-Eintrag für rsnapshot hinzugefügt
Nachdem Sie überprüft haben, dass die stündlichen und täglichen Backup-Konfigurationen von rsync im Dienstprogramm rsnapshot cwrsync ordnungsgemäß eingerichtet sind, ist es an der Zeit, diesen Welpen wie unten gezeigt in der crontab einzurichten.
# crontab -e 0 */4 * * * /usr/local/bin/rsnapshot hourly 30 23 * * * /usr/local/bin/rsnapshot daily
Sehen Sie sich den Artikel Linux-Crontab-Beispiele an, um zu verstehen, wie Crontab eingerichtet und konfiguriert wird.
6. Testen Sie die Remote-Host-Sicherung einmal manuell
[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
Tipps zur Fehlerbehebung
Problem :rsnapshot fehlgeschlagen mit FEHLER:/usr/bin/rsync gab 20 zurück wie unten gezeigt.
[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/
Lösung: Dies geschieht normalerweise, wenn die Benutzer, die den rsnapshot (rsync) ausführen, keinen Zugriff auf das Remote-Verzeichnis haben, das Sie sichern möchten. Stellen Sie sicher, dass das Backup-Verzeichnis des Remote-Hosts über die entsprechende Berechtigung für den Benutzer verfügt, der versucht, den rsnapshot auszuführen.