Peter Rehm's Blog

apple,development,life & more

Backups unter OSX mit rsync

Mit 6 Kommentaren

Vor kurzem habe ich bei einem Kunden eine kleine Backup Lösung eingerichtet.
Diese sichert die geänderten Dateien auf eine externe Festplatte. Dies habe ich
mit xcopy realisiert.

Ich habe schon öfter nach einer Backup Lösung für OSX gesucht, und außer
einem komplett Image noch kaum was richtig brauchbares gefunden.

Es gibt aber keinen größeren Alptraum als einen Datenverlust, daher habe ich
nach einer Lösung für mein MacBook Pro gesucht, mit dem ich täglich kurz die
geänderten Dateien kopieren kann.

Dabei bin ich auf rsync gestoßen. Die Umsetzung ist denkbar einfach.

CODE:
rsync --archive -u -v /Users/peterrehm/ /Volumes/SEA_DISK/backup_sync/peterrehm/ 


Und das machen die Parameter:

CODE:
-u kopiert ist für das kopieren der geänderten Dateien zuständig
-v Zeigt die ganzen Nachrichten an, ich will ja schließlich wissen was passiert
--archive ist ein synonym für die Parameter -rlptgoD
-r Kopiert alle Verzeichnisse rekursiv
-l symlinks werden als Symlinks kopiert
-p die rechte bleiben erhalten
-t Timestamp bleibt erhalten
-g Die Gruppenzuordnung bleibt erhalten
-o lässt verzeichnisse aus, wenn Timestamp erhalten bleibt
-D kopiert sockets,fifos,....


Allerdings zeigt er beim Aufruf immer alle Dateien an, egal ob er Sie kopiert oder nicht.
Das finde ich etwas doof, da man dann nicht sieht welche Dateien sich explizit verändert haben.

Ich verwende folgendes Skript um meine Daten zu sichern, damit wird mein Web Directory gesichert,
und das ganze Home verzeichnis. Ratsam sind dabei auch die Excludes, wie z.B. das dass keine
Subversion Verzeichnisse (.svn) kopiert werden. Die muss ich nicht im Backup haben.

CODE:
#!/bin/bash
sudo rsync --archive -u -v -C --exclude="temp" --exclude="/Applications/" --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/ 
sudo rsync --archive -u -v -C --exclude=.svn /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/


Update:

Das tolle ist, nach dem ersten mal kopieren geht das razz fazz. Der Backupvorgang geht nach ersten Messungen weniger als 2 Minuten.
Nun gibt es wirklich tägliche Backups.

Update #2

Nun mein volles Backup Inklusive MySQL und SVN Dumps, wie in den anderen Blog einträgen von heute beschrieben.

CODE:
#!/bin/bash
sudo rsync --archive -u -v -C --exclude="temp" --exclude="/Applications/" --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/ 
sudo rsync --archive -u -v -C --exclude=.svn /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
mysqldump -u root --all-databases > /Volumes/Backup/backup_sync/all_db_dump.sql
svnadmin dump /Users/peterrehm/Library/svn/cms/ > 
/Volumes/Backup/backup_sync/svn_cms.dump


Update #3
Man sollte evtl auch Parallels Desktop excluden, da sonst große Datenmengen kopiert werden müssen wegen dem Windows Müll.
Das muss man aber selber entscheiden.

Update #4

-C lässt auch core Files weg, das ist etwas suboptimal, wenn man Projekte mit einem Core Verzeichnis hat.
Daher --include=core hinzufügen oder einfach ganz auf -C verzichten.

Ich habe bei meinem Backup nun auch .Trash verzichtet, da ich meinen Papierkorb nicht backupen will :-)

In meiner aktuellen Version lasse ich auch die Dateien löschen, die auf der Quelle nicht mehr vorhanden sind.
Das hält das Backup wesentlich kleiner.

Das Script sieht dann jetzt so aus, die beiden rsync zeilen.

CODE:
sudo rsync --archive --delete -u -v --exclude="temp" --exclude=".Trash" --exclude="/Applications/"
 --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/ 
sudo rsync --archive --delete -u -v /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/

Geschrieben von Peter Rehm

07.01.2007 um 14:10:16

Abgelegt in Apple

1 Trackback zu Backups unter OSX mit rsync

Trackback-URL für diesen Eintrag

  1. Als letzte Anmerkung zu dem ganzen Backup Thema noch mein Backup Plan. Täglich: Datensicherung über die Backup.sh, die immer die geänderten Dateien kopiert. [anleitung] Monatlich: Datensicherung über Carbon Copy Cloner. [anleitung]

    Peter Rehm's Blog

    07 Jan 07 um 21:32

6 Kommentare zu Backups unter OSX mit rsync

  1. Leider werden auf dem Quellsystem gelöschte Dateien auf dem Backup nicht gelöscht... das führt schnell zu einem unsauberen Backup mit viel Datenmüll...

    Mit dem Zusatz --delete werden auch gelöschte Dateien aus dem Backup entfernt.

    Thomas

    05 Feb 07 um 12:48

    Antwort

  2. Allerdings sollte man an die Grundsätze des Backups denken. Bei täglichen Backups empfiehlt sich der Verzicht des Parameters --delete. So kann man auch versehentlich gelöschte Dateien wiederherstellen, wenn man diese benötigt.

    Es ist aber rein die persönliche Vorliebe, wie man das gestalten möchte. Das Backup ohne solche Probleme ist ja eh das bootbare Image.

    Peter Rehm

    05 Feb 07 um 16:46

    Antwort

  3. Danke sehr hilfreich deine Anleitung, hat mir den Abend gerettet.

    Grüße
    noola

    noola

    21 Feb 09 um 02:04

    Antwort

  4. HI,

    hab nun zum 3ten mal nachgesehen wie ich am stabilsten auf OSX große Datenmengen kopiere und wieder eine Seite gefunden (mache das seeehr selten).

    Danke!! Ist jedesmal neu eine Hilfe ;-)

    Grüße
    Wolfgang

    Wolfgang

    21 Aug 12 um 08:06

    Antwort

  5. DIe -t Option soll doch die Zeiten der Datei beibehalten.
    Bei mir wird mit 2.6.9 aus OSX ML das "Erstellt Datum" aber immer auf das "Geändert Datum" geändert. Das darf so nicht sein. Wie kann ich das verhindern?

    Jochen

    08 Sep 12 um 09:59

    Antwort

  6. -u macht laut Beschreibung (man-page) "skip files that are newer on the receiver"

    Das passt nicht so ganz zu deiner Beschreibung und ist m.E. für ein Backup nicht nötig, denn im Backup dürften eigentlich keine neueren Files sein als in der Quelle.

    Dirk

    23 Feb 16 um 21:13

    Antwort

Kommentar schreiben

BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA