pssh で複数サーバーに ssh, scp, rsync
マカーなら csshx 使いましょう。
それか Rake タスク書くとか。
以上。
物好きな方は以下お読みください。
★ ★ ★ ★ ★
複数のサーバーに対して ssh, scp, rsync を実行できる pssh についてまとめてみました。
環境
- Amazon Linux AMI 2014.03.2 (PV) - ami-25dd9324
pssh に関わる設定
未知のホストに対する接続の可否を聞かれたくない場合は ~/.ssh/config に以下を追記します。
host * StrictHostKeyChecking no
pssh の使い方
並列に SSH
- 1 台
sudo -u go pssh -H server001 -i uptime [1] 12:26:37 [SUCCESS] server001 12:26:37 up 41 days, 1:43, 0 users, load average: 0.82, 1.08, 1.11
- 2 台
sudo -u go pssh -H server001 -H server002 -i uptime [1] 12:27:08 [SUCCESS] server001 12:27:08 up 41 days, 1:44, 0 users, load average: 0.92, 1.07, 1.10 [2] 12:27:09 [SUCCESS] server002 12:27:09 up 63 days, 25 min, 0 users, load average: 0.66, 1.15, 1.05
- 複数台
sudo -u go pssh -h /var/pssh/server.list -i uptime [sudo] password for go: [1] 12:54:42 [SUCCESS] server011 12:54:42 up 138 days, 16:10, 0 users, load average: 14.40, 15.67, 15.12 [2] 12:54:42 [SUCCESS] server012 12:54:42 up 138 days, 16:10, 0 users, load average: 11.74, 13.49, 13.91 [3] 12:54:42 [SUCCESS] server013 12:54:42 up 138 days, 16:10, 0 users, load average: 17.12, 16.61, 15.69 [4] 12:54:42 [SUCCESS] server014 12:54:42 up 138 days, 16:10, 0 users, load average: 17.23, 15.45, 14.73 以下略
pscp
parallel scp
$ pscp -h [リストファイル名] -l [コマンド実行ユーザ名] [ローカルのファイルパス] [リモートのファイルパス]
例) crontab 設定用のファイルを各サーバーに配り,crontab 更新
$ pscp -h /var/pssh/server/server.list -l go /home/go/server_go_cron /tmp/server_go_cron $ pssh -h /var/pssh/server/server.list -l go crontab /tmp/server_go_cron
prsync
parallel rsync
$ prsync -h [リストファイル名] -l [コマンド実行ユーザ名] [ローカルパス] [リモートパス]
rsync のオプションがすべて使えるわけではなく,オーナーなどをそのまま同期できないため,pssh と rsync を組み合わせる方法の方がよいです。
$ pssh -h server.list -l root "rsync -navzHe ssh --delete 【pssh実行ホスト名もしくはIPアドレスを指定】:【同期するファイルパス】【 同期先のファイルパス】"
例) server001 の /tmp/pssh を server001 の /tmp/pssh と同期
$ pssh -H server001 -l dsp "rsync -avzHe --dry-run --delete -e ssh dsp@server001:/tmp/pssh /tmp" 最初は確認のために必ず dry-run を付けましょう。
注意) 対向のサーバーから server001 へ nopass で ssh できるようになっておくのが前提です。
ちなみに私が管理しているサーバー群は AWS 上に配置されているので、サーバーリストは自動更新するようにしてあります。
- 作者: 木本雅彦,松山直道,稲島大輔
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/03/25
- メディア: Kindle版
- この商品を含むブログ (5件) を見る
- 作者: 大角祐介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/06/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る