2016-02-20 1 views
1

Можно ли выводить stdout в файл, но игнорировать stderr?Cronjob - Как вывести stdout и игнорировать stderr

У меня есть сценарий Python, который использует sys.stderr.write(error) для вывода ошибок до stderr. Я хотел бы проигнорировать их для этого конкретного сценария. Как это возможно?

Вот текущая запись в кронтаб:

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

scrape-headlines является Баш скрипт, который вызывает скрипт на Python.

ответ

4

2>&1 redirects stderr до stdout, добавив его к headlines.txt. Так, перенаправлять stderr к /dev/null:

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

Вы можете использовать «2» дескриптор для управления stderr отдельно и, например, перенаправить его на /dev/null:

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

Вы можете перенаправить потоки вывода отдельно ,

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

Если вы хотите удалить stderr, отправьте его /dev/null.