rsnapshot ist ein großartiges kostenloses Linux-Backup-Dienstprogramm um eine rsync-Sicherung sowohl des lokalen als auch des entfernten Dateisystems durchzuführen.
Dies ist eine Serie von zwei Artikeln. In diesem Artikel sehen wir uns an, wie das Dienstprogramm rsnapshot installiert und konfiguriert wird, um rsync-Backup zu erstellen des lokalen Dateisystems. Lassen Sie uns im nächsten Artikel überprüfen, wie das Dienstprogramm rsnapshot eingerichtet wird, um eine rsync-Sicherung des Remote-Dateisystems zu erstellen.
Schnappschuss verwendet die Kombination aus rsync und festen Links, um vollständige Sicherungen und inkrementelle Sicherungen zu verwalten. Sobald Sie rsnapshot eingerichtet und konfiguriert haben, ist absolut keine Wartung damit verbunden. rsnapshot kümmert sich automatisch um das Löschen und Rotieren der alten Backups.
Es nimmt auch sehr weniger Speicherplatz in Anspruch. Die erste vollständige Sicherung nimmt die gleiche Größe wie Ihre ursprünglichen Dateien und Verzeichnisse an. Nachfolgende vollständige rsnapshot-Sicherungen benötigen nur weniger Speicherplatz, da nur die geänderten Dateien der vorherigen vollständigen Sicherung gesichert werden.
1. Laden Sie das Linux-Sicherungsdienstprogramm rsnapshot herunter
Laden Sie das Dienstprogramm rsnapshot wie unten gezeigt von rsnapshot.org herunter.
# 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. Installieren Sie rsnapshot, um Linux-Verzeichnisse zu sichern
Installieren Sie das Linux-Sicherungsdienstprogramm rsnapshot mit ./configure und führen Sie die Installation wie unten gezeigt aus.
# ./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'
Erstellen Sie nun eine neue rsnapshot.conf basierend auf der Standardkonfigurationsdatei, die mit dem rsnapshot-Linux-Sicherungsdienstprogramm geliefert wird.
# cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
3. Konfigurieren Sie rsnapshot und geben Sie das Backup-Quellverzeichnis an
Öffnen Sie /etc/rsnapshot.conf und kommentieren Sie die folgenden Zeilen aus.
# 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
Definieren Sie Ihre Zielverzeichnisse für Backups in /etc/rsnapshot.conf wie unten gezeigt. In diesem Beispiel
- /etc – Quellverzeichnis, das gesichert werden soll
- localhost/ – Zielverzeichnis, in dem die Sicherung gespeichert wird. Bitte beachten Sie, dass dieses Verzeichnis wie im letzten Schritt gezeigt unter /.snapshots/{internal.n}/ Verzeichnis erstellt wird.
# vi /etc/rsnapshot.conf backup /etc/ localhost/
Hinweis: Ändern Sie /etc/ in das entsprechende Verzeichnis, das Sie sichern möchten.
4. Testen Sie die rsnapshot-Konfiguration
Führen Sie einen Konfigurationstest durch, um sicherzustellen, dass rsnapshot richtig eingerichtet und bereit ist, eine Linux-rsync-Sicherung durchzuführen.
# rsnapshot configtest Syntax OK
5. Konfiguration der stündlichen rsnapshot-Sicherung überprüfen
Sie können Linux-Verzeichnisse oder -Dateien in verschiedenen Intervallen sichern. Standardmäßig sind die stündlichen und täglichen Sicherungen konfiguriert.
Überprüfen Sie die Konfiguration der stündlichen Sicherung.
# 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. Überprüfen Sie die Konfiguration der täglichen rsnapshot-Sicherung
Stellen Sie sicher, dass der tägliche rsnapshot cwrsync-Sicherungsprozess ordnungsgemäß konfiguriert ist.
# rsnapshot -t daily echo 6493 > /var/run/rsnapshot.pid mkdir -m 0700 -p /.snapshots/ /.snapshots/hourly.5 not present (yet), nothing to copy
7. Ungültiges Snapshot-Sicherungsintervall
Es gibt kein monatliches Sicherungsintervall. Wenn Sie also versuchen, die monatliche Backup-Konfiguration zu überprüfen, erhalten Sie möglicherweise die folgende Meldung:ERROR:Interval „monthly“ unknown, check /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. 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 Unix-Crontab-Beispiele an, um zu verstehen, wie Crontab eingerichtet und konfiguriert wird.
9. Überprüfen Sie den rsnapshot-Job manuell (einmalige Überprüfung)
Beim ersten Mal sollten Sie die rsnapshot-Sicherung möglicherweise manuell ausführen, um sicherzustellen, dass sie wie erwartet funktioniert.
Standardmäßig werden alle vom rnspashot-Dienstprogramm erstellten rsync-Backups im Verzeichnis /.snapshots gespeichert.
Da rsnapshot nie ausgeführt wurde, existiert dieses Verzeichnis möglicherweise nicht, wie unten gezeigt.
# ls -al /.snapshots/ ls: /.snapshots/: No such file or directory
Führen Sie das Sicherungsdienstprogramm rsnapshot für die stündliche Konfiguration wie unten gezeigt manuell aus.
# /usr/local/bin/rsnapshot hourly
Da wir die stündliche Sicherung ausgeführt haben, hätte das Linux-Sicherungsdienstprogramm rsnapshot das folgende /.snapshots-Verzeichnis mit dem stündlichen.0-Verzeichnis erstellt
Durchsuchen Sie das Verzeichnis /.snapshots/hourly.0/, um sicherzustellen, dass die Dateien und Verzeichnisse, die Sie in Schritt 3 konfiguriert haben, entsprechend gesichert werden.
# 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
In unserem nächsten Artikel sehen wir uns an, wie Sie mehrere Remote-Hosts mit dem Dienstprogramm rsnapshot sichern.