cron:将输出发送到文件,然后将EMAILing文件发送给我
发布时间:2020-12-15 22:44:39 所属栏目:安全 来源:网络整理
导读:我正在写一系列的cron工作.我希望每个任务都将其输出记录到文件中,然后我希望将文件的内容邮寄给我,请发送电子邮件至me@somewhere.com 我认为将输出记录到文件可以使用简单的管道重定向完成,如下所示: 30 0 * * * /path/to/script1 task1.log30 1 * * * /pa
我正在写一系列的cron工作.我希望每个任务都将其输出记录到文件中,然后我希望将文件的内容邮寄给我,请发送电子邮件至me@somewhere.com
我认为将输出记录到文件可以使用简单的管道重定向完成,如下所示: 30 0 * * * /path/to/script1 > task1.log 30 1 * * * /path/to/script2 > task2.log 但是,我不知道如何通过单独的电子邮件将文件(或仅仅是他们的内容)邮寄给我me@somewhere.com 另外,有没有办法根据日期动态创建日志文件名,以便日志名称类似于%Y%m%d.task1.log? 前缀是哪个日期? 我在Ubuntu 10.0.4 LTS上运行 解决方法
如果您的系统有一个工作/usr/bin/sendmail(不必是sendmail sendmail,大多数邮件服务器提供/usr/bin/sendmail包装器脚本),那么您可以使用mail(1)实用程序发送邮件:
echo "hello world" | mail -s hello me@example.com mail(1)非常原始;没有MIME文件附件,你会遇到明文. 如果安装了mutt(1),则可以使用MIME附加文件: echo "hello world" | mutt -a task*.log -- me@example.com 至于给出日志文件的日期: $echo "hi" > $(date "+%Y%m%dlog.txt") $cat 20110328log.txt hi $ 所以,试试这个: 30 1 * * * /path/to/script2 > $(date "+%Y%m%dlog.txt") && mutt -a $(date "+%Y%m%dlog.txt") -- me@example.com (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |