Nous savons tous que la bonne façon de gérer la sortie des tâches cron est de la rediriger vers un fichier:
0 * * * * /bin/date >> /var/log/date.log 2>&1
Cependant, les administrateurs sont parfois paresseux, oublieux ou ignorants et ne mettent pas ces redirections; dans ce cas, la sortie du travail est envoyée par mail à $ MAILTO ou à l'utilisateur propriétaire ou root. Sur certaines des boîtes que je gère, le courrier est désactivé, donc cette sortie va dans un trou noir. Ce que je me demande, est-il possible de dire à cron de prendre n'importe quelle sortie de travail et au lieu de la poster, de la jeter dans un fichier journal fourre-tout quelque part? J'utilise Ubuntu (8.04 mais migre vers 9.04). Il y a un indice d'une telle solution dans ce résultat aléatoire de Google , mais je pense que l'OP a peut-être été confondu entre la sortie cron et la sortie des tâches cron.
Je suis ouvert aux solutions qui impliquent un peu de script ou de piratage, mais idéalement, ce serait un bit de configuration que je pourrais définir quelque part. Je ne vois aucun indice man cron
. Merci!
root: /var/log/cron.log
ne fonctionne pas? feep.net/sendmail/tutorial/intro/aliases.htmlJe ne pense pas que ce que vous demandez soit réellement possible avec Ubuntu (ou tout autre) cron.
Mis à part l'idée de geekmonkeys, vous pouvez également définir $ MAILTO sur un compte local et acheminer la sortie via procmail.
la source
Je n'ai jamais entendu parler d'un tel paramètre pour cron, donc je prendrais la route des scripts.
Créez un travail cron pour patrouiller / var / spool / cron / * et ajoutez la redirection à tout travail qui n'en a pas.
la source
Une autre option serait de créer un script shell appelé cron_wrapper ou quelque chose, et de le faire faire comme ceci:
Ensuite, tous vos crontabs ont juste besoin de quelque chose comme ceci:
Remarque Je n'ai pas testé ce code, c'est juste une idée.
la source
Je ne sais pas ce qu'est le "cron standard". Il existe de nombreux démons cron, différentes distributions en utilisent différentes. Vixie cron est le plus largement déployé, c'est donc probablement ce que vous vouliez dire. Mais sur certaines distributions, ce ne serait pas la valeur par défaut.
J'ai pris en charge le développement du cron de Dillon (dcron), qui est la valeur par défaut sur Arch Linux. D'autres distributions l'utilisent également, mais je ne sais pas si c'est la valeur par défaut ailleurs. dcron a une option d'invocation
-M
pour spécifier que vous souhaitez utiliser un script personnalisé au lieu de sendmail. Le script est appelé sans arguments et avec quelques en-têtes de courrier électronique et la&>
sortie de tous les cronjobs en tant que stdin. (S'il n'y a pas de&>
sortie, le script n'est pas appelé.)la source
pourquoi ne définissons-nous pas MAILTO = "" dans la crontab de l'utilisateur en particulier. Cela désactivera la journalisation des messages électroniques dans / var / spool / mail /
la source