您的位置:首页 > 运维架构

Pexpect:系统批量运维管理器!!!

2016-04-11 17:30 363 查看
项目背景:
为了更好的实现我们企业的自动化运维,我们需要对pexpect模块有清晰的了解和使用能力。

实验环境:
vmware workstation 11centos6.5的系统下 pexpect服务器:192.168.0.26
远程主机:192.168.0.14
SecureCRT (ssh远程连接软件)

软件介绍
Pexpect 是一个用来启动子程序并对其进行自动控制的纯 Python 模块。
Pexpect 可以用来和像 ssh、ftp、passwd、telnet 等命令行程序进行自动交互

实验流程:
一、pexpect安装
因为pexpect是python的一个普通的模块,所以我们可以用easy_install、pip快速安装
1、首先安装python-setuptools,python软件包管理器

[root@localhost ~]# yum install -y python-setuptools
安装完成以后我们就可以使用easy_install安装pexpect模块了
2、使用easy_install安装pexpect模块

[root@localhost ~]# easy_install pexpect
3、安装完成以后,我们检验一下是否安装成功


可以看到我们成功的导入了pexpect模块,证明我们成功的安装了。
二、实现远程ssh登录,登陆成功后查看网卡信息,并通过日志文件记录所有的输入和输出
1、创建脚本文件。
[root@localhost ~]# cat fuchao01.py
#!/usr/bin/env python
import pexpect
import sys
ssh =pexpect.spawn('ssh root@192.168.0.14')   #建立远程连接
fout =file('mylog.txt','w')
ssh.logfile =fout
ssh.expect('password:')
ssh.sendline("123456")
ssh.expect('#')
ssh.sendline('ifconfig')   #执行查看网卡信息的命令
ssh.expect('#')


2、脚本赋予可执行权限
[root@localhost ~]# chmod +x fuchao01.py
3、查看刚才生成的日志文件





项目总结:pexpect的魅力绝对不只是我展示出来的这么点儿。希望大家能好好研究和灵活应用它。谢谢大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  运维 python 自动化