将所有文件从 /home 备份文件夹移动到不同驱动器上的新 /home 分区的最佳方法

将所有文件从 /home 备份文件夹移动到不同驱动器上的新 /home 分区的最佳方法

我的安装将 /home 文件夹放在 / 中。我想添加一个单独的 /home 分区,因此我在另一个驱动器上创建了一个小型备份分区,将其添加到 /etc/fstab,然后使用rsyncwith-aXS将我的旧 /home 文件夹移动到这个新分区。然后我使用 /home 分区进行了全新安装。现在我想将我的文件从旧的 /home 文件夹移回新的 /home 目录。最好的方法是什么?

我尝试过的:sudo rsync -aXS /home_backup/. /new_home_partition/.按照本指南

这会将旧的 /home 文件夹本身复制到 /home 分区(即创建了 /home/home),这不是我想要的。我想我可以运行相同的命令,但针对的是备份文件夹内的子文件夹,而不是文件夹本身。这是最好的方法吗?

我看见这个类似的问题,但据我了解,cp它不会保留权限和链接等信息。我还看到了这个问题,但我不知道如何使用 tarball(我不确定 OP 的情况是否相同)。任何帮助都将不胜感激,因为我绝不是专家!

PS 在将备份文件复制到新的 /home 分区之前,从该分区中删除所有文件的最佳命令是什么?

编辑:看起来我能够解决这个问题,但我仍然不知道发生了什么(在下面添加了一条评论)。

答案1

rsync是制作目录结构相同副本的合适工具。要使用 保留权限rsync,请使用a选项。使用选项-H-A和可以更完整地保留原始属性-X(请参阅man rsync以了解它们的作用)。-a出于性能原因,这些未包含在选项中。您可以根据需要添加它们。例如,如果您大量使用硬链接,您将需要添加选项-H以将源中的硬链接项目保留为目标中的一个文件。

相关内容