pjb fabu
#!/bin/bash PyPath=/opt/shell/mysql LocaName=`pwd`
bagname=`basename $LocaName` sleep 1s
ConfList=`python /opt/shell/mysql/select.py $bagname` #远程同步ip组
IpList=`echo $ConfList|awk -F ',' '{print $5}'`
echo "远程ip:$IpList" #本地包路径
BasePath=`echo $ConfList|awk -F ',' '{print $1}'` echo "本地包路径:$BasePath"
DirName=$BasePath/bak/`date +%Y%m%d`
PagTime=`date +%Y%m%d%H%M` #本地包名称
fbagname=`ls $BasePath/package`
fpath=$BasePath/package/$fbagname echo $fbagname #本地配置文件路径
ConfName=`ls $BasePath/conf`
CBasePath=$BasePath/conf/$ConfName #远程执行脚本路径 ShPath=`echo $ConfList|awk -F ',' '{print $4}'`
ShName=`basename $ShPath`
ShWath=`dirname $ShPath` #远程包路径
ForPath=`echo $ConfList|awk -F ',' '{print $2}'`
ConfForPath=$ForPath/conf #微信通知:
function f_weixin()
{
Tstatus=$2 #0为开始发布,1为完成发布
Ttempip=$1 BakName=$DirName/"$bagname"_$PagTime.tar.gz if [ $Tstatus -eq 0 ] ; then msg="服务器$Ttempip:$bagname服务开始发布.."
/usr/bin/curl http://172.16.3.50/zabbix_web/weixin/weixin.php?msg="$msg"
sleep 1s #发布开始状态写入数据库
python $PyPath/insert.py $bagname $Ttempip $BakName else
msg="服务器$Ttempip:$bagname服务完成发布.."
/usr/bin/curl http://172.16.3.50/zabbix_web/weixin/weixin.php?msg="$msg"
sleep 1
#发布完成写入数据库
python $PyPath/update.py $bagname
sleep 1s
Date2=`date "+%Y-%m-%d %H:%M:%S"`
echo "$Date2 $Ttempip static重启更新版本完成" |tee $LogFile
echo "==============================================================" |tee $LogFile
fi } #备份前一个版本 function f_bakstatic()
{ if [ ! -d "$DirName" ]; then mkdir $DirName fi cd /data/online/static
echo "开始备份程序包.."
sleep 2s
tar -C $BasePath -zcvf $DirName/$bagname_$PagTime.tar.gz package echo "备份已经完成,备份包:$DirName/$bagname_$PagTime.tar.gz.."
echo "......................................................."
echo "......................................................."
echo "......................................................."
sleep 1s } #同步文件到远程服务器
function static_rs()
{
echo "开始更新程序包到同步目录$BasePath/package.."
sleep 1s rsync -avz -L --progress --delete --port=3878 $BasePath/temp/ $BasePath/package/
echo "更新程序包完成.."
echo "......................................................."
echo "......................................................."
echo "......................................................."
sleep 1s OnlineIp=$1 echo "开始同步脚本到远程服务器执行" ansible $OnlineIp -m copy -a "src=$ShPath dest=$ShWath owner=www group=www mode=0755" sleep 3s
echo "开始同步新包到远程服务器"
ansible $OnlineIp -m copy -a "src=$fpath dest=$ForPath owner=www group=www mode=0755" echo "开始执行远程生产服务器:$OnlineIp" 重启服务脚本 ansible $OnlineIp -m shell -a $ShPath sleep 2s echo "同步脚本到生产环境服务器:$OnlineIp完成.."
echo "......................................................."
echo "......................................................."
echo "......................................................."
sleep 1s } function f_fabu()
{ read -p "请选择是否需要替换配置文件, 1为替换;2为不替换:" ti #备份程序 f_bakstatic; #微信提示 for OnIp in $IpList do #是否更新配置文件
if [ "$ti" == 1 ]; then
echo " 开始同步配置文件到远程服务器"
echo $CBasePath
echo $ForPath ansible $OnIp -m copy -a "src=$CBasePath dest=$ConfForPath owner=www group=www mode=0755" fi f_weixin $OnIp 0
sleep 2s static_rs $OnIp sleep 2s f_weixin $OnIp 1
done } f_fabu;
pjb fabu的更多相关文章
- fabu dao fenleizhong
IsAggregated IsAggregatedIsAggregated IsAggregatedIsAggregated IsAggregatedIsAggregated IsAggregated ...
- airflow 部署
环境 : ubuntu 14.04 LTS python 2.7 script: 设置环境变量: export AIRFLOW_HOME=~/airflow 安装相关依赖包: sudo apt-get ...
- 纯CSS照片墙
css中transform参考CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate 效果图:
- 会务准备期间材料准备工作具体实施总结 ----(vim技巧应用, python信息提取与整合, microsoft word格式调整批量化)
会务准备期间材料准备工作具体实施总结(vim, python, microsoft word) span.kw { color: #007020; font-weight: bold; } code ...
- 15、ASP.NET MVC入门到精通——MVC-路由
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Routing(路由) – URL url 作为广泛使用的Web用户接口,需要被重视 好的Url应该满足如下条件: URL应为获取某种资源提 ...
- 魔改——MFC SDI 支持 内嵌 EXCEL OLE
==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...
- windows下的NodeJS安装
1.登录官网 http://nodejs.org ,install 下载安装包.. 2.安装过程基本直接“NEXT”就可以了. 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否安 ...
- Servlet高级
1. 获取初始化参数 在web.xml中配置Servlet时,可以配置一些初始化参数.而在Servlet中可以通过ServletConfig接口提供的方法来取得这些参数. index.jsp < ...
- OAF_开发系列26_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(案例)
20150730 Created By BaoXinjian
随机推荐
- [Nodejs] node实现静态文件服务器
node 静态文件处理 一般后端进行静态文件处理都是使用 Apache nginx 等静态 web 服务器,但是既然使用 node 了,就用 node 实现以下静态服务器吧. 之前弄了不少充满艺术的数 ...
- Centos 7.6搭建Tomcat 环境,发布Java项目
安装 JDK Tomcat 的安装依赖 JDK,在安装 Tomcat 之前需要先安装 Java JDK.输入命令 java -version,如果显示 JDK 版本,证明已经安装了 JDK java ...
- 38.QT-QAxObject快速写入EXCEL示例
参考链接:https://blog.csdn.net/czyt1988/article/details/52121360 http://blog.sina.com.cn/s/blog_a6fb6cc9 ...
- Vue 单选框与单选框组 组件
radio组件 v-model : 通过当然绑定的值与input上的value值来确定当前选中项. 在父作用域中通过active设置当前默认选中项,如果选中项发生改变后通过input事件通知传递到父 ...
- Python数据处理与计算——概述
Python是一种面向对象的,动态的程序设计语言,具有非常简洁而清晰的语法,适合于完成各种高层任务.它既可以用来快速开发程序脚本,也可以用来开发大规模的软件. 随着NumPy.SciPy.Matplo ...
- Python 基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控
基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控 By: 授客 QQ:1033553122 1.测试环境 python 3.4 zookeeper- ...
- 随笔:关于去年的WordPress建站的回忆
2018-02-26 建站 2018-02-28 选择主题Clearision 2018-03-01 学习插入视频.修改主题 <iframe src="//playe ...
- 自研数据库CynosDB存储系统如何实现即时恢复
本文由云+社区发表 本文作者:许中清,腾讯云自研数据库CynosDB的分布式存储CynosStore负责人.从事数据库内核开发.数据库产品架构和规划.曾就职于华为,2015年加入腾讯,参与过TBase ...
- Windows Server 2016-Telnet 简介及安装
Telnet是基于请求注释(RFC)854的因特网标准程序和协议,该RFC规定了一种在网络上发送和接收未加密的ASCII字符(明文)的方法.Telnet包含两个功能模块:Telnet客户端和Telne ...
- centos 7 进入图形界面
1 确保自己已经安装图形界面,如果没有请执行命令 yum groupinstall "GNOME Desktop" "Graphical Administration T ...