シェルスクリプトを使用して、2つの異なるサーバー上のファイルをコピーする必要があります。 scpユーザー名、IPアドレス、フォルダの宛先パスを試しました。
答え1
上記のようにここ小さなシェルスクリプトを書くことができます。
for dest in $(<destinations.txt); do
scp /path/to/the/file_to_copy.txt ${dest}:/remote/path/
done
destinations.txt
作成する文書を作成するだけです。すべてのラインで目的地user@host
は次のとおりです。
[email protected]
[email protected]
ターゲットパス(/remote/path/
)はスクリプトにハードコードされているため、パスは両方のサーバーに存在する必要があります。各宛先の専用パスを設定するには、スクリプトを編集し、各エントリ:/remote/path/
に対してそれらを削除して設定できますdestinations.txt
。
そうでなければ見ることができますパラレル scp
答え2
RSAを使用すると、パスワードを要求せずにファイルを送信するスクリプトを作成でき、スクリプトにパスワードを入力する必要はありません。コンピュータで実行:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
ssh-copy-id loginname@server1Ip
ssh-copy-id loginname@server2Ip
スクリプトから:
scp file loginname@server1IP
scp file loginname@server2IP
ログイン名とローカルユーザー名が同じ場合は、loginname @部分を省略できます。