码迷,mamicode.com
首页 > 其他好文 > 详细

检测服务运行的脚本

时间:2017-07-26 14:50:10      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:res   aac   roo   xxx   write   nova   toad   connect   logs   

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)

 

检测服务运行的脚本

标签:res   aac   roo   xxx   write   nova   toad   connect   logs   

原文地址:http://www.cnblogs.com/chimeiwangliang/p/7239267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!