将svnserve部署为后台服务
2010-05-20 10:42
113 查看
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://xiekeli.blogbus.com/logs/14706549.html
用了一天,发现svnserve模式运行,虽然简单。但是由于没有部署为后台服务,很容易被人误关掉。于是在网上查了一下,发现也已经有人总结了。Copy过来,以作备忘。
以前的svnserve要想成为windows服务,必须依赖于svnservice或其他工具。从Subversion1.4开始,Subversion本身就集成Windows服务的工具。
例如我的Subversion安装在"D:/Subversion",版本库在"D:/svnroot",而我希望对应的Subversion服务名为svnservice,安装这个svn服务的命令就可以这样写:
sc create svnservice
binpath= "D:/Subversion/bin/svnserve.exe --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
请注意,因为便于察看,上面的命令分为多行,但在实际执行时应该在一行里。另外,在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"net start svnservice"启动这个服务,然后使用"net stop svnservice"停止服务。
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“/”处理“"”号,例如上面的例子中如果svnserve.exe在“c: /program files/subversion/”中,则命令应该写为“binpath= "/"c:/program files/subversion/bin/svnserve.exe/"”(“”中的内容),整个命令如下,红色部分是改变部分:
sc create svnservice
binpath= "/"D:/program files/Subversion/bin/svnserve.exe/" --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
其次,sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。
默认情况下安装的服务不会随Windows的启动而启动,为了使svn服务能够随Windows启动而启动,需要修改一下"sc create"命令(首先要删除),增加"start= auto"选项:
sc create svnservice
binpath= "D:/Subversion/bin/svnserve.exe --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
start= auto
当然你也可以使用图形化的工具修改服务的属性,你可以在“开始->运行...”中执行"services.msc",然后在界面中修改。
http://xiekeli.blogbus.com/logs/14706549.html
用了一天,发现svnserve模式运行,虽然简单。但是由于没有部署为后台服务,很容易被人误关掉。于是在网上查了一下,发现也已经有人总结了。Copy过来,以作备忘。
以前的svnserve要想成为windows服务,必须依赖于svnservice或其他工具。从Subversion1.4开始,Subversion本身就集成Windows服务的工具。
1,安装svnservice
在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。例如我的Subversion安装在"D:/Subversion",版本库在"D:/svnroot",而我希望对应的Subversion服务名为svnservice,安装这个svn服务的命令就可以这样写:
sc create svnservice
binpath= "D:/Subversion/bin/svnserve.exe --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
请注意,因为便于察看,上面的命令分为多行,但在实际执行时应该在一行里。另外,在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"net start svnservice"启动这个服务,然后使用"net stop svnservice"停止服务。
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“/”处理“"”号,例如上面的例子中如果svnserve.exe在“c: /program files/subversion/”中,则命令应该写为“binpath= "/"c:/program files/subversion/bin/svnserve.exe/"”(“”中的内容),整个命令如下,红色部分是改变部分:
sc create svnservice
binpath= "/"D:/program files/Subversion/bin/svnserve.exe/" --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
其次,sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。
2,删除服务
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。
3,配置服务是自动启动
默认情况下安装的服务不会随Windows的启动而启动,为了使svn服务能够随Windows启动而启动,需要修改一下"sc create"命令(首先要删除),增加"start= auto"选项:sc create svnservice
binpath= "D:/Subversion/bin/svnserve.exe --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
start= auto
当然你也可以使用图形化的工具修改服务的属性,你可以在“开始->运行...”中执行"services.msc",然后在界面中修改。
相关文章推荐
- 将svnserve部署为后台服务【转载】
- 将svnserve部署为后台服务
- Linux下部署svn服务
- ubuntu下部署SVN服务
- 使用sc.exe创建SVN后台服务
- 【JavaService】部署Java jar为Windows后台服务
- Spring boot centos7 后台服务安装部署
- 持续集成框架,自动部署服务搭建jenkins+maven+svn(git)+shell
- Linux下部署svn服务
- SVN一条龙(版本库创建、启动后台服务、客户端)
- Spring Boot 部署与后台运行服务配置
- Spring boot centos7 后台服务安装部署
- svn服务部署
- windows后台服务如何部署到Linux
- 使用Ansible部署SVN服务
- RHEL5上部署SVN服务--支持SSL
- 基于百度BAE快速部署微信公众号后台服务程序
- 部署Java jar为Windows后台服务
- 使用sc.exe创建SVN后台服务
- 基于百度BAE快速部署微信公众号后台服务程序