程序说明:

本程序实现将开发程序服务器中的打包文件通过该脚本上传到正式生产环境(注:生产环境和开发环境不互通)

程序基本思路:

  1. 将开发环境中的程序包拷贝到本地堡垒机
  2. 将程序包进行解压
  3. 获得解压后的文件通同步到生产服务器上

    主要知识点:python库os.system()的基本使用 利用python调用xshell命令

程序使用方法:

python addline.py 开发主机ip 程序包 目标主机ip 上传目录 上传编号
如:python addline.py 240 /home/shaojinlong/2018-7-17/activityIqiyi_766bb10bd811e40732cf79dffde9a904_20180717.tar.gz 165 /home/zhouja01 190122

具体程序:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/7/17 20:56
# @Author  : Zhou Jiaan
# @File    : addline.py
import os
import sys
import re
import time
##使用方法:
# python addline.py 240 filename 165 directory runnum
## 如:python addline.py 240 /home/shaojinlong/2018-7-17/activityIqiyi_766bb10bd811e40732cf79dffde9a904_20180717.tar.gz 165 /home/zhouja01 190122##拷贝文件
def cpfile(source_host,source_dir, runnum):os.system("mkdir -p /sx/%s" % (runnum))os.system("scp %s:%s /sx/%s " % (source_host,source_dir, runnum))##解压文件
def tarfile(source_dir,runnum):target_test = re.split(r'/', source_dir)print(target_test[-1])os.system("tar zxvf /sx/%s/%s -C /sx/%s/" % (runnum,target_test[-1], runnum))time.sleep(1) #休眠一秒 因为同步脚本获取日志需要一秒钟# 同步文件
def syncfile(filename, runnum,target_host):os.system("ssh %s 'mkdir -p /home/zhouja01/sx/%s'" % (target_host,runnum))os.system("scp -r /sx/%s/%s %s:/home/zhouja01/sx/%s/" %(runnum, filename,target_host,runnum))# os.system("ssh 165 'sudo -u apps sh /home/zhouja01/bcp_web.sh /home/zhouja01/sx/%s/%s /home/apps/ananetest/%s'" %#           (runnum, filename, filename))def delfile(runnum):os.system("mv /sx/%s /sx/wc"%(runnum))def main():source_host=sys.argv[1] #源主机ipsource_dir=sys.argv[2] #源主机文件target_host=sys.argv[3] #目标主机iptarget_dir=sys.argv[4] #目标主机文件runnum=sys.argv[5] #oa流水号cpfile(source_host,source_dir,runnum) #将文件从源主机拷贝到堡垒机tarfile(source_dir,runnum) #解压文件#获得解压文件名with open('/var/log/sx.log', 'r') as f:lines = f.readlines()last_line = lines[-1]print(last_line)filename = re.split(r'/', last_line)print(filename[3])syncfile(filename[3], runnum,target_host) #将文件同步到目标主机delfile(runnum) #将堡垒机文件移动到完成目录if __name__ == '__main__':main()

python实现自动化上线脚本相关推荐

  1. 用python写一个自动注册脚本_python实现自动化上线脚本的示例

    程序说明: 本程序实现将开发程序服务器中的打包文件通过该脚本上传到正式生产环境(注:生产环境和开发环境不互通) 程序基本思路: 将开发环境中的程序包拷贝到本地堡垒机 将程序包进行解压 获得解压后的文件 ...

  2. python脚本自动化赚钱系统_python实现自动化上线脚本的示例

    python实现自动化上线脚本的示例 发布时间:2020-10-01 11:03:54 来源:脚本之家 阅读:106 作者:Ian_安安 程序说明: 本程序实现将开发程序服务器中的打包文件通过该脚本上 ...

  3. python写自动化运行脚本_bat文件一键运行python自动化脚本

    ThinkPHP3.2.3 安装教程 本文以  Windows  平台为例 安装前准备:Windows操作系统的电脑,php编程环境(配置好了Apache.MySql.php).推荐wampserve ...

  4. 安装GitLab,Jenkins,及自动化上线

    目录 一.DevOps简介 1.什么是持续集成(CI-Continuous integration) 2.什么是持续部署(CD-continuous deployment) 3.什么是持续交付(Con ...

  5. python自动化办公脚本下载-python自动化脚本

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...

  6. MySQL自动化安装脚本-python版

    MySQL 自动化安装脚本 脚本介绍 用python写的一个自动化安装mysql单机实例的脚本 适用于mysql5.7版本 MySQL安装包路径: /usr/local/mysql #需要把mysql ...

  7. Python接口自动化脚本业务框架总概(一)

    目录 接口自动化框架目录 基础类封装概览 基础类封装方法详解 Log.py文件 Request.py文件 Python是目前主流的接口自动化脚本语言之一. 本专栏将联系业务介绍使用python接口自动 ...

  8. python写dnf游戏脚本辅助_利用Python自动化操作鼠标键盘刷金币,工作室都靠这种脚本搬砖!...

    不管是英雄联盟还是王者荣耀,总是有一个特殊的模式可以用来刷金币,为什么说是特殊模式呢?因为打的都是人机,或者并不影响游戏平衡,被其它玩家举报,同时你这种模式的战绩也没人去看你的. 如果能利用Pytho ...

  9. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

    我们可以用 excel 来记录自动化,然后读取 excel 来执行命令,excel 可以很方便直观的管理我们录入的自动化.下面给大家演示一下 Python+selenium 自动化的实例,读取 exc ...

最新文章

  1. MySQL数据类型(最大值 和 最小值)
  2. 【PAT乙级】 1004 成绩排名 (20 分)
  3. Apache Tomcat 5.5 Servlet/JSP 容器
  4. 大数据告诉你,电商都把假货发给谁?
  5. Android之解决ViewPager2+PhotoView滑动图片花屏问题
  6. V210 系统时间设置
  7. jdk1.6集成activemq的2种方式
  8. 四川方言说唱《管我锤子事》
  9. 打印中间空了一个的菱形_简单空实心图形打印|Python练习系列[3]
  10. MoreLinq和Linq
  11. 利用大数据构建用户画像的好处
  12. 数据结构 | 顺序表
  13. 荣耀7 能升级鸿蒙系统吗,刷机精灵V3.4.7发布 新增支持荣耀7等一键刷机
  14. CNET选出的50个我们认为是有用或者有趣的网站
  15. TunesKit Video Repair for Mac(视频修复工具)
  16. 本地部署docker实践
  17. MapViewer V2.0:在高德/百度地图上增加小车回放功能,控制小车的速度,显示行驶方方向
  18. keras实例之猫狗大战
  19. MySQL日期格式化(format)-%Y-%m-%d %H:%i:%S
  20. 播放视频 unity使用rawimage控制视频,包括暂停,继续,跳过等;调整视频尺寸,解决视频无声音的情况

热门文章

  1. 一文了解mysql日志与备份恢复
  2. 测试 lol服务器 稳定性,lol服务器替换测试公告 大区新版客户端换测试开始
  3. cf服务器不显示名字,cf服务器冠名之战 怎么给服务器取名字
  4. OpenCV之AI工具包介绍(OAK-1和OAK-D)
  5. 合同相似可逆等价矩阵的关系及性质_矩阵等价、合同、相似的联系与区别
  6. 刚刚,我顺藤摸瓜端了知名色情网站的老窝,并劝他从良
  7. 科普 | 状态太好?可能得了这种病
  8. java 查看对象地址_java对象,属于你得地址找到了吗
  9. 统一配置Outlook策略实现统一管理
  10. 归纳2018:芯片已先行,5G终端触手可及