Je n'ai qu'un seul cron configuré dans cPanel pour que WHMCS s'exécute une fois par jour à 12h00.
Le cron envoie des journaux d'activité quotidiens à mon courrier électronique.
Un problème est survenu récemment. Les journaux d'activité de tâche cron m'ont été envoyés à partir de cet e-mail [email protected]
qui n'existe pas. Les e-mails proviennent de cette adresse sans remplacer mon nom de domaine actuel.
J'ai donc supprimé le travail cron, j'en ai créé un nouveau avec un timing différent à 8h00. Le cron fonctionne correctement à ce moment-là et je reçois des journaux de mon email valide. Cependant, je reçois toujours des courriels à 00h00 également, car si un autre travail cron est bloqué à ce moment-là et que les journaux proviennent de cette adresse électronique non valide [email protected]
.
J'ai regardé dans le fichier de configuration cron et il n'y avait aucune entrée dupliquée pour crons. J'ai vérifié avec le support WHMCS et la configuration du logiciel est correcte.
Quelqu'un at-il déjà eu un problème comme celui-ci? Des suggestions s'il vous plaît? Je vous remercie.
En outre, lorsque vous vérifiez les tâches cron pour chaque utilisateur, vérifiez les premiers caractères de chaque ligne du fichier cron.
Si le premier jeu de caractères commence par "0 0" ou "00 00" ou par deux jeux de zéros sous une forme quelconque, cela signifie alors minuit. Les derniers chiffres aident à définir le nombre de minuit auxquels la tâche est supposée avoir lieu. ainsi, si les caractères restants sont des étoiles séparées par des espaces suivies d'une commande, cette commande est exécutée tous les minuit (12 h).
Vérifiez également vos crontabs avant et après l’utilisation de cpanel (et particulièrement après l’utilisation de cpanel), car cpanel est susceptible de remplacer votre crontab après avoir enregistré les paramètres (dans cpanel). Dans un shell unix en tant que root, vous pouvez changer d'utilisateur avec cette commande:
su <insert username>
Puis vérifiez et éditez la crontab pour cet utilisateur comme ceci:
crontab -e
recherchez également dans tout le dossier etc les autres fichiers cron commençant par cron en tapant:
ls /etc/cron*.*
Les tâches Cron peuvent être installées à plusieurs endroits. Assurez-vous de les vérifier tous. Mon serveur a un répertoire /etc/cron.d/
et /etc/cron.daily
où les tâches cron peuvent être installées. Chaque utilisateur peut également installer des tâches avec la commande crontab
. (crontab -l
listera tous les travaux pour un utilisateur particulier). Vous voudrez peut-être essayer les solutions dans cette question de StackOverflow à propos de la liste des tâches cron pour tous les utilisateurs.
Lorsqu'un travail cron est exécuté, une entrée de journal est enregistrée sur /etc/log/syslog
, qui peut ressembler à quelque chose comme:
Jan 18 07:42:01 mybox CRON[26066]: (root) CMD (/root/cronjobs/check)
Cela pourrait vous dire quand le travail a été exécuté et avec quel utilisateur.
Vous pouvez également essayer de redémarrer le démon cron avec une commande telle que:
Sudo service cron restart