Ich kaufe eine externe Festplatte, um die Computer in meinem Haus zu sichern (endlich !!). Ich hoffe, rsync zu verwenden. Ich habe ein Beispiel gesehen, das genau das tut (oder zu tun scheint), was ich will. Etwas wie das:
rsync -aE --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups
Bei der Betrachtung der rsync-Dokumentation, der Beispiele usw. wurden die Dinge jedoch VIEL komplizierter. Vernetzung und Dämonen und Jargon, oh mein Gott!
Ich gehe davon aus, dass nichts davon notwendig ist, solange ich nur von einem Computer auf ein mit Firewire verbundenes externes Laufwerk synchronisiere. Ich bin ich falsch in der Annahme, dass? Werden die Dinge wirklich komplizierter als dieser harmlose Befehl?
Antworten:
Rsync funktioniert problemlos auf lokalen Laufwerken. Wenn es jedoch lokale Pfade erkennt, wechselt es automatisch in den --whole-file-Modus, in dem die Unterschiede nicht kopiert werden, sondern nur die Quelldatei über die Zieldatei kopiert wird. Rsync ignoriert dennoch Dateien, die sich überhaupt nicht geändert haben. Wenn die Bandbreite zwischen Quelle und Ziel hoch ist (wie bei zwei lokalen Festplatten), ist dies viel schneller als das Lesen beider Dateien und das Kopieren nur der geänderten Bits.
quelle
Ich benutze rsync mit den folgenden Flags, die man sich leicht merken kann: 'glop' und 'trunc' und 'v'.
rsync -gloptrunc $srcdir $dstdir
Eine kurze Anleitung:
Hinweis: Auf lokalen Dateisystemen wird dies überschrieben und stattdessen werden ganze Dateien kopiert.
Ich führe immer die obigen Schritte aus, um sicherzustellen, dass es funktioniert, und entferne dann das 'n'-Flag, wenn ich mit den Ergebnissen zufrieden bin.
Die Hauptmerkmale der obigen Kombinationen:
Ich verwende dies, um zwei Computer synchron zu halten oder um Subdirs synchron zu halten (wie das Sichern auf einem USB-Laufwerk).
Wie bereits erwähnt, kann die Prüfsumme tatsächlich auf AUS gesetzt werden, wenn Sie sich mit lokalen Laufwerken befassen.
In einigen seltenen Fällen musste ich zusätzliche Parameter hinzufügen, um Änderungen an Anmeldekonten auf Remotecomputern zu berücksichtigen, Ports zu ändern und sogar anzugeben, wo sich 'rsync' auf dem Remotehost befindet Frage.
quelle
rsync -gloptrunc --delete --delete-excluded $srcdir $dstdir
. Das--delete
sagt, alles im Ziel zu löschen, das nicht in der Quelle ist, und--delete-excluded
sagt, auch ausgeschlossene Dateien im Ziel zu löschen, die normalerweise nicht verfolgt oder kopiert würden. Wenn Sie verwenden--delete-excluded
, müssen Sie technisch nicht auch verwenden--delete
, aber es ist in Ordnung, sie beide trotzdem zu verwenden. Details finden Sie auf den Manpages hier: linux.die.net/man/1/rsync .Nichts davon ist notwendig, Sie können rsync ohne Dämonen oder andere Konfigurationen verwenden. JUST FINE!
Verwenden Sie einfach den Befehl rsync und Sie können loslegen.
quelle
Nach dem Pfad in Ihrem rsync-Befehl zu urteilen, würde ich denken, dass Sie Mac OS X verwenden?
Persönlich würde ich mich für Time Machine (wenn Sie Leopard verwenden) oder Carbon Copy Cloner ( http://www.bombich.com/software/ccc.html ) entscheiden, das rsync verwendet.
Viel einfacher als zu versuchen, das eigene Skript zu korrigieren. Ein Vorteil ist, dass Time Machine und CCC Ihnen inkrementelle Backups liefern.
quelle
Das Beispiel, das Sie verwendet haben, scheint für Backups gut zu funktionieren.
Eine Sache, die Sie bei der Verwendung von rsync beachten sollten, ist die Verwendung der Option --link-dest. Auf diese Weise können Sie mehrere Sicherungskopien erstellen, für unveränderte Dateien jedoch feste Verknüpfungen verwenden, sodass alle Sicherungskopien den Platz eines inkrementellen Backups einnehmen. Ein Beispiel wäre:
Dies setzt voraus, dass Sie ein datiertes Backup für den 12. Juni haben und am 13. Juni ein neues erstellen möchten. Sie können die Option -v weglassen, wenn Sie nicht alle Dateien ausdrucken möchten.
quelle
Es hängt wirklich davon ab, ob Sie Datenbanken ausführen oder nicht. Rsync erstellt einen Schnappschuss jeder Datei und ignoriert alle zwischenzeitlichen Schreibvorgänge. Wenn Sie eine Datenbank sichern möchten, sollten Sie vor dem rsync einen Ignorierfilter einrichten und DB-Dump-Tools ausführen.
quelle
Ihr geschriebener Befehl sollte funktionieren, Sie sollten sich jedoch ein Programm mit dem Namen rsnapshot ansehen, das auf rsync aufbaut und mehrere Versionen von Dateien enthält, damit Sie zurückgehen und sich die Dinge ansehen können, die letzte Woche oder letzten Monat vorlagen. Die Konfiguration ist ziemlich einfach und bei der Speicherplatzoptimierung sehr gut. Wenn Sie also nicht viel Zeit haben, beansprucht sie nicht viel mehr Speicherplatz als ein einzelnes Backup.
quelle
Sie haben Ihr Betriebssystem nicht erwähnt. Unter der Annahme, dass das Betriebssystem auf * nix basiert, ist Ihr Befehl gut.
Wenn jedoch zufällig eines oder beide Laufwerke mit NTFS formatiert sind und von * nix oder sogar von Windows mit Mobaxterm / cygwin aus zugegriffen wird, funktioniert die inkrementelle rsync-Funktionalität nicht gut
rsync -a (archive flag)
Wenn NTFS-Laufwerke beteiligt sind, können Sie Folgendes verwenden:
Laden Sie den Mobaxterm ssh-Client herunter, um die rsync-Funktionalität unter Windows zu nutzen.
Hier finden Sie weitere Informationen zur Verwendung von rsync mit NTFS-Laufwerken
quelle
Ich habe versucht, rsync für die Sicherung zu verwenden, aber es war ein Durcheinander. rsync eignet sich eher zum Synchronisieren als zum Sichern. Und es ist eine Ewigkeit, große Dateien zu vergleichen.
Ich habe ein bisschen recherchiert und mehrere ausprobiert (im Grunde genommen testete ich jeden von apt-cache search backup in Ubuntu).
Endlich bin ich bei " backup2l - wartungsarmes Backup / Restore-Tool" angelangt , es ist ganz einfach. Mir gefällt die Art und Weise, wie Planung und Rotation (in Ebenen) verwaltet werden. Ich führe es immer dann aus, wenn ich mein externes USB-Laufwerk über die Befehlszeile angeschlossen habe, aber Sie können es auch automatisieren.
quelle
Versuche dirvish, um das Backup zu machen. http://www.dirvish.org/
Es verwendet die Hardlinks von rsync in den sogenannten Tresoren. Sie können so viel von Ihren älteren Dumps behalten, wie das USB-Laufwerk aufnehmen kann. Oder richten Sie es automatisiert ein.
Sobald Sie die Idee von dirvish verstanden haben, ist es praktischer, rsync mit all seinen Optionen selbst zu verwenden.
quelle
Ich finde eine Lösung für Windows-basierte Computer: http://www.itefix.no/i2/node/10650
So kopieren Sie D: \ Partition auf ein externes Laufwerk K: \
rsync -aE --delete --progress /cygdrive/d/* /cygdrive/k
quelle