如何在 Linux 上文件可用时立即下载它?

如何在 Linux 上文件可用时立即下载它?

我如何在 Linux 机器上进行设置,以便当 Web 服务器上的文件返回 404 错误以外的其他错误时,它会下载该文件。我希望它在文件开始下载成功时停止检查,但如果失败仍会重试。

我曾尝试使用 wget 的 cron 作业,但似乎无法弄清楚如何让它在出现 404 错误时不创建空文件。

这可能吗?如何实现?

答案1

你可以使用 检查test -s文件是否有内容,或者直接使用 返回值wget。下载到临时文件,只有测试通过后才复制到实际输出:

$ wget -q -O /tmp/a http://localhost/nonexistent && mv -v /tmp/a /tmp/b
$ wget -q -O /tmp/a http://localhost && mv -v /tmp/a /tmp/b
‘/tmp/a’ -> ‘/tmp/b’
$

答案2

您可以编写一个 bash 脚本,该脚本将获取 URL,然后检查输出。如​​果输出包含“404”,则删除它。否则,您获得了文件,并且可以从 cron(从脚本内)中删除脚本。您也可以使用脚本语言来解决这个问题。

相关内容