3 votes

La tâche Cron ne fonctionne pas - erreur postfix/sendmail

Voici mon contenu de sudo crontab -e

    @hourly /home/userName/ntpdate.sh

Le contenu de mon script (ntpdate.sh) //.25 est mon serveur ntp

     echo "Current time is $(date), " >> /home/userName/ntpdateLog.txt
     ntpdate -u 192.168.1.25 >> /home/userName/ntpdateLog.txt

Lorsque je lance simplement la commande par elle-même, ou que j'exécute le script par lui-même, cela fonctionne bien et sort dans le fichier. Le script a les permissions correctes pour s'exécuter.

L'erreur que je reçois dans /var/log/syslog est la suivante :

    CRON[6386]: (root) MAIL (mailed 1 byte of output; but got status 0x004b, #012)
    postfix/sendmail[6410]: fatal: open /etc/postfix/main.cf: No such file or directory

Pourquoi y a-t-il une erreur de courrier alors que le script n'a pas besoin de courrier (à ma connaissance).

Je sais que ntpdate est déprécié, mais c'est la seule chose qui fait ce dont j'ai besoin pour le moment (en supposant que je puisse faire en sorte que cron l'exécute).

9voto

Bvandorp Points 11

Selon manuel cron :

  When executing commands, any output is  mailed  to  the  owner  of  the
  crontab (or to the user named in the MAILTO environment variable in the
  crontab, if such exists)

Si vous voulez arrêter l'alerte mail, vous devez rediriger la sortie standard et l'erreur standard.

Vous devez donc modifier votre fichier cron comme suit :

  @hourly /home/userName/ntpdate.sh >> /home/userName/ntpdateLog.txt 2>&1

et votre script :

  echo "Current time is $(date), "
  ntpdate -u 192.168.1.25

Une autre façon de procéder est de donner une valeur vide à la variable MAILTO en haut de votre fichier cron :

  MAILTO=""
  @hourly /home/userName/ntpdate.sh >> /home/userName/ntpdateLog.txt 2>&1

Je vous suggère de rediriger la sortie std et l'erreur std dans tous les cas car il est plus facile de déboguer le script en cas d'erreurs.

Voici Manuel de crontab pour plus de détails.

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