J'ai ce cron
38 * * * * /bin/bash -l -c 'cd /var/Rails/site/releases/20120705144335 && script/Rails runner -e qa '\''Play.load_lists'\'''
J'ai ce cron sous l'utilisateur différent, donc je change aux utilisateurs de déployer
Sudo su deploy
crontab -e
et je vois mon cron puis je quête du journal sous l'utilisateur root
tail -n300 -f /var/log/syslog
et je vois mon cron
Jul 5 11:38:01 ip-10-70-75-234 CRON[4971]: (deploy) CMD (/bin/bash -l -c 'cd /var/Rails/site/releases/20120705144335 && script/Rails runner -e qa '\''Play.load_lists'\''')
Jul 5 11:38:01 ip-10-70-75-234 CRON[4970]: (CRON) info (No MTA installed, discarding output)
Mais le cron n'est pas en cours d'exécution ou il y a un problème de permission ... Quand je cours la tâche dans la console, cela fonctionne bien mais pas dans le cron ... aucune idée de ce que je manque
c'est ubuntu 12.04 lts
Peut-être que je peux enregistrer une liste plus détaillée à quelque part pour voir les erreurs
Cron fournit la sortie d'applications (STDOUT, STDERR) via un courrier local. Ubuntu n'ayant apparemment pas de MTA (agent de transfert de courrier) installé par défaut ces jours-ci. Cron imprime une notification dans le logfile Systems à chaque fois qu'une livraison a échoué:
Jul 5 11:38:01 ip-10-70-75-234 CRON[4970]: (CRON) info (No MTA installed, discarding output)
Vous pouvez installer un MTA, par exemple. Postfix, pour une utilisation interne (locale) uniquement, par ex.
aptitude install postfix
Lors de l'installation, il vous sera demandé quelle configuration par défaut à utiliser. Vous devriez sélectionner le Local only
configuration.
Ensuite, vous pouvez trouver la sortie des applications couru par cron en utilisant
tail -f /var/mail/<your_username>
Bien sûr, vous pouvez également écrire la sortie de journalisation dans un fichier journal dédié ou tuyau/rediriger la sortie dans un fichier à l'aide de la fonctionnalité de shell intégrée ...