Embora diferentes snapshots montados funcionem, parece que pode ser terrivelmente lento em muitos casos.
Existe funcionalidade específica do btrfs para diferentes snapshots? (Não foi possível encontrar nenhum documento)
filesystems
diff
btrfs
Catskul
fonte
fonte
A
contendoa
, escrevab
em seu instantâneo e depois altere-o novamente paraa
, o arquivo não foi realmente alterado.Respostas:
Parece que você está procurando por envio / recebimento de btrfs , que aparecerá no Linux 3.6. O
send
comando cria um arquivo de log das diferenças entre dois instantâneos, e oreceive
comando aplica as alterações de um arquivo. Observe que o envio / recebimento usa um formato de arquivo personalizado, para que o arquivo não seja exatamente como, digamos, diff ou tar.fonte
Estou executando o Debian stable que não possui
btrfs send
, então procurei uma solução usandobtrfs subvolume find-new
.Se você possui o snapshot1 e o snapshot2 e deseja saber o que mudou no posterior, o snapshot 2, desde que o snapshot1 foi criado, você pode usar o script abaixo, que fornece
que listará todos os arquivos alterados no newsnapshot / from oldsnapshot /.
Para explicar:
btrfs subvolume find-new
localiza arquivos alterados após uma 'geração' específica de instantâneo. Ele também relata o número da geração atual.Ressalvas
por exemplo, tire o instantâneo diário de um caso de subvolume:
O que mudou entre snap1 e snap2?
Portanto, podemos ver o novo arquivo, o arquivo modificado, mas a exclusão não é relatada . Isso ocorre porque o comando reporta arquivos que existem, não arquivos que agora não existem.
O que mudou entre o snap2 e o subvolume ao vivo?
o arquivo renomeado não é relatado . Seus dados não foram alterados.
Agora, e se adicionarmos dados ao arquivo renomeado
OK, faz sentido. Mas vamos fazer um novo arquivo
Eh! onde está o lala? . Se você adicionar outro arquivo, será
lala
exibido. Portanto, esse comportamento é um pouco estranho. Provavelmente, é por isso que o wiki diz:No entanto, a estranheza ocorre quando você compara um subvolume ativo com um estado anterior, e não quando você compara instantâneos (somente leitura). Portanto, isso ainda pode ser útil, a menos que você também deseje identificar arquivos excluídos.
fonte
Isso é suportado pela ferramenta de conveniência de captura instantânea
snapper
.sudo snapper -c config diff 445..446
É claro que isso exige que você esteja usando
snapper
para seus instantâneos.Os IDs deste instantâneo podem ser encontrados usando
snapper list -a
. Infelizmente, no momento em que escrevi, o snapper não suportava instantâneos da lista para uma única configuração, embora esses números possam ser encontrados nos nomes dos subvolumes.fonte