我有一个cron作业:Cron作业stderr电子邮件和日志文件?
$SP_s/StartDailyS1.sh >$LP_s/MirrorLogS1.txt
哪里SP_s
是脚本的路径和LP_s
是日志文件的路径。这将stdout发送到我的电子邮件的日志文件和stderr。
我如何?:
1)标准输出和标准错误发送到日志文件,
2)和标准错误发送到电子邮件
,或者换一种说法:标准错误输出到日志文件和电子邮件都,并且只对日志文件标准输出。
更新: 我到目前为止所得到的答案都不符合我制定的标准或似乎适合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发送电子邮件,而不是“其他文件”。
谢谢“号”, 我看到这种情况,其目的是“从发送的命令输出和错误到一个文件,然后只需STDERR到另一个文件”,发表zazzybob上unix.com: ( (my_command 3>&1 1>&2 2>&3)| tee error_only.log)> all.log 2>&1 它与您的建议和我想要做的非常相似(除了我希望cron发送STDERR电子邮件而不是“另一个文件”)。不幸的是我没有足够的知识来修改它以满足我的需求。它能激发任何想法吗? 干杯, Steph – 2009-08-24 19:22:44
上面发送stdout和stderr到一个文件,并且还发送stderr到stdout(所以它会被邮寄如果你从一个cron作业运行)。所以stderr会收到你的邮件(我不知道如何发送stdout/err到只有一个文件,而不是上面的2),并且仍然只发送stderr到邮件) – nos 2009-08-24 20:15:01