Strona 1 z 2

Nie działają zadania w cron.d

: 14 lutego 2012, 21:24
autor: pitu120
Witam

Posiadam na serwerze VPS Debiana 6 oraz panel do zarządzania ISPConfig, dodając po przez panel zadanie cron, tworzony jest nowy plik w katalogu /etc/cron.d

Zawartość przykładowego pliku:

Kod: Zaznacz cały

MAILTO=''
*    *    *    *    *    web7    /usr/bin/wget -q -O /dev/null 'http://inz.isedo.pl/test/cron.php' >/dev/null 2>&1    #isedo.pl


W logu:

Kod: Zaznacz cały

Feb 14 20:55:01 s /USR/SBIN/CRON[11732]: (web7) CMD (/usr/bin/wget -q -O /dev/null 'http://inz.isedo.pl/test/cron.php' >/dev/null 2>&1^I#isedo.pl)
Feb 14 20:55:01 s /USR/SBIN/CRON[11731]: (CRON) error (grandchild #11732 failed with exit status 1)
Postanowiłem więc stworzyć nowy plik w /etc/cron.d z zawartością:

Kod: Zaznacz cały

MAILTO=''

*    *    *    *    *    /usr/bin/wget -q -O /dev/null 'http://inz.isedo.pl/test/cron.php' >/dev/null 2>&1

W logach nic nie ma w/w błędu dotyczącego tego pliku.

Po restarcie crona natomiast w logach mam:

Kod: Zaznacz cały

Feb 14 21:15:26 s /usr/sbin/cron[13532]: (CRON) INFO (pidfile fd = 3)
Feb 14 21:15:26 s /usr/sbin/cron[13533]: (CRON) STARTUP (fork ok)
Feb 14 21:15:26 s cron[13533]: Error: bad minute; while reading /etc/crontab
Feb 14 21:15:26 s /usr/sbin/cron[13533]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Feb 14 21:15:26 s cron[13533]: Error: bad minute; while reading /etc/cron.d/tester
Feb 14 21:15:26 s /usr/sbin/cron[13533]: (*system*tester) ERROR (Syntax error, this crontab file will be ignored)
Feb 14 21:15:26 s /usr/sbin/cron[13533]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Ktoś może pomóc w naprawie tego, aby zadania z /etc/cron.d wykonywały się.

: 14 lutego 2012, 21:40
autor: Bastian
Po pierwsze, to w drugim wypadku zapomniałeś podać użytkownika.
Po drugie, może najpierw zacznij z prostszym wywołaniem?

Kod: Zaznacz cały


/usr/bin/wget -q "http://inz.isedo.pl/test/cron.php"


: 14 lutego 2012, 22:59
autor: pitu120
Przetestowałem na prostym poleceniu i działa.
W logach po starcie crona pojawią się błędy:

Kod: Zaznacz cały

Feb 14 22:47:45 s /usr/sbin/cron[19604]: (CRON) INFO (pidfile fd = 3)
Feb 14 22:47:45 s /usr/sbin/cron[19605]: (CRON) STARTUP (fork ok)
Feb 14 22:47:45 s cron[19605]: Error: bad minute; while reading /etc/crontab
Feb 14 22:47:45 s /usr/sbin/cron[19605]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Feb 14 22:47:45 s cron[19605]: Error: bad minute; while reading /etc/cron.d/ispc_web7
Feb 14 22:47:45 s /usr/sbin/cron[19605]: (*system*ispc_web7) ERROR (Syntax error, this crontab file will be ignored)
Feb 14 22:47:45 s /usr/sbin/cron[19605]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

Pliki, o których mowa w logu.

crontab:

Kod: Zaznacz cały

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[email protected]

# run-parts
01 * * * *       root  /bin/run-parts /etc/cron.hourly
02 1 * * *       root  /bin/run-parts /etc/cron.daily
02 2 * * 0       root  /bin/run-parts /etc/cron.weekly
02 3 1 * *       root  /bin/run-parts /etc/cron.monthly

ispc_web7:

Kod: Zaznacz cały

MAILTO=''
*    *    *    *    *    web7    /usr/bin/wget -q -O /dev/null 'http://inz.isedo.pl/test/cron.php' >/dev/null 2>&1    #isedo.pl

Pytanie, co w tych plikach jest nie tak, że wywołują błędy? Za pewne przez te błędy nie są wywoływane zadania, które chcę.

Edycja:

Dodatkowo w mail root dostaję taką wiadomość:

Kod: Zaznacz cały

From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <root@s> [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>

PHP Warning:  Module 'curl' already loaded in Unknown on line 0

: 15 lutego 2012, 19:45
autor: Bastian
Ostrzeżenie PHP nie ma związku. Zamień minuty z wartości dwucyfrowych na jednocyfrowe (np. 01 na 1). W ispc_web7 to biedny komputer ma sobie wywołać skrypt według własnego uznania czy jak?

: 15 lutego 2012, 19:51
autor: pitu120
Zmieniłem wartości, teraz crontab wygląda:

Kod: Zaznacz cały

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# run-parts
1 * * * *       root  /bin/run-parts /etc/cron.hourly
2 1 * * *       root  /bin/run-parts /etc/cron.daily
2 2 * * 0       root  /bin/run-parts /etc/cron.weekly
2 3 1 * *       root  /bin/run-parts /etc/cron.monthly

Niestety błąd dalej występuje w logu, co do:
W ispc_web7 to biedny komputer ma sobie wywołać skrypt według własnego uznania czy jak?
Można dokładniej o co chodzi? Dodam, że ten plik generowany jest przez panel ISPConfig.

: 15 lutego 2012, 19:58
autor: Bastian
Niestety błąd dalej występuje w logu
Wklej tego loga.
Można dokładniej o co chodzi? Dodam, że ten plik generowany jest przez panel ISPConfig.
Jak masz same gwiazdki to skrypt się nie wywołuje.


Pokaż wynik:

Kod: Zaznacz cały

cat -v /etc/crontab

Kod: Zaznacz cały

cat -v /etc/cron.d/ispc_web7

: 15 lutego 2012, 20:06
autor: pitu120

Kod: Zaznacz cały

Feb 15 19:48:31 s /usr/sbin/cron[29836]: (CRON) INFO (pidfile fd = 3)
Feb 15 19:48:31 s /usr/sbin/cron[29837]: (CRON) STARTUP (fork ok)
Feb 15 19:48:31 s cron[29837]: Error: bad minute; while reading /etc/crontab
Feb 15 19:48:31 s /usr/sbin/cron[29837]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Co do drugiej kwestii, to same gwiazdki nie oznaczają wykonanie skryptu co minutę, w każdej godzinie, dniu itp.?

Kod: Zaznacz cały

cat -v /etc/crontab
SHELL=/bin/sh^M
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin^M
MAILTO=root^M
^M
# run-parts^M
1 * * * *       root  /bin/run-parts /etc/cron.hourly^M
2 1 * * *       root  /bin/run-parts /etc/cron.daily^M
2 2 * * 0       root  /bin/run-parts /etc/cron.weekly^M
2 3 1 * *       root  /bin/run-parts /etc/cron.monthly^M

Kod: Zaznacz cały

cat -v /etc/cron.d/ispc_web7
MAILTO=''^M
*    *    *    *    *    web7    /usr/bin/wget -q -O /dev/null 'http://inz.isedo.pl/test/cron.php' >/dev/null 2>&1    #isedo.pl

: 15 lutego 2012, 20:41
autor: Bastian
Co do drugiej kwestii, to same gwiazdki nie oznaczają wykonanie skryptu co minutę, w każdej godzinie, dniu itp.?
Ta, mój błąd przepraszam.

U mnie nie ma ^M, w jaki sposób edytujesz crontaba?

: 15 lutego 2012, 20:55
autor: pitu120
Edytuję po przez edytor w MC.

: 15 lutego 2012, 21:06
autor: Bastian
Otwórz w nano, przejdź po każdej linii, upewnij się, że linia kończy się wraz z ostatnim znakiem (brak miękkich znaków), zapisz i pokaż ponownie.

Kod: Zaznacz cały

cat -v ...