rsync recursivo apenas na mesma montagem

21

Felizmente, esta pergunta simples tem uma resposta simples.

Quero executar o rsync recursivamente usando a opção -r , mas sem descer para um ponto de montagem diferente (sistema de arquivos). ou seja, como a opção -mount com o comando find , uma página de manual lê, por exemplo, “Não desça diretórios em outros sistemas de arquivos. Um nome alternativo para -xdev , para compatibilidade com algumas outras versões do find . ”

danorton
fonte

Respostas:

29

Eu acredito que você quer a -xxopção:

-x, --one-file-system
Isso diz ao rsync para evitar cruzar os limites do sistema de arquivos ao repetir. Isso não limita a capacidade do usuário de especificar itens para copiar de vários sistemas de arquivos, apenas a recursão do rsync através da hierarquia de cada diretório especificado pelo usuário, e também a recursão análoga no lado de recebimento durante a exclusão. Lembre-se também de que o rsync trata uma montagem lqbindrq no mesmo dispositivo como estando no mesmo sistema de arquivos.

Se essa opção for repetida, o rsync omitirá todos os diretórios do ponto de montagem da cópia. Caso contrário, ele inclui um diretório vazio em cada ponto de montagem que encontra (usando os atributos do diretório montado porque os do diretório do ponto de montagem subjacente são inacessíveis).

A razão pela qual digo -xxé devido à seção em negrito (ênfase adicionada).

nerdwaller
fonte
Obrigado. Eu devo ter passado por isso uma dúzia de vezes na página de manual. :-)
danorton
Não se preocupe, eu apenas usei a função de pesquisa ( /) e procurei "mount". Tomou alguns nexts. Que bom que funciona!
Nerdwaller 31/07