0

我有一个服务器在hostname.com/files。每当上传文件时,我都想下载它。

我正在考虑创建一个不断检查files目录的脚本。它会检查服务器上文件的时间戳,并据此下载它们。

是否可以使用 bash 脚本检查文件时间戳?有没有更好的方法来做到这一点?

我可以每 1 小时下载一次服务器中的所有文件。因此,使用 cron 作业会更好吗?

4

1 回答 1

0

如果您想定期更新文件,是的,cron 作业可能是您最好的选择。只需编写一个脚本进行检查并每隔一小时运行一次。

正如@Barmar 上面评论的那样,rsync可能是另一种选择。把这样的东西放在crontab你应该设置:

# min hour      day month day-of-week user command
17 *    * * *   user  rsync -av http://hostname.com/ >> rsync.log

将从该位置的服务器获取文件,并将详细信息附加到rsync.log每小时的第 17 分钟。不过,现在我似乎无法rsync从网络服务器获取文件。

使用的另一个选项wget是:

wget -Nrb -np -o wget.log http://hostname.com/

其中-N仅重新下载比本地版本时间戳更新的文件,-b将进程发送到后台,-r递归到目录并-o指定日志文件。这适用于任意 Web 服务器。-np确保它不会进入父目录,从而有效地爬取整个服务器的内容。

像往常一样,更多详细信息将在rsync或的手册页中wget

于 2013-06-25T02:11:39.783 回答