Cron:执行 python 脚本,捕获 stdout 和 stderr 并通过 msmtp 发送

Cron:执行 python 脚本,捕获 stdout 和 stderr 并通过 msmtp 发送

我尝试了近 4 个小时,用了不同的方法。我在 Google 上搜索了很多,但没有一个方法能达到预期的效果。

我有一个简单的 .msmtprpc 文件,它允许我发送这样的邮件:

echo -e "Subject: foobar\r\n\r\nContent" | msmtp [email protected]

但是,我似乎无法将 Python 脚本的完整输出连接为消息的内容。

此命令:

( echo -e "Subject: aaa\r\n\r\n" ; python foo.py 2>&1; ) | msmtp [email protected]

在我的终端上可以工作,但不能作为 cron 命令。也许我们可以改进它?

谢谢你的时间。

答案1

正如@Navern 所建议的,我将整个命令放入 bash 脚本中,然后从 cron 运行该 bash 脚本。当然,绝对路径是必要的。

相关内容