Archiv verlassen und diese Seite im Standarddesign anzeigen : rsync mit NFS check
zielscheibe
12.02.10, 11:37
Hallo NG,
ich habe mehrere Verzeichnisse per NFS gemountet und mache per rsync
eine "Kopie" auf die lokale Festplatte. Jetzt ist es aber vorgekommen,
dass durch einen Stromausfall nach dem Neustart der NFS nicht
eingehangen wurde und der rsync per cron die Daten "kopiert" hat.
Da aber --delete als Parameter gesetzt ist, wurden ALLE Daten gelöscht,
da ja im Verzeichnis durch das Fehlen des NFS-Mounts keine Daten
vorhanden waren. Wie kann ich sicherstellen, dass nur rsync ausgeführt
wird, wenn auch der NFS gemountet ist?
Ich würde in dem Verzeichnis, welches der Mount-Punkt ist, eine Kontrolldatei anlegen. Wenn die sichtbar ist, dann ist nichts gemountet.
Jetzt musst Du in einem kleine script nur noch prüfen, ob Du die Datei findest, wenn nicht, dann rsync losfeuern lassen, wenn doch, dann beende das script.
Grüße.
craano.
zielscheibe
12.02.10, 15:16
Ich hab an was in der Art von
test "ls -l | wc -l" -gt 5 && rsync ...
gedacht, aber das funktioniert nicht :(
detlef@detlef-pc:~> [ "$(ls -A /home/detlef)" ] && echo "Not Empty" || echo "Empty"
Not Empty
detlef@detlef-pc:~> [ "$(ls -A /home/detlef/temp)" ] && echo "Not Empty" || echo "Empty"
Empty
BedriddenTech
12.02.10, 18:28
#!/bin/bash
MOUNTPOINT=/mnt/nfs
grep -q "^[^:]\+:/[^ ]\+ $MOUNTPOINT nfs4\? " /proc/mounts && rsync # ...
HTH.
Zu prüfen, ob ein mount besteht, ist schlecht, der Server könnte kurz vorher ausgeschaltet worden sein, in /proc/mounts steht es aber trotzdem noch...
Sowas war zu einfach, oder?
[ -e /<Pfad>/FS_NOT_MOUNTED ] && rsync <Parameter>
Nein, er hat die Lösung nur nicht verstanden... ;)
BedriddenTech
12.02.10, 21:46
Zu prüfen, ob ein mount besteht, ist schlecht, der Server könnte kurz vorher ausgeschaltet worden sein, in /proc/mounts steht es aber trotzdem noch...
Und was passiert dann?
Weniger polemisch: Für so Fälle existieren im NFS-Protokoll entsprechende Mechanismen. Laß das mal seine Arbeit tun. ;) Mit der Mount-Option "hard" z. B. gibts überhaupt keinen Abbruch, sondern der Klient probiert so lange, bis der Server (wieder) antwortet. Auch ansonsten gibt's eine Fehlermeldung, z.B. "stale NFS handle". Ich glaube, da muß man sich keine Gedanken machen.
Ich halte die Methode, nach einer Datei zu prüfen, ehrlich gesagt für fehleranfälliger.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.