如何让 crontab 显示运行结果?
- 0次
- 2021-07-06 03:43:35
- idczone
我按照网上教程,可以设置定时运行了。但是无法看到输出的结果。
我是每天定时跑一遍程序,把结果写入数据库。
在 windows 中,是会弹出一个 cmd shell ,这样我至少知道程序运行了,如果有错误, shell 里面也能显示。但是在 linux 中,它是不弹出 shell 的。也就是说,程序有没有运行,我得去查看数据库有没有写入才能知道。这样如果程序出现错误,我都看不到 trace 。
请教一下,应该如何设置 crontab 或者如何修改程序,来满足我的要求。谢谢
xxxxxx >> logfile 2>&1
楼上正解
logger
cron 的错误会发 mail 给用户的
1 楼和 4 楼正解。一般是保证 crontab 运行的程序不出错并且不输出信息,出错了就发送到 mail
crontab 是有日志的。。。。
syslog 可以配置 cron log
systemd-timer (拖走
crontab 有效设定上方加一行 MAILTO="[email&注意 MAILTO 要大写。
之后,只要你定时执行的任务有输出信息,那么都会被发到你指定的邮箱。
MAILTO 之下所有计划任务都会给离它最近的上方的 MAILTO 发邮件。
从路由器到 vps 都是在脚本里添加一句
echo "`(date +"%m/%d/%Y %T")` iptables_stop all service successfully_" >> /tmp/log
在多用户操作系统里,对于 cron 来说,“你”都不一定存在,更别提你出现在哪儿
让 cron 怎么显示给你?