gpt4 book ai didi

ubuntu - 将标准错误从 cron 输出到文件和电子邮件

转载 作者:行者123 更新时间:2023-12-04 18:32:04 27 4
gpt4 key购买 nike

我有 Ubuntu 服务器,我有一个运行 python 脚本的 cron 作业。
我知道我可以得到标准错误输出添加 MAILTO=在 crontab 中。我也知道将 stdout 和 stderr 输出到文件的标准方法是使用 2>&1重定向。我的第一个问题来了。

无论我使用什么,我都会收到错误 /bin/sh: 1: Syntax error: Bad fd number .几个小时后,我意识到这取决于 sh 版本。我可以将所有内容输出到文件的唯一方法是使用此命令 00 00 * * * /usr/bin/python3 /data/script.py >& /data/logs/date +\%d_\%m_\%Y_out.log .我在网上查到它属于cshtcsh .我不明白,因为我在我的系统上使用 bash。为什么像 >>/log.txt 2>&1 这样的标准重定向对我没用?

我的第二个问题是我想继续将 stdout 和 stderr 写入文件,并想继续通过 MAILTO 向 stderr 发送电子邮件。 .我试图玩tee命令但没有任何成功。
非常感谢您的帮助

最佳答案

您可以将变量添加到 crontab 文件的开头,以确保使用正确的 shell。对于第二个问题,您可以使用“tee”命令,它将所有内容从 STDIN 发送到 STDOUT,并将其保存到文件中:

# crontab file example
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=your@email.com
0 * * * * /usr/bin/python3 /data/script.py 2>&1 | tee /var/log/log.txt

关于ubuntu - 将标准错误从 cron 输出到文件和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com