rsync如何知道哪些文件已更改,哪些文件未更改?它是否在文件中的任何位置记录其数据?
因为我想进行增量备份,但首先它会传输所有文件.
所以我的主要问题是:如果我通过FTP而不是rsync上传初始文件.
rsync是否仍会跳过这些现有文件,否则它将在第一次运行时上传所有内容.
解决方法
Rsync有许多标志,用于控制它将查看的内容以及它将复制到目标的内容.通常使用“-a”标志,这是“存档”标志,这可能是你想要的.使用“-av”标志运行rsync并让它首先针对您要备份的数据运行.下次运行时,它将执行文件的块校验和,并仅复制已在现有文件上修改的部分,复制新文件,并删除不再存在的文件.检查“-a”选项部分:
http://linux.die.net/man/1/rsync
第一次运行将是BandWidth密集型,以下运行很可能是处理器密集型的,但与初始运行相比使用的带宽很小.除非你的数据集有很多流失.
Rsync并不关心如何获取源文件或目标目录中的文件,它只会复制两者之间的更改,除非您添加标记以执行不同的操作.
如果要记录更改的内容,可以使用“–log-file”选项.总而言之,这听起来像你想要的:
rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups