Não falarei se você precisa ou não fazer backup dos arquivos do sistema, mas se quiser reverter todo o sistema, pode fazer algo maluco com bup e dd. Fazemos algo semelhante com nossos bancos de dados para usar recursos quase infinitos de reversão. Mas isso é obviamente em menor escala.
bup é um programa que faz o backup. É a abreviação de "backup". Você pode acredito que ninguém mais nomeou um programa de código aberto "bup" depois de tudo desta vez? Eu nem eu.
O bup tem algumas vantagens sobre outros softwares de backup:
Ele usa um algoritmo de soma de verificação contínua (semelhante ao rsync) para dividir arquivos em pedaços. O resultado mais útil disso é que você pode fazer um backup enorme imagens de disco de máquina virtual (VM), bancos de dados e arquivos XML de forma incremental, mesmo que eles estejam tipicamente em um arquivo enorme, e não usem toneladas de espaço em disco para várias versões.
Ele usa o formato packfile do git (o controle de versão de código aberto sistema), para que você possa acessar os dados armazenados, mesmo que não goste interface do usuário.
Ao contrário do git, ele grava os arquivos diretamente (em vez de ter um arquivo separado coleta de lixo / estágio de reembalagem), por isso é rápido, mesmo com gratuidade enormes quantidades de dados. melhores formatos de índice do bup também permitem que você rastrear muito mais nomes de arquivos que git (milhões) e acompanhar muito mais objetos (centenas ou milhares de gigabytes).
Os dados são "automagicamente" compartilhados entre backups incrementais sem ter para saber qual backup é baseado em qual outro - mesmo se os backups são feitos de dois computadores diferentes que nem sequer sabem sobre cada de outros. Você acabou de dizer ao bup para voltar as coisas, e economiza apenas o mínimo quantidade de dados necessária.
Você pode fazer backup diretamente em um servidor bup remoto, sem precisar de toneladas de espaço temporário em disco no computador que está sendo copiado. E se o seu backup é interrompido no meio do caminho, a próxima corrida vai pegar onde você saiu fora. E é fácil configurar um servidor bup: basta instalar o bup em qualquer máquina onde você tem acesso ssh.
O Bup pode usar a redundância "par2" para recuperar backups corrompidos, mesmo se o seu disco detectou setores defeituosos.
Mesmo quando um backup é incremental, você não precisa se preocupar restaurando o backup completo, depois cada um dos incrementais por sua vez; a backup incremental age como se fosse um backup completo, leva menos espaço em disco.
Você pode montar seu repositório bup como um sistema de arquivos FUSE e acessar o conteúdo desse jeito, e até mesmo exportá-lo sobre o Samba.
Está escrito em python (com algumas partes C para torná-lo mais rápido), por isso é fácil para você estender e manter.