在我的debian7上没有/ var / log / cron,没有/var/log/cron.log,我的crontab日志文件在哪里?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
在我的debian7上没有/ var / log / cron,没有/var/log/cron.log,我的crontab日志文件在哪里?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
Answers:
我认为debian
cron
写入日志/var/log/syslog
。
如果您的系统依赖,rsyslog
或者syslogd
您可以在行中/etc/rsyslog.conf
或/etc/syslog.conf
行中检查和取消注释:
# cron.* /var/log/cron.log
然后重新启动服务。
例如,如果您的系统依赖于systemd
您,则可以使用以下命令进行检查:
journalctl _COMM=cron
要么
journalctl _COMM=cron --since="date" --until="date"
对于日期格式,您可以检查journalctl。
sudo journalctl --since yesterday -u cron.service
呢?什么_COMM
啊
默认情况下,crontab
作业的输出将发送到拥有用户的本地电子邮件地址。如:crontab
输出aUser主机www.aDomain.com将被发送到aUser@www.aDomain.com。系统使用其默认邮件程序来完成任务。
您可以通过MAILTO
在crontab文件中添加一条语句,将此输出转移到备用电子邮件地址。例如:
# 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
使用外部电子邮件地址接收crontab日志时请务必小心。经常发送的邮件可能会被垃圾邮件过滤器捕获。然后,您将不得不为Yahoo,HotMail或Gmail等服务将邮件标记为“ 非垃圾邮件 ”。
另一种解决方案是将crontab命令的输出重定向到您选择的文件。在下面的示例中,stdout
and stderr
输出发送到/tmp/aJob.log
。此方法消除了发送电子邮件的可能性。
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1
另一种选择是将stderr
日志发送到电子邮件并将stdout
日志发送到文件。在这种情况下,当您的crontab
命令生成意外错误消息时,您会收到电子邮件警报。与上一个示例的区别在于,2>&1
已删除了该示例,以允许stderr
输出进入控制台并因此发送给电子邮件。
# 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
由于此标签未标记为debian,并且也出现在fedora搜索中,因此以下是检查最近(基于系统的)fedora的方法:
sudo systemctl status crond
典型输出
● 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)
和all
日志
journalctl --unit crond -n all