Python模块之Paramiko

简介:​

paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实 现远程文件的上传,下载或通过ssh远程执行命令。

使用pip命令进行安装:

pip install paramiko
使用paramiko上传文件夹
import paramiko,datetime,os    #导入包
hostname = 'IP1' #上传文件到该服务器
username = 'root'
password = '123456'
port = 22
local_dir = '/root/paramiko' #本地路径
remote_dir = '/root/paramiko' #远程路径
try:
t=paramiko.Transport((hostname,port))
t.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(t)
files = os.listdir(local_dir) #获取文件目录内容
for f in files:
sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))
#上传文件,下载使用sftp.get
t.close()
except Exception as e:
print ("connect error!:",e)
使用paramiko执行命令
#!/usr/bin/python
import paramiko
hostname = ' IP1' #远程登录服务器IP
username = 'root' #用户名
password = '123456' #密码
port = 22 #端口


ssh = paramiko.SSHClient() #实例化对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#允许连接不在 know_hosts文件中的机器
ssh.connect(hostname=hostname,port=port,username=username,password= password)
stdin, stdout, stderr = ssh.exec_command("ls -lrt") #执行命令
print stdout.readlines() #打印返回所有结果
ssh.close()

Python模块之Psutil

简介:
psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、 内存、磁盘、网络等)信息,它主要应用于系统监控。

使用pip命令进行安装:

pip install psutil
获取cpu、磁盘等信息
import Psutilimport Psutil
#查看cpu所有信息
>>> psutil.cpu_times()
scputimes(user=11677.09, nice=57.93, system=148675.58, idle=2167147.79, iowait=260828.48, irq=7876.28, softirq=0.0, steal=3694.59, guest=0.0, guest_nice=0.0)


#获取磁盘完整信息
>>>psutil.disk_partitions()
>>>[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'),sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='F:\\', mountpoint='F:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='G:\\', mountpoint='G:\\', fstype='NTFS', opts='rw,fixed')]
查看系统进程
​>>>psutil.pids()
#查看单个进程详细情况
>>> p = psutil.Process(372)#进程ID
>>> p.name
<bound method Process.name of psutil.Process(pid=372, name='smss.exe', started='08:26:07')>


#查看进程状态
>>> p.status()
'running'
#######进程其他信息获取方法#######
p.name() #进程名
p.exe() #进程的bin路径
p.cwd() #进程的工作目录绝对路径
p.status() #进程状态
p.create_time() #进程创建时间
p.uids() #进程uid信息
p.gids() #进程的gid信息
p.cpu_times() #进程的cpu时间信息,包括user,system两个cpu信息
p.cpu_affinity() #get进程cpu亲和度,如果要设置cpu亲和度,将cpu号作为参考就 好
p.memory_percent() #进程内存利用率
p.memory_info() #进程内存rss,vms信息
p.io_counters() #进程的IO信息,包括读写IO数字及参数
p.connectios() #返回进程列表
p.num_threads() #进程开启的线程数