Nie dzia

Tematy związane z oprogramowaniem, instalacją, konfiguracją
pitu120
Posty: 17
Rejestracja: 12 stycznia 2009, 22:33

Nie działają zadania w cron.d

Post 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ę.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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"

pitu120
Posty: 17
Rejestracja: 12 stycznia 2009, 22:33

Post 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
MAILTO=pitu120@gmail.com

# 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: root@dev.vpsnode.us (Cron Daemon)
To: root@s.isedo.pl
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
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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?
pitu120
Posty: 17
Rejestracja: 12 stycznia 2009, 22:33

Post 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.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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
pitu120
Posty: 17
Rejestracja: 12 stycznia 2009, 22:33

Post 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
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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?
pitu120
Posty: 17
Rejestracja: 12 stycznia 2009, 22:33

Post autor: pitu120 »

Edytuję po przez edytor w MC.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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 ...
ODPOWIEDZ