说明:
我们想使用SVN在服务器上进行定时更新, 特备注一下
具体思考步骤,
1.首先使用svn命令行拉取代码到服务器上
2.写脚本进行更新, 判断脚本写的是否正确(具体的代码如下)
3.对个别工程需要重启的, 做单独处理
4.些定时任务
# 每周一到周六的8点到21点
* 8-21 * * 1-6 /bin/bash /xxx/xxx/svn-autoupdate.sh
具体代码
#!/bin/bash
# 防止出现乱码
export LANG="en_US.UTF-8"
# 可能会存在多个项目的
projects=("path1" "path2" "path3")
# 对多个项目进行循环更新
for project in ${projects[@]}; do
cd $project
# 打印svn更新的信息, 更改为自己的svn账户密码
upMsg=$(svn update --username {svnName} --password {svnPass}})
# echo $upMsg
# 根据更新的信息进行 识别, 如果包含 "Updated" 说明有更新的
result=$(echo $upMsg | grep "Updated")
# echo $project
# if [[ $result != "" ]]; then
# echo "更新了"
# else
# echo "没有更新"
# fi
# 对有更新的进行特别的处理
if [[ $project == "path2" ]] && [[ $result != "" ]]; then
# 需要进行特殊梳理的
# supervisorctl restart path
fi
done
End