cronjob führt Script nicht korrekt aus

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
silentsniper
Beiträge: 4
Registriert: 22.09.2007 14:27:30

cronjob führt Script nicht korrekt aus

Beitrag von silentsniper » 21.09.2008 13:07:49

Hallo zusammen,

ich habe einen cronjob erstellt unter einem Benutzer mit:
crontab -e
der sieht wie folgt aus:

Code: Alles auswählen

sh-3.1$ crontab -l
# m h  dom mon dow   command
0 5 * * * /home/csswarserver1/srcds/stop
10 5 * * * /home/csswarserver1/srcds/start
Das "stop" Script wird ausgeführt, das "start" Script irgendwie nicht.
Beide Scripte haben die gleiche Berechtigung zum Ausführen etc.

Hier mal die LOGs:

Code: Alles auswählen

Sep 21 12:42:16 Debian-40-etch-32-minimal crontab[5141]: (csswarserver1) LIST (csswarserver1)
Sep 21 12:42:26 Debian-40-etch-32-minimal crontab[5143]: (csswarserver1) BEGIN EDIT (csswarserver1)
Sep 21 12:42:31 Debian-40-etch-32-minimal crontab[5143]: (csswarserver1) REPLACE (csswarserver1)
Sep 21 12:42:31 Debian-40-etch-32-minimal crontab[5143]: (csswarserver1) END EDIT (csswarserver1)
Sep 21 12:42:34 Debian-40-etch-32-minimal crontab[5145]: (csswarserver1) LIST (csswarserver1)
Sep 21 12:43:01 Debian-40-etch-32-minimal /usr/sbin/cron[2370]: (csswarserver1) RELOAD (crontabs/csswarserver1)
Sep 21 12:43:01 Debian-40-etch-32-minimal /USR/SBIN/CRON[5148]: (csswarserver1) CMD (/home/csswarserver1/srcds/start)
Hier das Stop-Script:

Code: Alles auswählen

#!/bin/sh
kill `pgrep -G csswarserver1 screen`
Hier das Start-Script:

Code: Alles auswählen

#!/bin/sh
screen -A -m -d -S CSSWARSERVER_1 ./srcds_run -game cstrike -tos -noipx +map de_train -maxplayers 20 +port 27016 -tickrate 100 -autoupdate
Sieht also so aus, als würde er das Script aufrufen im Log, aber der Server startet nicht.
Wenn ich das Script manuell ausführe, funktioniert es, muss also am cron liegen, denke ich.

Habt ihr ne Idee?

Gruß
silent

Benutzeravatar
detix
Beiträge: 1744
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: cronjob führt Script nicht korrekt aus

Beitrag von detix » 21.09.2008 17:16:53

Du startest das script aus dem aktuellen Verzeichnis heraus,
stell sicher das du dich auch dort befindest

Code: Alles auswählen

#!/bin/sh
cd /home/csswarserver1/srcds
screen -A -m -d -S CSSWARSERVER_1 ./srcds_run ...
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

silentsniper
Beiträge: 4
Registriert: 22.09.2007 14:27:30

Re: cronjob führt Script nicht korrekt aus

Beitrag von silentsniper » 21.09.2008 19:19:55

omg, Danke wie konnte ich das übersehen :-)

suno
Beiträge: 354
Registriert: 25.07.2008 17:33:40

Re: cronjob führt Script nicht korrekt aus

Beitrag von suno » 21.09.2008 20:05:59

Was auch oft Probleme macht; Zitat einer Website:
_ and .

Filenames containing either _ or . are not being executed by cron. For example, referring to ../my_backup.sh would not be run by cron whereas referring to ../mybackup would. This is true as of now (September 2008) and has been true so far. Possibly it might change some time

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Re: cronjob führt Script nicht korrekt aus

Beitrag von dominator » 22.09.2008 10:01:44

suno hat geschrieben:Was auch oft Probleme macht; Zitat einer Website:
_ and .

Filenames containing either _ or . are not being executed by cron. For example, referring to ../my_backup.sh would not be run by cron whereas referring to ../mybackup would. This is true as of now (September 2008) and has been true so far. Possibly it might change some time
Also bei mir laufen etliche Cron's mit Unterstrich im Namen, auf Debian und Ubuntu :?
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: cronjob führt Script nicht korrekt aus

Beitrag von nepos » 22.09.2008 10:24:03

Ich glaube, die speziellen Dateinamen sind nur relevant, wenn man Skripten für cron in die cron.d, cron.daily, cron.weekly usw. Verzeichnisse ablegt. Die werden über run-parts angeworfen und das verlangt eine bestimmte Form der Namen.
Direkt in der /etc/crontab oder in der Crontab eines Users ist es egal, wie die Namen aussehen.

Antworten