Como eu usaria o tar para backup completo e restauração com o sistema no SSD e em casa no HDD?

8

Como eu usaria o tar para backup completo e restauração com o sistema no SSD e em casa no HDD?

As respostas de backup e restauração existentes não parecem cobrir o caso em que raiz e home estão em dispositivos separados

    
por Buildit 15.09.2014 / 20:42

1 resposta

13

É recomendável fazer DOIS backups. 1 para / e 1 para / home se estiverem em partições diferentes. Se você quiser, terá que adicionar muitas exceções a esse comando. Exemplo:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

fará backup de sua raiz e excluirá TODAS as partições montadas, como / media (você não deseja fazer backup de dispositivos externos (você realmente não o faz)) e você absolutamente NÃO deseja fazer backup de algo como / dev ou / proc. E / home vai para outro backup.

No método acima, o backup é armazenado em /. Será melhor armazená-lo em uma mídia externa; você pode colocar um diretório na frente do backup.tar.gz e soltar o --exclude=... do primeiro comando.

  • backup.tar.gz é o backup.
  • O --exclude impedirá o backup real de ser feito backup.
  • cvpzf: crie, verboso, preserve permissões, comprima, use um arquivo.

  • - um sistema de arquivos - Não inclua arquivos em um sistema de arquivos diferente. Se você quiser outros sistemas de arquivos, como uma partição / home ou mídia externa montada em / backup de mídia, será necessário fazer backup deles separadamente ou omitir esse sinalizador. Se você omitir este flag, você precisará adicionar vários argumentos --exclude = para evitar sistemas de arquivos que você não deseja. Estes seriam os diretórios / proc, / sys, / mnt, / media, / run e / dev em root. / proc e / sys são sistemas de arquivos virtuais que fornecem janelas para variáveis do kernel em execução, você não quer tentar fazer backup ou restaurá-los. / dev é um tmpfs cujo conteúdo é criado e excluído dinamicamente pelo udev, portanto você também não deseja fazer backup ou restaurá-lo. Da mesma forma, / run é um tmpfs que contém variáveis sobre o sistema em execução que não precisam de backup ( Source ).

Então ... se você realmente quiser um "one-liner", pode ser assim:

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(espero ter tudo o que precisa ser excluído)

Restaurar seria

sudo su
cd /
tar xvzf backup.tar.gz

Eu não usei sudo na frente do comando tar, pois você receberá mensagens de erro sobre permissões (por causa dos arquivos de propriedade do root).

    
por Rinzwind 15.09.2014 / 21:15