我正在尝试使用 rsync 保持两个对等目录同步。我遇到的问题是,在同步发生之前,可以在任一目录中添加或删除新文件。
如果其中一个目录发生删除,则 --delete 选项会删除另一个目录上的该文件(前提是该目录首先被选为目标)。否则,如果最初选择包含过期文件的目录作为源,则该文件将被复制到我们之前从中删除它的目录中。
如果在一个目录中创建了一个文件并且该目录未被选为源,那么该文件将被 --delete 选项归类为无关文件并被删除,尽管它是一个有效的添加。
有没有办法根据时间戳进行更智能的删除或排除?如果没有,那么我只能将 rsync 视为主从工具,而无法应对对等关系。
答案1
您可以根据时间戳来破解 bash 脚本,使用CURL -I
它来获取文件的头信息。
检查时间戳:
curl -I http://somesite.com/somefolders/somefile.script | grep Date: Date: Fri, 11 Feb 2011 06:24:40 GMT
将时间转换为时间戳:
date --utc --date "Fri, 11 Feb 2011 06:24:40 GMT" +%s 1297405480
使用时间戳比较文件:
if [[ time1 == time2 ]]; then curl (upload file)
我在 Dropbox 中找到了以下内容:http://davehope.co.uk/Blog/backup-your-linux-vps-to-dropbox/