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)