微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

unix – Cron job stderr发送电子邮件和日志文件?

我有一个cron工作:

$SP_s/StartDailyS1.sh >$LP_s/MirrorLogS1.txt

其中SP_s是脚本的路径,LP_s是日志文件的路径.这会将stdout发送到日志文件并将stderr发送到我的电子邮件.

我如何能?:
1)将stdout和stderr发送到日志文件,
2)并将stderr发送到电子邮件

或者用另一种方式:stderr到日志文件和电子邮件,stdout只到日志文件.

更新:
到目前为止,我得到的答案都没有遵循我提出的标准或者似乎适合CRON工作.

我看到了这个,它的目的是“将STDOUT和STDERR从一个命令发送到一个文件,然后只将STDERR发送到另一个文件”(由unix.com上的zazzybob发布),这看起来接近我想做的事情,我我想知道它是否会激励比我更聪明的人:

(( my_command 3>&1 1>&2 2>&3 ) | tee error_only.log ) > all.log 2>&1

我希望cron将STDERR发送到电子邮件而不是“另一个文件”.

解决方法

不知道为什么没有人提到这个.

使用CRON如果在用户crontab中指定MAILTO =,
STDOUT已通过邮件发送.

[temp]$sudo crontab -u user1 -l
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=user1
# transfer order shipping file every 3 minutes past the quarter hour
3,19,33,48 * * * * /home/user1/.bin/trans.sh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐