每次我运行 rsync 来备份区块链时,它都会从头开始并尝试同步整个事情,每次,即使可能只有几个块的新数据。rsync 手册页说,“它以其增量传输算法而闻名,它通过仅发送源文件和目标中现有文件之间的差异来减少通过网络发送的数据量”,但我无法弄清楚如何让它只更新已添加到区块链的新信息。由于链非常大,每天不停地复制整个东西是可笑的。rsync 可以仅备份新数据吗?如果可以,我该如何告诉它这样做?
这就是我正在使用的:
> rsync -avz --exclude-from=/exclude/file -e ssh /from/file [email protected]:/backup/file
根据这篇文章,以下属性的组合应该适合您:
在你的情况下,这将是:
对我来说,区块链只需要“附加”数据也很有意义,即添加块。
此外,
--progress
还可以添加。我相信你需要这个
--inplace
选项。通常,rsync会为每次传输创建一个新文件,并在传输成功时删除旧文件,因此任何中断仍将保持文件的一个版本完好无损。使用
--inplace
它直接写入现有文件,因此中断可能会留下不一致的文件;这就是为什么它不是默认值。