Como rsync apenas uma lista específica de arquivos para o mesmo local em outro servidor

3

Eu tenho uma lista de arquivos: /location/file.txt

Conteúdo do arquivo:

/location1/file2.abc
/location2/location3/file1.abc
/location4/location5/fileX.cde

Gostaria de copiar arquivos para outro servidor assim:

cat /location/file.txt | xargs -i scp {} user@server:/location

mas no exemplo acima todos os arquivos da lista estão copiando para um local específico, enquanto eu gostaria de copiá-los para os mesmos locais (caminho exato como no arquivo txt / location1 /, / location2 / location3 / etc .

Como posso fazer isso? Eu também posso usar o rsync, mas gostaria de digitar a senha (para o servidor remoto) apenas uma vez.

    
por Qmski 12.05.2015 / 15:15

1 resposta

3

rsync -av --files-from=/location/file.txt / user@server:/location/

Isso copiará o arquivo local /location1/file2.abc para /location//location1/file2.abc etc.

Como rsync invocará ssh apenas uma vez, você só precisará inserir a senha uma vez. Você pode querer investigar usando chaves ssh embora.

    
por 12.05.2015 / 15:46

Tags