J'ai un cronjob dans /etc/cron.d/mycron
qui ressemble à ceci :
0 3 * * * apache php /path/to/my/script.php
Dans le même fichier, il y a d'autres cronjobs qui commencent à s'exécuter en tant que root et d'autres utilisateurs (qui fonctionnent), mais pour une raison quelconque, ce job qui s'exécute en tant qu'apache ne s'exécute pas et ne signale rien dans /var/log/messages
ou d'envoyer quoi que ce soit au MAILTO
dans le fichier cron. Lorsque je su apache
et exécuter la commande du cronjob, cela fonctionne bien, mais cron ne l'aime pas.
C'est un problème qui me préoccupe depuis longtemps et, jusqu'à présent, j'ai rassemblé les possibilités suivantes :
- L'utilisateur apache n'a pas de répertoire personnel (les autres utilisateurs cron en ont un), et crond n'aime pas cela.
- Il y a des PAM ou des
/etc/security/access.conf
bloquant apache à l'aide de crond, bien que/etc/security/access.conf
est entièrement commentée. - SELinux - c'est généralement le coupable lorsqu'un problème semble vraiment bizarre.
Avez-vous des idées ou une expérience de ce problème et de la solution à y apporter ?
Remerciements