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


10

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

  • 仅从服务器复制文件,而不将其撤回。
  • 复制不存在的文件。如果远程文件更新我希望复制
  • 自动。这每次都会提示我输入密码,我希望它由cron运行。那么,如何在cron执行的bash脚本中运行它?

要“具有自动功能”,该--password-file选项将向服务器提示提供密码。该文件应仅包含纯文本密码,并且不允许其他用户具有读取权限。
altmas5 2013年

Answers:


5

第1点和第2点:阅读rsync 联机帮助页,可以更好地回答如何指定要复制的内容。在您的情况下,请特别注意--ignore-existing标志。

第3点:本教程将使您开始使用带rsync的无密码ssh。摘要:设置无密码ssh并使用'-e ssh'告诉rsync使用ssh而不是rsh连接到远程主机。


我看着那个男人,我想不出什么使我只能复制新文件而不更新。

1

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

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

这告诉rsync跳过更新目标上已经存在的文件(这不会忽略现有目录,否则将无法完成任何工作)。另请参阅--existing。此选项是一个传输规则,而不是排除规则,因此它不会影响进入文件列表的数据,因此也不会影响删除。它只是限制了接收者请求传输的文件。

当需要使用--link-dest选项进行备份的人需要继续执行中断的备份运行时,此选项很有用。由于--link-dest运行已复制到新的目录层次结构中(正确使用时),因此使用--ignore existing将确保不会处理已处理的文件(这避免了对硬链接文件)。这确实意味着该选项仅查看目标层次结构本身中的现有文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.