Hallo, ich hab da ein Problem mit einem Crontab für ein Bashscript dass mir ein Perlscript am Leben halten soll.
Dateien:
perldatei.pl
CHMod: 644
Inhalt:
http://pastebin.com/mLxkt6fP
Bash Script (nicht meines, habe das von UnrealIRCd genommen und ein wenig abgeändert)
check.in
CHMod: 755
Crontab:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /pfad/check
Problemstellung:
Wenn ich das Script check selber ausführe via Putty funktioniert alles wunderbar.
Wenn ich den Perl Prozess kille und auf die Ausführung des Cronscriptes warte, dann passiert folgendes:
-das Perlscript wird gestartet und läuft, schreibt aber nicht die PID in die .pid Datei
-es gibt einen Defunct, Ausgabe von ps ux:
Das seltsame ist, dass danach ausgeführte Crontabs mit dem Script mir EMails schicken mit folgendem Inhalt:
was ja auch nachvollziehbar ist, da das Perlscript wunderbar läuft.
Ich bitte um Hilfe!
PS: Die Pfade und Usernamen habe ich geändert, innerhalb der Scripte und Dateien sind sie alle korrekt.
Dateien:
perldatei.pl
CHMod: 644
Inhalt:
http://pastebin.com/mLxkt6fP
Bash Script (nicht meines, habe das von UnrealIRCd genommen und ein wenig abgeändert)
check.in
CHMod: 755
Code:
#!/bin/sh
MAIL=root
# The path to the binary
ircdexe="perl -T /pfad/perldatei.pl"
# The path to the pid file
ircdname="/pfad/pid.pid"
if test -r $ircdname; then
# there is a pid file -- is it current?
ircdpid=`cat $ircdname`
if `kill -CHLD $ircdpid >/dev/null 2>&1`; then
# it's still going
# back out quietly
exit 0
fi
echo "Policyd Crontab notice:"
echo ""
fi
echo ""
echo "Couldn't find the policy daemon running. Reloading it..."
echo ""
$ircdexe
Crontab:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /pfad/check
Problemstellung:
Wenn ich das Script check selber ausführe via Putty funktioniert alles wunderbar.
Wenn ich den Perl Prozess kille und auf die Ausführung des Cronscriptes warte, dann passiert folgendes:
-das Perlscript wird gestartet und läuft, schreibt aber nicht die PID in die .pid Datei
-es gibt einen Defunct, Ausgabe von ps ux:
Code:
user 8541 0.0 0.0 0 0 ? Zs 17:50 0:00 [check] <defunct>
user 8544 0.0 0.1 5616 1704 ? S 17:50 0:00 /usr/sbin/sendmail -i -FCronDaemon -oem user
user 8545 0.0 0.1 5608 1696 ? S 17:50 0:00 /usr/sbin/postdrop -r
user 8552 0.0 0.2 4672 2320 ? Ss 17:50 0:00 perl -T /pfad/perldatei.pl
Das seltsame ist, dass danach ausgeführte Crontabs mit dem Script mir EMails schicken mit folgendem Inhalt:
Policyd Crontab notice:
Couldn't find the policy daemon running. Reloading it...
bind: Address already in use at /pfad/perldatei.pl line 51.
was ja auch nachvollziehbar ist, da das Perlscript wunderbar läuft.
Ich bitte um Hilfe!
PS: Die Pfade und Usernamen habe ich geändert, innerhalb der Scripte und Dateien sind sie alle korrekt.
Last edited by a moderator: