Chinaunix首页 | 论坛 | 博客
  • 博客访问: 236878
  • 博文数量: 52
  • 博客积分: 1492
  • 博客等级: 上尉
  • 技术积分: 554
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 15:54
文章分类
文章存档

2010年(52)

我的朋友

分类:

2010-06-03 16:05:54

    这几天在学习python,就参照网上的资料写了个小脚本练练手。
这个脚本也在服务器上测试过,是可以用的,但是如果大家是通过外网网卡登录到各服务器上会比较慢,最好是将脚本放到一台服务器上(监控服务器),然后通过内网网卡进行连接检查,如果都加了host的情况下还是很快的。。。不会耽误太久。。
 
#!/usr/bin/env python
#ssh_cmd_ver2.py
#coding:utf-8
import pexpect
def ssh_cmd(ip, user, passwd, cmd):
    ssh = pexpect.spawn('ssh "%s"' % (user, ip, cmd))
    try:
        i = ssh.expect(['password: ', 'continue connecting (yes/no)?'])
        if i == 0 :
            ssh.sendline(passwd)
            r = ssh.read()
        elif i == 1:
            ssh.sendline('yes\n')
            ssh.expect('password: ')
            ssh.sendline(passwd)
            r = ssh.read()
    except pexpect.EOF:
        ssh.close()
    return r
 
hosts = '''
192.168.1.12:root:1357924680:df -h,uptime
192.168.1.13:root:1357924680:df -h,uptime
'''
 
for host in hosts.split("\n"):
    if host:
        ip, user, passwd, cmds = host.split(":")
        for cmd in cmds.split(","):
            print "-- %s run:%s --" % (ip, cmd)
            print ssh_cmd(ip, user, passwd, cmd)
阅读(6844) | 评论(0) | 转发(0) |
0

上一篇:进程 线程 连接数

下一篇:时间管理

给主人留下些什么吧!~~