J'ai une tâche définie dans Superviseur que je voudrais invoquer toutes les heures depuis /etc/cron.hourly
. Je peux l'exécuter manuellement, mais pas à partir de run-parts
:
$ Sudo supervisorctl start my-task
-- travaux
# . /etc/cron.hourly/my-script
-- travaux
$ Sudo run-parts --report --test /etc/cron.hourly
-- listes my-script
comme prévu
$ Sudo run-parts --report /etc/cron.hourly
- échoue avec:
/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
Le contenu de /etc/cron.hourly/my-script
est:
#!/bin/sh
/usr/bin/supervisorctl start my-task
J'ai confirmé que:
my-script
sont correctssupervisorctl
le script cron s'exécute à 17 minutes après - à quel moment /var/log/syslog
se lit:
(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
Qu'est-ce que je rate?
J'ai créé my-script
sur Windows, donc le Shebang était correct, mais avait une fin de ligne Windows. Cela entraînera l'échec d'un script cron. La recréation du script sur Ubuntu (et chmodding
it etc) a corrigé le problème.