cron和wget:如何防止cron在syslog中使用;孙子失败了”;信息?

cron和wget:如何防止cron在syslog中使用;孙子失败了”;信息?,cron,wget,syslog,error-code,Cron,Wget,Syslog,Error Code,这是一个巨大的烦恼。 虽然在较旧的wget版本中(甚至在手册页中如此说明),整个错误代码功能从未可靠地工作过,但当前的wget版本似乎工作得太可靠了 我有一个cron工作,可能被称为一种“穷人的RSS”,为一个没有RSS选项的博客设置。我会每15分钟投票一次,等待新的页面出现。 (也就是说,当它当前位于random-blog.net/entry2147.html,并且我将2148存储在一个变量中并从中构建crontab时,我将得到404s,直到entry2148.html页面存在为止。(通常情况

这是一个巨大的烦恼。 虽然在较旧的
wget
版本中(甚至在手册页中如此说明),整个错误代码功能从未可靠地工作过,但当前的
wget
版本似乎工作得太可靠了

我有一个
cron
工作,可能被称为一种“穷人的RSS”,为一个没有RSS选项的博客设置。我会每15分钟投票一次,等待新的页面出现。 (也就是说,当它当前位于random-blog.net/entry2147.html,并且我将2148存储在一个变量中并从中构建crontab时,我将得到
404
s,直到entry2148.html页面存在为止。(通常情况下,不到20小时)

但是

每当
wget
返回“未找到”(404)(退出代码8)时,
cron
往往变得有点过于冗长:

我知道,不是吗?! 我知道这个页面还不存在,但我不需要每次运行都用
cron
来告诉我! 我已经在网上搜寻答案,但却不知道如何在保持我的
syslog
整洁的同时抑制这些不必要的消息

不幸的是,尽管存在“失败”,但没有办法告诉wget仅仅输出一个代码
0
(好吧,除了破解它)


有没有关于这个问题的想法,任何人?

您可以将这些内容包装在一个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

请尝试在shell脚本的最后一行添加
退出0
。@wildplasser您可能应该将其作为答案,而不是注释。谢谢!我会尝试!不,我不会为此扩展路径,我只会将其称为/usr/bin/wget或在另一台机器上,/usr/local/bin/wget。crontab还允许我使用完整路径“不是吗;-)
PATH=/opt/bin:$PATH; export PATH