estou fazendo instantâneos incrementais btrfs
usando btrfs send
ebtrfs receive
supondo que eu comece de um instantâneo inicial snapshot_0
e send
os dados para um arquivo
$ sudo btrfs send snapshot_0 -f snapshot_0.data
em seguida, faça algumas alterações, crie um novo instantâneo snapshot_1
e tire um instantâneo diferencial ao longo das linhas de
$ sudo btrfs send -p snapshot_0 snapshot_1 -f snapshot_0-1.data
agora eu tenho os dois arquivos snapshot_0.data
e snapshot_0-1.data
. eu sei que posso usar
$ sudo btrfs subvolume show snapshot_0
$ sudo btrfs subvolume show snapshot_1
para obter o UUID
e o Parent UUID
(ou Received UUID
) dos instantâneos reais.
minha pergunta é: existe uma maneira de obter esses UUID
s de meus arquivos de dados snapshot_0.data
e snapshot_0-1.data
?
atualização: acabei de encontrar Design Notes em Send/Receive .
2ª atualização: btrfs-snapshots-diff.py
[github.com] pode fornecer exatamente isso; investigando...
(também postei a pergunta em unix.stackexchange.com ).
a partir do código de btrfs-snapshots-diff.py [github.com] consegui fazer um script adaptado às minhas necessidades. eu posso usá-lo desta forma para obter o
uuid
s:com a classe
BtrfsStream
abaixo.Fiz algumas modificações no código original:
contextmanager
para usá-lo em umwith
satemento código usado é então: