方式一:centos 7 设置svn开机自启动 使用新的systemctl 服务命令  (笔者成功验证过,该方式可行)

安装好 svn 服务后,默认是没有随系统启动自动启动的, CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务

于是查看 systemd 里 svn 的配置文件 /lib/systemd/system/svnserve.service

1. [Unit]  
2. Description=Subversion protocol daemon  
3. After=syslog.target network.target  
4.   
5. [Service]  
6. Type=forking  
7. EnvironmentFile=/etc/sysconfig/svnserve  
8. ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS  
9.   
10. [Install]  
11. WantedBy=multi-user.target

找到 svn 的 service 配置文件 /etc/sysconfig/svnserve 编辑配置文件

 vi /etc/sysconfig/svnserve  

将 OPTIONS="-r /var/svn" 改为 svn 版本库存放的目录,如:我的是/opt/svn,修改之后的OPTIONS="-r /opt/svn"

命令模式下输入 :wq 保存退出

 

在提示符下输入

 systemctl enable svnserve.service

 出现:Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.

systemctl start svnserve.service

 

重启服务器,输入

 ps -aux | grep 'svn'  或者 ps -ef|grep svnserve

出现如下信息,标识svn服务起动成功。

 

centos系统中怎么查看svn的url linux查看svn是否启动_重启

 

 

方式二:传统的方式设置svn开机启动 (笔者在centos7 设置不成功) 1.安装好的svn服务端,默认是不会开机自启动的,每次开机自己启动会很麻烦,我们可以把它设成开机启动 首先:编写一个启动脚本svn_startup.sh,我放在/root/svn_startup.sh

#!/bin/bash /usr/bin/svnserve -d -r /home/svnrepos/

这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

绝对路径怎么查?

which svnserve

这里还有可能碰到一个问题,如果你在windows下建立和编写的脚步,拿到linux下,用vi或者vim修改后可能会无法执行,这是文件格式的问题

vi svn_startup.sh 输入:set ff 回车 如果显示的结果不是fileformat=unix 再次输入 set ff=unix 就OK了

然后修改该脚本的执行权限

chmod a+x svn_startup.sh   或者

chmod ug+x svn_startup.sh 或者万能的 chmod 777 svn_startup.sh

最后:加入自动运行

vi /etc/rc.d/rc.local 在末尾添加脚本的路径,如: /root/svn_startup.sh

现在,你可以重启一下试试了。 不懂得怎么确认成功?败给你了

ps -ef|grep svnserve

 

 

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!