rsync vários diretórios de origem para vários diretórios de destino

7

Eu tenho vários diretórios de origem, digamos /home/me/source1 e /mnt/somedisk/source2 . Eu quero empurrar os dois para algo como /home/someoneelse/dest1 e /home/someoneelse/dest , respectivamente. Gostaria de usar um comando rsync para isso, isso é possível?

E quanto aos diretórios N para os diretórios N, onde cada diretório é uniqe?

    
por devin 26.07.2012 / 22:43

2 respostas

5

Se você está fazendo isso com frequência, sugiro também lidar com isso por meio de scripts.

Se a raiz de destino for sempre a mesma, como: rsync /foo/blah1 /bar/ e rsync /fin/blah2 /bar/

Você pode lidar com isso com um simples Bash para loop.

for x in /foo/blah1 /fin/blah2
do
    rsync $x /bar
done

E, nesse caso, você também pode configurar loops aninhados para que várias origens possam ir para cada destino. Usamos isso como nosso sistema de backup básico em nosso escritório há anos.

    
por 27.07.2012 / 05:53
2

Se você não precisar copiar nenhum link simbólico, poderá configurar um diretório no lado de recebimento que imite o layout de diretórios no lado de envio, cada link apontando para o destino pretendido.

Uma única abordagem seria ter links simbólicos source1 e source2 no lado do recebimento e executar o processo de recebimento com --keep-dirlinks .

Se você precisar transferir links simbólicos, poderá fazer --no-implied-dirs funcionar para você. Novamente, você teria links simbólicos no lado do recebimento, mas desta vez dentro de uma estrutura de diretórios, ou seja, home/me/ seriam diretórios (dentro da pasta de destino rsync, onde você quiser) e home/me/source1 seria um link simbólico para% código%. Quando não estiver usando /home/someoneelse/dest1 , você não deve transferir --keep-dirlinks (como excluiria o link simbólico e substituí-lo por um diretório), mas todos os arquivos dentro de source1 , ou seja, source1 . Use /home/me/source1/* para corresponder também aos arquivos ocultos.

Tudo isso só é testado remotamente: sei que eu tinha algo nesse sentido trabalhando em algum momento, mas não tenho detalhes ou comandos disponíveis agora. Portanto, teste possíveis combinações, em particular, mudanças entre diretórios e links simbólicos para diretórios, antes de usar isso em uma configuração de produção.

    
por 26.07.2012 / 23:33

Tags