svn启动脚本

 #!/bin/bash
 case "$1" in
 start)
        /usr/local/subversion/bin/svnserve -d -r /svndata
        svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
        if [[ $svnport=3690 ]]
        then
            echo "SVN Server Already Runnning. Port:3690"
        else
            echo "SVN Server Does Not Start"
        fi
;;
reload)
        svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
        if [ $svnport -eq 3690 ]
        then
            killall svnserve && svnserve -d -r /svndata
            echo "Reload OK"
        else
            echo "SVN Server Is Not Running"
        fi
;;
stop)
        killall svnserve
        echo "SVN Server Has Been Stopped"
;;
restart)
        service svn stop
        sleep 2
        service svn start
;;
status)
        svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
        pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
        if [ $svnport -eq 3690 ]
        then
            echo "SVN Server (pid:$pid) 正在运行..."
        else
            echo "SVN Server 停止运行..."
        fi
;;
*)
        echo "$0: Usage: $0 {start|status|stop|reload}"
        exit 1
;;
esac
### 启动 SVN 服务 在 Linux 系统中,可以通过命令行启动 SVN 服务。基本的启动命令为: ```bash svnserve -d -r /opt/svn/repository ``` 此命令中,`-d` 表示以守护进程方式运行,`-r` 指定仓库的根目录为 `/opt/svn/repository` [^1]。 若需要指定端口号启动服务,例如使用端口 `3691`,则命令为: ```bash svnserve -d --listen-port 3691 -r /opt/svn/repository ``` 在 Windows 系统中,SVN 服务通常是通过 `net start` 命令启动的,但若以服务形式安装了 SVN,可以直接使用如下命令启动服务: ```cmd net start svn ``` ### 停止 SVN 服务 在 Linux 系统中,停止 SVN 服务通常通过杀死进程的方式实现。首先查找 SVN 服务的进程号: ```bash ps -ef | grep svnserve ``` 找到对应的进程号后,使用 `kill` 命令停止服务,例如进程号为 `4967`: ```bash kill -9 4967 ``` 此外,也可以直接使用 `killall` 命令停止所有 SVN 服务: ```bash killall svnserve ``` 在 Windows 系统中,可以通过 `net stop` 命令停止 SVN 服务: ```cmd net stop svn ``` 如果需要从系统中删除 SVN 服务,则可以使用以下命令: ```cmd sc delete svn ``` ### 检查 SVN 服务状态 为了确认 SVN 服务是否正在运行,可以使用以下命令检查服务状态: ```bash netstat -natp | grep svnserve ``` 此命令将列出所有与 SVN 服务相关的网络连接,帮助确认服务是否已启动并监听正确的端口 [^3]。 ### 脚本化管理 SVN 服务 对于频繁的操作,可以编写脚本来简化 SVN 服务的管理。以下是一个简单的脚本示例,用于启动、停止、重启和检查 SVN 服务的状态: ```bash #!/bin/bash case "$1" in start) svnserve -d -r /svndatadir echo "SVN Server Started" ;; stop) killall svnserve echo "SVN Server Stopped" ;; restart) killall svnserve svnserve -d -r /svndatadir echo "SVN Server Restarted" ;; status) pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'` if [ -n "$pid" ]; then echo "SVN Server (pid:$pid) 正在运行..." else echo "SVN Server 停止运行..." fi ;; *) echo "$0: Usage: $0 {start|stop|restart|status}" exit 1 ;; esac ``` 请将 `/svndatadir` 替换为实际的仓库目录。保存此脚本后,给予执行权限并运行即可进行 SVN 服务的管理 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值