Backups mit rsync

Di, 23. Februar 2021, Joël Schurter

Viele kennen diesen Spruch: kein Backup - kein Mitleid. Damit das nicht mehr eintrifft, sollte man also Backups machen. Dafür gibt es z.B. das Tool Timeshift, jedoch habe ich vor einigen Tagen am eigenen Leib erfahren, dass Timeshift auch anders kann: Die komplette Festplatte wurde gelöscht. Deshalb rate ich von Timeshift ab und möchte in diesem Artikel auf das Backup-Tool rsync eingehen.

Mittels rsync lassen sich ganze Partitionen oder auch nur einzelne Verzeichnisse von einem Server auf den anderen - oder wie in unserem Fall - von einem PC auf einen USB-Stick kopieren. rsync ist nicht schwierig zu verstehen, jedoch gibt es einige Kniffe, die man wissen sollte. Diese haben hauptsächlich mit Anweisungen, was kopiert werden soll, zu tun.

Nachfolgend ein Szenario, wie es bei mir regelmässig durchgeführt wird, danach werde ich auf die einzelnen Parameter etc. eingehen. Ich starte ein Terminal und gebe "backup-usb" ein, dann wird mittels eines Alias folgender Befehl abgerufen und ausgeführt:

rsync -av /home/joel-schurter/ /run/media/joel-schurter/USB-Stick/Backups_Joel-Laptop

Damit kopiere ich mein komplettes Home-Verzeichnis auf meinen Backup-Stick. In Zukunft möchte ich dies automatisieren, indem rsync automatisch ein Backup macht, wenn der USB-Stick eingesteckt wird, dazu wird in Kürze auch noch ein Artikel erscheinen.

Nun möchte ich auf den Aufbau meines rsync-Befehls eingehen. Mittels "rsync" rufe ich das Programm selbst auf, danach kommt folgender Parameter:

  • -av ist der standardmässige Archivierungsmodus. So wird einfach alles 1:1 kopiert.

Nach dem Parameter kommt im Befehl das Quellverzeichnis und danach das Zielverzeichnis.

Mittels eines Eintrags in der .bashrc oder .zshrc Datei lässt sich der oben gezeigte Befehl in "backup-usb" abkürzen. Dieser Eintrag sähe dann so aus:

alias backup-usb="rsync -av /home/joel-schurter/ /run/media/joel-schurter/USB-Stick/Backups_Joel-Laptop"

Im nächsten Artikel zu rsync werde ich mein Backup-Setup so einrichten, dass automatisch ein Backup meines Home-Verzeichnisses gemacht wird, wenn ich den entsprechenden USB-Stick einstecke.

Weitere Tipps und Tricks zu rsync:
https://www.ionos.de/digitalguide/server/tools/server-backup-mit-rsync-erstellen/

https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC/

Aaron
Geschrieben von Aaron am 15. April 2021

Es gibt doch auch Deja Dup. Timeshift fürs System und deja dup für den persönlichen Ordner scheint auch eine gute Lösung zu sein oder?

Joël Admin
Geschrieben von Joël am 16. April 2021

Hi Aaron, Deja Dup kenne ich noch gar nicht. Von Timeshift würde ich persönlich die Finger lassen, das hat mir beim löschen einer alten Sicherung das gesamte System mit gelöscht. Timeshift ist aber auch kein Backup-Programm sondern nur eine Rollback-Machine, mit dem man sein System auf Punkt X zurückspielen kann, falls was passiert ist. Hab mir Deja Dup gerade mal ganz schnell angesehen, sieht gut aus. Evtl. schreibe ich auch mal noch nen Artikel dazu. Ich selbst nutze momentan mein Backuppy.

bluelupo
Geschrieben von bluelupo am 24. Februar 2021

Hallo Joël, auf rsync als alleiniges Backuptool würde ich persönlich nicht setzen. Zum sichern von Verzeichnissen (zB /home) ist es aber sehr gut geeignet. Meine Strategie ist, zuerst die System-Partitionen als eine 1:1-Kopie per "dd" zu sichern, also zB. das Root-Filesystem (und auch alle anderen Partitionen), damit ich das Betriebssystem wieder zurücksichern kann. Datenpartitionen sichere ich zusätzlich auch noch per rsync, damit ich einzelne Dateien aus dem Backup restoren kann. Das ganze habe ich in zwei Shellscripte verpackt, eines für Partitionsscherungen und eine dateibasierte Sicherung per rsync.

blackcrack
Geschrieben von blackcrack am 24. Februar 2021

Hi, so gibt es auch die Möglichkeit ein batch-script zu tippern, das ermöglicht, serverlösungen zu sichern und nicht nur einzelne Verzeichnisse sichern zu lassen, sondern eine Komplettlösung zu haben um ein Server soweit als solches auf eine gemountete Festplatte zu sichern, die Werkzeuge dd und tar (um in ein tar.gz zu sichern oder direkt zu spiegeln), Partimage ermöglicht switches um das ganze System in ein Image zu sichern das es möglich macht über ein batchscript eine Partition dann zu speichern (und auf einen Streamer auf band sichern zu lassen und wenn gebraucht, wieder zurück copieren zu lassen & Möglichkeit das in cron ein binden zu lassen), und später über eine Ascii-Oberfläche das System wieder zurück spielen zu können.. Sowie mariadb-db über ein batchscript sichern zu lassen. Ich leg euch mal altes Wissen in die Hand : https://blackysgate.de/web/Wiki/

liebe grüße Blacky

hier verweise ich wegen tar mal auf das hier : https://blackysgate.de/web/Wiki/systemumzug_tar.htm hier muss man dann lediglich grub anpassen und die richtige/neue UID angeben und danach dann grub wieder auf den richtigen bootsector installieren lassen Danach noch die fstab anpassen, damit die richtige root gemountet wird und somit auch gebootet werden kann.

Max
Geschrieben von Max am 23. Februar 2021

Timeshift, Backintime, rsync... Ich bin diese Tools für Backups mittlerweile leid, weil gerade große Dateien unfassbar viel Platz wegnehmen, wenn sie sich leicht ändern (etwa mbox-Dateien). Abhilfe schafft bei mir seit einiger Zeit borg. Gerade auf Server extrem effizient, leicht zurückzuspielen, verschlüsselt by default usw.

https://borgbackup.readthedocs.io/en/stable/

Joël Admin
Geschrieben von Joël am 23. Februar 2021

Danke für deinen Hinweis! Schaue ich mir mal näher an.

Peter V.
Geschrieben von Peter V. am 23. Februar 2021

Timeshift: wäre noch interessant zu wissen, wie es passieren kann, die ganze Festplatte zu löschen, quasi als Vorbeugung. Dachte, mit Timeshift hätte ich eine Lösung analog der Time Machine auf Mac,, aber nicht so elegant wie beim Mac Was Linux fehlt ist eine Backup-Lösung mit Acronis (oder gleichwertiger Backup-Software), um in einem Rutsch die Festplatte zu sichern und notfalls mit einem Live System wieder zurückzuspielen. Wäre ein möglicher kommender Artikel wert ...

Joël Admin
Geschrieben von Joël am 23. Februar 2021

Wieso genau das passiert ist, kann ich leider nicht sagen. Aufgrund von Speicherplatz-Problemen habe ich das Verzeichnis /Timeshift/backup/ im Terminal gelöscht, nachdem ich auf der GUI alle Backups gelöscht habe und trotzdem noch 50 GB von Timeshift Backups benutzt wurden. Danach fielen innerhalb von Sekunden alle Programme aus, die ich hatte, selbst der Bootloader ging nicht mehr. Ich vermute, dass es daran lag, dass Timeshift einen Bug hat, in welchem es das System nicht mehr unter Kontrolle hat. Genaues dazu kann ich aber leider nicht sagen.

Zu Timeshift selbst: eigentlich ist es auch sowas wie Time Machine auf macOS. Mit dem Unterschied, dass Timeshift auch auf andere Laufwerke sichern kann, was bedeutet, dass man es auch als Backup-Tool benutzen kann.

Ferdinand
Geschrieben von Ferdinand am 23. Februar 2021

Timeshift ist kein Backup-Tool, sondern, ähnlich dem Windows System Restore ein Tool für inkrementelle Snapshots des Dateisystems.

Joël Admin
Geschrieben von Joël am 23. Februar 2021

Danke für deinen Hinweis. So wie ich das aber verstehe, kann Timeshift zumindest als Backup-Tool benutzt werden und ist - wie du richtig gesagt hast - aber hauptsächlich ein Snapshot-Tool.