Frage

Ich erstelle einen Bash-Skript zu meinen Backup-Dateien mit rsync.

Backups kommen alle aus einem einzigen Verzeichnis. Ich möchte nur neue oder geänderte Dateien gesichert werden.

Zur Zeit sage ich rsync die dir zu sichern, und die Dateien zu überprüfen, im Vergleich zu der letzten Sicherung.

So wie ich das tue, ist

THE_TIME=`date "+%Y-%m-%dT%H:%M:%S"`
rsync -aP --link-dest=/Backup/Current /usr/home/user/backup /Backup/Backup-$THE_TIME
rm -f /Backup/Current
ln -s /Backup/Backup-$THE_TIME /Backup/Current

Ich bin ziemlich sicher, habe ich die Syntax richtig dafür. Jedes Backup prüft gegen den „Current“ Ordner und laden Sie nur als necesary. Es wird dann die aktuellen Ordner löscht und neu erstellen die Symlink auf die neueste Backup es gerade getan.

Ich erhalte eine Fehlermeldung, wenn ich das Skript ausführen:

rsync: link "/Backup/Backup-2010-08-04-12:21:15/dgs1200series_manual_310.pdf"
     

=> /Backup/Current/dgs1200series_manual_310.pdf   fehlgeschlagen: Der Betrieb wird nicht unterstützt (45)

Das Host-O HFS-Dateisystem ausgeführt wird, die harte Verknüpfung unterstützt. Ich versuche, herauszufinden, ob etwas anderes ist dies nicht unterstützt, oder wenn ich ein Problem in meinem Code habe.

Vielen Dank für jede Hilfe

Edit:

Ich bin in der Lage eine feste Verbindung auf meinem lokalen Rechner zu erstellen. Ich bin auch in der Lage eine feste Verbindung auf dem Remote-Server zu erstellen (wenn lokal angemeldet) Ich bin NICHT in der Lage eine feste Verbindung auf dem Remote-Server zu erstellen, wenn sie über afp montiert. Auch wenn beide Dateien auf dem Server vorhanden ist.

ich dies zu raten ist eine Einschränkung der Nachrichtenagentur AFP.

War es hilfreich?

Lösung

Zwei Dinge aus der Manpage herausstechen und sind wert:

  

Wenn Datei nicht verknüpfen, überprüfen Sie ihre Attribute. Ebenfalls                 überprüfen, ob einige Attribute werden immer außerhalb von rsync gezwungen                 Steuerung, eine solche Option montieren, die Wurzel zu einem einzigen zermatscht                 Benutzer oder Halterungen ein austauschbares Laufwerk mit generischem Eigentum (z                 wie OS X „Ignorieren Eigentümer auf diesem Volume“ Option).

und

  

Beachten Sie, dass rsync-Versionen vor 2.6.1 hatte einen Fehler, konnte                 richtig für einen Nicht-Super-User Prevent --link-dest von der Arbeit                 wenn -o angegeben wurde (oder implizierten -a). Sie können Work-around                 dieser Fehler durch die Option -o zu vermeiden, wenn eine alte rsync zu senden.

Haben Sie die "ignore ownership" Option eingeschaltet? Welche Version von rsync haben Sie?

Außerdem haben Sie versucht, manuell eine ähnliche Hardlink zu schaffen in der Befehlszeile mit ln?

Andere Tipps

Für den Fall der Befehlszeile ist nur ein Beispiel: Stellen Sie sicher, immer geben Sie das Link-dest Verzeichnis mit einem absoluten Pfad! Das ist etwas, das

hat mich einige Zeit, um herauszufinden, ...

Ich weiß nicht, ob dies das gleiche Problem, aber ich weiß, dass rsync kann nicht synchronisiert eine Datei, wenn das Ziel eine FAT32-Partition und der Dateiname hat einen „:“ (Doppelpunkt) darin. [Die Quelle-Dateisystem ext3, und das Ziel ist FAT32]

Versuchen Sie, den date Befehl rekonfigurieren, so dass es keinen Doppelpunkt nicht verwendet und sehen, ob das einen Unterschied macht.

z.

THE_TIME=`date "+%Y-%m-%dT%H_%_%S"`
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top