项目背景:
为了更好的实现我们企业的自动化运维,我们需要对pexpect模块有清晰的了解和使用能力。
实验环境:
vmware workstation 11
centos6.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的魅力绝对不只是我展示出来的这么点儿。希望大家能好好研究和灵活应用它。谢谢大家。
本文出自 “付炜超” 博客,谢绝转载!