Linux下设置svn开机自启动

方式一: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 服务启动了没有
出现如下信息,标识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
 
 

用原文链接https://blog.csdn.net/kenhins/article/details/74575458

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!


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

原文地址:https://www.cnblogs.com/summary-2017/p/9607973.html