Ich habe bereits eine Anleitung geschrieben, wie man ein Backup mittels tar realisiert. Hier stelle ich euch jetzt eine Methode vor, die ich noch besser finde. Der Vorteil mit rsync ist, dass immer ein „Vollbackup“ zur Verfügung steht und man rsync so konfigurieren kann, dass „geänderte Dateien“ in ein anderes Verzeichnis kopiert werden und dann erst durch die neue Dateiversion ersetzt werden. Dies bedeutet, dass zum Beispiel von Dokumenten immer „alle Versionen“ gesichert werden und wiederherstellbar sind.

Installieren

Falls rsync noch nicht installiert ist, dann kann es mit folgendem Befehl installiert werden.

apt-get install rsync

Befehl

Der Befehl zum sichern lautet:

rsync -av Quelle Ziel/ -b – backup-dir=Backup-Ort – stats

Parameter:

  • a: es werden die Parameter -g -l -p -t -r- D- o gesetzt
  • g: behält Gruppenrechte bei
  • l: kopiert symbolische Links
  • p: behält Rechte bei
  • t: behält Zeiten bei
  • r: kopiert Unterverzeichnisse
  • D: behält Gerätedateien bei (nur für root)
  • o: behält Besitzrechte bei
  • v: zeigt viele Informationen
  • b: erzeugt ein Backup von Dateien, die geändert wurden
  • backup-dir: Verzeichnis, an in das die geänderten Dateien kopiert werden
  • stats: zeigt nach Abschluss eine Zusammenfassung an
  • h: gibt die Zusammenfassung für den Benutzer leserlicher aus

optional:

  • c: vergleicht Dateien anhand einer Checksumme und nicht Zeit / Größe
  • exclude=Verzeichnis: schließt dieses Verzeichnis aus

Wenn ihr Probleme mit rsync habt, weil rsync immer alle Dateien neu kopiert, obwohl diese bereits vorhanden sind, dann hilft euch folgender Parameter vlt. weiter.

  • –size-only: bewirkt, dass Dateien nur anhand ihrer Dateigröße verglichen werden. Dies verhindert Probleme des Timestamps

 

Beispiel:

rsync -av /opt/daten/ /home/backup/ -b – backup-dir=/home/geandert/$(date +%y-%m-%d:%H:%M:%S) – stats

Mit diesem Befehl werden alle Inhalte des  Ordners „/opt/daten“ in den Ordner „/home/backup“ kopiert. Daten, die bereits im Ordner  „/home/backup“ vorhanden sind und nun durch eine neue Datei überschrieben werden sollen, werden in das Verzeichnis „/home/geandert/aktuellesDatum“ kopiert und dann im Backup Verzeichnis durch die neue Datei ersetzt. S

Script starten

Der Befehl kann in der Konsole ausgeführt oder in ein Script kopiert und dann gestartet werden.

Um das Script zu starten, muss eine Datei erzeugt und danach noch die Berechtigungen der Datei angepasst werden.

nano backup.sh

backup.sh ist der Name der Datei. Hier kopiert ihr den obigen Code rein.

chmod +x backup.sh

ermöglicht das Starten des Scripts

Crontab anlegen

Nachdem ihr den obigen Befehl erfolgreich ausprobiert habt, legen wir jetzt einen Cronjob an, damit dieser automatisch ausgeführt wird.

Das geht mit

sudo crontab -e

Wenn ihr noch keinen Crontab angelegt habt, dann sollte folgende Meldung erscheinen. Hier drückt ihr einfach „1“.

cert_3

Nun solltet ihr folgendes sehen.

cert_4

Mein Backup Script liegt unter „/home/user/backup.sh“.

Fügt am Ende der Datei folgende Zeile ein:

PATH=/usr/sbin:/usr/bin:/sbin:/bin
0 4 * * * /home/user/backup.sh

Erklärung

1. Stelle: Minute -> 0
2. Stelle: Stunde -> 4
3. Stelle: Tag des Monats -> *
4. Stelle: Monat -> *
5. Stelle: Wochentag -> *


Das Skript wird also jeden Tag nachts um 4 Uhr gestartet.

 

Alle Befehle zu rsync

https://linux.die.net/man/1/rsync

Teile diesen Beitrag
Christian

Categories:

Keine Kommentare vorhanden

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.