Rsync仅更新文件

Rsync仅更新文件

我执行了从远程到本地的 rsync。现在我想更新已更改或较新的文件。如何使用 rsync 实现此目的?

rsync -avz --progress -u -e ssh ServerName:FolderPath/FolderName LocalFolderName

它持续下载所有文件。

答案1

查看开关--update。来自man rsync

-u, --update                skip files that are newer on the receiver

编辑: -a暗示-rlptgoD,我没有考虑到这一点。正如我在评论中所说:给我们命令输出。这将显示文件是否实际被传输或只是检查更改然后被忽略。

答案2

我的做法略有不同,先创建一个 TAR 文件,包含我想在主机上备份的所有文件,然后使用 rsync 将该文件拉到备份控制器。

rsync -e ssh -av --verbose --progress --log-file=rsync.log user@host:/home/user/backups/all_backup_files.tar /cygdrive/f/_host_backups >> F:\_host_backups\log.txt

Rsync 仅复制源文件中已更改的部分。即使 TAR 文件可能非常大,如果该文件中只有一个小文件发生更改,那么这就是 rsync 传输的全部内容,备份过程几乎不需要任何时间。

答案3

我所做的就是

rsync -avz [email protected]:/remote/path /local/path

我每晚都运行它(但远程和本地交换)来运行异地备份,它传输的只是与 20 多 GB 的备份目录的差异。

我还在我的命令中加入了'--delete'来从远程删除我已经从本地删除的文件,但我在这里将其从示例中删除,以避免混淆(以及在阅读之前复制粘贴的人造成的数据丢失)

相关内容