Lista de caminhos linux que são arquivos 'virtuais'

1

Eu não sei a terminologia correta, e essa é provavelmente a razão pela qual não consigo encontrar uma pergunta relacionada aqui no Superusuário.

Eu tenho um script de backup que sincroniza meu servidor linux para um local remoto. Meu sistema não é muito grande, então faz sentido fazer backup de tudo. No entanto, alguns caminhos não fazem sentido para backup como / proc /*.

Então eu excluo do processo:

 rsync -avzh -e "ssh -p 1234" --exclude="/proc" --exclude="/tmp" /

Mas eu acho que existem mais caminhos como esse no linux. Existe uma lista em algum lugar com todos os caminhos linux com arquivos "virtuais"?

    
por Coder14 19.11.2015 / 12:31

2 respostas

1

Isso pode variar de sistema para sistema, dependendo da distribuição, do software instalado e da configuração.

Digite mount ou cat /etc/mtab em uma janela de terminal. Linhas que não iniciam com /dev/* referem-se a sistemas de arquivos virtuais de tipos. Este one-liner filtra todas as linhas que começam com o padrão acima: mount | grep -Ev '^/dev/' .

Exemplo de saída:

$ mount | grep -Ev '^/dev/'                                                                                                                                         
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)                                                                                                                           
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)                                                                                                                            
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=215485,mode=755)                                                                                                       
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)                                                                                               
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=310348k,mode=755)                                                                                                           
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)                                                                                                           
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1245520k)                                                                                                         
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) 
    
por 19.11.2015 / 13:09
2

rsync tem uma opção -x (a.k.a. --one-file-system ) que fará muito do que você deseja:

rsync -ax / <somewhere>

Isso fará backup de tudo o que existe no sistema de arquivos raiz, mas pulará tudo montado separadamente, incluindo /proc , /dev , /run , etc. Ele também irá ignorar quaisquer CDs montados, cartões SD, unidades de rede, etc.

Se a sua distro usa tmpfs para /tmp , ela também irá pular, mas caso contrário, você ainda terá que fazer isso manualmente. Da mesma forma, se sua distro não usar o udev, você precisará pular /dev manualmente também.

Por outro lado, se o seu /home residir em uma partição separada, será necessário fazer o backup separadamente, porque -x ignoraria isso também.

    
por 19.11.2015 / 15:18

Tags