Você pode usar:
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /
Explicação:
c
- cria um novo arquivo de backup.
v
- modo detalhado, tar imprime o que está fazendo na tela.
p
- preserva as permissões dos arquivos colocados no arquivo para restauração posterior.
z
- compacta o arquivo de backup com 'gzip' para torná-lo menor.
f
- especifica onde armazenar o backup.
--exclude=/example/path
- As opções seguindo este modelo instruir tar quais diretórios não fazer backup. Não queremos fazer backup de tudo, pois alguns diretórios não são muito úteis para incluir. A primeira regra de exclusão faz com que o tar não se recupere, isto é importante para evitar erros durante a operação.
--one-file-system
- Não inclui arquivos em um sistema de arquivos diferente.
Se você deseja outros sistemas de arquivos, como uma partição /home
ou mídia externa montada em /media
backup, é necessário fazer backup deles separadamente ou omitir esse sinalizador. Se você omitir esse sinalizador, precisará adicionar vários outros argumentos --exclude=
para evitar os sistemas de arquivos que não deseja. Esses seriam os diretórios /proc
, /sy
s, /mnt
, /media
, /run
e /dev
na raiz. /proc
e /sys
são sistemas de arquivos virtuais que fornecem janelas para variáveis do kernel em execução, portanto, você não deseja tentar fazer backup ou restaurá-los. /dev
é um tmpfs
cujo conteúdo é criado e excluído dinamicamente por 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.