如何rsync知道哪些文件已更改,哪些未更改?它是否将其数据记录在文件中的任何位置?
因为我想做增量备份,但首先它会传输所有文件。
所以我的主要问题是:如果我通过 FTP 而不是通过rsync. 请问rsync仍然跳过那些已存在的文件,否则将上载在第一次运行的一切。
小智 13
Rsync 有许多标志,用于控制它将查看的内容以及将复制到目标的内容。大多数情况下使用“-a”标志,即“存档”标志,这可能是您想要的。使用“-av”标志运行 rsync 并让它对要备份的数据进行第一次运行。下次运行时,它将对文件进行块校验,并且只复制现有文件中已修改的部分,复制新文件,并删除不再存在的文件。检查“-a”选项部分:
http://linux.die.net/man/1/rsync
第一次运行将是带宽密集型的,接下来的运行很可能是处理器密集型的,但与初始运行相比使用的带宽很少。除非你的数据集有很多流失。
Rsync 不关心您如何在源目录或目标目录中获取文件,它只会复制两者之间的更改,除非您添加标志以执行不同的操作。
如果要记录更改的内容,可以使用“--log-file”选项。总而言之,这样的事情听起来像你想要的:
rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups
Run Code Online (Sandbox Code Playgroud)
rsync 不做“增量”,它更像是“差异”。它不传输更改(假设有一些先前运行的知识),它传输差异(通过将源文件与目标文件进行比较)
流程的简化:
rsync 不记录任何数据,它检查文件修改时间戳,然后检查内容。如果您首先通过 ftp 上传,那就没问题了 - rsync 不会重新传输所有数据,但可能会遍历所有内容并修复时间戳。但不会再有巨额转移。
| 归档时间: |
|
| 查看次数: |
26854 次 |
| 最近记录: |