Backup with r5backup
There are many backup solutions using hardlink with rsync. r5backup is just an other f**** rsync Script. But a smart one. Because it base at rsync it can handle remote hosts, is rapid and reliable. It is smart, because it roll back parts of a failed back
Das hier vorgestellt r5backup.sh bietet folgende features
- Backup mehrerer Rechner mittels Netzwerk
- include- und exclude Listen
- gezippter Netzwerktrafic (konfigurierbar)
- verbose Modus (konfigurierbar)
- Hardlinks minimieren Plattenbedarf
- konfigurierbare Online-Kontrolle vor dem Backup
mit zwei weiteren Scripten wird die Bedienung komfortabler
- Jobsteuerung
- Löschen alter Backups (konfigurierbar)
Konfiguration
Im Verzeichnis /etc/r5backup/ sucht das Script seine Konfigurationsdateien. Zuerst die Datei r5backup.cfg, welche globale Einstellungen enthält. Diese Settings können in den Konfigurationsdateien der zu sichernden Rechner überschrieben werden. Hier ein Beispiel
# Defaults for r5backupk
# should rsync use gzip
ZIP=yes
#ZIP=no
# how to check if client is online
CHECK=ping
#CHECK=ssh
# verbose mode
VERBOSE=yes
#VERBOSE=no
# rsh/dsa key for passwordless login
HOSTKEY="/etc/rsyncback/id_dsa_r5backup.pub"
# the directory where backups must go to (unix fs onley)
TARGET=/space/r5backup
- ZIP: meist ist es sinnvoll den Trafic zu zippen. Das spart Netzwerkbandbreite. Bei altersschwachen Computern oder für den Backupserver selbst sollte jedoch nicht gezippt werden.
- CHECK: Vor einem Backuplauf wird geprüft oder der Rechner zu erreichen ist. Meist ist ein 'ping' ausreichend. ist der Rechner mit 'ping' nicht zu erreichen, z.B. weil eine Firewall dies nicht durch lässt ist auch ein Checl per ssh möglich. In seltenen Fällen mag es notwendig sein die Variable auf no zu setzen und so auf jeden Check zu verzichten.
- VERBOSE: ist diese Variable auf yes esetzt wird rsync ein --verbose mitgegeben, das Script selbst loggt auch mehr.
- HOSTKEY: der Public Key für den passwortlosen ssh-Zugang.
- TARGET: das Verzeichnis, in das Backups geschrieben werden. Sinnvoll ist es, wenn das Verzeichnis ein Mountpoint ein (externen) Platte ist. Das erleichtert Checks des Dateisystems sowie das Löschen alter Backups.
Die Konfiguration eines Clients sieht beispielsweise wie folgt aus:
VERBOSE=no
ZIP=no
HOST=newsserver.example.net
DIRS="/etc /usr/local /space/global /root"
Hier werden die Vorgaben VERBOSE und ZIP auf no gesetzt. Im Backup landen die Verzeichnisse /etc, /usr/local, /root und /space/global. Entsprechend der Backuplogic werden diese Verzeichnisse vom Rechner newsserver.example.net geholt und nach /space/r5backup/newsserver/<TIMESTAMP>/ kopiert.