Lê o arquivo com 2 colunas, rsync cada linha da coluna 1 para a coluna 2

3

Eu tenho um arquivo com duas colunas. A coluna 1 tem o diretório de origem, a coluna 2 tem o destino. Por exemplo:

$ cat directories.txt

/usr/local/myapp /root/myapp_bak
/home/steve/dir1 /root/stevedir
/etc/etc/etc /another/destination

Estou tentando escrever um script curto / um liner que leia esse arquivo e rsync column1 para column2 somente por linha. Por exemplo, ele lerá directories.txt e fará o seguinte:

rsync -va /usr/local/myapp /root/myapp_bak
rsync -va /home/steve/dir1 /root/stevedir

Eu realmente aprecio qualquer ajuda.

    
por SysAdmin Steve 02.09.2016 / 06:30

2 respostas

8

Isso pode ajudá-lo,

while IFS=' ' read -r source dest
do 
    rsync -av "$source" "$dest"
done <directories.txt
    
por 02.09.2016 / 06:41
5

Tente

< directories.txt xargs -n 2 rsync -va
    
por 02.09.2016 / 07:20