Когда я запускаю php /var/www/html/devices/ac1/cron_on.php в терминале, он работает нормально. Но когда я добавляю его в каталог /etc/cron.d, ничего не происходит.
Работа cron 49 11 * * * root php /var/www/html/devices/ac1/cron_on.php
Еще пробовал 49 11 * * * root /usr/bin/php /var/www/html/devices/ac1/cron_on.php
И пробовал без root
Кроме того, файл, который вы поместили в cron.d, принадлежит root: root (chown root: root <filename>)?
Имя файла - 001_on, и он принадлежит root: root.
Замените содержимое вашего файла cron (в cron.d) на * * * * * root echo test >> /tmp/cron_temp и проверьте этот файл примерно через минуту, чтобы исключить cron. Что вы получите, если запустите service cron status? Есть ли у вас подсказка в /var/log/syslog, если вы ищете CRON?
С помощью "* * * * * root echo test >> / tmp / cron_temp" я получаю ОШИБКУ (отсутствует новая строка перед EOF, этот crontab будет проигнорирован)
Вам нужно добавить новую пустую строку в конец файла. Однако это прогресс, cron пытается запустить файл.
Я сделал, и ошибка исчезла. Теперь он говорит (root) CMD (php /var/www/html/devices/ac1/cron_on.php^M), но то, что должно было произойти с помощью php, не произошло.
Большой! Если вы тестируете строку * * * * * root /usr/bin/php /var/www/html/devices/ac1/cron_on.php &> /tmp/log_file, ваша команда будет запускаться каждую минуту, а вывод будет передаваться в файл / tmp / log_file, который вы можете проверить на предмет подсказок. Что там написано? Вы также можете попробовать запустить свою команду как root, например. sudo /usr/bin/php /var/www/html/devices/ac1/cron_on.php, чтобы узнать, не вызывает ли проблем пользователь root.
Все хорошо. Большое тебе спасибо.
Я создал ответ. Пометьте его как ответ, если вы думаете, что это поможет другим. Кроме того, спасибо.






Чтобы найти проблему и заставить ее работать, рассмотрите следующие
/etc/cron.d/ принадлежит root: root (chmod root:root /etc/cron.d/<script>)* * * * * root echo test >> /tmp/cron_temp и монитор /tmp/cron_tempservice cron status покажет, насколько хорошо выполняется строка.sudo -u username <command-to-be-run>.Это помогло мне решить аналогичную проблему ... запуск service cron status сообщает вам, что файл также должен быть chmod 644, что меня разобрало.
Каким был назван файл, который вы поместили в /etc/cron.d/? Если я правильно помню, файлы с расширениями игнорируются.