最近搭建的svn服务不知道什么原因服务总是被关闭(如果你不知道怎么搭建svn可以参考linux下搭建svn版本控制软件),因此用shell脚本实现一个守护进程。用于监控svn服务是否启动,如果服务不在则启动。
创建监控脚本svnmonit.sh
#! /bin/sh
#进程名字可修改
PRO_NAME=svnserve
PORT=58652
REP_DIR=/www/svndata
while true ; do
#用ps获取$PRO_NAME进程数量
NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l`
#echo $NUM
#小于1,重启进程
if [ "${NUM}" -lt "1" ];then
echo "${PRO_NAME} was killed"
${PRO_NAME} -d -r ${REP_DIR} --listen-port ${PORT}
fi
done
exit 0
主要是利用ps和wc,并结合svn启动命令进行svn进程的检测。
2、添加执行权限
3、设置开机启动
修改/etc/rc.local,在文件最后添加
4、在不重启系统的情况下启动svnmonit.sh
nohup命令确保在终端退出以后svnmonit.sh继续执行。
参考资料:http://www.xker.com/page/e2015/03/172040.html
本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4678216.html,如需转载请自行联系原作者