[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