Linux 保持从远程服务器更新文件

Linux 保持从远程服务器更新文件,linux,bash,Linux,Bash,我在hostname.com/files上有一台服务器。每当上传文件时,我都想下载它 我正在考虑创建一个脚本,不断检查文件目录。它将检查服务器上文件的时间戳,并根据该时间戳下载它们 是否可以使用bash脚本检查文件的时间戳?有更好的方法吗 我可以每1小时下载服务器上的所有文件。因此,使用cron作业会更好吗?如果您有一个定期更新文件的时间间隔,是的,cron作业可能是您最好的选择。只需编写一个脚本进行检查,并每隔一小时运行一次 正如@Barmar在上面评论的那样,rsync可能是另一种选择。在c

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

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

是否可以使用bash脚本检查文件的时间戳?有更好的方法吗


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

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

正如@Barmar在上面评论的那样,
rsync
可能是另一种选择。在
crontab
中放入类似的内容,您应该设置:

# min hour      day month day-of-week user command
17 *    * * *   user  rsync -av http://hostname.com/ >> rsync.log
将从该位置的服务器抓取文件,并在每小时的第17分钟将详细信息附加到
rsync.log
。不过,现在我似乎无法从Web服务器获取文件

使用wget的另一个选项是:

wget -Nrb -np -o wget.log http://hostname.com/
如果
-N
仅重新下载比本地版本上的时间戳更新的文件,
-b
发送 后台进程,
-r
递归到目录中,
-o
指定一个日志文件。这可以从任意web服务器上工作
-np
确保它不会进入父目录,从而有效地扩展整个服务器的内容


更多详细信息通常会出现在
rsync
wget

的手册页中。使用
rsync
,它只会复制新的或已更改的文件。