2010-11-17 153 views
2

rsync可以使用日期过滤器来完成,以便只传输比某个日期更新的文件?现在,我使用Applescript来执行rsync,它只是备份远程目录中的所有文件,而不管修改日期。如果rsync的不能做的日期过滤本身,使用AppleScript日期过滤是可以接受的...带日期过滤器的rsync

摘录当前脚本:

do shell script ("rsync -av -f \"+ *.fid\" -f \"- /*\" [email protected]" & server & ":/home/" & user & "/ ~/Documents/" & user & "/RawNMRs/") 

谢谢!

+0

你能进一步解释一下你的“的意思日期过滤“?此外,你从哪里得到的日期和他们是什么格式? – 2010-11-17 14:30:25

+0

例如,我只想传输上个月已修改的文件。我希望有一种方法可以使用文件的时间戳(文件位于Linux服务器上)。 – 2010-11-18 10:55:22

+0

请注意,您可以通过缩进四个空格将代码行格式化为代码。编辑器工具栏中的“101 \ n010”按钮可以为您做到这一点。单击编辑器工具栏中的橙色问号以获取更多信息和格式化提示。 – outis 2010-12-11 14:24:16

回答

3

我偶然发现了一个基于Server Fault的查找和管道参数的答案。我还发现一个更好的替代方法来解决我的具体备份问题,但我想我会离开这里工作日期过滤的rsync的人谁的兴趣:

ssh [email protected] "touch -d '2010-12-01 00:00:00' timestampfile" 
ssh [email protected] "find ./*.fid/ -maxdepth 1 -newer timestampfile -print0" | rsync -av --files-from=- [email protected]:/home/user/ ~/Documents/user/RawNMRs/