2列ファイルを読み取り、1列から2列まで各行をrsyncします。

2列ファイルを読み取り、1列から2列まで各行をrsyncします。

2つの列を持つファイルがあります。列1にはソースディレクトリが含まれ、列2には宛先ディレクトリが含まれています。たとえば、

$ cat directories.txt

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

rsyncファイルを読み取り、1行ずつ列1から列2までのみ読み取る短いスクリプト/ライナーを作成しようとしています。たとえば、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

関連情報