主服dbs添加次服dbs配置

#!-*- coding:utf-8 -*-
#/usr/bin/python
#

#參數4個: 平臺名  區號(次服)  端口(主服) 域名(主服)

import sys
reload(sys)      # reload 才能調用 setdefaultencoding 方法
sys.setdefaultencoding('utf-8')  # 設置 'utf-8' 

import MySQLdb
import houtai_dbname
import commands
import paramiko

def server_zoneid():
    #result=" "
        global conn,plname
        try:
                cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
                conn.select_db('h5_houtai')
                sql= "SELECT ip,zoneid,gameport FROM serverinfo WHERE pf=\'%s\' and zoneid = %s ;" % (plname,zoneid)
                cur.execute(sql)
                result=cur.fetchone()
        domain=result.get('ip')
        print domain
        id=int(result.get('zoneid'))
        print id
        #gport=result.get('gameport')
        #print gport

        #print hostname
        user='root'
        pkey_file ='/root/.ssh/id_rsa'
        key=paramiko.RSAKey.from_private_key_file(pkey_file)
        cmd='echo "%s=jdbc:mysql://%s:3306/xmxy_bnxy_%s&jygsuser&jy_GAME89XOK23CM4KCMhhJSKb" >> /usr/jyserver/%s/server/config/dbs.properties' % (zoneid,domain,zoneid,port)        #次數dbs配置寫入主服目錄dbs
        s=paramiko.SSHClient()  #調用paramiko模塊下的sshclient()
        s.load_system_host_keys()       #加載本地的known_hosts文件,該文件是紀錄連到對方時,對方給的 host key。每次連線時都會檢查
        i=s.load_system_host_keys()
        s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        s.connect(hostname,22,user,pkey=key,timeout=5)
        stdin,stdout,stderr=s.exec_command(cmd)
        cmd_result=stdout.read(),stderr.read()
        print cmd_result
        #for line in cmd_result:
        #   print line
        #print result
        #for line in result:
            #print (line,result[line])
            #print " values: %s" % result.values()
                cur.close()
                conn.close()
        except MySQLdb.Error,e:
                #print "MySQLdb error %d:%s " % (e.args[0],e.args[1])
                print e

if __name__=="__main__":
    plname=sys.argv[1]
    zoneid=sys.argv[2]
    port=sys.argv[3]
    hostname=sys.argv[4]
    #with open ("/usr/jyserver/%s/server/config/dbs.properties"  %  str(port)) as f:
        #print f.read().strip("")
    conn=MySQLdb.connect(host='xxx',user='xxx',passwd='xxx',port=3306,charset='utf8')
    server_zoneid()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章