Você pode usar tar
. O tar é gratuito e pode ser usado em um sistema em execução para backup e restauração. Eu usei-o para restaurar com sucesso a um sistema em execução (mas instável). Para o Ubuntu, há um tutorial muito bom aqui sobre como usá-lo para backup e restauração em muitos cenários diferentes.
Aqui está um exemplo de como criar um backup completo:
tar -cpzf /path/to/backup.tar.gz --exclude=/tmp --one-file-system /
-cpzf
cria um novo tarball compactado e preserva todas as permissões de arquivo
--one-file-system
não faz backup de pontos de montagem e diretórios que não são arquivos como / dev
Para melhorar a velocidade de arquivamento, você pode canalizar a saída do tar através de pigz
, que usará todos os seus núcleos em paralelo para compactar o arquivo. Você pode precisar instalar o pigz usando apt-get
.
Aqui está um exemplo de como criar um backup completo usando o pigz:
tar -cpf - --exclude=/tmp --one-file-system / | pigz > /path/to/backup.tar.gz
Para restaurar, execute isto enquanto estiver logado como root em um sistema em execução:
cd /
tar -xpzf /path/to/backup.tar.gz
Para restaurar a partir do livecd:
cd /media/ubuntu/your_old_drive
tar -xpzf /path/to/backup.tar.gz --numeric-owner
--numeric-owner
restaura a propriedade do arquivo sem traduzir o ID do usuário (muito importante ao restaurar de um live cd)