現在、10個のホストを監視しています。 24時間ごとにディスク容量を計算し、ホスト上のファイルシステムがホストにとって重要である場合は、そのホストからディスク容量が最も多いホストに古いファイルを移動するスクリプトを作成したいと思います。
答え1
並列SSHラッパーが存在します。 CentOS7 / EPELで見つけたいくつかは次のとおりです。
名前: psh 倉庫:epel / x86_64 要約:パラレルSSHツール URL:http://code.google.com/p/parallel-ssh/ ライセンス:BSD 説明: このパッケージには、SSH および SCP に基づくさまざまな並列ツールが用意されています。 : 並列バージョンには以下が含まれます。 :o SSH : pssh :o scp:pscp :ああ核兵器:核兵器 : または rsync : prsync :o GuluGulu: GuluGulu 名前: pdsh 倉庫:epel / x86_64 要約:パラレルリモートシェルプログラム URL:https://pdsh.googlecode.com/ ライセンス:GPLv2+ 説明:Pdshは、コマンドを実行するマルチスレッドリモートシェルクライアントです。 :複数のリモートホストで並列です。 Pdshはさまざまなものを使用できます :標準「rsh」、Kerberos IV、ssh などのリモートシェルサービスです。 名前: mpsh 倉庫:epel / x86_64 要約:パラレルSSHツール URL: https://github.com/ndenev/mpssh ライセンス:BSD 説明:mpsshはパラレルSSHツールです。それがすることは、多くのホストに接続することです。 処置:ホストファイルに割り当て、すべてのホストで同じコマンドを実行します。
したがって、このスクリプトを使用して、SSHを介してリモートシステムからディスクスペースを照会し、クリーンアップし、ターゲットとして使用するシステムを評価できます。
答え2
これにより、指定されたホストのリストからスクリプトが並列に実行されます。
declare -a CLEANUP
for host in host1.example.com host2.example.com; do # the list can be as long as you need
OUTPUT="/tmp/${host}.out"
ssh "$host" '/path/to/script' > "$OUTPUT" &
CLEANUP+=("$OUTPUT")
done
trap 'rm -fr "${OUTPUT[@]}"' EXIT
# How to parse the output files is an exercise I leave to you