rsync只复制新文件,没有更新?

我想使用rsync从远程服务器复制文件。 我想要

  • 只从服务器复制文件,不要推回去。
  • 复制不存在的文件。 如果远程文件较新,我不想复制它
  • 有它自动。 这每次都会提示我input密码,我希望它能被cron运行。 那么如何在由cron执行的bash脚本中运行它呢?

要点1和2:如何指定要复制的内容最好通过阅读rsync 联机帮助页面来解决 。 在你的情况下,特别是在–ignore – 现有的国旗。

第3点:本教程应该让你使用无密码SSH与rsync。 简介:设置无密码的ssh并使用'-e ssh'告诉rsync使用ssh而不是rsh来连接远程主机。

对于第二部分,由于pjz回答了其余部分,我相信你可以使用–ignore-existing开关来获取新文件。

来自http://www.samba.org/ftp/rsync/rsync.html

这告诉rsync跳过目标上已经存在的更新文件(这不会忽略现有的目录,否则什么都不会完成)。 另见 – 现有。 这个选项是一个传输规则,而不是一个排除,所以它不会影响进入文件列表的数据,因此它不会影响删除。 它只是限制接收方请求传输的文件。

当需要继续进行中断的备份运行时,使用–link-dest选项进行备份的用户可以使用此选项。 由于–link-dest运行被复制到一个新的目录层次结构中(当它被正确使用时),使用–ignore existing将确保已经处理的文件不会被调整(这可以避免在硬链接的文件)。 这确实意味着这个选项只查看目标层次结构本身中的现有文件。