0

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

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

但...

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

(CRON) error grandchild #98765 failed with error code 8

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

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

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

4

1 回答 1

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
于 2012-04-17T08:11:56.437 回答