前言:
由于最近运维部门对服务器进行了一些操作,具体我也不太清楚,说是要维护,所以导致了SVN的一个小问题,也就是SVN的重启。
正常情况下, SVN在配置完成后会进行启动,然后由于服务器长时间不会关机,所以大部分的时间是不需要配置的,但是本次有人说代码传不上去,也宕不下来,经过检查是SVN服务没有成功启动引起的,启动一下SVN服务就可以了。
疑问:
那么新的问题来了,每次服务器重启都要来手动启动一次SVN服务吗?我们可不可以安排个触发器或者脚本之类的东西来代替人工启动呢?于是经过探索,有了下面的脚本。
解决方案
用脚本来实现SVN服务的开机自启,先说好,下面脚本内容还没有实际检测过,但是逻辑和内容没有问题,我现在本地搭建一个试试,服务器还是不要做测试的好。
脚本内容:
#!/bin/bash
if [ ! -f "/usr/bin/svnserve" ]
then
echo "svnserver startup: cannot start"
exit
fi
case "$1" in
start)
echo "Starting svnserve..."
/usr/bin/svnserve -d
echo "Finished!"
;;
stop)
echo "Stoping svnserve..."
killall svnserve
echo "Finished!"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: svnboot { start | stop | restart } "
exit 1
esac
总结
其实解决方案有很多,只是这样最懒,而恰好我又比较懒,所以懒人用懒的方案喽。