現在、私は10台のホストを監視しています。私は24時間ごとにディスク容量を計算するスクリプトを書いて、ホストのファイルシステムが重要であれば、古いファイルをそのホストから最大のディスクスペースを持つホストに移動しますか? PuppetやAutosysについて私は知りません。私は、コーンタブを使用してスクリプトをスケジュールしていました。リモートホストへのログインにはパテを使用します。各ホストでdfコマンドを実行してから、各ホストのディスク容量を計算した後にscpでファイルをコピーするのは非常に時間がかかります。だから、Crontabとシェルスクリプトでは何もできません。同時に各ホストでdf -hコマンドを実行して、あるホストから別のホストにファイルを移動することができます。10台のホストで同時にシェルスクリプトを実行するには?
-1
A
答えて
0
私は毎日各ホスト(おそらくそれ自体さえ)のディスクをチェックし、コピーを調整する1人の "コーディネータ"ホストにcronジョブを追加します。
cronジョブは、ssh/scp/grep/sedコマンドと少しロジックで構成されるスクリプトを呼び出します。あなたが識別することができ、
avail_percent = `ssh myhost df -h /root | tail -n 1 | sed 's/.* \+\([0-9]\+\)%.*/\1/g'`
if [ $avail_percent -lt 5 ]; then
echo "myhost is critical"
fi
を同様に:
あなたは次のようにホスト名「myhostの」上(のファイルシステム)ディレクトリ「/ルート」の利用可能なディスクの割合が5%未満であるかどうかを確認することができ、開始するにはディスクスペースが十分にある(転送のためにクリティカルにならない)候補の宛先ホスト。次のように次に、ホスト2にホスト1からコピーするためにscpコマンドを使用します。 何らかの他のプロセス、ディスクへの書き込み、または[2へ[1]いっぱい先のディスクであるように考慮すべきかなりの数のエッジケースがあり scp host1:/files/to/move/* host2:/files/to/receive/.
]は、転送中に変更されるソースファイル、または[3]解決が不可能な場合の対処方法です。
可能であれば、大容量のストレージをいくつか取得してNFSを設定すると、頭痛を軽減できます。
1
Puppetのようないくつかのテクノロジーを使用して、多くのホスト上でほぼ完璧に同時にジョブを実行できます。
関連する問題
- 1. シェルスクリプト:topコマンドとdateコマンドを同時に実行する
- 2. Weblogic 10の同時実行に関する既知の問題?
- 3. nodemonを使用して2台のサーバーを同時に実行する方法
- 4. 起動時にバックグラウンドでシェルスクリプトを実行する方法は?
- 5. シェルスクリプトでsqlldrを実行するには
- 6. 複数のCGEマシンで同時にシェルスクリプトを実行するにはどうすればよいですか?
- 7. AnkhSVNでは2台のサーバーを同時に2台更新できますか?
- 8. 2つのtestNGテストメソッドを同時に実行し、同時に同じ時間に実行するタイミング?
- 9. 同じレールプロジェクトで2台のpumaサーバーを同時に実行すると、強制的にサーバの1台が強制終了しますか?
- 10. Androidスタジオでは、2台のデバイスで同時にアプリケーションを実行できないようです。
- 11. Bitnami - 1台のホストに2台のコンピュータを接続する
- 12. 同じホスト上で実行可能なplaybooksを実行する
- 13. 別のシェルスクリプトからシェルスクリプトを実行するには
- 14. Ubuntuのシャットダウン時にシェルスクリプトを実行する
- 15. Gitを使用して2台のマシンで同時にプロジェクトを実行すると、Xcode 4がクラッシュする
- 16. Tkinterで同時に2つのイメージループを実行するには
- 17. 同時にNSOperationQueueでFIFOの実行を保証するには?
- 18. 起動時にシェルスクリプトを実行する(OS X)
- 19. Pow&XAMPPを同時に実行する
- 20. Laravel:cronジョブタスクを同時に実行する
- 21. jmh:ベンチマークを同時に実行する
- 22. jqueryイベントを同時に実行する
- 23. JUnitテストケースを同時に実行する
- 24. Visual Studioで2台のコンピュータで同時に作業する
- 25. localhostとwebで同時にRubyプロジェクトを実行するには?
- 26. Makefile - サーバーの後に同時にクライアントを実行するには?
- 27. Pythonで非同期シェルスクリプトのシーケンスを実行する方法
- 28. シェルスクリプト実行の残り時間を取得する方法は?
- 29. 1台のコントローラで統合テストを実行するには?
- 30. シェルスクリプトで反復を非同期で実行する方法
"cron"は明白な選択です:http://www.linuxweblog.com/crotab-tutorial。しかし、覚えておいて、 "最大のディスクスペースを持つ"ホストがスクリプト実行中に* CHANGE *するかもしれないことを覚えておいてください... – paulsm4
'cron'に加えて、' ntp'を使ってすべての時間を同期させます10台のマシン。 – Teddy
これは奇妙なプロセスのように聞こえます。今日はhostAからhostBにファイルを移動します。明日、hostAには空き領域が増えますので、*同じ*ファイルをhostBからhostAに移動してください。私は誤解していると思います。 –