3 votes

/etc/crontab ou toute crontab utilisateur n'est pas exécutée

Mon serveur est CentOS 5. Lorsque je modifie /etc/crontab ou que je modifie la crontab d'un utilisateur (y compris root) via la commande "crontab -e", il ajoute simplement "( système ) RELOAD (/etc/crontab)" ou "(admin) RELOAD (cron/admin)" dans le journal. Pas de CMD dans le /var/log/cron.

Exemple d'entrée dans /var/log/cron :

Aug 10 10:21:33 localhost crontab[31688]: (root) BEGIN EDIT (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) REPLACE (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) END EDIT (root)
Aug 10 10:22:01 localhost crond[2688]: (root) RELOAD (cron/root)

Résultat de "l'état du crond de service" :

crond (pid 1345) is running...

La commande "cat /var/log/messages | grep cron" ne donne rien.

Contenu du fichier /etc/cron.allow :

admin
root

Contenu de /etc/crontab :

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root run-parts /bin/date >> /data/date.txt

Résultat de ps aux |grep cron :

root      1345  0.0  0.1   5268  1204 ?        Ss   11:43   0:00 crond

Contenu de la crontab de l'administrateur :

* * * * * /bin/date >> /data/date.txt

Notez que ce n'est pas seulement la crontab de l'administrateur qui ne fonctionne pas. Toutes les tâches cron ne sont pas exécutées.

Une idée de pourquoi ils ne fonctionnent pas ?

0 votes

Try cat /var/log/messages | grep -i cron

0 votes

Try tail -f /var/log/cron

0 votes

@coredump - comme je l'ai dit plus haut, rien ne s'affiche. @Prix - voir ci-dessus(Exemple d'entrée dans la section /var/log/cron :).

2voto

illracer Points 1221

Vérifiez que vous n'avez pas un fichier /etc/cron.allow ou un fichier /etc/cron.deny provoquant l'ignorance des tâches.

Si le fichier /etc/cron.allow n'est pas présent, tout le monde peut exécuter des tâches cron. S'il est présent mais vide, je ne suis pas sûr que cela permette à quiconque d'exécuter des tâches cron.

2voto

leancz Points 346

Il y a une erreur dans votre crontab, regardez :

 * * * * * root run-parts /bin/date >> /data/date.txt

Vous invoquez run-parts avec le répertoire /bin/date - cela va sûrement échouer. L'erreur est envoyée à stderr et n'est pas mise en cache par >>

0voto

Pedro Lobito Points 419

Créez le fichier nommé /etc/cron.allow s'il n'existe pas et y ajouter le nom d'utilisateur.

0voto

David Addoteye Points 101

Bien que la réponse ait été acceptée pour cette question, je voudrais ajouter ce qui a fonctionné pour moi. C'est une bonne idée de citer l'URL, si elle contient une requête, elle peut ne pas fonctionner sans que tout soit cité.

N'OUBLIEZ PAS DE METTRE VOTRE URL QUI CONTIENT " ?, =, #, %" ENTRE GUILLEMETS.

Exemple. https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today doit être entre guillemets comme suit "https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X