Rsync - GVFS - Perguntas

2

Eu tenho notado alguns problemas com o rsync e .gvfs ao longo dos anos. Normalmente eu apenas --exclude=.gvfs no meu comando rsync e chamo isso um dia.

Recentemente, decidi ler o topo da página de manual do rsync para baixo, da esquerda para a direita. Afinal, qual a melhor maneira de aprender? As páginas do manual são mais rápidas que as do Google, se você me perguntar. Eu tinha notado o sinalizador -x, que foi citado para não cruzar outros sistemas de arquivos. Comecei a me perguntar o que exatamente isso significava e pensei ... seria -x também ignorar .gvfs, sendo um sistema de arquivos virtual?

Dito isso, seria:

rsync -a --exclude=.gvfs /home/jason /media/externalhdd

(seja o mesmo que)

rsync -ax /home/jason /media/externalhdd

????

    
por JaSauders 19.03.2012 / 04:36

1 resposta

2

Sim, deve ser o mesmo.

Para verificar com certeza: execute stat em seus dois diretórios: /home/jason e /home/jason/.gvfs . A saída stat mostrará uma entrada "dispositivo":

[jk@pecola ~]$ stat $HOME
  File: '/home/jk'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d  Inode: 5242881     Links: 65
Access: (0755/drwxr-xr-x)  Uid: ( 1000/      jk)   Gid: ( 1000/      jk)
Access: 2012-03-19 11:53:31.209584100 +0800
Modify: 2012-03-19 11:50:42.941630852 +0800
Change: 2012-03-19 11:50:42.941630852 +0800
 Birth: -

- é o primeiro item na terceira linha. O número é mostrado duas vezes: em hexadecimal (sufixo 'h') e em decimal (sufixo 'd').

Se esses números forem diferentes entre os dois diretórios, eles serão considerados dispositivos diferentes, portanto, a opção -x impedirá que o rsync atravesse esse diretório.

    
por Jeremy Kerr 19.03.2012 / 04:57