mountscript per cron - funktioniert nicht mehr

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

mountscript per cron - funktioniert nicht mehr

Beitrag von r4pt0r » 14.01.2013 10:21:26

Ich lasse seit ca einem halben Jahr auf einem server mit squeeze jede nacht die Fullbackups eines Windows 2008 Servers auf einem NAS rotieren. Das funktionierte immer problemlos, vor kurzem wurde der Server von einer KVM-maschine in einen openVZ container umgezogen, auf dem hostsystem wurde ein mountscript erstellt, das das iscsi-target mountet und an den container weitergibt (mount übernahm zuvor das rotationsscript selbst). Das script wird dann immer 5min vor aufruf des rotationsscripts per cron gestartet.

Das iscsi-target ist dauerhaft verbunden, es wird nur das dateisystem (/dev/sdb1) ein- und ausgehängt und per mount --bind an den container weitergereicht.

Script manuell anstoßen funktioniert - dateisystem wird eingehängt und an den container weitergereicht, das rotationsscript läuft normal durch. Mountscript per cron ausgeführt funktioniert nicht. Das script gibt Fehlermeldungen in eine logdatei aus - die Meldungen dort sehen soweit normal aus, nur die abschließende prüfung auf erfolgreichen mount schlägt fehl und die entsprechende fehlermeldung wird ausgegeben - der mount-befehl selber gibt jedoch keinen fehler aus (bei "erzwungenem" fehler, z.b. falsches /dev taucht die fehlerausgabe von mount in der log auf - daran liegts also nicht...)

Bisher probiert:
$PATH in crontab ist vollständig (auch /sbin)
"mount" im script in "/sbin/mount.ntfs" oder "/bin/mount -t ntfs-3g" geändert
script per crontab -e in die root-crontab eingetragen

Nichts davon bringt irgend eine Änderung.

In der alten VM wurde mount/umount ebenfalls per script (direkt vom rotationsscript) ausgeführt, das per cron aufgerufen wurde - da hat es noch funktioniert. Ich kann mir daher gerade nicht erklären warum es nun nicht mehr gehen sollte...

Schonmal danke für jeden Tipp!

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: mountscript per cron - funktioniert nicht mehr

Beitrag von syssi » 16.01.2013 13:35:39

Schreib dir doch mal die Ausgaben weg und ueberpruefen, ob Cron das Skript ueberhaupt aufrufst:

Code: Alles auswählen

/bin/mount -t ntfs3g ...  &>/tmp/ausgabemount.txt
Startet der Cronjob, dann muss wenigstens eine leere /tmp/ausgabemount.txt mit entsprechendem Erstellungsdatum existieren. Stimmen Pfad nicht oder wird mount einen Fehler, dann sollte dieser in der Datei zu finden sein. Viel Erfolg!

Gruss syssi

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: mountscript per cron - funktioniert nicht mehr

Beitrag von rendegast » 16.01.2013 15:06:39

... wurde der Server von einer KVM-maschine in einen openVZ container umgezogen,
...
... nur die abschließende prüfung auf erfolgreichen mount schlägt fehl und die entsprechende fehlermeldung wird ausgegeben
Seit wheezy sehe bind-Mounts (mount-Ausgabe) nicht mehr aus:
/Verzeichnis on /Target type none ....
sondern (Bsp.)
/dev/sd... on /Target type ext4 ...
Eventuell hängt daran die Prüfung?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: mountscript per cron - funktioniert nicht mehr

Beitrag von r4pt0r » 16.01.2013 15:45:35

Das Script wird aufgerufen - entsprechender Eintrag von cron in der syslog ist vorhanden und das Script schreibt auch die sonstigen Meldungen in seine logdatei. es wird nur scheinbar der mount-Befehl nicht ausgeführt.

Es handelt sich um squeeze - da das script bei manuellem Aufruf einwandfrei arbeitet liegt es wohl nicht am syntax der mount-Befehle.

Was mir noch ein/aufgefallen ist:
cron ruft Scripte in der sh-shell auf (crontab: SHELL=/bin/sh) - liegt eventuell hier der Hund begraben? Erste Zeile im Script ist zwar obligatorisch "#/bin/bash", aber wird das von cron überhaupt beachtet?

Kann die SHELL-variable gefahrlos geändert werden?



edit:
versuch macht kluch ;)

Ändern der SHELL-Variable auf /bin/bash brachte die Lösung! Das Script arbeitet nun wieder wie gewünscht und ich habe auch die Ausgaben der mount-aufrufe in der log.

Antworten