Eu tive frustrações semelhantes, então acabei criando alguns scripts que estou chamando de snazzer . Juntos, eles oferecem snapshot, poda, medição e transporte via ssh (mas a partir de hoje também podem enviar / receber para / de sistemas de arquivos locais). As medições são apenas relatórios de sha512sum e assinaturas PGP de caminhos de instantâneo. Ainda não está pronto para lançamento, mas eu adoraria ouvir feedback se alguém tiver tempo de revisá-lo nesse estágio inicial.
Somente para CLI neste momento, mas demorei um pouco para facilitar o uso em sistemas com muitos subvolumes btrfs - normalmente, tenho subvolumes separados para /var/cache
, /home
etc., que podem precisar ser excluído do snapshot ou ter agendas de poda mais / menos agressivas.
Eu tenho medo que o algoritmo de poda tome decisões apenas sobre a presença do conjunto de capturas instantâneas e suas datas, nada está lá para manter a remoção até que uma restrição de uso de disco seja satisfeita - o que você exclui primeiro? Reduzir o número de horas por hora primeiro ou por dia? Talvez deixe cair o mais antigo, Eg. anuários? Implementações diferentes terão prioridades diferentes; e não posso saber se essa é a única camada de backup (nesse caso, você não deve abandonar os backups mais antigos no caso de obrigações legais / de seguros) ou apenas uma intermediária (nesse caso, você provavelmente terá esses anuários arquivados em algum lugar seguro em outro lugar).
Eu adicionarei suporte ao ZFS e / ou interoperabilidade em algum momento; é escrito principalmente em posix-ish shell e perl devido a um strong desejo por dependências "zero" no momento, esperamos ter uma implementação alternativa de python mais limpa mantida em paralelo em algum momento.