开放平台openapi模块自动部署脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开放平台openapi模块自动部署脚本相关的知识,希望对你有一定的参考价值。
#################################################################################### #coding=utf-8 #脚本用途:OPENAPI和OPENHLS服务自动化安装脚本 #编写时间:2016年9月21日 #脚本作者:乐橙运维组 #################################################################################### #!/usr/bin/env python #载入模块 import commands import os import time import glob from printColour import PrintColour #确认安装包的版本号和本机的模块名称 name = commands.getoutput(‘cat /etc/role_install|head -1‘) os.environ[‘name‘] = str(name) bagname = glob.glob("/share/yunwei/Lecheng_Open*") bagname = ‘‘.join(bagname) path = bagname[14:41] os.environ[‘path‘] = str(path) print "本次的部署包名字是:" + path PrintColour.InfoRed ("请检查,如果大包版本号不正确,请ctrl+c退出本脚本。") time.sleep(5) #将原有的hswx保存成备份,方便回滚 def CopyHswx(): if os.path.exists("/mnt/hswx") == True: os.system("mv /mnt/hswx /mnt/hswx+$(date +%y%m%d)") os.system("rm -rf /mnt/Lecheng_Open*") else: os.system(‘echo "*/1 * * * * source /etc/profile && python /share/yunwei/script/watchDog/open/$name/$name-Check.py > /dev/null 2>&1">> /var/spool/cron/root‘) PrintColour.InfoGreen ("crontab 已经添加...") time.sleep(2) pass #获取本机角色文件内容 def GetName(): if os.path.exists("/etc/role_install") == False: print ("本台机器不存在模块名文件/etc/role_install,脚本将跳出!") exit(0) else: print ("本台机器所安装的模块名是:") + name PrintColour.InfoRed ("请检查,如果模块名不匹配,请ctrl+c退出本脚本。") time.sleep(5) #杀死之前启动的zk和进程 def KillProcess(): os.system("pkill -9 java") print ("zk停止完毕,现在停止原有进程...") time.sleep(3) #将安装包放到/mnt/下,并且解压缩 def CopyFile(): os.system("tar -zxvf /share/yunwei/Lecheng_Open*.tar.gz -C /mnt") PrintColour.InfoRed ("整个大包已经解压到/mnt。") os.system("cd /mnt/$path ; unzip $name.zip") os.system("mkdir /mnt/hswx") os.system("cp -rf /mnt/$path/build/* /mnt/hswx") time.sleep(3) #进入解压后的文件夹,执行文件启动脚本 def StartProcess(): os.system("cp -rf /share/yunwei/chenshuo/zkclient /mnt/hswx") os.system("chmod u+x /mnt/hswx/zkclient/* *.*") os.system("cd /mnt/hswx/zkclient/; sh start_zkclient.sh") print ("zk进程已经启动完毕...") print ("现在进入") + path print ("启动") + name + ("模块") time.sleep(3) os.system("cd /mnt/hswx/$name ; sh start_$name.sh") #展示进程 def ShowProcess(): if name == "openapi": PrintColour.InfoGreen ("openapi的进程情况如下") os.system("ps -ef | grep java") elif name == "openhls": PrintColour.InfoGreen ("openhls的进程情况如下") os.system("ps -ef | grep java") else: print ("没有对应的开放平台进程。") if __name__ == ‘__main__‘: CopyHswx() GetName() KillProcess() CopyFile() StartProcess() ShowProcess() PrintColour.InfoYellow("整个脚本执行完毕,感谢您的使用~")
本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1856077
以上是关于开放平台openapi模块自动部署脚本的主要内容,如果未能解决你的问题,请参考以下文章