daemontoolsでログ記録とプロセス管理
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
*daemontoolsを使うメリット [#tcc85d56]
-syslogと異なりログが確実に取れる
-ログの容量を監視してくれる。ログのローテーションは日付で...
-サービスの追加・削除が簡単にできる。システム起動時に自動...
-サービスを監視するためのロックファイルを作らなくて済む
-デーモンのPIDを直接調べなくてもシグナルが送れる。daemont...
-起動するデーモンごとにlimitがかけられる。これにより、メ...
参考 http://www.unixuser.org/%7Eeuske/doc/daemontools/myf...
*インストール [#febfdfad]
http://cr.yp.to/daemontools/install.html から daemontools...
# mkdir -p /package
# chmod 755 /package
# chmod +t /package
# cd /package
# tar xvpfz /usr/local/src/daemontools-0.76.tar.gz
# cd admin/daemontools-0.76
# ./package/install
RedHat9でエラーが出る場合はパッチをあててみよう~
http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/~
これで以下のものができる
-新たに作成されるディレクトリ~
/service~
/command
-作成されるファイルおよびそのシンボリックリンク~
/package/admin/daemontools/command/下に実行ファイル~
/command/下にそのシンボリックリンク~
/usr/local/bin/下にさらにシンボリックリンク
また、/etc/inittabファイルの末尾に次の1行が追加される
SV:123456:respawn:/command/svscanboot
*インストールの確認 [#b82a62e6]
# ps ax | grep svscan
以下のように表示されればOK
24886 ? S 0:00 /bin/sh /command/svscanboot
24888 ? S 0:00 svscan /service
24957 pts/2 S 0:00 grep svscan
日付処理の確認~
下のように左と右で同じならばOK
# date | tai64n | tai64nlocal
2002-07-05 11:44:24.382558500 2002年 7月 5日 金曜日 11:4...
# date | sh -c 'multilog t e 2>&1' | tai64nlocal
2002-07-05 11:44:37.138256500 2002年 7月 5日 金曜日 11:4...
*rcスクリプトの置き換え [#oc62af40]
新規にsuperviseでプロセスを起動したい場合、/serviceディレ...
# mkdir -p /var/qmail/services/qmail/log
# chmod +t /var/qmail/services/qmail
runスクリプトを作成
# vi /var/qmail/services/qmail/run
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec /var/qmail/rc
# vi /var/qmail/services/qmail/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/mult...
multilogのtオプションはTAI64N形式のタイムスタンプを付ける...
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/mult...
(ファイルサイズは4096〜16777215の間で指定)
# chmod +x /var/qmail/services/qmail/run
# chmod +x /var/qmail/services/qmail/log/run
/var/qmail/rcの編集
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by ...
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail
&color(red){splogger qmail の部分を削除};
ログ出力先の作成
# mkdir /var/log/qmail
# chown qmaill.nofiles /var/log/qmail
# chmod 700 /var/log/qmail
シンボリックリンクを張ってqmailの起動
# /etc/rc.d/init.d/qmaild stop
# ln -s /var/qmail/services/qmail /service/qmail
起動確認
# svstat /service/qmail
/service/qmail: up (pid 27228) 287 seconds
# svstat /service/qmail/log
/service/qmail/log: up (pid 25310) 769 seconds
uptimeが0や1を繰り返している場合は起動に失敗しているので...
*qmail-smtpdの置き換え [#v4e1b4d8]
# mkdir -p /var/qmail/services/smtpd/log
# chmod +t /var/qmail/services/smtpd
runスクリプトを作成
# vi /var/qmail/services/smtpd/run
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
tcpserver -H -R -v -u qmaild -g nofiles -x /etc/tcp.smtp...
0 smtp /var/qmail/bin/qmail-smtpd 2>&1
tcpserverのオプション参考サイト~
http://www.emaillab.org/djb/tcpserver/options.html
# vi /var/qmail/services/smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmails /usr/local/bin/mult...
# chmod +x /var/qmail/services/smtpd/run
# chmod +x /var/qmail/services/smtpd/log/run
ログ出力先の作成
# mkdir /var/log/smtpd
# chown qmails.nofiles /var/log/smtpd
# chmod 700 /var/log/smtpd
シンボリック作成と起動確認
# ln -s /var/qmail/services/smtpd /service/smtpd
# svstat /service/smtpd/
/service/smtpd/: up (pid 27345) 4 seconds
# svstat /service/smtpd/log
/service/smtpd/log: up (pid 27346) 8 seconds
*qmail-pop3dの置き換え [#ybfa68cd]
# mkdir -p /var/qmail/services/pop3d/log
# chmod +t /var/qmail/services/pop3d
runスクリプトを作成
# vi /var/qmail/services/pop3d/run
qmail単体で使っている場合
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サ...
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
vpopmailを使っている場合
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サ...
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Mai...
# vi /var/qmail/services/pop3d/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmailp /usr/local/bin/mult...
# chmod +x /var/qmail/services/pop3d/run
# chmod +x /var/qmail/services/pop3d/log/run
ログ出力先の作成
# mkdir /var/log/pop3d
# chown qmailp.nofiles /var/log/pop3d
# chmod 700 /var/log/pop3d
シンボリック作成と起動確認
# ln -s /var/qmail/services/pop3d /service/pop3d
# svstat /service/pop3d
/service/pop3d: up (pid 27404) 5 seconds
# svstat /service/pop3d/log
/service/pop3d/log: up (pid 27405) 10 seconds
*プロセスの停止と起動 [#u12ec1f0]
qmail-pop3dを停止する場合
# svc -d /service/pop3d
# svstat /service/pop3d
/service/pop3d: down 2 seconds, normally up
qmail-pop3dを起動する場合
# svc -u /service/pop3d
停止していてもサーバーを再起動させるとまた動いてしまうの...
# touch /service/pop3d/down
すでにプロセスが立ち上がっている場合はsvcコマンドで停止す...
*プロセスの削除 [#vbd8ba02]
サブディレクトリを削除して再起動すればOKだが、そりゃでき...
サービスの停止
# svc -d /service/pop3d/log
# svc -d /service/pop3d
サービスのサブディレクトリの名前変更
# mv /service/pop3d /service/.pop3d
superviseを終了させる
# svc -x /service/.pop3d/log
# svc -x /service/.pop3d
確認して以下のようなメッセージが出ればOK
# svstat /service/.pop3d
/service/.pop3d/log: supervise not running
*記録されたログの時間を読めるようにする [#a0c67f1a]
TAI64N形式で記録されているのでこれを変換する
# tai64nlocal < TAI64N形式で記録されたログファイル
#exlink
終了行:
#contents
*daemontoolsを使うメリット [#tcc85d56]
-syslogと異なりログが確実に取れる
-ログの容量を監視してくれる。ログのローテーションは日付で...
-サービスの追加・削除が簡単にできる。システム起動時に自動...
-サービスを監視するためのロックファイルを作らなくて済む
-デーモンのPIDを直接調べなくてもシグナルが送れる。daemont...
-起動するデーモンごとにlimitがかけられる。これにより、メ...
参考 http://www.unixuser.org/%7Eeuske/doc/daemontools/myf...
*インストール [#febfdfad]
http://cr.yp.to/daemontools/install.html から daemontools...
# mkdir -p /package
# chmod 755 /package
# chmod +t /package
# cd /package
# tar xvpfz /usr/local/src/daemontools-0.76.tar.gz
# cd admin/daemontools-0.76
# ./package/install
RedHat9でエラーが出る場合はパッチをあててみよう~
http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/~
これで以下のものができる
-新たに作成されるディレクトリ~
/service~
/command
-作成されるファイルおよびそのシンボリックリンク~
/package/admin/daemontools/command/下に実行ファイル~
/command/下にそのシンボリックリンク~
/usr/local/bin/下にさらにシンボリックリンク
また、/etc/inittabファイルの末尾に次の1行が追加される
SV:123456:respawn:/command/svscanboot
*インストールの確認 [#b82a62e6]
# ps ax | grep svscan
以下のように表示されればOK
24886 ? S 0:00 /bin/sh /command/svscanboot
24888 ? S 0:00 svscan /service
24957 pts/2 S 0:00 grep svscan
日付処理の確認~
下のように左と右で同じならばOK
# date | tai64n | tai64nlocal
2002-07-05 11:44:24.382558500 2002年 7月 5日 金曜日 11:4...
# date | sh -c 'multilog t e 2>&1' | tai64nlocal
2002-07-05 11:44:37.138256500 2002年 7月 5日 金曜日 11:4...
*rcスクリプトの置き換え [#oc62af40]
新規にsuperviseでプロセスを起動したい場合、/serviceディレ...
# mkdir -p /var/qmail/services/qmail/log
# chmod +t /var/qmail/services/qmail
runスクリプトを作成
# vi /var/qmail/services/qmail/run
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec /var/qmail/rc
# vi /var/qmail/services/qmail/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/mult...
multilogのtオプションはTAI64N形式のタイムスタンプを付ける...
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/mult...
(ファイルサイズは4096〜16777215の間で指定)
# chmod +x /var/qmail/services/qmail/run
# chmod +x /var/qmail/services/qmail/log/run
/var/qmail/rcの編集
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by ...
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail
&color(red){splogger qmail の部分を削除};
ログ出力先の作成
# mkdir /var/log/qmail
# chown qmaill.nofiles /var/log/qmail
# chmod 700 /var/log/qmail
シンボリックリンクを張ってqmailの起動
# /etc/rc.d/init.d/qmaild stop
# ln -s /var/qmail/services/qmail /service/qmail
起動確認
# svstat /service/qmail
/service/qmail: up (pid 27228) 287 seconds
# svstat /service/qmail/log
/service/qmail/log: up (pid 25310) 769 seconds
uptimeが0や1を繰り返している場合は起動に失敗しているので...
*qmail-smtpdの置き換え [#v4e1b4d8]
# mkdir -p /var/qmail/services/smtpd/log
# chmod +t /var/qmail/services/smtpd
runスクリプトを作成
# vi /var/qmail/services/smtpd/run
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
tcpserver -H -R -v -u qmaild -g nofiles -x /etc/tcp.smtp...
0 smtp /var/qmail/bin/qmail-smtpd 2>&1
tcpserverのオプション参考サイト~
http://www.emaillab.org/djb/tcpserver/options.html
# vi /var/qmail/services/smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmails /usr/local/bin/mult...
# chmod +x /var/qmail/services/smtpd/run
# chmod +x /var/qmail/services/smtpd/log/run
ログ出力先の作成
# mkdir /var/log/smtpd
# chown qmails.nofiles /var/log/smtpd
# chmod 700 /var/log/smtpd
シンボリック作成と起動確認
# ln -s /var/qmail/services/smtpd /service/smtpd
# svstat /service/smtpd/
/service/smtpd/: up (pid 27345) 4 seconds
# svstat /service/smtpd/log
/service/smtpd/log: up (pid 27346) 8 seconds
*qmail-pop3dの置き換え [#ybfa68cd]
# mkdir -p /var/qmail/services/pop3d/log
# chmod +t /var/qmail/services/pop3d
runスクリプトを作成
# vi /var/qmail/services/pop3d/run
qmail単体で使っている場合
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サ...
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
vpopmailを使っている場合
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サ...
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Mai...
# vi /var/qmail/services/pop3d/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmailp /usr/local/bin/mult...
# chmod +x /var/qmail/services/pop3d/run
# chmod +x /var/qmail/services/pop3d/log/run
ログ出力先の作成
# mkdir /var/log/pop3d
# chown qmailp.nofiles /var/log/pop3d
# chmod 700 /var/log/pop3d
シンボリック作成と起動確認
# ln -s /var/qmail/services/pop3d /service/pop3d
# svstat /service/pop3d
/service/pop3d: up (pid 27404) 5 seconds
# svstat /service/pop3d/log
/service/pop3d/log: up (pid 27405) 10 seconds
*プロセスの停止と起動 [#u12ec1f0]
qmail-pop3dを停止する場合
# svc -d /service/pop3d
# svstat /service/pop3d
/service/pop3d: down 2 seconds, normally up
qmail-pop3dを起動する場合
# svc -u /service/pop3d
停止していてもサーバーを再起動させるとまた動いてしまうの...
# touch /service/pop3d/down
すでにプロセスが立ち上がっている場合はsvcコマンドで停止す...
*プロセスの削除 [#vbd8ba02]
サブディレクトリを削除して再起動すればOKだが、そりゃでき...
サービスの停止
# svc -d /service/pop3d/log
# svc -d /service/pop3d
サービスのサブディレクトリの名前変更
# mv /service/pop3d /service/.pop3d
superviseを終了させる
# svc -x /service/.pop3d/log
# svc -x /service/.pop3d
確認して以下のようなメッセージが出ればOK
# svstat /service/.pop3d
/service/.pop3d/log: supervise not running
*記録されたログの時間を読めるようにする [#a0c67f1a]
TAI64N形式で記録されているのでこれを変換する
# tai64nlocal < TAI64N形式で記録されたログファイル
#exlink
ページ名: