Hadoopのような複数台のマシンを相手にする作業だと一括でコマンド発行したいことがあります。 その際に各マシンにいちいちSSHでログインして作業するのは面倒です。 なのでその辺りを解決するツールが欲しくなります。 Hadoop徹底入門だとparallel-sshが紹介されています。 ただこれだとsudoがうまくいかないんですよね。 sudo: sorry, you must have a tty to run sudoと言われます。 Google Code Archive - Long-term storage for Google Code Project Hosting.によれば-xオプションつけてsshの-tオプションを渡せば良いように見えますが、 pssh -h hostlist -O "StrictHostKeyChecking=no" -x -t -A -l ユーザ -i "
Python版のCapistranoと言われて久しいFabricだけど、ドキュメント通りにやっても全く動かなかった経験があるのでずっとスルーしてきた。http://pypi.python.org/pypi/Fabric/0.9rc1http://docs.fabfile.org/0.9/PyPIに上がっている0.9というバージョンは、まずまず動くので検討する価値がある。インストールはいつも通り、 $ pip install Fabric 基本的なことFabricをインストールするとfabというスクリプトがインストールされるので、 $ fab -H localhost -f fabfile.py command> のようにして実行する。fabfile.pyは設定ファイルの名前だが、fabfile.pyという名前で設定ファイルを保存しておけば省略できる。-Hオプションはホスト名の指定。オプショ
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。
Python のデプロイツールである Fabric を普段から使っている。 で、Fabric で rsync をする場合は以下のように書く。 #!/usr/bin/env python # -*- coding: utf-8 -*- import os from fabric.api import env, run, roles, cd from fabric.contrib import project, console env.user = 'username' env.roledefs = { 'web': ['192.168.1.10', '192.168.1.11', '192.168.1.12'] } @roles('web') def rsync(): project_path = '/path/to/projects' dirname = os.path.dirname l
Fabricは指定したコマンドを各ホストで実行する実行モデルです。この場合は特にホストの指定がなかったので、全部ローカルで、一回実行することになります。 これは結構つまんないので、本当の例を見ましょう。これは最近、仕事で作ったコマンドです。Nginxサーバーでメンテ画面を出すようなコマンドです。各ロードバランサーで実行します。 from fabric.api import run, cd, abort, require, sudo, env from fabric.decorators import runs_once, roles from fabric.contrib.console import confirm ... @roles('loadbalancers') def start_maintenance(): """ メンテナンス画面に切り替える """ _production
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く