Hallo zusammen,
ich suche nach einer Möglichkeit um in einem Script 2 Verzeichnisse zu vergleichen und nur wenn diese identisch sind anhand der Bits das in dem Script weitergemacht wird, andernfalls soll das Script den vorherigen Schritt nochmal ausführen.
Hintergrund ist folgender ich synchronisiere auf einem Linux Server 2 Verzeichnisse mit rsync, das funktioniert zu 90% auch problemlos. Allerdings, warum auch immer habe ich manchmal das Problem wenn die Verbindung abbricht die Daten nicht vollständig und der Sync Vorgang dann ich sage mal Daten vergisst aber das Script läuft durch. Das möchte ich nun umgehen in dem ich in dem Script eine Möglichkeit einbaue das die beiden Verzeichnisse vergleicht und nur wenn gleich dann weitermacht und die Daten aus den beiden Verzeichnissen verschiebt.
Wie könnte man das denn umsetzen ?
Hier mal ganz kurz aufgezeigt wie der Ablauf ist.
Server 1 > lädt Daten auf cloud1/upload/dateien
Server 2 > startet einige Stunden später und synchronisert cloud1/upload/dateien mit cloud2/upload/dateien im Anschluss wenn rsync durch ist, verschiebt Server 2 die Daten per mv von beiden Cloud Laufwerken in Unterverzeichnisse auf beiden Cloud Laufwerken. Wie gesagt eigentlich funktioniert es fast immer aber eben nicht immer. Irgendwo findet ab und zu mal ein Fehler statt der die Daten nicht vollständig synced.
Mein Command für rsync sieht wie folgt aus:
rsync -v --ignore-existing --ignore-times /cloud1/upload/dateien/* /cloud2/upload/dateien/
Hier passiert der Fehler irgendwo während des Syncs so das ich gern hier eine Prüfung hätte die beide Ordner vergleicht und falls nicht gleich, dann nochmal den rsync durchführt bis es 100% identisch ist.
Danach passiert folgendes
mv -f -u /cloud1/upload/dateien/* /cloud2/upload/dateien/
Könnte mir da bitte jemand helfen ?
Vielen Lieben Dank
Lesezeichen