Portál AbcLinuxu, 13. května 2025 20:35
crontab -e
pod rootem mam tohle :
# m h dom mon dow command \n */5 * * * * /var/www/mkomnitor/counter.php > /var/log/counter.logpokud spustim rucne : /var/www/mkomnitor/counter.php . tak vsechno projede korektne. pokud to necham poustet cronem tak v logu syslog vidim :
Jul 3 19:15:02 mkmonitor /USR/SBIN/CRON[32643]: (root) CMD (/var/www/mkomnitor/counter.php &> /var/log/counter.log)rekl bych ze vse OK vytvori se
/var/log/counter.log
je ale prazdny, pritom vystup scriptu je vcelku obsahlej
a scriupt samotny se nevykona.
----
Pokud pustim obdobny script v php tak ten projde korektne.
Nenapada vas cesta kde hledat chybu ?
diky
Přijde mi, že sis odpověděl sám, chybu hledej v tom skriptu. Navíc jsi napsal příliš málo informací na to, aby Ti mohl někdo pomoci. Jinak jelikož ten skript nejspíš souvisí s Apachem, tak by bylo rozumné ho nespouštět pod rootem, ale pod stejným uživatelem pod, kterým věží www server.
/var/www/mkomnitor/counter.php > /var/log/counter.logPodruhé:
/var/www/mkomnitor/counter.php &> /var/log/counter.log"&>" je bashismus.
Tak si tam přisměrujte ještě standard error, ať vidíte případné chyby. Tj.
*/5 * * * * /var/www/mkomnitor/counter.php > /var/log/counter.log 2>&1
#!/casta/k/php/php
tak IMO se ti to v cronu ani spustit nemuze.
Upravil bych crontab asi takto:
/5 * * * * /tam/co/je/php /var/www/mkomnitor/counter.php > /var/log/counter.log
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.