检测服务运行的脚本

Posted 灬魑魅魍魉灬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测服务运行的脚本相关的知识,希望对你有一定的参考价值。

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)

 

以上是关于检测服务运行的脚本的主要内容,如果未能解决你的问题,请参考以下文章

检测服务运行的脚本

高效Web开发的10个jQuery代码片段

Linux系统shell脚本之检测系统的任意服务

云平台服务运行情况检测脚本V0.1

shell脚本检测服务

Linux系统shell脚本之监控httpd服务