Как запустить задачу Supervisor из cron.hourly?
У меня есть задача, определенная в Supervisor, которую я бы хотел вызывать ежечасно из /etc/cron.hourly
, Я могу запустить его вручную, но не из run-parts
:
$ sudo supervisorctl start my-task
-- работает
# . /etc/cron.hourly/my-script
-- работает
$ sudo run-parts --report --test /etc/cron.hourly
- списки my-script
как и ожидалось
$ sudo run-parts --report /etc/cron.hourly
- не работает с:
/etc/cron.hourly/my-script:
run-parts: failed to exec /etc/cron.hourly/my-script: No such file or directory
run-parts: /etc/cron.hourly/my-script exited with return code 1
Содержание /etc/cron.hourly/my-script
является:
#!/bin/sh
/usr/bin/supervisorctl start my-task
Я подтвердил, что:
- разрешение, имя файла и шебанг
my-script
верны - Я использую полный путь к
supervisorctl
скрипт cron запускается в 17 минут после- в этот момент
/var/log/syslog
гласит:(root) CMD ( cd / && run-parts --report /etc/cron.hourly) Jun 14 10:17:01 DevAPps postfix/sendmail[16202]: fatal: open /etc/postfix/main.cf: No such file or directory
Что мне не хватает?
1 ответ
Решение
Я создал my-script
в Windows, поэтому шебанг был верным, но конец строки Windows. Это приведет к сбою сценария cron. Воссоздание скрипта в Ubuntu (и chmodding
это и т.д.) исправил проблему.