读取 2 列文件,rsync 从第 1 列到第 2 列的每一行

读取 2 列文件,rsync 从第 1 列到第 2 列的每一行

我有一个包含 2 列的文件。第 1 列包含源目录,第 2 列包含目标目录。例如:

$ cat directories.txt

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

我正在尝试编写一个简短的脚本/一个衬垫来读取该文件,并且rsync仅按行读取column1到column2。例如,它将读取directories.txt然后执行以下操作:

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

我真的很感谢任何帮助。

答案1

这可能对你有帮助,

while IFS=' ' read -r source dest
do 
    rsync -av "$source" "$dest"
done <directories.txt

答案2

尝试

< directories.txt xargs -n 2 rsync -va

相关内容