Хорошо, у меня есть скрипт php, который нужно запускать каждые 15 минут, но он не работает. Другие мои скрипты просто отлично выполняются, и я могу выполнить их через командную строку.
# m h dom mon dow command
30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
* 10 * * 0 php /var/www/html/slack/huiswerk_reminder/runner.php
* 17 * * 1 php /var/www/html/slack/huiswerk_reminder/runner.php
* 17 * * 2 php /var/www/html/slack/huiswerk_reminder/runner.php
* 14 * * 3 php /var/www/html/slack/huiswerk_reminder/runner.php
* 16 * * 4 php /var/www/html/slack/huiswerk_reminder/runner.php
*/15 * * * * php /var/www/html/slack/cijfercheck/cijfercheck.php
Только */15 * * * * php /var/www/html/slack/cijfercheck/cijfercheck.php
не будет казнен. Что я делаю не так??
Шаги, которые я предпринял, чтобы исправить это:
Измените * / 15 на 0,15,30,45
И посмотрел на все эти вопросы:
https://stackoverflow.com/questions/32393740/cronjob-not-executing-php
https://stackoverflow.com/questions/5784573/cronjobs-not-executing-php-scripts-no-mailto-warnings-received https://askubuntu.com/questions/23009/reasons-why-crontab-does-not-work https://askubuntu.com/questions/93313/cron-job-not-running Почему мой crontab не работает и как я могу устранить его?
Все не работает, и что странно, другие работают нормально, никаких проблем ...
Так что я делаю не так?
Вам нужна пустая строка в конце вашего crontab, иначе это не сработает. Также попробуйте добавить #! / Bin / bash перед своими скриптами, чтобы убедиться, что они работают в BASH, а не в какой-либо другой оболочке.
Если это не сработает, попробуйте выполнить выгрузку в сценарий .sh:
*/15 * * * * $HOME/sched.sh >> $HOME/log_sched 2>>$HOME/error_sched
затем вы заполняете его как сценарий BASH:
#!/bin/bash
php5 /var/www/html/slack/cijfercheck/cijfercheck.php &&
echo FINISHED AT $(date +"%T")