我正在运行 cron 来-m off
停止它发送电子邮件,然后该-s
选项应该将所有输出发送到 syslog。
Cron 命令行是
crond -s -m off
我用于测试这个的 cron 任务是
* * * * * root /bin/echo hello
我看到的/var/log/cron
是
Jun 17 17:06:01 www08 CROND[4165]: h<FF>
基本上我得到的只是第一个字符h
,然后<FF>
如果我将 cron 任务改为
* * * * * root /bin/echo world
然后我得到第一个字符w
,然后<FF>
最终,我想要的是一种将 cronjobs 的所有输出记录到 syslog 的方法,以便我可以使用我们的日志警报系统来管理它们。
我不想修改所有的 cron 作业,因为有些作业是 rpm 包自动添加的,有些是由不同部门添加的。我正在寻找一种解决方案,可以一劳永逸地解决此问题,而不是不断地2>&1 | logger -t myscriptname
在 100 台机器上将作业添加到每个 cron 作业的末尾
答案1
该修复现已向后移植,并可用于 CentOS 6 -https://pkgs.org/centos-6/centos-updates-x86_64/cronie-1.4.4-16.el6_8.2.x86_64.rpm.html。Tim,向 Red Hat 报告了这个问题,干得好!
答案2
找到了。centos 6 中的版本有一个错误,该错误在 4 年前已修复,但 Redhat 尚未对其进行反向移植。
https://www.fedorahosted.org/cronie/ticket/8
准备建立我自己的修订版。
答案3
您能用 -x 运行 crond 进行调试并查看是否有帮助吗?我尝试使用相同的 crond 选项运行相同的作业,对我来说效果很好。我使用的是 Centos7。您还尝试过使用“hello”吗?