linux – Cronjob stderr提交和发送电子邮件
我需要我的cronjobs继续在某些文件中输出错误,但我也希望它们能够同时通过电子邮件发送.没有一些技巧,这似乎是不可能的.
我发现this但没有帮助我. 最简单的方法是什么? 解决方法
如果我正确理解您的问题,您希望将错误(不输出)发送到日志文件,并通过电子邮件发送.
为此,请使用tee和stdout / stderr重定向的组合. 根据cron(8)手册页,cron可以为您处理电子邮件.无需不必重复这项工作.
这里的技巧是将STDERR发送到日志文件和电子邮件,但不是STDOUT.以下示例说明了如何执行此操作. 假设我的脚本执行以下命令. ls tmp / foo成功,因此输出转到STDOUT. ls tmp / bar会生成错误,因此将此输出发送到STDERR. $ls tmp/foo tmp/bar ls: tmp/bar: No such file or directory tmp/foo 以下cronjob将隐藏任何STDOUT,但会将STDERR重定向到/var/log/test.log * * * * * ls tmp/foo tmp/bar 2>&1 >/dev/null | tee -a $HOME/var/log/test.log 结果如下.电子邮件和?/ var / log / test.log都会说同样的话. 电子邮件正文说: ls: tmp/bar: No such file or directory 日志文件说同样的事情: $cat ~/var/log/test.log ls: tmp/bar: No such file or directory 作为额外的奖励,还可以发送STDERR& STDOUT到日志文件(您只偶尔查看),但是将STDERR发送到屏幕(如果手动运行)或电子邮件(如果从cron运行).我将以下snippit用于长时间运行的构建文件. { { ./configure && make && make install ; } >> $LOGFILE ; } 2>&1 | tee -a $LOGFILE (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Linux(Centos6.8)配置Nginx环境
- 是什么导致重复的linux NFS客户端RPC凭据刷新?
- linux – ionice vs. Software-RAID
- linux – 使用setfacl后权限被拒绝
- linux – bash,ksh,tcsh和zsh之间的区别
- linux – 使用BIND实现辅助DNS服务器的最佳方式
- 如何禁用与FreeBSD NFSv4服务器的NFSv3 / v2连接?
- linux – 在Amazon中使用Ruby服务器的最佳AMI是什么?
- linux – BASH:“local var = ${3-16}”意思不清楚
- linux-kernel – 使用LKM实现Linux系统调用