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!
mountscript per cron - funktioniert nicht mehr
-
- 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
Schreib dir doch mal die Ausgaben weg und ueberpruefen, ob Cron das Skript ueberhaupt aufrufst:
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
Code: Alles auswählen
/bin/mount -t ntfs3g ... &>/tmp/ausgabemount.txt
Gruss syssi
Re: mountscript per cron - funktioniert nicht mehr
Seit wheezy sehe bind-Mounts (mount-Ausgabe) nicht mehr aus:... 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
/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")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: mountscript per cron - funktioniert nicht mehr
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.
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.