我正在尝试将快照发送到我的备份服务器。但每次我尝试进行增量备份时,我都会收到以下错误消息(-c 也会发生同样的情况):
btrfs send -p /backup/test/backup-2020-05-05_16-0 /backup/test/snapshots/backup-2020-05-05_16-1 | ssh myIP "btrfs receive /backup/test/snapshots/"
At subvol /backup/test/snapshots/backup-2020-05-05_16-1
ERROR: cannot find parent subvolume
At snapshot backup-2020-05-05_16-1
ID 325 gen 5492 top level 264 path test/snapshots/backup-2020-05-05_16-0
ID 329 gen 5496 top level 264 path test/snapshots/backup-2020-05-05_16-1
我做错了什么吗?
答案1
因为它btrfs receive
正在输出ERROR: cannot find parent subvolume
,这意味着虽然存在于发送方,但接收方文件系统上缺少 UUID(请参阅这邮件列表回复)。
您在父级中混合了时间戳和旋转数backup-2020-05-05_16-0
。如果接收方的号码后缀-0
与发送方的号码后缀内容不同,则这就是失败原因。
btrfs subvol show
会输出Received UUID
接收方目录的 a,比较双方同名目录的 UUID,发送方的 UUID 应该与接收方的 Received UUID 匹配。
脚本应避免快照目录中出现任意数字,并使用微秒时间戳或附加哈希/uuid 本身来帮助审核。使用管道时,不清楚消息来自哪里,因此稍微详细一点的错误消息也有助于确定消息的来源。