侧边栏壁纸
博主头像
爱运维 博主等级

行动起来,活在当下

  • 累计撰写 197 篇文章
  • 累计创建 143 个标签
  • 累计收到 21 条评论

目 录CONTENT

文章目录

代码上线更新操作脚本

Administrator
2017-03-07 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

代码上线流程

1.先停止服务

2.备份原有数据

3.删除原有目录

4.svn或者git等方式上传新的code

5.设置目录权限

6.启动服务

shell 脚本按照规则写的,如下


#!/bin/bash
#代码更新,针对nginx
#tommy
OLD_DIR=/data/web1
PROJT=web1
BACKUP_DIR=/data/backup
SVN_DIR='svn://192.168.80.210/web1'
DATA_CHMOD=www
NGINX_BIN_DIR=/usr/sbin
DATE=`date +%F`

#1.Kill nginx进程
function kill_nginx(){
	$NGINX_BIN_DIR/nginx -s stop
	PID=`ps aux|grep nginx|wc -l`
	for KILL_NUM in `seq 1 3`;do
		if [ $PID -ne 1 ];then
			killall nginx
		else
			break
		fi
		if [ $KILL_NUM -eq 3 ];then
			echo "nginx is not kill,please chick....."
			exit 1
		fi
	done
}
#2.备份原来的数据
function backup_data(){
	if [ -d $BACKUP_DIR/$DATE'-'$PROJT ];then
		echo "DIR $BACKUP_DIR/$DATE'-'$PROJT  is not exit"
		exit 2
	else 
		mv $OLD_DIR $BACKUP_DIR/$DATE'-'$PROJT
	fi
}
#3.SVN下载新版本数据
function down_news(){
	/usr/bin/svn co $SVN_DIR
}
#4.更改权限
function chmod_news(){
	chown -R $DATA_CHMOD.$DATA_CHMOD $OLD_DIR
}
#5.启动服务
function start_nginx(){
	$NGINX_BIN_DIR/nginx
	PID=`ps aux|grep nginx|wc -l`
	for START_NUM in `seq 1 3`;do
		if [ $PID -eq 1 ];then
			$NGINX_BIN_DIR/nginx
		else 
			echo "nginx start OK"
			break
		fi
		if [ $START_NUM -eq 3 ];then
		echo "nginx is not start,please chick....."
		exit 3
		fi
	done
}
kill_nginx
backup_data
down_news
chmod_news
start_nginx







0

评论区