我想使用 rsync 从远程服务器复制文件。我想
- 仅从服务器复制文件,不将任何文件推回。
- 复制不存在的文件。如果远程文件较新,我不要想要复制它
- 让它自动运行。每次都会提示我输入密码,我希望它由 cron 运行。那么如何在由 cron 执行的 bash 脚本中运行它?
答案1
答案2
对于第二部分,由于 pjz 回答了其余部分,我相信您可以使用 --ignore-existing 开关仅获取新文件。
从http://www.samba.org/ftp/rsync/rsync.html:
这告诉 rsync 跳过更新目标上已存在的文件(这不会忽略现有目录,否则将不会执行任何操作)。另请参阅 --existing。此选项是传输规则,而不是排除规则,因此它不会影响进入文件列表的数据,因此也不会影响删除。它只是限制接收方请求传输的文件。
当使用 --link-dest 选项进行备份的用户需要继续中断的备份运行时,此选项非常有用。由于 --link-dest 运行被复制到新的目录层次结构中(正确使用时),使用 --ignore established 将确保已处理的文件不会被调整(这避免了硬链接文件的权限更改)。这意味着此选项仅查看目标层次结构本身中的现有文件。