Shellはscpを使用して複数のサーバーからデータを抽出します。

Shellはscpを使用して複数のサーバーからデータを抽出します。

私はシェルの世界に初めてアクセスし、300を超えるサーバーからファイルをインポートする簡単なスクリプトを書いています。以下のように作成すると、一度に300個のサーバーにすべてログインしてファイルを抽出するか、1つずつ抽出するようになります。また、ユーザーにパスワードのないログインを提供することもできます。$ usernameでユーザーに言及するか、別のスクリプトを作成する必要があります。

#!/bin/bash
cd /backup
for server in $(cat server.txt)
do
scp -r  $username@$server:/tmp/backup/*.txt* .
done

ベストアンサー1

このように書いたら、一つずつ見てください。

parallel並行して実行するには、見てください(パッケージをインストールする必要があるかもしれません)。また、一度に300のジョブをすべて実行せずに、同時実行数を制限してください。それ以外の場合は、全体の操作が遅くなります。

パスワードなしでログインできます。 SSHキーペアを作成し、それを実行するマシンに秘密キーを入力し、複製するすべての300マシンに公開scpキーを入力する必要があります。~/.ssh/authorized_keysキーが正しい位置にある場合、スクリプトを変更する必要はありません。

おすすめ記事