Nein. Kein Aprilscherz! Hab heut meinen guten Tag, weil ich heute mal wieder mit einem richtigen Arschloch (im positiven Sinne) zusammen arbeiten darf :>
rdiff-backup /home/username /Backups/username
Obiges erstellt im Verzeichnis /Backups/username ein Backup von /home/username. Der erste Aufruf von
rdiff-backup dauert etwas länger, weil eine Dateiliste erstellt wird.
Will man bestimmte Dateien/Verzeichnisse nicht im Backup haben, kann man das auf zwei Arten erreichen. Die erste ist
--exclude als Option und die Dateien/Verzeichnisse als Argument anzugeben; also
rdiff-backup --exclude '*.bak'
oder (was ich wegen der Übersichtlichkeit bevorzuge) die Option
--exclude-globbing-filelist zu verwenden. Das sieht dann so aus:
rdiff-backup --exclude-globbing-filelist /home/username/exclude_home /home/username /Backups/username
In der Datei
/home/username/exclude_home stehen dann z. B. Einträge wie
/home/username/tmp/*
/home/username/.cpan/*
/home/username/*.bak
Eine weitere nützliche Option von rdiff-backup ist
--exclude-special-files, welche Devices, Sockes, Fifos und symbolische Links ausschließt. Man sollte diese allerdings auch wirklich nur verwenden, wenn man keine Symlinks benötigt (sonst schießt man sich in /etc gezielt ins Knie).
Das Restore geht genau so einfach wie das Backup selbst, aber man hat die Möglichkeit entweder das gesamte Backup oder nur einen Teil wieder herzustellen. Das letzte Backup kann man mit
rdiff-backup --restore-as-of now /Backups/username .
einspielen.
now ist das zuletzt erstellte Backup und
. sorgt dafür das die Dateien im $PWD landen. Hat man z. B. seine Kiste geschrottet und will das Backup von $HOME einspielen, dann legt man zuerst sein $HOME an (useradd, adduser, ..), wechselt in das Verzeichnis und gibt dann obiges Kommando ein. Wenn man versehentlich /home/username/p0rn gelöscht hat, reicht ein
cd p0rn && rdiff-backup --restore-as-of now /Backups/username/p0rn .
und das wars.
Bei Interesse kann ich mal mehr zum Thema Backup schreiben, maybe..