Por que não usar --files-from=
para especificar os arquivos?
rsync -avzP --files-from=file_list.txt 123.456.122.111:
Você também pode adicionar --no-relative
se quiser todos os arquivos no mesmo diretório sem o caminho completo.
Eu tenho um script e este bloco de código -
cat file_list.txt | while read line
do
rsync --dry-run -avzPs '$line' '123.456.122.111:$line'
done
O file_list.txt se parece com isso -
/some/random/directory/file_name.txt
/some/other/directory/a file name.html
.....
O problema que tenho é que o comando rsync não funcionará com o argumento $line
, devido a como --protect-args
funciona. Eu preciso ter essa opção dentro do comando porque alguns dos nomes de arquivos têm espaços neles.
No entanto, não posso usar apenas um caractere curinga e passar tudo, pois o documento de texto contém todos os caminhos e arquivos específicos que desejo transmitir. Como posso resolver isso?
Por que não usar --files-from=
para especificar os arquivos?
rsync -avzP --files-from=file_list.txt 123.456.122.111:
Você também pode adicionar --no-relative
se quiser todos os arquivos no mesmo diretório sem o caminho completo.
Você não pode usar aspas simples colocando os nomes das variáveis. Strings com aspas simples não são avaliadas.
Seu script deve ser:
cat file_list.txt | while read line
do
rsync --dry-run -avzPs "$line" "123.456.122.111:$line"
done
Tags rsync shell-script