目录

一、启动脚本+/etc/rc.local启动

二、增加一个服务脚本并使其成为服务

三、总结

在服务器(我的环境是centos6.5)上部署完svn之后,一般都希望每次重启的时候svn服务能够随着启动。上网搜索了一下,一般有两种做法:

一、启动脚本+/etc/rc.local启动

1. 在某个目录下写一个启动svn服务的脚本,譬如我在/root目录下增加一个svn.sh文件,内容如下:

#!/bin/bash svnserve -d -r /root/.subversion/repos

2. 保存后加x权限:

chmod u+x svn.sh

3. 在 /root/svn.sh文件最后一行加上

/root/svn.sh

保存,重启系统查看是否成功。

回到顶部

二、增加一个服务脚本并使其成为服务

1. 在 /etc/init.d/目录下增加服务脚本 svnboot,内容如下

复制代码

!/bin/bash
chkconfig: 2345 85 15
description: svn server
SVN_HOME=/root/.subversion/repos
SVN_SERVER=/usr/bin/svnserve
 if [ ! -x $SVN_SERVER ]; then
 echo "svnserver startup: cannot start"
 exit
 fi
case "$1" in
    start)
        echo "Starting svnserve…"
		$SVN_SERVER -d -r $SVN_HOME
		echo "Finished!"
		;;
	stop)
		echo "Stoping svnserve…"
		killall svnserve
		echo "Finished!"
		;;
	restart)
		$0 stop
		$0 start
		;;
      *)
    echo "Usage: svn { start | stop | restart } "
    exit 1
 esac 

复制代码

注意脚本中第二三行的注释不可少,不然无法使用 chkconfig加入服务。

2. 保存后加x权限:

chmod u+x svnboot

3. 加入服务

chkconfig --add svnboot

chkconfig svnboot on

重启验证是否能够开机自动重启,另外后面可以直接使用

service svnboot opt 来操作 svnserve服务, optstart|stop|restart

回到顶部

三、总结

一般来说第一种方式比较简单明了,但是如果放在 /etc/rc.local里启动的脚本越来越多,就很容易出现问题,所以像svn这种比较重要的服务,还是用第二种方式比较稳一点。