
D. J. Bernstein UNIX daemontools setlock プログラム setlock はファイルをロックして別のプログラムを起動させます。 使い方 setlock opts fn child opts は getopt 形式のオプション郡です。 fn は一つの引数です。 child は一つ以上の引数から成ります。 setlock は書き込み用に fn を開き(存在しなければ作成して)、排他ロックを適応し、child を起動させます。 通常、child が終了したときにロックは解除されます。 完全な話を書くと: child はディスクファイル fn を示しているロックされた ofile 用の記述子が与えられます。 この ofile が次のどちらかになったときにロックは解除されます: その記述子を持っている全てのプロセスによって閉じられたとき はっきりとロックが解除され
node.js なサーバデーモンの管理をしようと思い、何を使おうか検討していたのですが、この手のデファクトスタンダードである daemontools は、特定のディレクトリ構造に従わないといけなかったり、run スクリプトや log/run スクリプトを置いたりしきゃいけなかったりで、余計な作業が多くてお手軽じゃない、ってことで runit を見てみたんですが、ぱっと見 daemontools との違いがよくわからなくて、daemontools とそれほど煩雑さは変わらないように見えたので、もっとお手軽なものがないかと探していたところ見つけたのが Supervisor 。(といっても自分が知らなかっただけで以前からあるみたいですが。) Python 製で easy_install 一発でインストールできる。 $ sudo easy_install supervisor デフォルトの設定フ
D. J. Bernstein UNIX daemontools How to install daemontools Upgrading from previous versions of daemontools Frequently asked questions How to start daemontools The svscanboot program The svscan program The supervise program The svc program The svok program The svstat program The fghack program The pgrphack program The readproctitle program The multilog program The tai64n program The tai64nlocal pr
自作のサーバプログラムに、いちいち setuid とか setsid とかログローテート機能とか実装するのめんどくさいわけで。だから daemontools を使って管理してるわけですが、だったら、いっそ全部のデーモンを daemontools で一括管理したい。 ちょうど、reverse proxy をセットアップする機会があったので、apache を daemontools で管理する方法を備忘録をかねてメモ。 % cat /service/httpd/run #!/bin/sh APACHE_ROOT=/usr/local/apache-2.2.14 exec 2>&1 exec pgrphack $APACHE_ROOT/bin/httpd -DNO_DETACH -DFOREGROUND -c "ErrorLog /dev/fd/1" -c "Include /var/httpd
2005/11/28 サイオンコミュニケーションズ株式会社 大城 智博 1.はじめに 皆さんは「Webサービスが突然停止してしまった!」などの経験はありませんか? 今回はそんな時の為のサービス(デーモン)の管理ツール「daemontools」の紹介を致します。 「daemontools」は、常にサービスの監視を行い何らかの原因により異常停止した場合には、自動的に再起動する便利な機能を有しており、障害発生時に長時間サービスが停止する状態を防ぐことができます。 2.マシン環境 今回、設定するマシン環境は次のとおりです。 3.「daemontools」の設定と起動 3.1 daemontoolsのインストール portにてdaemontoolsをインストール # cd /usr/ports/sysutils/daemontools/ # make # make install # make
back このドキュメントは daemontools の基本的な仕組みを解説する目的で書きました。 以下の条件にあてまはる人なら、この文章をいっそうよく理解できます: システム管理者である。 シェルスクリプトが書ける。 親プロセスと子プロセス、シグナルなどの概念を理解している。 管理しているシステムで、どんなサービスが行われているか把握している。 管理しているシステムの起動プロセス (/etc/rc 等の内容) を理解している。 システムがなにをサービスする必要があり、なにをする必要がないのか、 はっきり理解している。 qmail や djbdns を使っている。 関連リンク djb 自身による daemontools FAQ の翻訳: daemontools FAQ, 前野さん版 詳しいインストール方法やリファレンスマニュアル (滝沢さん): daemontools HOW-TO dae
http://quox.org/tips/server/daemontools.html [ Top > Tips Collection > daemontools ] daemontoolsはデーモンを制御するためのツール群である。指定された1つの デーモンを監視するsupervise、複数のsuperviseを管理するsvscan、 superviseに指示を与えるためのコマンドインタフェースsvc、ログ収集を行 うmultilogなどから構成されている。 svscanおよびsuperviseは、デーモンの起動制御を行う。起動したデーモンの 状態を監視し、何らかの不測の原因でデーモンが停止した場合には自動的に 再開させる。また、新たに登録されたデーモンがあればそれを直ちに起動す る: svscanやsuperviseに対して明示的に指令を与える必要はない。 デーモンを登録するためには、
daemontools は qmail の作者 D.J.B. によるツール群のひとつです。 daemontools とは daemontools とは、デーモンを監視するツールのことです。 デーモンが不意にストップしたとき、それは止まったままになります。 しかし daemontools によって監視させておけば、 自動的に再起動してくれます。 また、監視のためのディレクトリを作成するので、 デーモン管理が一元化されるなどの利点もあります。 具体的には svscan というプログラムが各サービスを run (名前固定)というスクリプトで起動します。 注意事項は次の通りです。 バックグラウンドになるデーモンは管理できません。 上のため、run で走らせるプロセスは、 & を付けてバックグラウンドにしてはいけません インストール ports でインストールできます。 FreeBSD 4.8-RE
とりあえず,以下のような感じで. $ wget -nd http://www.qmailtoaster.com/download/stable/daemontools-toaster-0.76-1.3.6.src.rpm $ rpmbuild --rebuild daemontools-toaster-0.76-1.3.6.src.rpm $ rpm -Uvh daemontools-toaster-0.76-1.3.6.x86_64.rpm $ wget -nd http://www.emaillab.org/djb/daemontools/svscan $ sudo mv svscan /etc/init.d/ $ sudo chmod +x /etc/init.d/svscan $ sudo /sbin/chkconfig --add svscan $ sudo /sbin/chkc
前書き この文書は DJB 氏の daemontools パッケージに興味を持たれる方やこれから導入・運用を行おうとする方に向けて書かれたものです。daemontools パッケージの概要、導入・設定方法、使用例などをまとめています。しかし、各ツールを詳細に説明するものではありません。そのため、この文書を読んだ後に、マニュアル*1 を読んでください。日本語訳*2もあります。 また、新山さんの daemontools FAQ*3もありますのでそちらもご覧下さい。 註記 *1) "daemontools" http://cr.yp.to/damontools.html *2) "daemontools(日本語訳)" http://www.emaillab.org/djb/tools/daemontools/top.html *3) "daemontools FAQ" http://tanaka
2004.11.21新規作成。 2005.9.4更新。 daemontoolsは、サービス(デーモン)を起動したり状況を確認するツール。サービスを統一的に扱うことができる。 インストール daemontoolsは、下記から入手できる。 daemontools まずはアーカイブを展開する。結構不思議なディレクトリ構成になっている。また、コンパイル、インストール方法も一風変わっている。 展開すると、次のようなディレクトリ構成になっている。 admin/daemontools-0.76/package /src とりあえず展開して、ディレクトリ構成を調整する。 /opt/src$ tar xzvf daemontools-0.76.tar.gz /opt/src$ mv admin/daemontools-0.76 . /opt/src$ rmdir admin オリジナルそのままではコンパイル
daemontools(でーもんつーるず)は、ダニエル・バーンスタインによって開発された、Unix系OSにおけるサービス管理のためのツールのパッケージである。Unix系OSにおける、rc.d、rc.local、inittab などのinitの代替としてデーモンを起動させることができる。2007年11月よりパブリックドメインとなった。 daemontools は、Unix系OSにおけるサービスの管理作業(プロセス監視、ロギングなど)をシンプルな手法で行うための支援ツールである。たとえば、supervise というプログラムは、フォアグラウンド起動させたデーモンプロセスの監視を行い、multilog というプログラムは、パイプ経由で取りこぼしなくログの記録ができる。daemontools においては スーパーユーザー権限の絞り込みが行われるため、よりセキュアな運用が可能である。 daemont
Plack/Starman Daemontools Run File With Complete Deploy Bundle 注1:まだ本番にはデプロイしてませんが、テストでは使いました。 注2:以下スクリプトは開発者の労力を減らすためのスクリプトで、万全なデプロイ方法だとか言うわけではありません。 注3:正直シェルスクリプトは素人です。 ここ最近のアプリケーションのバンドル・デプロイについてちょっと固まりつつあるので、書いてみる まず アプリケーションと、その依存関係。デプロイ側のサーバーにはlocal::libと必要なModule::Install系のモジュール、それにModule::Install::Bundle::LocalLibがインストールされている前提です。アプリケーションの依存関係は全部Makefile.PLに書きます。 use inc::Module::Install;
2009年12月1日(火) ■ freebsd local exploit _ なんかメールきた。セキュリティまわりのいつものアナウンスとはまったく違う形式なんだけど、もう exploit code が出回ってるのでちゃんとした SA は後回しにしてとりいそぎ パッチ出すよ、ということらしい。 _ んーと、修正内容を見ると、unsetenv(3) の返り値をチェックしていないため、危険な環境変数を除去しようとして失敗してもそのまま突っ走ってしまって LD_PRELOAD からコードを注入できてしまう、ということかな。よりにもよって ld-elf.so.1 の中だし。 _ ……え、返り値ってなにそれ? unsetenv() って void を返すんじゃないの? _ 調べてみると、どうやらちょっと前(freebsd は 6、glibc だと 2.2.2)までは void だったけど、最近では成
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く