标签:
参考:
http://cr.yp.to/daemontools/install.html
daemontools用于自动重启进程。当某个关键服务进程崩溃,可以利用daemontools启动它。前提是安装并配置它。比如zookeeper服务,作为一个关键服务,崩溃后必须重启。下面介绍daemontools在RHEL6.4(el6)上的安装和用法。
首先是el6安装gcc:
# yum install gcc
# wget --no-check-certificate http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # tar zxf daemontools-0.76.tar.gz # cd admin/daemontools-0.76/ # sed -i ‘s/extern int errno;/#include <errno.h>/1‘ ./src/error.h # ./package/install
配置启动项, 把 csh -cf ‘/command/svscanboot &‘ 加入到 /etc/rc.local 末尾:
# sed ‘/$/acsh -cf \x27\/command\/svscanboot &\x27‘ /etc/rc.local # source /etc/rc.local
supervise监控一个目录(如test),test目录下有个可执行的脚本run,如果run脚本退出, 则supervise重新运行它。所以我们把启动服务的逻辑写在run脚本里,例如我监控salt-minion服务的运行情况,可以写如下的run脚本:
#!/bin/bash service salt-minion start while true do ret=`service salt-minion status|grep ‘stopped‘` if [ -z "$ret" ]; then echo ‘service is running‘ sleep 10 else echo ‘service is stopped‘ break fi done
然后执行下面的命令让supervise监控它:
# supervise ./test # svc -u ./test
标签:
原文地址:http://blog.csdn.net/ubuntu64fan/article/details/45398059