[cologne-pm] Backup von einer Verzeichnisstruktur
Karl-Heinz Kuth
khkuth at freenet.de
Mi Apr 4 03:19:50 PDT 2012
Hallo Susan,
> ich bin ein bischen verwirrt. Wenn ich das Paket File/Copy/Recursive.pm
> richtig lese, dann wird $KeepMode nur in Zusammenhang mit dem Kommando
> chmod verwendet. Das hat aber mit Uhrzeiten (mtime, ctime, atime) nichts am
> Hut, es ändert nur die Zugriffsrechte (auch den Eigentümer nicht). Bist Du
> Dir sicher, daß die einzige Änderung zwischen beiden Versionen Deines
> Programms dieser eine Parameter ist?
Da bin ich mir 100 % sicher. Das Skript steht, was generelle Gerüst
angeht, es hat ja "nur" die beschrieben Macken. Dann habe ich mit dem
Parameter "rumgespielt" und bin zu diesem Ergebnis gekommen. Ich finde
es ja selber mehr als seltsam.
Ich nutze dircopy(). Dort steht: "It attempts to preserve the mode (see
Preserving Mode below)" und das sagt dann "By default a quiet attempt is
made to change the new file or directory to the mode of the old one. To
turn this behavior off set $File::Copy::Recursive::KeepMode to false;".
Also bei False setzt der die Berechtiungen auch korrekt, aber halt er
erzeugt eine Datei mit dem akuellen Timestamp, was ich nicht will. Ich
will den ursprünlichen Timestamp.
Zum Thema rsync:
> Bislang hatte ich damit keine Probleme bis auf die Tatsache, daß ich
> --delete nicht so einfach verwenden kann. Dateien, die auf einer Seite
> gelöscht werden, kehren deshalb über die Synchronisation zurück.
Das ist für mich ganz übel. Ich lese teilweise mehrere Configfiles über
ein Globbing ein und wenn ich dann mal ein Konfigfile lösche, dann soll
das auch gelöscht bleiben. Andernfalls werden diese dann weiterhin
ausgelesen, was aber inhaltlich falsch wäre. Und bis man den Fehler
wieder findet.
Zu dem Mergen:
Vielleicht habe ich auch nur falsche Parameter angegeben, das weiß ich
jetzt nicht mehr. Aber durch da obigen Problem mit dem gelöschten
Dateien kommt Lösung für mich die Lösung definitiv nicht in Frage.
Zur Lösung habe ich noch 3 Ideen:
- Anstelle von dircopy einen System Befehl mit cp machen. Dann läuft das
Skript aber nicht mehr unter Windows. Läuft es aktuell auch nicht, wäre
aber möglich.
- die Timestamp der Dateien manipulieren. Also von der anderen Seite
merken und dann entsprechend verändert.
- Das Anpassen der Berechtiungen über eine Konfig Datei. Da ich aber
jede Menge Dateien und Verzeichnisse habe, müsste ich diese jeweils
anpassen, wenn ich die interne Struktur ändere. Das gefällt mir noch
nicht so ganz.
Viele Grüße
Karl-Heinz
Mehr Informationen über die Mailingliste cologne-pm