ファイルのリストがあります:/location/file.txt
文書の内容:
/location1/file2.abc
/location2/location3/file1.abc
/location4/location5/fileX.cde
次のようにファイルを別のサーバーにコピーしたいと思います。
cat /location/file.txt | xargs -i scp {} user@server:/location
しかし、上記の例では、リスト内のすべてのファイルが特定の場所にコピーされ、同じ場所(txtファイル/location1/、/location2/location3/などの正確なパス)にコピーしたいと思います。
どうすればいいですか? rsyncを使用することもできますが、(リモートサーバー用)パスワードを一度だけ入力したいと思います。
答え1
rsync -av --files-from=/location/file.txt / user@server:/location/
/location1/file2.abc
これにより、ローカルファイルが背中にコピーされます/location//location1/file2.abc
。
rsync
一度だけ呼び出されるので、ssh
パスワードは一度だけ入力できます。ただし、SSHキーを使用して調査することもできます。