这是一个巨大的烦恼。
虽然在较早的wget
版本中(甚至在手册页中都有说明),但整个错误代码功能从未可靠地运行,当前的wget
版本似乎可以让它可靠地工作。
我有一份cron
工作,可能被称为“穷人的RSS"”,为没有RSS选项的博客设置。我只是每隔15分钟轮询一次新网页。
(也就是说,当它当前处于random-blog.net/entry2147.html,并且我将2148存储在一个变量中并从中构建了我的crontab时,我将获得404
的UNTIL条目214。 html页面存在。(通常情况下不到20小时)
但是...
每当cron
返回"未找到"时, wget
往往变得有些过于冗长。 (404)(退出代码8):
(CRON) error grandchild #98765 failed with error code 8
嗯,我知道,不是吗?!
我知道该页面不存在,但我不需要cron
告诉我每次运行!
我已经在网上搜索了答案,但是在保持syslog
整洁的同时,没有任何想法可以抑制这些不必要的信息。
不幸的是,尽管"失败"无法告诉wget
只输出代码0
。 (好吧,除了黑客攻击它)
关于这个问题的任何想法,任何人?
答案 0 :(得分:1)
您可以将这些内容包装在shell脚本中,忽略实际的退出代码并以0返回退出。它可能看起来像:
#!/bin/sh
cd /home/me/mycrondir
wget -flags tralalala tweedledom 2>&1 >>/home/me/mycrondir/myerrorlog.log
exit 0
#Eof
如果wget(或您需要的其他二进制文件)不在$ PATH(由cron提供)中,您可以在此脚本的顶部添加这些,如
PATH=/opt/bin:$PATH; export PATH