Supervisor で定義されているタスクがあり、/etc/cron.hourly
から1時間ごとに呼び出したい。手動で実行できますが、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
私は何が欠けていますか?
わたしは作った my-script
Windowsでは、シェバンは正しいのですが、Windowsの行末がありました。 これによりcronスクリプトが失敗します。 Ubuntuでスクリプトを再作成(およびchmodding
itなど)すると問題が修正されました。