View All Posts. MiCHiLU.com powered by Django ;-)

[Linux]: daemontools

daemontoolsはプログラムの起動監視、ロギングなどのツールをまとめたパッケージです。 qmailのD.J.Bernstein氏作。 つかってみよう。

via

Download and Install

$ sudo mkdir -p /package
$ sudo chmod 1755 /package
$ cd /package
$ sudo curl -O http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
$ sudo tar xzvfp daemontools-0.76.tar.gz
$ cd admin/daemontools-0.76

#### パッチを施す ####
$ diff src/error.h src/error.h.org
6c6
< extern int errno;
---
> #include <errno.h>

$ sudo ./package/install
...
Copying commands into ./command...
Creating symlink daemontools -> daemontools-0.76...
Making command links in /command...
Making compatibility links in /usr/local/bin...
Creating /service...
Adding svscanboot to inittab...
init should start svscan now.

$ ls -l /usr/local/bin
envdir -> /command/envdir
envuidgid -> /command/envuidgid
fghack -> /command/fghack
multilog -> /command/multilog
pgrphack -> /command/pgrphack
readproctitle -> /command/setlock -> /command/setlock
setuidgid -> /command/setuidgid
softlimit -> /command/softlimit
supervise -> /command/supervise
svc -> /command/svc
svok -> /command/svok
svscan -> /command/svscan
svscanboot -> /command/svstat -> /command/svstat
tai64n -> /command/tai64n
tai64nlocal -> /command/tai64nlocal

$ ls -l /command
envdir -> /package/admin/daemontools/command/envdir
envuidgid -> /package/admin/daemontools/command/envuidgid
fghack -> /package/admin/daemontools/command/fghack
multilog -> /package/admin/daemontools/command/multilog
pgrphack -> /package/admin/daemontools/command/pgrphack
readproctitle -> /package/admin/daemontools/command/readproctitle
setlock -> /package/admin/daemontools/command/setlock
setuidgid -> /package/admin/daemontools/command/setuidgid
softlimit -> /package/admin/daemontools/command/softlimit
supervise -> /package/admin/daemontools/command/supervise
svc -> /package/admin/daemontools/command/svc
svok -> /package/admin/daemontools/command/svok
svscan -> /package/admin/daemontools/command/svscan
svscanboot -> /package/admin/daemontools/command/svscanboot
svstat -> /package/admin/daemontools/command/svstat
tai64n -> /package/admin/daemontools/command/tai64n
tai64nlocal -> /package/admin/daemontools/command/tai64nlocal

$ ls /package/admin/daemontools-0.76/command
envdir     fghack    pgrphack       setlock    softlimit  svc   svscan      svstat  tai64nlocal
envuidgid  multilog  readproctitle  setuidgid  supervise  svok  svscanboot  tai64n

Install後に自動で起動する。

$ ps ax
...
/bin/sh /command/svscanboot
svscan /service
readproctitle service errors: ........

起動スクリプトの設定

/etc/rc.local

/command/svscanboot &

サービスの登録

$ cd /service
$ sudo mkdir cherokee
$ cd cherokee
$ sudo vi run_

$ cat run_
#!/bin/env sh

exec /usr/sbin/cherokee

$ sudo chmod 755 run_
$ sudo mv run_ run

サービスの起動/停止

via http://www.emaillab.org/djb/daemontools/daemontools-howto.html#chap3

$ sudo svc -u /service/cherokee
$ sudo svc -d /service/cherokee
Fri, 17 Aug 2007 16:26:13 +0900 source edit
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.
View All Posts. MiCHiLU.com powered by Django ;-)