[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