A partir da discussão, IMO, tar é a melhor ferramenta, pois preservará os links. Eu também sugiro fazer isso de um CD ao vivo. Você montaria sua partição raiz do ubuntu e gravaria nela.
Se você estiver fazendo backup de um banco de dados, use as ferramentas de banco de dados, ou seja, mysqldump
De um sistema em execução (não ao vivo usb):
OBSERVAÇÃO: revise estas exclusões antes de executar este comando, veja abaixo para detalhes.
As exclusões mínimas seriam /proc
/tmp
/mnt
/dev
e /sys
Os outros são opcionais, mas reduzirão significativamente o tamanho do seu backup
cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \
--exclude=/media \
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \
--exclude=/home/*/.local/share/Trash /
Isso comprimirá o arquivo, é totalmente portátil e está localizado em /backup.tar.gz
O que as opções significam: de link
tar - é o comando que cria o arquivo. Ele é modificado por cada carta imediatamente seguinte, cada um é explicado abaixo.
c - crie um novo arquivo de backup.
v - modo verboso, o tar irá imprimir o que está fazendo na tela.
p - preserva as permissões dos arquivos colocados no arquivo para restauração depois.
z - compacta o arquivo de backup com 'gzip' para diminuí-lo.
f - especifica onde armazenar o backup, backup.tar.gz é o nome do arquivo usado neste exemplo. Ele será armazenado na corrente diretório de trabalho, aquele que você definiu quando usou o comando cd.
O \ apenas continue o comando na próxima linha e eu adicionei-os para maior clareza.
O --exclude
deve ser evidente, mas exclui esses diretórios.
Você pode usar a opção --one-file-system
em vez de todas as exclusões para / proc, / sys, / mnt, / media, / run e / dev, no entanto, se você tiver um / boot separado ou / home (ou outro partição) você precisa adicioná-lo ao arquivo.
Você pode excluir diretórios dos quais não precisa, ou seja, não ter edições. /usr/share
ou similar.
Para ver o conteúdo, veja Como posso visualizar o conteúdo do arquivo tar.gz sem extrair da linha de comando?
Você pode ver o conteúdo do arquivo com vim / gvim e listar diferenças com zdiff
EDITAR : A partir dos comentários "Ele mostra a meio caminho mostrando: / lib / plymouth / themes / / lib / plymouth / themes / ubuntu-text / tar: /: arquivo alterado à medida que lemos depois de 10 minutos em um SSD mini-PCIe (canal Sata II). Isso levará algum tempo para ajustar "
Isso acontece porque o sistema de arquivos está em uso, portanto, se houver alterações gravadas no disco durante o tar, você obterá esses tipos de mensagens. Esse tipo de problema pode ser evitado excluindo o máximo possível o arquivo tar e / ou executando o tar de um CD / USB ativo
Além disso, a partir dos comentários, outros candidatos à exclusão são:
~ / .cache # Esses arquivos são completamente desnecessários e, na verdade, você pode recuperar a qualquer momento o espaço em disco, excluindo este diretório.
/ usr / src / linux-headers * # Novamente, uma grande quantidade de dados que você não precisa.
~ / .local / share / Trash # Revise e exclua a lixeira ou exclua este diretório
/ media # Terá, por exemplo, parções do Windows
/ var / run / user / $ USER / ... que é um link simbólico para / run, portanto, --exclude = / run também. #Isso terá dispositivos removíveis, como flash driver e dispositivos Android, portanto, provavelmente, podem ser excluídos.