2

我编写了一个小函数,仅当文件本地版本的大小不同时才从我的 S3 数据存储库下载文件,以节省带宽和时间。

当且仅当上次更新日期时间不同时,我想改进它以下载。我可以使用HEAD(来自 httr 包)进行检查以获取远程文件和file.info本地文件的日期时间。

但是(如预期的那样)当我下载文件的新副本时,它将 Sysdate 作为创建/上次更新时间。我需要一种方法来使用来自服务器的更新新本地副本的日期时间,包括由于不同时区引起的潜在问题

file.info 似乎无法写入文件属性。

关于我该怎么做的任何想法?

4

1 回答 1

2

我不认为你可以,即使你可以,这种方法对我来说似乎有点不可靠(例如你提到时区)。相反,我建议您依靠文件md5sum(其内容的唯一表示)来判断它何时更改:

library(tools)
if (md5sum(remote) != md5sum(local)) file.copy(remote, local)
于 2014-10-08T10:08:07.430 回答