Назад | Перейти на главную страницу

cron не выполняет определенную команду

У меня есть простой сценарий, и я прошу crontab выполнить его. В сценарии у меня есть 2 команды, которые я хочу запустить, и добавить результат в файл. Только одна из команд делает то, что должна. Однако, если я запускаю сценарий сам как «root», он работает. Все машины, RHEL, Ubuntu Server / Desktop и Fedora имеют одинаковый результат. Ниже мой сценарий и crontab -l.

Я все исследовал и пробовал, даже установил $PATH, но ничего. В service 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 на предмет ошибок, нашел ошибки в Интернете и заменил приведенное выше.