• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Updatefunktion bei rsync

pmhpmh

Golden Delicious
Registriert
27.11.12
Beiträge
11
Hallo!
Ich komme aus der Ubuntu-Welt und bin nun meiner Freundin zuliebe auf Mac umgestiegen.
Hatte immer ein ganz einfaches Backup Script mit dem Befehl cp, der auf dem Mac nicht richtig funktioniert. Hab deshalb das Script umgebastelt auf rsync. Allerdings copiert er mir immer alle daten und nicht nur die neuen obwohl das rsync ja normaler Weise machen sollte. Kann mir da jemand weiterhelfen?
Vielen Dank.
PS: Ich möchte nicht Time-Machine verwenden, weil ich das unübersichtlich finde und man die Daten von einem Linux-Rechner nicht mehr anrühren kann.

Das Script ist im Anhang - ich hoffe das ist i.O. für die Übersichtlichkeit des Threads.
lg
 

Anhänge

  • backup_rsync.txt
    811 Bytes · Aufrufe: 94

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
man sagt:

Code:
-u, --update                skip files that are newer on the receiver
    --inplace               update destination files in-place
    --append                append data onto shorter files

also versuche es mal mit:

Code:
rsync -avu $SOURCE $BACKUP_DIR/backup

Geht das?
 

pmhpmh

Golden Delicious
Registriert
27.11.12
Beiträge
11
Hallo!
Vielen Dank für die Antwort.
Ich habe den Code so wie vorgeschlagen angepasst, aber er copiert mir nach wie vor alle Daten neu. Ein zweites backup habe ich nach 5 min. abgebrochen. Es sollte ja nach wenigen Sekunden von allein vorbei sein, da es keine neuen Dokumente zu kopieren geben sollte.
Komisch.
Ich habe aber nebenbei noch eine grundsätzliche Frage zu

Code:
--append                append data onto shorter files

Wie wird denn diese data an shorter files angehängt? Einfach hinten dran?
Was passiert, wenn ich innerhalb eines Dokuments etwas ändere?

Vielen Dank, lg
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Möglicherweise ist da ein Bug in der rsync-Version die gerade mit dieser OSX-Version ausgeliefert wurde? Du kannst ja mal eine kleine Test-Sandbox aufsetzen und das ausprobieren, dann musst du auch nicht dein Backup anfassen.

Falls es ein Bug ist, kannst du eventuell Apple ein Feedback zukommen lassen. Was du in diesem Fall zur Überbrückung versuchen kannst, dir mit homebrew oder Macports eine aktuelle Version (oder eben eine etwas ältere) von rsync aus den Quellen zu bauen, die dann hoffentlich nicht diesen Fehler hat. Das sind Paketmanager vergleichbar mit z.B. apt. Meine persönliche Empfehlung geht in Richtung homebrew.

Wie wird denn diese data an shorter files angehängt? Einfach hinten dran?
Was passiert, wenn ich innerhalb eines Dokuments etwas ändere?

In der man-Page steht dazu:

--appendThis causes rsync to update a file by appending data onto the end of the file, which presumes that the data that already exists on the receiving side is identical with the start of the file on the sending side. If a file needs to be transferred and its size on the receiver is the same or longer than the size on the sender, the file is skipped. This does not interfere with the updating of a file's non-content attributes (e.g. permissions, ownership, etc.) when the file does not need to be transferred, nor does it affect the updating of any non-regular files. Implies --inplace, but does not conflict with --sparse (since it is always extending a file's length).--append-verifyThis works just like the --append option, but the existing data on the receiving side is included in the full-file checksum verification step, which will cause a file to be resent if the final verification step fails (rsync uses a normal, non-appending --inplace transfer for the resend).Note: prior to rsync 3.0.0, the --append option worked like--append-verify, so if you are interacting with an older rsync (or the transfer is using a protocol prior to 30), specifying either append option will initiate an --append-verify transfer.
 

commune10

Adams Apfel
Registriert
11.08.11
Beiträge
522
Ich mache quasi täglich Backups mit rsync und das funktioniert einwandfrei, denn > 1 TB ist nach < 5 Min. gesichert. Daraus kann man wohl schließen das (nur) ein inkrementelles Backup gemacht wurde. Ich verwende lediglich den Parameter "-a", was für "archive" steht und genau das bewirken soll und scheinbar auch tut. Die Backups sehen zumindest intakt aus.

Nun zu dem Problem. Was rsync (zumindest als ich mir das zuletzt angeschaut habe) nicht berücksichtigt, sind die Resource-Forks. Einfach so direkt von einem HFS+-Dateisystem was mit rsync wegschreiben, ist von daher keine ganz gute Idee. Meistens geht es gut, da Resource-Forks unpopulärer werden, aber es kann dabei durchaus auch was verloren gehen [Bei mir ist das kein Problem, da ich via rsync nur sparsebundles sichere, so das die Forks für rsync nicht transparent gekapselt sind. rsync sichert dabei nur band-Dateien ohne zu "wissen" worum es dabei geht.]. Aus dieser Überlegung würde ich ehrlich gesagt auch die Finger von fremden rsyncs (homebrew, Macports, Fink, …) lassen, denn die haben im Zweifel noch mehr Probleme mit Forks. Zumindest lohnt es sich da mal genauer hinzuschauen.
 
  • Like
Reaktionen: ImperatoR

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.522
Zu rsync kann ich nichts sagen, aber mich würde interessieren, was an TimeMachine "unübersichtlich" ist.
Und von einem Linux-Rechner sollte man durchaus auf die TM-Backups zugreifen können, Linux kommt doch sicher mit Hardlinks klar und HFS-Treiber gibt es meines Wissens auch (sofern Linux das nicht sogar mit Bordmitteln mounten kann).