Wie verwende ich rsync, um meinen Mac auf einem NAS zu sichern?

11864
swilliams

Ich muss ein paar Verzeichnisse auf meinem NAS sichern (es erscheint im Grunde als Netzwerkfreigabe im Finder). Ich möchte es nicht bootfähig machen, ich muss nur ein paar Verzeichnisse sichern. Ich möchte es auch gerne nachts laufen lassen. Ich habe versucht, mir die Dokumentation zu rsync anzusehen, konnte es aber noch nicht herausfinden.

Ich habe mir auch rsyncx angesehen, kann das aber nicht installieren. Die Time Machine-Unterstützung ist ebenfalls kein Problem, Sie benötigen lediglich ein einfaches Backup.

5

4 Antworten auf die Frage

4
John Fouhy

Hat Ihr NAS einen Rsync-Dienst eingerichtet? Einige unterstützen es (zB ReadyNAS). Wenn ja, können Sie so etwas tun:

#!/bin/sh  DEST=xx.xx.xx.xx::backup/swilliams/ RSYNC_OPTS='-vaC --exclude ".DS_Store"'  /usr/bin/rsync $RSYNC_OPTS --exclude "build/" --exclude "dist/" --exclude "*.pyc" ~/code $DEST /usr/bin/rsync $RSYNC_OPTS ~/Music $DEST /usr/bin/rsync $RSYNC_OPTS ~/Pictures $DEST /usr/bin/rsync $RSYNC_OPTS --exclude "Virtual Machines*" ~/Documents $DEST 

Sie müssen DEST in die IP-Adresse Ihres NAS umwandeln und die entsprechenden Pfade und Dinge ändern.

Wenn Sie dies speichern, sagen Sie ~/bin/backup.sh(und stellen Sie sicher, dass Sie es tun chmod a+x ~/bin/backup.sh), können Sie es fast mit cron ausführen. Führen crontab -eSie diese Zeile aus und fügen Sie sie hinzu:

0 0 * * * $HOME/bin/backup.sh > $HOME/logs/backup.log 2>&1 

( 0 0 * * *bedeutet: jeden Tag um Mitternacht ausführen, jeden Monat. Erste Spalte ist Minuten, also 3 Uhr morgens 0 3 * * *. Dadurch werden Protokolle geschrieben. Stellen Sie ~/logsdaher sicher, dass das Verzeichnis vorhanden ist, oder legen Sie sie an einem anderen Ort ab.)

Wenn Ihr NAS rsync nicht als Dienst unterstützt , sollte es meiner Meinung nach funktionieren, wenn Sie den Start folgendermaßen ändern:

#!/bin/sh  mount_smbfs //user:password@xx.xx.xx.xx/backup /Volumes/backup DEST=/Volumes/backup 

und am Ende:

umount /Volumes/backup 

(Wenn Ihre Freigabe geöffnet ist, können Sie den Benutzer und das Kennwort weglassen.)

Wenn Sie Zeitstempel-Sicherungen wünschen, können Sie mit dem Befehl date experimentieren. z.B

DATE=`date +%Y%m%d` 

Greifen Sie dann in Ihrem Skript auf $ DATE zu.

Wenn Ihnen hier etwas nicht klar ist, fragen Sie einfach.

Ok, ich lief das, aber es dauerte für immer. Ungefähr 10 Stunden, um 300 GB Daten zu synchronisieren. Werden nachfolgende Läufe nach dem ersten schneller sein? Wenn nicht, muss ich mir eine andere Lösung ansehen. swilliams vor 14 Jahren 0
Wenn Sie es zum ersten Mal ausführen, müssen Sie lediglich alle Ihre Daten kopieren. Der springende Punkt von rsync ist, dass nachfolgende Läufe schneller sind, da nur Änderungen übertragen werden müssen. Versuchen Sie es jetzt noch einmal - es sollte sich nicht viel geändert haben, also sollte es sehr schnell sein. Andernfalls können Netzwerkprobleme auftreten. John Fouhy vor 14 Jahren 2
Richtig, ich war nur besorgt, weil ich zuvor alle Daten kopiert hatte (als es auf meiner früheren PC-Workstation war). Ich habe es einfach nochmal ausgeführt und es wurde schnell abgeschlossen. Vielen Dank. swilliams vor 14 Jahren 0
2
Grumbel

Wenn Sie rsync für die Sicherung verwenden, werden die meisten Importoptionen angezeigt, --backupund --backup-dirohne die, die Sie kopieren, nicht die Sicherung. Wie beim Backup möchten Sie die Änderungen nachverfolgen, anstatt sie nur zu überschreiben. Was ich benutze ist folgendes:

#!/bin/sh  RSYNCOPTS="-e ssh --delete --one-file-system --relative --archive -P --verbose --compress --recursive" BACKUPDIR="/backup/" BACKUPINCR="$/incr/$(date -I)" BACKUPROOT="$/root/" EXCLUDES="--exclude-from /home/juser/.backup-excludes"  # Make sure we use a new incr backup directory on each run NUM=0 while [ -e "$-$" ]; do NUM=$(($NUM + 1)) done BACKUPINCR="$-$"  for i in /home/ /etc/; do rsync $RSYNCOPTS $EXCLUDES--backup --backup-dir="$BACKUPINCR" "$i" "$BACKUPROOT" done 

Dadurch erhalten Sie eine Kopie /backup/root/und eine Sicherungskopie aller geänderten oder gelöschten Dateien /backup/incr/$DATE-$NUM.

Dieses Skript verwendet --one-file-systemdie Dateisystemgrenzen, sodass --relativedie absoluten Pfadnamen erhalten bleiben.

Wenn Sie es extra pedantisch wollen, können Sie hinzufügen --checksum, dass alle Dateien geprüft werden, anstatt nur den Zeitstempel zum Überspringen zu verwenden. Der Vorteil ist, dass Ihr Backup eine bessere Chance hat, frei von Bit-Flips zu sein, aber es läuft noch eine ganze Weile.

Ein weiterer allgemeiner Hinweis: Verwenden --dry-runSie immer, wenn Sie mit der neuen Option herumspielen, wenn Sie nicht sicher sind, was sie tun, insbesondere wenn es sich um --deleteFreunde handelt, da Sie Ihre bereits vorhandene Sicherung nicht aus Versehen nicht auslöschen.

0
Ronald Pottol

rsync -av Pfad_zur_Dateien Pfad_zum_Ort_auf_NAS

Führen Sie es über cron, crontab -e aus. Allerdings müssen Sie dazu vi wissen und die Crontab-Syntax nachschlagen.

Das funktioniert, wenn die Dateien Ihnen gehören. Ich denke, Sie möchten vielleicht mit der E-Option (-avE) den Ressourcenzweig greifen, der unter OS X nicht wirklich verwendet wird, wie ich es verstehe, sondern nur Ihr klassisches Zeug, das nicht mehr funktioniert.

Hier sind einige Links, mit denen Sie sich nicht mit dem ssh-Zeug herumschlagen müssen.

einfach: http://www.egg-tech.com/mac_backup/

Komplex: www.bombich.com/mactips/rsync.html

Einige Anwendungen verwenden immer noch Resource Forks. Beispielsweise werden die Backups und Hauptdateien von Quicken for Mac ohne Ressourcenzweig völlig unbrauchbar. Chealion vor 14 Jahren 0
0
Michael

Sehen Sie sich meine Anweisungen unter http://www.luxgruppe.de/tech/?p=10 und den folgenden Artikeln zum Synchronisieren von Musik und iTunes-Wiedergabelisten mit Ihrer Synology mit rsync an. Synchronisierung der iTunes-Wiedergabeliste: http://www.luxgruppe.de/tech/?p=200

Habe Spaß!

Grüße, Michael, willkommen bei SuperUser. Im Allgemeinen ist es am besten, mindestens eine kurze Zusammenfassung des Inhalts hinzuzufügen, auf den Sie einen Link setzen, für den Fall, dass der Link überhaupt nicht mehr funktioniert. Könnten Sie Ihre Antwort so bearbeiten, dass sie einige Informationen enthält, zu denen Sie einen Link erstellen? Jonathan Garber vor 11 Jahren 0