Server.txtというファイルがあります
それがサーバーの下にあると仮定すると、より多くのサーバーが存在する可能性がありますserver1 server2 server3 server4
/ tmp /の場所にあるファイル(scpコマンドを使用してすべてのサーバー上のfile.txt)をコピーするにはどうすればよいですか。
bash
を想定:
for server in $(cat server.txt)
do
scp file.txt "$server":/tmp/
done
並列モード(帯域幅が不足し、接続を失速させ、何が成功し何が失敗したかを理解するのに苦労する可能性があるため、server.txtが大きい場合はこれを使用しないでください):
for server in $(cat server.txt)
do
scp file.txt "$server":/tmp/ &
done
wait
リクエストに応じて、パスワードをサポートするようになりました:
while read SERVER PASSWORD
do
sshpass -p "$PASSWORD" scp file.txt "$SERVER":/tmp/
done <./server.txt
入れて、server.txt
、最初のサーバーのホスト名、スペース、1行目の最初のサーバーのパスワードなど。