在服务器(我的环境是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服务,opt为start|stop|restart。
三、总结
一般来说第一种方式比较简单明了,但是如果放在/etc/rc.local里启动的脚本越来越多,就很容易出现问题,所以像svn这种比较重要的服务,还是用第二种方式比较稳一点。