zoukankan      html  css  js  c++  java
  • python数据库操作对主机批量管理

     1 import paramiko
     2 import MySQLdb
     3 conn = MySQLdb.connect(host='192.168.1.101',user='root',passwd='123',db='host')
     4 cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
     5 reCout = cur.execute('select pass,users,ip,name from  host,user WHERE `user`.name = "root" and `user`.id=`host`.id')
     6 nRet = cur.fetchall()
     7 conn.commit()
     8 cur.close()
     9 conn.close()
    10 for i in  nRet:
    11     hosts = i['ip']
    12     users = i ['users']
    13     passs = i['pass']
    14     print hosts,users,passs
    15     transport = paramiko.Transport((hosts, 22))
    16     transport.connect(username=users, password=passs)
    17     ssh = paramiko.SSHClient()
    18     ssh._transport = transport
    19     stdin, stdout, stderr = ssh.exec_command('ls /root')
    20     print stdout.read()
    21     transport.close()

    数据表

    2.以组的方式批量管理

    import paramiko
    import MySQLdb
    conn = MySQLdb.connect(host='192.168.1.101',user='root',passwd='123',db='host')
    cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
    reCout = cur.execute('select pass,users,ip,name from  host,user WHERE `user`.name = "admin" and `user`.id=`host`.id')
    nRet = cur.fetchall()
    conn.commit()
    cur.close()
    conn.close()
    for i in  nRet:
        hosts = i['ip']
        #users = i ['users']
        groups =i['name']
        passs = i['pass']
        print hosts,groups,passs
        transport = paramiko.Transport((hosts, 22))
        transport.connect(username=groups, password=passs)
        ssh = paramiko.SSHClient()
        ssh._transport = transport
        stdin, stdout, stderr = ssh.exec_command('ls /home/')
        print stdout.read()
        transport.close()

    数据结构

    主机列表

    组列表

    组列表的id为主机列表id的外键

    查询语句

    select pass,users,ip,name from  host,user WHERE `user`.name = "admin" and `user`.id=`host`.id

  • 相关阅读:
    增加samba用户提示Failed to add entry for user
    二叉树
    excel技巧
    mongodb导入json文件
    mongodb导出数据csv格式
    mongoexport导出csv中文乱码
    左连接,结果大于左面的表验证 解释
    plsql 用法和技巧
    对javaNI和NIO理解
    TinyMCE4.x整合教程-Xproer.WordPaster
  • 原文地址:https://www.cnblogs.com/guigujun/p/6240098.html
Copyright © 2011-2022 走看看