Rsync puxe de / home / * / para o mesmo dir

2

Executando o seguinte comando:

/usr/bin/rsync -avuz --rsh=ssh --temp-dir=/tmp --port=55556 --rsync-path=/usr/bin/rsync REMOTEIP:/home/*/mail/ /home/*/mail > /var/log/rsync/test.log 2>&1

Resultados em rsync: mkdir "/home/*/mail" failed: No such file or directory (2)

Existe alguma maneira de usar o caminho expandido no lado local para obter o nome de usuário em vez do literal * ?

Eu só quero puxar o diretório de e-mail de todos os dirs home

    
por SavageCore 28.07.2016 / 16:46

2 respostas

3

Você só pode ter um diretório de destino. No seu caso, o destino comum é /home ou / . Portanto, para obter o caminho remoto duplicado no destino local, use a opção -R (versão longa --relative ):

... --relative REMOTEIP:/home/*/mail/ /

Você pode adicionar --no-implied-dirs para evitar que o rsync copie atributos para os diretórios fornecidos (mas não para subdiretórios). Verifique primeiro com -n para garantir que isso fará o que você espera.

    
por 28.07.2016 / 17:39
1

O seguinte também realiza, mas o meu caminho é mais limpo.

/usr/bin/rsync -avuz --rsh=ssh --temp-dir=/tmp --port=55556 --include='*/mail' --include='*/mail/**' --exclude='*/*' --rsync-path=/usr/bin/rsync REMOTEIP:/home/ /home > /var/log/rsync/test.log 2>&1

    
por 28.07.2016 / 18:23

Tags