快捷搜索:  汽车  科技

pythonsocket服务器怎么设置(python利用paramiko模块ssh进linux服务器)

pythonsocket服务器怎么设置(python利用paramiko模块ssh进linux服务器)程序输出

我现在的工作中,除了统计cpu个数和CPU使用率,暂时没想起来还需要统计哪个指标。开始不知道每执行一次命令都可以开通一次paramiko通道,颇费一番周折,后来看到一个大神这样用了,那么我的程序实现就简单多了。

下面是我的server.txt文件。

pythonsocket服务器怎么设置(python利用paramiko模块ssh进linux服务器)(1)

server.txt文件内容

def get_cpu(): with open('server.txt' 'r' encoding='utf-8') as rfile: servers = rfile.readlines() # 按行读取 for item in servers: # 遍历列表, d = dict(eval(item)) # 列表中的第一个元素,编写成字典 d.update(username="XXX" password="XXX" port='22') # 第一个元素更新 value_list = [] value_list.append(d['id']) value_list.append(d['username']) value_list.append(d['password']) value_list.append(d['port']) hostinfo = value_list[0] ' ' value_list[1] ' ' value_list[2] ' ' value_list[3] hostinfo = hostinfo.strip() hostip username password port = hostinfo.split(' ') print(hostip) SSH = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=hostip port=port username=username password=password) stdin stdout stderr = ssh.exec_command('cat /proc/cpuinfo') str_out = stdout.read().decode() str_err = stderr.read().decode() cpu_num = re.findall('processor.*?(\d )' str_out)[-1] cpu_num = str(int(cpu_num) 1) cpuinfo = stdout.readlines() print(cpuinfo) print('******************************cpu监控,对应主机[name:%s]*********************************' % hostip) print("*******************时间:" time.strftime("%Y-%m-%d %H:%M:%S" time.localtime()) "******************") print (u"CPU个数为:" cpu_num) stdin stdout stderr = ssh.exec_command("top -b -n1 | sed -n '3p'|awk '{print $2}'") str_out = stdout.read().decode() print('当前CPU使用率为:' str_out.strip() '%') ssh.close()

pythonsocket服务器怎么设置(python利用paramiko模块ssh进linux服务器)(2)

cpu命令输出

pythonsocket服务器怎么设置(python利用paramiko模块ssh进linux服务器)(3)

程序输出

猜您喜欢: