Ärger mit Crontab
Ärger mit Crontab
Hallo,
ich habe das Problem, dass ich einen Befehl wunderbar auf der Konsole ausführen kann. Sobald ich den jedoch in die Crontab hänge wird er zwar laut Logfile aufgerufen, ausgeführt wird er jedoch nicht.
Also habe ich mir ein kurzes Shellscript gebastelt, welches den Job aufruft:
#!/bin/bash
/usr/bin/hhadmin >>/var/log/hhadmin.log
Wieder das gleiche Problem. Script auf der Konsole ausgeführt >> alles bestens. Auch der Eintrag in /var/log/hhadmin.log wird geschrieben.
Das Script über die Crontab laufen zu lassen bringt mir ne Mail mit folgendem Inhalt:
/root/hhadmin.sh: line 2: 22531 Segmentation fault /usr/bin/hhadmin >>/var/log/hhadmin.log
Hat irgendjemand einen Tipp für mich. Ich bin hier fast am verzweifeln.
Stefan
ich habe das Problem, dass ich einen Befehl wunderbar auf der Konsole ausführen kann. Sobald ich den jedoch in die Crontab hänge wird er zwar laut Logfile aufgerufen, ausgeführt wird er jedoch nicht.
Also habe ich mir ein kurzes Shellscript gebastelt, welches den Job aufruft:
#!/bin/bash
/usr/bin/hhadmin >>/var/log/hhadmin.log
Wieder das gleiche Problem. Script auf der Konsole ausgeführt >> alles bestens. Auch der Eintrag in /var/log/hhadmin.log wird geschrieben.
Das Script über die Crontab laufen zu lassen bringt mir ne Mail mit folgendem Inhalt:
/root/hhadmin.sh: line 2: 22531 Segmentation fault /usr/bin/hhadmin >>/var/log/hhadmin.log
Hat irgendjemand einen Tipp für mich. Ich bin hier fast am verzweifeln.
Stefan
probiers mal mit nem Abstand:
>> /v
^^^
Und nochwas:
Ein
Ist am Ende eines Skripts immer gut !
>> /v
^^^
Und nochwas:
Ein
Code: Alles auswählen
exit 0
- feltel
- Webmaster
- Beiträge: 10368
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Fehlt da vielleicht ein Zeilenumbruch am Ende der Crontab-Datei? Auf diesen bösen Bug (oder Feature?) bin ich auch schonmal reingefallen. Steht irgendwo auch in der crontab-Manpage.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
hallo,
vielen dank erstmal für die antworten.
ein exit 0 am ende des scripts brachte lediglich den erfolg, dass das script sich todrannte. auch der space zwischen >> und / brachte keinen erfolg.
auch ein zeilenumbruch wurde eingefügt. aber auch ohne erfolg.
wenn ich jetzt den befehl direkt in der crontab aufrufe legt er mir auch schön brav das logfile an, jedoch kein inhalt, was soviel bedeutet, wie dass er mir den befehl nicht ausführt.
der befehl ist in c programmiert. kann es sein, dass dieser eine ältere version der glibc benötigt?
vielen dank erstmal für die antworten.
ein exit 0 am ende des scripts brachte lediglich den erfolg, dass das script sich todrannte. auch der space zwischen >> und / brachte keinen erfolg.
auch ein zeilenumbruch wurde eingefügt. aber auch ohne erfolg.
wenn ich jetzt den befehl direkt in der crontab aufrufe legt er mir auch schön brav das logfile an, jedoch kein inhalt, was soviel bedeutet, wie dass er mir den befehl nicht ausführt.
der befehl ist in c programmiert. kann es sein, dass dieser eine ältere version der glibc benötigt?
Also
in der crontab funktioniert hier problemlos - gerade eben getestet.
mfg,
thermoman
Code: Alles auswählen
echo 12345 > ~/test
mfg,
thermoman
Erst Debian GNU/Linux, dann ab 2004 ein paar Jahre Gentoo Linux und seit vielen Jahren wieder Debian (& Ubuntu)
Tja dann 3x darfst Du raten woran es liegt
Überprüft das Skript eventuell ob es eine interaktive Shell ist? Könnte mir vorstellen dass es das macht und wenn ja, dann eben kein Output ausgibt.
mfg,
thermoman
Überprüft das Skript eventuell ob es eine interaktive Shell ist? Könnte mir vorstellen dass es das macht und wenn ja, dann eben kein Output ausgibt.
mfg,
thermoman
Erst Debian GNU/Linux, dann ab 2004 ein paar Jahre Gentoo Linux und seit vielen Jahren wieder Debian (& Ubuntu)
ne, eigentlich nicht:
Sieht wie folgt aus:
#!/bin/bash
/usr/bin/hhadmin >> /var/log/hhadmin.log
auf ein #!/bin/sh am Anfang bringt nichts.
Wenn ich aber direkt auf der Konsole /usr/bin/hhadmin >> /var/log/hhadmin.log eingebe, dann funktioniert alles einwandfrei.
Rufe ich das Script aber mit crontab auf erhalte ich ne Mail an root mit der Fehlermeldung: Segmentation fault
[/quote]
Sieht wie folgt aus:
#!/bin/bash
/usr/bin/hhadmin >> /var/log/hhadmin.log
auf ein #!/bin/sh am Anfang bringt nichts.
Wenn ich aber direkt auf der Konsole /usr/bin/hhadmin >> /var/log/hhadmin.log eingebe, dann funktioniert alles einwandfrei.
Rufe ich das Script aber mit crontab auf erhalte ich ne Mail an root mit der Fehlermeldung: Segmentation fault
[/quote]
der fehler erscheint ja aber nur wenn ich das ding via crontab aufrufe. von der konsole aus nicht. von daher kann es eigentlich kein fehelr im script selbst sein.
auch wenn ich das oben gennante kurzscript via bash ausführe erfolgt keine fehlermeldung, sprich ein /root/hhadmin.sh (obiges Script) macht alles so wie es sein soll. Lediglich, wenn das Script automatisiert via Cronjob ausgeführt wird, kommt es zum Segmentation fault.
auch wenn ich das oben gennante kurzscript via bash ausführe erfolgt keine fehlermeldung, sprich ein /root/hhadmin.sh (obiges Script) macht alles so wie es sein soll. Lediglich, wenn das Script automatisiert via Cronjob ausgeführt wird, kommt es zum Segmentation fault.