На этот вопрос уже есть ответ здесь:
У меня есть простой скрипт и я прошу crontab на выполнить этот сценарий. В сценарии у меня есть 2 команды, которые я хочу запустить, и добавить результат в файл. Только одна из команд работает так, как должна. Однако, если я запускаю сценарий сам как «root», он работает. Все машины, RHEL, Ubuntu Server / Desktop и Fedora имеют одинаковый результат. Ниже мой сценарий и crontab -l
.
Я все исследовал и пробовал, даже установил $ PATH
, но ничего. Служба httpd status
не запускается.
#!/bin/bash
#check httpd status and append to file
service httpd status >> /path/to/file;
#check cupsd status and append to file
netstat -punta | grep cupsd >> /path/to/file;
exit
Crontab:
*/1 * * * * /usr/local/bin/script.sh
Решение:
Вместо запуска 'service httpd status' run '/etc/init.d/httpd status
Это работало безупречно. На это меня повлияла попытка запустить это в Ubuntu 14.04.2 LTS, я просмотрел журнал cron на предмет ошибок, нашел ошибки в Интернете и заменил приведенное выше.