![我想 rsync 一个目录,但由于文件大小需要将执行分成两半...实现这一目标的最佳方法是什么?](https://linux22.com/image/212064/%E6%88%91%E6%83%B3%20rsync%20%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E9%9C%80%E8%A6%81%E5%B0%86%E6%89%A7%E8%A1%8C%E5%88%86%E6%88%90%E4%B8%A4%E5%8D%8A...%E5%AE%9E%E7%8E%B0%E8%BF%99%E4%B8%80%E7%9B%AE%E6%A0%87%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我在外部硬盘上有一个目录 A。假设它是 80GB。我的本地硬盘有 60GB 可用空间。我使用云提供商来备份内容,但云提供商必须安装到我的物理硬盘上(据我所知,这是普遍推荐的,因为如果您的外部断开连接,云提供商软件将会崩溃)。我想简单地对文件进行 rsync。但由于这太大了,我必须先发送超过 60GB 的数据,然后再发送其余的数据。这个问题是如何最好地实现这一目标。
我可以想到如何实现这一目标的技巧,但我正在寻找更干净的东西。
对于上下文,在本例中,A 本身包含相当数量的目录。文件大小通常很小,绝对不会接近 60GB。所以我的目标是能够在两次(或更多)次传递中 rsync 80GB 的数据。每次通过后,我都会等待云备份软件发送过来,我清除本地数据,然后发送其余的。
提前致谢
答案1
我不能说这是否是最好的方法,但它相对容易。
--max-size=SIZE
它涉及到和选项的使用--min-size=SIZE
。
使用 来设置 rsync --max-size=SIZE
。猜测一个 SIZE 参数,该参数将包含大约一半的数据。首先猜测较小的值,如有必要,以较大的猜测值重新运行 rsync,直到成功传输超过 30 GB 的数据。上传完成后,重复 rsync,但赢得一个--min-size=SIZE
选项集,其大小与第一次运行的(最终)猜测相同
祝你好运