Mit rsnapshot können wir sogenannte „Snapshot“-Ordner zur Datensicherung erstellen. Zuerst installieren wir die Pakete rsnapshot
und liblchown-perl
aus den Debian Paketen.
root:~# apt-get install rsnapshot liblchown-perl
Dann entpacken wir das Archiv snapshot.tar.gz nach /usr/local/sbin
.
root:~# cp ~/tmp/snapshot.tar.gz /usr/local/sbin/
root:~# cd /usr/local/sbin/ && tar xzvf snapshot.tar.gz
root:/usr/local/sbin# rm snapshot.tar.gz
Im Skript snapshot.sh
wäre eigentlich nur die Variable notify
anzupassen (postmaster@example.com). Die eigentliche Konfiguration findet in der Datei rsnapshot.conf
statt. Dort setzen wir den Pfad snapshot_root /<path>/<to>/<backup>/<hostname>
und die Verzeichnisse, welche gesichert werden sollen ( Es müssen als Trenner Tabs verwendet werden).
....
# Path to the Backup root directory
snapshot_root /var/backup/earth
....
# Specify the path to a script (and any optional arguments) to run right
# after rsnapshot syncs files
#
cmd_postexec /usr/local/sbin/snapshot/post-hook.sh
....
# Location of the exclude file
exclude_file /usr/local/sbin/snapshot/rsnapshot-exclude.conf
# Which directories to be backed up
backup /etc/ backup/
backup /root/ backup/
backup /var/lib/mysql/ backup/
backup /var/spool/cron/ backup/
Wer möchte, oder es benötigt hat die Möglichkeit wie in dieser Konfiguration noch post/pre hooks Skripte von rsnapshot
ausführen zu lassen.
Nun erstellen wir uns noch einen Cronjob, damit das Backup Nachts um 0:45 durchgeführt wird.
root:~# crontab -e
....
# 20110829 - daily snapshot backup
45 0 * * * /usr/local/sbin/snapshot/snapshot.sh >/dev/null 2>&1