我是linux的新手。我试图弄清楚事情。有人可以帮我如何组合这两个命令吗?
(1) 通常可以通过以下方式编辑 crontab 将 cron 的结果定向到日志文件
*/10 * * * * /scripts/mysc.sh >> /home/ara/Desktop/test/log.txt 2>&1
(2) 如果我们需要 cron 结果是我们可以使用的电子邮件,[email protected]
例如
[email protected]
*/10 * * * * /scripts/mysc.sh
但是如何结合选项(1)和(2)呢?我已经看到一些虚拟主机空间确实同时启用了这两个选项。我做了我的研究/谷歌搜索,但没有做到。我正在使用 centos 6.5 并用于crontab -e
编辑。
您的第一个示例将 stderr 和 stdout 都发送到文件 (2>&1) ;cron 中设置的 MAILTO 变量将捕获任何未重定向的输出,这与将输出定向到文件相结合意味着 cron 没有输出可用于发送电子邮件。
我建议使用 tee 将输出附加到文件并将其发送到标准输出;这个答案 - https://serverfault.com/a/472878/102867 - 与您要求实现的答案非常相似。
或者,按照第一个答案中的建议,编写一个包装脚本以更优雅地处理脚本的输出,然后您可以同时记录并邮寄脚本的输出
日志和电子邮件的 Cronjob :
每月第一天午夜运行一次:
0 0 1 * *