如何让 crontab 显示运行结果?

2015-11-28 09:39:12 +08:00
 billgreen1
我按照网上教程,可以设置定时运行了。但是无法看到输出的结果。
我是每天定时跑一遍程序,把结果写入数据库。
在 windows 中,是会弹出一个 cmd shell ,这样我至少知道程序运行了,如果有错误, shell 里面也能显示。但是在 linux 中,它是不弹出 shell 的。也就是说,程序有没有运行,我得去查看数据库有没有写入才能知道。这样如果程序出现错误,我都看不到 trace 。
请教一下,应该如何设置 crontab 或者如何修改程序,来满足我的要求。谢谢
5573 次点击
所在节点    Linux
11 条回复
gyteng
2015-11-28 09:48:13 +08:00
xxxxxx >> logfile 2>&1
klesh
2015-11-28 10:00:10 +08:00
楼上正解
jasontse
2015-11-28 10:15:48 +08:00
logger
shakoon
2015-11-28 12:27:18 +08:00
cron 的错误会发 mail 给用户的
gdtv
2015-11-28 12:40:51 +08:00
1 楼和 4 楼正解。一般是保证 crontab 运行的程序不出错并且不输出信息,出错了就发送到 mail
mringg
2015-11-28 14:04:00 +08:00
crontab 是有日志的。。。。
llhhss
2015-11-28 14:46:15 +08:00
syslog 可以配置 cron log
xierch
2015-11-28 15:55:44 +08:00
systemd-timer (拖走
likuku
2015-11-28 18:43:47 +08:00
crontab 有效设定上方加一行  MAILTO="add1@mail.add,add2@mail.add" 注意 MAILTO 要大写。

之后,只要你定时执行的任务有输出信息,那么都会被发到你指定的邮箱。

MAILTO 之下所有计划任务都会给离它最近的上方的 MAILTO 发邮件。
datocp
2015-11-28 23:05:33 +08:00
从路由器到 vps 都是在脚本里添加一句

echo "`(date +"%m/%d/%Y %T")` iptables_stop all service successfully_" >> /tmp/log
julyclyde
2015-11-29 08:39:13 +08:00
在多用户操作系统里,对于 cron 来说,“你”都不一定存在,更别提你出现在哪儿
让 cron 怎么显示给你?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/239569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX