自动化:利用python+paramiko,在服务器进行版本升级相关操作。

import paramiko

#创建SSHClient 实例对象
ssh = paramiko.SSHClient()
#信任远程主机,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接远程机器,地址,端口,user,pwd
ssh.connect(hostname='',port='',username='user',password='pwd')
#执行命令(test)
ssh.exec_command('mkdir huhulala')
for x in range(20):
    ssh.exec_command('echo "ip=192.168.1.{}" > cf{}.py'.format(x+1,x+1))
#查找历史版本(关键词‘apiteach’)
stdin,stdout,stderr = ssh.exec_command('ps -ef|grep apiteach|grep -v grep')
#打印查找的结果
output = stdout.read().decode()
print(output)

if '关键字' in output:
    print('老版本程序在运行')
    parts = output.split(' ')
    parts = [part for part in parts if part]
    pid = parts[1]
    #杀掉老版本进程
    ssh.exec_command('kill -9 {}'.format(pid))

#删除老版本代码包
ssh.exec_command('rm -f restapi-teach.zip')
#上传新版本
sftp = ssh.open_sftp()
sftp.put('本地路径','目标路径')
sftp.close()
#备份原来的安装目录
ssh.exec_command('rm -rf restapi-teach.bak;mv restapi-teach restapi-teach.bak')
#解压安装包
ssh.exec_command('unzip restapi-teach.zip',printOutput=False)
#运行
ssh.exec_command('cd restapi-teach;chomd +x run.sh;dos2unix run.sh;./run.sh;sleep 5')

#ps -ef|grep apiteach|grep -v grep再看看是否安装成功,进程起来没有
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值