Cronjob - 如何输出 stdout 并忽略 stderr

Cronjob - How to output stdout, and ignore stderr

是否可以将stdout输出到文件,但忽略stderr

我有一个 Python 脚本,它使用 sys.stderr.write(error) 将错误输出到 stderr。对于这个特定的脚本,我想忽略这些。这怎么可能?

这是 crontab 中的当前条目:

* * * * * /Users/me/bin/scrape-headlines /Users/me/proxies.txt >> /Users/me/headlines.txt 2>&1

scrape-headlines 是调用 Python 脚本的 bash 脚本。

2>&1stderr 重定向到 stdout,并将其附加到 headlines.txt。 因此,将 stderr 重定向到 /dev/null:

* * * * * /Users/me/bin/scrape-headlines /Users/me/proxies.txt >> /Users/me/headlines.txt 2> /dev/null

您可以使用“2”描述符单独控制 stderr,例如,将其重定向到 /dev/null:

* * * * * /Users/me/bin/scrape-headlines /Users/me/proxies.txt >> /Users/me/headlines.txt 2>/dev/null

您可以分别重定向 stderr 和 stdout。

$ command 1> /some/file 2> /some/other/file

如果您想删除 stderr,请将其发送至 /dev/null