1.找出某目录下所有以‘.log’结尾的文件并删除
1 import os 2 print(os.getcwd()) 3 os.chdir(r'文件所在目录') 4 li = os.listdir()#列出该目录下的所有文件 5 for i in li: 6 if i.endswith('.log'): #找出所有以.log结尾的文件并删除 7 os.remove(i)
2.利用paramiko批量远程登录服务器执行命令,并返回结果
1 import commands 2 import subprocess 3 import paramiko 4 import time 5 host_lists=( 6 ('192.168.1.12'), 7 ('192.168.1.240'), 8 ('172.168.96.3'), 9 ('192.168.1.12'), 10 ('172.168.96.3'), 11 ('192.68.23.25'), 12 ('10.236.53.69'), 13 ('11.23.36.33'), 14 ) 15 16 17 def getServerInfo(host,user,password,services): 18 conn=paramiko.SSHClient() 19 conn.load_system_host_keys() 20 conn.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 21 conn.connect(hostname=host,port=22,username=user,password=password,allow_agent=False,look_for_keys=False) 22 stdin,stdout,stderr=conn.exec_command("ps aux|awk '{print $3,$4,$5,$6,$11}'|grep %s" % services,timeout=5)#要执行的命令 23 info=stdout.read() # 在python3中,获取的info值是字节型(b'dsfdfffd'),要decode一下
info = info.decode('utf-8')
conn.close() 24 return info 25 def ping_test(host): 26 p = commands.getoutput("ping "+host+" -w 1|wc -l") #指定ping一秒 27 if p =='6': #如果能ping通 28 info=getServerInfo(host,'root','111111','pick') 29 info_list=info.split() 30 print "%s %s %s %s %s %s "%(host,info_list[0],info_list[1],info_list[2],info_list[3],info_list[4]), 31 with open("yes.log","a+") as f: 32 f.write(host+' ') 33 elif p == '5': #如果不能ping通 34 print "%s NO NO NO NO NO "% (host), 35 with open("no.log","a+") as f_no: 36 f_no.write(host+' ') 37 def out_info(): 38 now1 = time.time() 39 ping_test(host) 40 now2 = time.time() 41 now3 = now2 - now1 42 print " ",now3 43 if __name__ == '__main__': 44 print"ip %CPU %MEM VSZ RSS services time_use(s)" 45 46 for host in host_lists: 47 try: 48 out_info() 49 except: 50 print host," NO_ssh" 51 with open("no_ssh.log","a+") as f_except: 52 f_except.write(host+' ')
3.paramiko/client.py
第220行设置网络不通超时时间
4.设置输出颜色
格式:033[显示方式;前景色;背景色m 说明: 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 42 绿色 33 43 黃色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 意义 ------------------------- 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见 例子: 033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色--> 033[0m <!--采用终端默认设置,即取消颜色设置-->
- 备注: