Le cron fourni avec OS X enregistre-t-il ses actions n'importe où?
Je ne cherche pas la sortie d'un travail cron particulier, mais plutôt un journal de ce que fait cron. Sur quelques machines Linux que j'ai vérifiées, il y /var/log/cron
a des contenus comme:
Apr 26 11:00:01 localhost crond[27755]: (root) CMD (/root/bin/mysql-backup)
Apr 26 11:01:01 localhost crond[27892]: (root) CMD (run-parts /etc/cron.hourly)
Apr 26 11:07:01 localhost crond[28138]: (root) CMD (/usr/local/bin/python /home/
user1/scripts/pythonscript.py)
Apr 26 11:18:18 localhost crontab[28921]: (user2) LIST (user2)
Apr 26 11:18:22 localhost crontab[28929]: (user2) BEGIN EDIT (user2)
Apr 26 11:18:59 localhost crontab[28929]: (user2) REPLACE (user2)
Cela indique le moment où les tâches ont été exécutées, les utilisateurs qui ont visualisé ou édité des crontabs, etc. Ces informations ne figurent nulle part ailleurs sur ma machine Snow Leopard.
macos
osx-snow-leopard
cron
Doug Harris
la source
la source
Je lui ai expliqué comment enregistrer l'activité de mon travail cron sans basculer chacun vers un travail launchd.
La page de manuel cron mentionne des
-x
options permettant "l'écriture d'informations de débogage sur la sortie standard". Un effet secondaire de ceci est que ceux-ci écrivent également des informations de base en erreur standard. Les données envoyées à l'erreur standard sont écrites dans/var/log/system.log
.Cela se traduit par des données comme celle-ci écrites dans
/var/log/system.log
:Puisque cron lui-même est lancé par launchd, pour l'activer, j'ai dû éditer
/System/Library/LaunchDaemons/com.vix.cron.plist
pour qu'il ressemble maintenant à:J'ai utilisé
-x misc
ici, mais peu importe les options que j'ai utilisées. L'ajout de-x
commencé l'enregistrement de l'activité du travail. J'ai également ajouté StandardErrorPath pour écrire à la/var/log/cron.log
place de la valeur par défaut/var/log/system.log
.Et puis déchargez et rechargez ceci:
la source
OSX a maintenant tendance à utiliser launchd plutôt que cron - Apple dev doc - donc il se peut qu'il n'y ait rien dans cron à consigner.
Utilisez launchctl pour contrôler le niveau de journalisation de launchd. Les informations de journalisation du fichier Som apparaissent dans system.log, mais davantage dans l'application console -> Tous les messages
la source
0 0 7 11 0 happybirthday
.Au moins sur Yosemite, cron enregistre les sorties sous forme de
mail
messages, utilisez-lesmail
pour les lire.la source
cron
envoie la sortie (sinon non redirigée) au propriétaire du travail par courrier électronique. Si toutes les sorties sont redirigées, aucun courrier n'est envoyé. (Même si un message est envoyé, je ne sais pas s'il indique la commande qui a été exécutée.) La question est de savoir comment l'administrateur peut voir toutes les commandescron
exécutées. Pour utiliser votre réponse, une personne devrait consulter le fichier courrier de tout le monde.