利用paramiko模块批量查看远程机器上指定进程的相关信息
2014-11-24 15:38
399 查看
以前总是利用shell来编写脚本,最近学习python,发现paramiko使用上很方便,paramiko就是利用ssh协议进行通信。
需求:利用paramiko库远程连接到远程服务器,执行命令“ps aux”,查看指定服务的的cpu,内存,VSZ,RSS信息,并且以指定格式输出。
脚本如下:
执行结果如下:
本文出自 “shine_forever的博客” 博客,请务必保留此出处http://shineforever.blog.51cto.com/1429204/1581958
需求:利用paramiko库远程连接到远程服务器,执行命令“ps aux”,查看指定服务的的cpu,内存,VSZ,RSS信息,并且以指定格式输出。
脚本如下:
#! /usr/bin/env python #coding:utf-8 #通过paramiko模块,获得远程机器的指定进程相关信息; import paramiko host_lists=( ('node1','172.16.41.151'), ('node2','172.16.41.152'), ('node3','172.16.41.153'), ('node4','172.16.41.158') ) def getServerInfo(host,user,password,services): conn = paramiko.SSHClient() conn.load_system_host_keys() conn.set_missing_host_key_policy(paramiko.AutoAddPolicy()) conn.connect(host,22,user,password) stdin,stdout,stderr = conn.exec_command("ps aux|awk '{print $3,$4,$5,$6,$11}'|grep %s" % services) info = stdout.read() conn.close() return info if __name__ == '__main__': print "hostname %CPU %MEM VSZ RSS services" for host in host_lists: try: info = getServerInfo(host[1],'root','passwd','cupsd') info_list = info.split() print "%s %s %s %s %s %s " % (host[0],info_list[0],info_list[1],info_list[2],info_list[3],info_list[4] ) except: pass
执行结果如下:
本文出自 “shine_forever的博客” 博客,请务必保留此出处http://shineforever.blog.51cto.com/1429204/1581958
相关文章推荐
- Linux系统查看进程信息相关命令:
- java查看出问题的server进程,相关信息查看
- erlang 查看进程相关信息
- linux查看进程启动时间、运行多长时间等指定信息
- 如何从EC2机器上查看 ec2服务器本机相关的信息呢?
- Linux下进程的内存相关信息的查看
- Linux 查看CPU信息,机器型号,内存等相关配置信息
- git查看远程分支相关信息
- [ubuntu命令技巧]常用查看进程相关信息
- windows进程信息查看 终止指定进程
- ps查看手机进程相关信息
- 如何判断远程机器的服务的信息
- 枚举进程,及其进程相关信息的资料整理
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。
- C#利用Wmi远程控制pc或者获取远程pc的配置信息
- 查看远程计算机机器名的命令
- 根据指定的信息,调用远程WebService方法
- 自动登录多台远程主机查看进程是否正常
- VC中枚举进程,及获取进程相关信息的资料整理
- C# 收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)