Crontab girişinin sözdizimi doğru görünüyor. Aslında, " crontab -e
" (gerektiği gibi) kullanarak crontab'ınızı düzenlerseniz, yine de sözdizimsel olarak geçersiz bir crontab girişi belirtirseniz bir hata alırsınız.
Öncelikle, /path_to_my_php_script/info.php
komut satırından düzgün çalışıyor mu?
Eğer öyleyse, bu şekilde de doğru çalışıyor mu ?:
/bin/sh -c "(export PATH=/usr/bin:/bin; /path_to_my_php_script/info.php </dev/null)"
Bu işe yararsa, böyle çalışır mı?
/bin/sh -c "(export PATH=/usr/bin:/bin; /path_to_my_php_script/info.php </dev/null >/dev/null 2>&1)"
Adım (3), cron'un programınızı nasıl çalıştıracağına benzer ("man 5 cron" da belgelendiği gibi).
Karşılaştığınız en büyük sorun PATH cron'un programınızı çalıştırmak için kullanması çok kısıtlayıcı. Bu nedenle, crontab girişinizin üstüne aşağıdakine benzer bir şeyler eklemek isteyebilirsiniz (betiğinizin ihtiyaç duyacağı her hangi bir dizine eklemeniz gerekir):
PATH=~/bin:/usr/bin/:/bin
Ayrıca cron'un /bin/sh
bash değil varsayılan kullanım olacağını unutmayın . Eğer bash ihtiyacınız varsa, bunu crontab dosyanızın başına da ekleyin:
SHELL=/bin/bash
Her iki değişiklik de tüm crontab girişlerini etkileyecektir . Bu değerleri info.php
programınız için değiştirmek isterseniz , bunun gibi bir şey yapabilirsiniz:
*/2 * * * * /bin/bash -c ". ~/.bashrc; /path_to_my_php_script/info.php"
Ayrıca "posta" için yapılandırılmış bir sistemde (diğer bir deyişle MTA'nın [sendmail / postfix / etc] yapılandırılmış bir sistemi), crontab programlarının tüm çıktılarının e-posta yoluyla otomatik olarak gönderildiğini belirtmekte fayda var. Varsayılan bir Ubuntu masaüstü sisteminde yerel posta yapılandırılmaz, ancak bir sunucu üzerinde çalışıyorsanız, tüm bu cron postalarını görmek için bir terminalde "posta" yazabilirsiniz. Bu aynı zamanda " at
" komutu için de geçerlidir .