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.