检测服务运行的脚本

1、以下是我工作中检测服务的脚本,当服务为“XXX”的时候,将服务起来。

import os,sys,time,re
import paramiko

Hostname_Ip = {"naac-eccp-02":"10.10.138.32","naac-eccp-03":"10.10.138.33","naac-eccp-04":"10.10.138.34","naac-eccp-05":"10.10.138.35",
       "naac-eccp-06":"10.10.138.36","naac-eccp-07":"10.10.138.37","naac-eccp-08":"10.10.138.38","naac-eccp-09":"10.10.138.39","naac-eccp-10":"10.10.138.40",
       "naac-eccp-11":"10.10.138.41","naac-eccp-12":"10.10.138.42","naac-eccp-13":"10.10.138.43","naac-eccp-14":"10.10.138.44","naac-eccp-45":"10.10.138.45",
       "naac-eccp-46":"10.10.138.46","naac-eccp-47":"10.10.138.47","naac-eccp-48":"10.10.138.48","naac-eccp-49":"10.10.138.49","naac-eccp-50":"10.10.138.50",
       "naac-eccp-51":"10.10.138.51","naac-eccp-52":"10.10.138.52","naac-eccp-53":"10.10.138.53","naac-eccp-54":"10.10.138.54","naac-eccp-55":"10.10.138.55",
       "naac-eccp-56":"10.10.138.56","naac-eccp-57":"10.10.138.57","naac-eccp-58":"10.10.138.58","naac-eccp-59":"10.10.138.59","naac-eccp-60":"10.10.138.60",
       "naac-eccp-61":"10.10.138.61","naac-eccp-62":"10.10.138.62","naac-eccp-63":"10.10.138.63","naac-eccp-64":"10.10.138.64","naac-eccp-65":"10.10.138.65",
       "naac-eccp-66":"10.10.138.66","naac-eccp-67":"10.10.138.67","naac-eccp-68":"10.10.138.68"}

def Service_start(ip):
    private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname=ip, port=22, username='root', pkey=private_key)
    stdin, stdout, stderr = ssh.exec_command('eccp restart')
    result = stdout.read()
    print(result.decode())
    ssh.close()


if __name__ == '__main__':
    pid = os.fork()
    if pid !=0:
        os._exit(0)
    else:
        while True:
            Service_Status = os.popen("nova-manage service list").read()
            Service_File = open('Service_File.txt','w')
            Service_File.write(Service_Status)
            Service_File.close()
            Service_List = open("Service_List.txt", 'r')
            for i in Service_List:
                if 'XXX' in i:
                    a = re.findall("naac-eccp-..",i)
                    for host in Hostname_Ip:
                        if host == ''.join(a):
                            Service_start(Hostname_Ip[host])
            Service_List.close()
        time.sleep(15)

 

转载于:https://www.cnblogs.com/chimeiwangliang/p/7239267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值