Erreur «(CRON) info (aucun MTA n’est installé, sortie rejetée)» erreur dans le syslog

J’ai une nouvelle installation d’Ubuntu 12.04.1 LTS et un certain nombre de serveurs.

Je n’ai pas ajouté de tâches cron ni modifié ma crontab sur ces serveurs. Cependant, à peu près au même moment pour chaque machine, j’obtiens un pic de 75% de la CPU et les informations suivantes dans mon syslog au moment du pic:

CRON[8380]: (CRON) info (No MTA installed, discarding output) 

Mono-complete est installé et j’utilise un serveur Web de stack de services.

Quel est le meilleur moyen pour moi d’empêcher que cela se produise? Je voudrais pouvoir enlever le pic du processeur.

    Linux utilise la messagerie pour envoyer des notifications à l’utilisateur. Un service de messagerie (y compris un MTA) est installé sur la plupart des dissortingbutions Linux. Ubuntu ne le fait pas.

    Vous pouvez installer un service de messagerie, postfix par exemple, pour résoudre ce problème.

     sudo apt-get install postfix 

    Ou vous pouvez l’ignorer. Je ne pense pas que l’incapacité de cron d’envoyer des messages ait quelque chose à voir avec le pic du processeur (lié au travail sous-jacent que cron est en cours d’exécution). Il peut être plus sûr d’installer un MTA puis de lire les messages ( mutt est un bon lecteur de courrier système).

    Cela se produit parce que vos tâches cron produisent une sortie, puis le démon cron essaie de vous envoyer cette sortie par courrier électronique (c’est-à-dire root). Si vous n’avez pas besoin de cette sortie, le moyen le plus simple de résoudre ce problème est de le supprimer à la crontab:

     sudo crontab -e 

    et ajoutez >/dev/null 2>&1 à chaque travail:

     * * * * * yourCommand >/dev/null 2>&1 

    Dans mon cas, le message faisait allusion à un problème d’permissions avec le script bash, mais je ne pouvais le voir qu’après avoir installé un MTA.

    Comme suggéré j’ai couru:

     sudo aptitude install postfix 

    J’ai choisi “Local” lors de l’installation et après avoir exécuté le travail cron à nouveau:

     sudo tail -f /var/mail/ 

    Dans mon cas j’ai remplacé

      

    avec “root”.

    J’ai ensuite pu voir la sortie d’erreur liée aux permissions.

    Dans crontab, ajoutez ceci en première ligne:

     MAILTO="" 

    Cela empêchera cron d’essayer d’envoyer un courrier électronique.

    Si vous ne souhaitez pas installer un MTA (ce dont je n’ai actuellement pas besoin), vous pouvez diriger les résultats du travail cron vers un fichier journal.

     sudo crontab -e 

    alors avec votre travail cron ressemblerait à ceci.

     0 3 * * * /cmd/to/run >> /var/log/somelogfile.log 

    alors vous pouvez simplement suivre le journal et voir ce qui s’est passé

     sudo tail -f -n 50 /var/log/somelogfile.log 

    C’est ce que j’ai fait sur n’importe quel serveur où je vois ce message dans syslog