pas / var / log / cron, pas /var/log/cron.log sur mon debian7, où est mon fichier journal de crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
pas / var / log / cron, pas /var/log/cron.log sur mon debian7, où est mon fichier journal de crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
Réponses:
Je pense que sur debian
cron
écrit les journaux /var/log/syslog
.
Si votre système dépend de rsyslog
ou syslogd
vous pouvez vérifier et décommenter dans /etc/rsyslog.conf
ou /etc/syslog.conf
pour la ligne:
# cron.* /var/log/cron.log
puis redémarrez les services.
Si votre système dépend systemd
par exemple de vous pouvez vérifier avec la commande suivante:
journalctl _COMM=cron
ou
journalctl _COMM=cron --since="date" --until="date"
Pour le format de date, vous pouvez vérifier journalctl .
sudo journalctl --since yesterday -u cron.service
? Qu'est-ce que c'est _COMM
?
Par défaut, la sortie des crontab
travaux est envoyée à l'adresse e-mail locale de l'utilisateur propriétaire. par exemple: la crontab
sortie pour aUser sur l'hôte www.aDomain.com serait envoyée à aUser@www.aDomain.com . Le système utilise son expéditeur par défaut pour accomplir la tâche.
Vous pouvez détourner cette sortie vers une autre adresse e-mail en ajoutant une MAILTO
instruction dans le fichier crontab. Par exemple:
# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh
Soyez prudent lorsque vous utilisez une adresse e-mail externe pour recevoir les journaux crontab. Les messages fréquemment envoyés peuvent être pris dans un filtre anti-spam. Vous devrez ensuite marquer les messages comme non spam pour des services comme Yahoo, HotMail ou Gmail.
Une autre solution serait de rediriger la sortie de vos commandes crontab vers un fichier de votre choix. Dans l'exemple ci-dessous, la sortie stdout
et stderr
est envoyée à /tmp/aJob.log
. Cette méthode élimine la possibilité d'envoi d'un message électronique.
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1
Une autre alternative consiste à envoyer des stderr
journaux par e-mail et des stdout
journaux à un fichier. Dans ce cas, vous recevez une alerte par e-mail lorsque vos crontab
commandes génèrent des messages d'erreur inattendus. La différence avec l'exemple précédent est qu'elle 2>&1
est supprimée pour permettre à la stderr
sortie d'aller sur la console et donc de l'email.
# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log
En savoir plus tables crontab et commande crontab
Comme il ne s'agit pas d'une balise debian et apparaît également dans les recherches sur fedora, voici comment vérifier les fedora récents (basés sur systemd):
sudo systemctl status crond
Sortie typique
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2019-09-29 16:09:21 CEST; 47min ago
Main PID: 1167 (crond)
Tasks: 1
Memory: 2.8M
CPU: 948ms
CGroup: /system.slice/crond.service
└─1167 /usr/sbin/crond -n
Sep 29 16:09:21 ncelrnd0216 systemd[1]: Started Command Scheduler.
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) STARTUP (1.5.4)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (Syslog will be used instead of sendmail.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 31% if used.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (running with inotify support)
et all
les journaux avec
journalctl --unit crond -n all