【问题标题】:rsync with date filterrsync 与日期过滤器
【发布时间】:2010-11-17 05:22:30
【问题描述】:

可以使用日期过滤器完成 rsync,以便仅传输比某个日期新的文件吗?现在我使用 Applescript 进行 rsync,它只是备份远程目录中的所有文件,无论修改日期如何。如果 rsync 不能在本地进行日期过滤,那么使用 Applescript 进行日期过滤是可以接受的......

当前脚本的摘录:

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

谢谢!

【问题讨论】:

  • 您能否进一步解释一下您所说的“日期过滤”是什么意思?另外,您从哪里获得日期以及它们的格式是什么?
  • 例如,我只想传输上个月修改过的文件。我希望有一种方法可以使用文件的时间戳(文件位于 linux 服务器上)。
  • 请注意,您可以通过缩进四个空格将行格式化为代码。编辑器工具栏中的“101\n010”按钮为您完成此操作。单击编辑器工具栏中的橙色问号以获取有关格式设置的更多信息和提示。

标签: applescript rsync


【解决方案1】:

我偶然发现了一个基于来自Server Fault 的查找和管道参数的答案。我还找到了一种更好的替代方法来解决我的特定备份问题,但我想我会在这里为任何感兴趣的人留下一个工作日期过滤的 rsync:

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

【讨论】:

  • 这对我来说效果更好一些,因为我只想要最新的每日备份文件:... find /files/backups/s*.sql -mtime -1 -print | head -n 1 ...
猜你喜欢
  • 1970-01-01
  • 2015-08-30
  • 2014-10-20
  • 2013-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 2021-12-04
相关资源
最近更新 更多