用于移动主目录的最佳 rsync 选项

用于移动主目录的最佳 rsync 选项

我使用的是 Ubuntu 16.04 LTS 计算机,准备升级到 18.04 LTS 我想将所有/home目录(实际上只有/home/juergen)移动到我碰巧拥有的一个单独的、现在空闲的分区。

我发现了两个关于如何正确执行此操作的好教程,即

https://help.ubuntu.com/community/Partitioning/Home/Moving

和(德语)

https://wiki.ubuntuusers.de/Home_umziehen/

我完全理解它们,但对用于移动主目录数据的最佳选项集有疑问。

第一个来源推荐

sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

第二个

rsync -avxH --progress /home/ /mnt/tmp

我知道--exclude第一个来源是合理的,--progress第二个来源也是合理的,并且它们可以结合起来。但其他选择又如何呢?S(保留稀疏性)似乎很有用,因为我出于某些测试目的在我的主目录中人为生成了一些非常大的“有漏洞的文件”。H(硬链接)看起来也值得 - 或者保留硬链接可能是一个问题?X看起来也不错:因为我想保留一切,这承诺保留“扩展属性”(无论这意味着什么)。那么我应该简单地将它们全部结合起来吗?

但即便如此,也可能存在一些潜在的选择,这会有用吗?我必须承认我无法对所有这些选项得出明确的结论rsync(在我自己的备份中使用rsync -avzu)。

非常感谢您的回答!

答案1

rsync -aPHAXS source dest如果是我的话我也会这么做。但你也谈到移动它们和rsync复制,所以也许就mv足够了?

答案2

那么我应该简单地将它们全部结合起来吗?

是的。您还可以添加A,U和 ,H以便更好地衡量,因此最终结果将是sudo rsync -aXSAUH --progress --preallocate source/ destination

在我看来,这个--preallocate选项非常好,因为它可以避免文件碎片。

强烈建议比较原始文件和目标文件的校验和。至少我总是这样做以避免可能的接口错误。有多种方法可以做到这一点,包括diffcmpfind/xargs/md5sum等。


我个人会使用,e2image因为rsync无法复制文件创建时间。此外,复制图像几乎总是比复制单个文件快得多。

这是一个例子:

e2image -rap /dev/source_partition /dev/destination_partition

这些选项的含义可以在 中找到man e2imagesource_partition ro在运行此命令之前,您需要重新安装。还有其他选项:https://wiki.archlinux.org/index.php/Disk_cloning


最后,你可以删除除文件夹之外的所有内容/home/然后将新的 Ubuntu 安装到新分区中 - 这是我个人最喜欢的,因为你的数据将保持不变,并且/实际上不会占用太多空间。

相关内容