PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript soll prüfen ob gemountet, dann rsync



JamesMcBrian
16-12-2008, 05:26
Guten Morgen,

wie kann man eigentlich per Shell-Skript prüfen, ob eine Partition gemountet wurde ?
Ich möchte mein rsync Skript so umschreiben, dass zuerst die Partition gemountet wird, wenn das nicht geklappt hat, soll er das Skript sofort abbrechen, d.h. rsync darf nicht starten.
Ist die Partition aber gemountet darf rsync ganz normal sichern.

Wie funktioniert sowas, habt ihr ein Idee ?



if [ ! -d /mnt/test ]; then
exit
fi

rsync ...


Das hat leider nichts gebracht, es soll ja eigentlich bei Fehlern das Skript abbrechen, doch rsync ist trotzdem gestartet, d.h. das Skript wurde nicht abgebrochen. Das Log von rsync hat jedoch gemeldet, dass die Partition nicht gemountet werden konnte.


Habt vielen Dank für eine Idee

ContainerDriver
16-12-2008, 08:17
Hallo,

mit deinem test-Aufruf überprüfst du nur, ob das Verzeichnis existiert (das auch existiert, wenn das FS nicht gemountet ist).
Eine Möglichkeit, um herauszufinden ob das FS gemountet ist, wäre die Ausgabe von mout zu parsen. Gib aber einfach mal "check if mounted" bei google oder so ein, da gibt es schon hunderte Lösungen.

Gruß, Florian

undefined
16-12-2008, 11:24
Um deinen Code zu verwenden.


mverzeichnis=/mnt/test
mounted="$(cat /proc/mounts | cut -d' ' -f2,2 | grep "$mverzeichnis")"
test -d "$mounted" || exit 1

JamesMcBrian
16-12-2008, 12:32
Hallo ihr zwei,

achso ich teste mit meinem "Skriptchen" nur ob das Verzeichnis existiert, deshalb hat es das Skript nie abgebrochen, weils immer existiert.

Ich werde eure Ideen ausprobieren, glaub damit krieg ichs hin.


Vielen Dank an Euch

jan61
17-12-2008, 23:25
Moin,

schau Dir mal die Ausgabe von "mount" (ohne Optionen) an, das kannst Du prima für einen Test nutzen:

jan@jack:~/tmp> mount
...
/dev/hda3 on /music type xfs (rw)
...
jan@jack:~/tmp> if mount | grep -q "on /music type"; then
> echo /music ist gemounted
> fi
/music ist gemounted
Jan

JamesMcBrian
20-12-2008, 06:20
Vielen Dank Jan,

ich werds ausprobieren, leider ist der Server nicht bei mir im Haus.
Wenn ich wieder dort bin, kann leider etwas dauern, dann versuche ich es nochmal.