Estou me preparando agora para mover minha instalação do Ubuntu 16.04 para um novo laptop. Este é o script que eu usarei para backup:
#!/bin/bash
# NAME: full-backup
# PATH: /usr/local/bin
# DESC: Full system backup - must call with SUDO
# DATE: July 16, 2017. Modified Oct 17, 2017.
apt autoclean # reduces size of /var/cache/apt/archives
cd /tmp # tar must be created in directory not backed up.
time tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/media \
--exclude=/usr/src/linux-headers* \
--exclude=/home/rick/.cache \
--exclude=/var/log \
--exclude=/var/run/ \
--exclude=/run
Alguns dos meus scripts terão que ser alterados após a restauração. Por exemplo, eu tenho um script para dd
que garante que os dados não são gravados em /dev/sda
, /dev/sdb
ou /dev/sdc
. O novo laptop tem PCIe NVMe SSD, onde a convenção de nomenclatura do Linux é /dev/nvme0n1
. Após a restauração, tornarei esse script de wrapper não executável, para que ele não seja executado e o dd
original seja executado.
Outro exemplo é um script que redefine o adaptador de rede ao retomar da suspensão. O novo laptop provavelmente terá um driver de rede diferente. Após a restauração, comentarei o carregamento dos nomes dos drivers antigos e deixarei a máquina suspender / retomar sem modificações.
Os cabeçalhos do Linux, que são necessários pelo DKMS para compilar drivers personalizados, não estão incluídos no backup. Provavelmente vou remover todos os DKMS do novo laptop e depois instalá-lo mais tarde, se precisar de um driver personalizado.
Finalmente, antes de restaurar a tabela da unidade /etc/fstab
precisa ser salvo e depois copiado de volta após a restauração.
O tamanho do arquivo de backup compactado é de 6 GB, incluindo todos os arquivos /home
, que incluem não apenas scripts, dados e documentos, mas também arquivos de configuração para todos os aplicativos.