我使用 rsync 将内置硬盘克隆到外部磁盘。我的系统是 Arch Linux。
我有两个分区:
- /
- /数据
我正在使用以下 rsync 命令:
rsync -avzxt --progress --delete --exclude="/mnt/" --exclude="/media/" / /mnt/backup/bakmir02/
(实际上我还有一些排除项,例如 tmp 等,但我删除了其中的大部分以便能够定位错误,所以仅仅出于测试目的——我稍后会重新添加它们)
它按预期复制了根目录;但它忽略了我的数据分区的内容。它在目标驱动器上创建了目录,但目录仍为空。
原因似乎不是排除,因为我已经删除了除蒙脱石和媒体不太适合克隆的目录...
这种奇怪行为的原因是什么?我已经在许多系统上使用 rsync 进行备份,从未遇到过这样的问题。
编辑 跑步
rsync -avzxt --progress --delete /data /mnt/backup/bakmir02/
正在工作。但我仍然不明白这种行为的原因;特别是我在想 rsync 是否也忽略了其他文件。
答案1
问题在于参数 -x,它是参数 --one-file-system 的别名。该参数阻止 rsync 复制安装在应复制位置的其他分区。