在服務器(我的環境是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這種比較重要的服務,還是用第二種方式比較穩一點。
