使用 BTRFS 创建递归快照

使用 BTRFS 创建递归快照

我正在编写一个 shell 脚本(仅使用 btrfs 默认工具),它应该对所有子卷进行递归快照。我的 BTRFS 看起来像这样,每个目录都是一个子卷。该.snapshots目录中包含从父目录存储的快照。

── .snapshots
├── sub1
│   ├── .snapshot
│   └── subsub1
│       └── .snapshot
├── sub2
│   ├── .snapshot
│   └── subsub2
│       └── .snapshot
└── sub3
    ├── .snapshot
    └── subsub3
        └── .snapshot

我的问题

想象一下,在 subsub3 中添加了一个文件,并且您想要从整个 BTRFS 根创建一个新快照并将其保存在 中.snapshots,然后我看到空文件,并且仅来自直接子级。这意味着sub3/subsub3该目录中没有目录.snapshots

sudo -n btrfs subvolume list /path可以看到所有子卷,并且可以使用awk '{print $2}'所有 ID 进行过滤,但是递归的最佳方法是什么?

你能给我一个提示吗?

结果应该与 类似zfs -r,但不使用 ZFS。

相关内容