Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Linux Script rsync / Bach Script Verzeichnisse vergleichen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Dec 2019
    Beiträge
    14

    Cool Linux Script rsync / Bach Script Verzeichnisse vergleichen

    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
    Geändert von rodeoric (29.11.20 um 20:42 Uhr)

  2. #2
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.556
    Wenn bei rsync ein Fehler auftritt, dann sieht man das bestimmt am return code. Wie wär's wenn Du rsync so lange aufrufst bis es erfolgreich durchgelaufen ist?
    Code:
    RC=1
    while [ $RC -ne 0 ]; do
        rsync...
        RC=$?
    done
    ¡Nuestro amigo... el Computador!

  3. #3
    Registrierter Benutzer
    Registriert seit
    Dec 2019
    Beiträge
    14
    Zitat Zitat von ThorstenHirsch Beitrag anzeigen
    Wenn bei rsync ein Fehler auftritt, dann sieht man das bestimmt am return code. Wie wär's wenn Du rsync so lange aufrufst bis es erfolgreich durchgelaufen ist?
    Code:
    RC=1
    while [ $RC -ne 0 ]; do
        rsync...
        RC=$?
    done
    Vielen Dank für den Tipp.

    Kann ich das einfach in mein bestehendes Shell Script genau so einbauen ?

    Ich habe aber die Befürchtung das es nicht funktioniert denn es sind keiner Fehler im output und das Script läuft vollständig durch. Wie gesagt in 9/10 Fällen alles in Ordnung und Daten sind genau gleich, aber 1 ist halt dabei bei dem es dann nicht klappt und einfach mal ne halbe Datei fehlt oder mal paar GB von der Datei fehlen. Das Script läuft weiter und bearbeitet anschließend dennoch alle weiteren Schritte ohne Fehler, nur sehe ich dann in meiner Übersicht die Verzeichnisgröße nach dem verschieben und stelle fest das es eine unterschiedliche Größe hat und fange dann an danach zu suchen bei welcher Datei jetzt genau was fehlt, das ist sehr aufwändig da es manchmal auch an einem Tag an die 100 Dateien sind.

    Am liebsten wäre es mir wenn ich das von der Größe des Ordners abhängig machen könnte. Also vielleicht bringt ja nochmal jemand eine zweite Lösung mit Verzeichnisvergleich.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Dec 2019
    Beiträge
    14
    Niemand eine Idee ?

  5. #5
    Registrierter Benutzer
    Registriert seit
    Jul 2009
    Ort
    Meißen
    Beiträge
    323
    Sicher, dass Du richtigen Optionen verwendest? Zu --ignore-existing sagt mir die Manpage z.B.:
    Code:
    --ignore-existing       skip updating files that exist on receiver
    Das heißt für mich: Dateien die es auf dem Ziel schon gibt werden ignoriert? Oder verstehe ich was falsch? Um zwei Verzeichnisse synchron zu halten, nehme ich -aH oder -aHc oder kombiniert mit --delete --force
    Aber "rsync" ist nun mal ein komplexes Thema ...
    Gruß, FM_81
    Ein Mann, der wollte fangen einen Barsch, das Wasser stand ihm bis zum Knie!
    (Du musst bis Frühjahr warten, da kommt Hochwasser, dann reimt es sich von selbst!)

  6. #6
    Registrierter Benutzer
    Registriert seit
    Dec 2019
    Beiträge
    14
    Zitat Zitat von FM_81 Beitrag anzeigen
    Sicher, dass Du richtigen Optionen verwendest? Zu --ignore-existing sagt mir die Manpage z.B.:
    Code:
    --ignore-existing       skip updating files that exist on receiver
    Das heißt für mich: Dateien die es auf dem Ziel schon gibt werden ignoriert? Oder verstehe ich was falsch? Um zwei Verzeichnisse synchron zu halten, nehme ich -aH oder -aHc oder kombiniert mit --delete --force
    Aber "rsync" ist nun mal ein komplexes Thema ...
    Gruß, FM_81
    Servus,

    korrekt das --ignore-existing ist richtig denn es stört nicht. Die Verzeichnisse sind leer vor dem Upload und dem sync untereinander. Das kann das Problem also nicht sein.

    Da die Ausgangssituation immer die gleiche ist, denke ich mein Command passt da es wie gesagt in 9/10 Fällen funktioniert.

Ähnliche Themen

  1. Linux Shell Script, Daten bzw. bestimmten Script abschnitt in txt. Datei kopieren
    Von iBlack im Forum Anwendungen Allgemein, Software
    Antworten: 21
    Letzter Beitrag: 07.09.14, 15:13
  2. Shell Script zum vergleichen von Dateigrößen
    Von flopa im Forum Linux Allgemein
    Antworten: 6
    Letzter Beitrag: 06.04.09, 20:00
  3. Script: Zwei Zahlen vergleichen?
    Von b0fh im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 13.06.03, 22:09
  4. ?Script zum Vergleichen von Text-Dateien?
    Von ThyMaster im Forum Linux Allgemein
    Antworten: 7
    Letzter Beitrag: 02.05.03, 15:53
  5. script um verzeichnisse anzulegen
    Von onetwo im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 08.06.02, 08:28

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •