Fork me on GitHub

linux shell脚本守护进程监控svn服务

  最近搭建的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、添加执行权限

chmod +x ./svnmonit.sh

  3、设置开机启动

  修改/etc/rc.local,在文件最后添加

/root/svnmonit.sh

  4、在不重启系统的情况下启动svnmonit.sh

nohup ./svnmonit.sh &

  nohup命令确保在终端退出以后svnmonit.sh继续执行。

  参考资料:http://www.xker.com/page/e2015/03/172040.html

posted @ 2015-07-26 17:35  秋楓  阅读(1363)  评论(0编辑  收藏  举报