Попытка остановить службу с помощью cron
На моем сервере Ubuntu 11.04 при попытке запустить
service powernap stop
как работа cron с пользователем root, она не работает и выдает мне это сообщение в системном журнале
NAS CRON[10853]: (CRON) error (grandchild #10854 failed with exit status 2)
и это по электронной почте на учетную запись пользователя root
exec: 129: stop: not found
Я могу запускать и останавливать службу powernap из командной строки, так почему она не работает из cron?
3 ответа
Похоже /sbin
не в $PATH
при запуске из cron. Добавить строку как
PATH = /sbin:$PATH
в файл crontab.
Хм... странно, что cron пытается запустить "стоп"...
Попробуйте сделать так, чтобы cron запустил это:
sh -c '/usr/sbin/service powernap stop'
У меня была именно эта проблема, и казалось бы, что $PATH
переменная полностью пуста при запуске crontab, поэтому недостаточно PATH=/usr/sbin;$PATH
в верхней части списка crontab.
Итак, что я сделал (так как я запускаю этот crontab как root, так что я могу отключить прокси-сервер squid):
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
и, похоже, сработало.