[cologne-pm] Backup von einer Verzeichnisstruktur

Karl-Heinz Kuth khkuth at freenet.de
Mi Apr 4 02:02:24 PDT 2012


Hallo,

ich möchte die Verzeichnisstruktur ab einem gewissen Verzeichnis auf 
Rechner A sichern, dann das ganze auf einem Sicherungsmedium. Danach 
nehme ich mir das Sicherungsmedium und spiele das auf einem Rechner B 
zurück. Dabei weiß ich nicht wie die Verzeichnsstukur exakt aussieht, 
die kann sich im Laufe der Entwicklung ändern.

So das ganze jetzt mal mit Verzeichnisnamen, damit das klarer wird:

Rechner A:
/home/<user>/foo/
möchte ich sichern und zwar nach:
/home/<user>/backup/2012-04-04.1/foo

Auf dem Sicherungsmedium
/media/USB/foo
die aktuelle Version kopieren und ebenfalls ein Backup anlegen:
/media/USB/backup/2012-04-04.1/foo

Wechsele ich dann das Sicherungsmedium nach Rechner B wird dort
/home/<user>/foo/
auf die neuste Version gebracht und ebenfalls ein Backup erzeugt
/home/<user>/backup/2012-04-04.1/foo
Das Sicherungsmedium bleibt in diesem Fall unangerührt.

Das ganze klappt im Großen und ganzen, wenn da nicht die "Kleinigkeiten" 
wären.

Ob ich vom Sicherungsmedium auf den Rechner kopiere oder umgekehrt prüfe 
ich mit der mtime aller Dateien. Da merke ich mir einfach den maximalen 
Wert von der beiden Systeme (Rechner/Sicherung) und vergleiche diese. 
Daraus gibt sich dann, ob ich in die eine oder andere Richtung kopieren 
muss (oder gar nicht).

Das Kopieren ganze erledige ich mit File::Copy:Recursive.
Das hat einen "netten" Parameter: $Fill::Copy::KeepMode.
Setzt man den auf FALSE, werden die Uhrzeiten der Verzeichnisse und 
Dateien beim Kopieren durch den aktuellen Wert ersetzt, egal ob die 
Datei geändert wurde oder nicht. Hiermit habe ich dann aber gewisse 
Probleme, beim Vergleich.
Setzt man ihn auf TRUE, sind die Uhrzeiten korrekt, jedoch werden jetzt 
die Dateibereichtigung nicht mehr so übernommenn, wie sie waren. Z. B. 
aufführbare Dateien sind dann nicht mehr ausführbar.

Weiß einer wie man das Problme lösen kann? Oder hat eine andere Idee, 
wie man das umsetzen könnte? Gerne auch, ganz anders :-) .

Ich habe auch schon mal versucht das Probleme mit rsync zu lösen, aber 
bei der Variante ändert er intern die Dateien, wie er das für richtig 
hält (er mergt z. B.), was ich aber überhaupt nicht will, weil es für 
mich falsch ist. Ich habe z. B. Konfig Dateien, die ich schon mal mit 
einem Kommentarzeichen ein und auschalte und dann ändert er die Datei 
"irgendwie" um. Kopiere ich dann von Rechner A nach B über obiges 
Verfahren und rufe dann ein Skript auf, dass unter ../foo liegt, dann 
möchte ich dasselbe Verhalten habe, wie auf dem anderen Rechner. aber 
das hat er in dem Fall nicht.

Viele Grüße
Karl-Heinz





Mehr Informationen über die Mailingliste cologne-pm