码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-04-11 18:55:27      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:python 自动化 运维 开发


项目背景:

为了更好的实现我们企业的自动化运维,我们需要对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的魅力绝对不只是我展示出来的这么点儿。希望大家能好好研究和灵活应用它。谢谢大家。


本文出自 “积少成多” 博客,谢绝转载!

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

标签:python 自动化 运维 开发

原文地址:http://9399369.blog.51cto.com/9389369/1762685

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!