可以參考官方網站:http://cr.yp.to/daemontools。
一、安裝
1、wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar xvzf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
package/install
出現以下錯誤:
解決:這裏一種是修改文件,一種是打補丁,這裏我選擇第一種。
vim src/conf-cc
在gcc 最後加上 –include /usr/include/errno.h
重新運行:package/install 成功。
rm –f /command/*
package/install
cp –rp /admin/daemontools-0.76/command/* /command
安裝完畢。此處可以修改,我直接複製command文件過去,程序默認是軟連接過去,但是軟連接過去日誌好像有點問題,有興趣的可以測試下。
二、服務監控
創建服務目錄,並寫啓動腳本
- mkdir /service/storm_ui
- chmod +t /service/storm_ui
- cd /service/storm_ui
- touch run
- vim run
- #!/bin/bash
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/jdk1.6.0_29/bin:/usr/local/bin
- export PATH
- STORM="/opt/storm-0.6.2/bin/storm"
- sleep 10
- exec 2>&1
- exec env - PATH=$PATH /usr/bin/python $STORM ui
保存退出。
創建日誌目錄,並寫腳本
- chmod 755 run
- mkdir log
- cd log
- touch run
- vim run
- #!/bin/bash
- exec setuidgid stormd multilog t s2500000 n100 ./main
保存退出。
設置日誌目錄的權限。
- chmod 755 run
- mkdir main
- touch status
- chown –R stormd.stormd main
- chown –R stormd.stormd status
svc –u /service/storm_ui 啓動監控
測試直接Kill掉storm_ui的進程,10s鍾後會發現進程自動重啓。經過多次測試沒有發現問題。
-------------------------------------------------
svc –t /service/storm_ui 重啓監控
svc –d /service/storm_ui 停止監控
svc –u /service/storm_ui 啓動監控
上面三個是最基本的管理命令,其它的命令可以參考daemontools-man裏面的手冊。