#!/usr/bin/python # -*- coding: GBK -*- # ##@package # # @todo: Ô¶³Ì¿ØÖÆ¿ª¹Ø·þ # # @author: Alee # @date 2019-2-20 ÏÂÎç05:26:59 # @version 1.0 # # @note: ÐèҪעÒâ ¡¶·þÎñÆ÷¿ØÖÆÌ¨¡· ÔÚ¿ª»úºóºÍ¹Ø·þºó±£³ÖÔËÐÐ״̬£»¿ª»ú¿ÉÒÔÉèÖÃËæ»úÆô¶¯£¬¹Ø·þºó¿ÉÒÔÌí¼ÓÃüÁîÐпªÆô£¨Ðècd¶¨Î»Ï·¾¶£© # 1.¿ØÖÆÌ¨±»Á´½ÓµÄÇé¿ö ÎÞ·¨ÓÐÐ§ÖØÆô #--------------------------------------------------------------------- import urllib import urllib2 import md5 import os import json import datetime g_fileLog = None key = "slkfjlaskjf'lasjfjj1j4r1;2j;15r1-id-ig-k1r51-0id-sfgk1=-i1-m;az01m,-k-1-i4-14-1fmm1-" port = 53009 # Ô¶³ÌCMDÃüÁî def control(url, cmdstr): sign = md5.md5("%s1234666%s"%(cmdstr, key)).hexdigest() values = {'control' : cmdstr, 'sign' : sign } try: data = urllib.urlencode(values) req = urllib2.Request("http://%s:%s/control/openandclose.php"%(url, port), data) response = urllib2.urlopen(req, timeout=30) the_page = response.read() if not the_page: WriteResult( "%s:ÔËÐÐʧ°Ü===="%url) else: WriteResult( "%s:ÔËÐгɹ¦ %s"%(url, the_page)) response.close() except Exception, e: WriteResult("%s:ÔËÐÐʧ°Ü£¬ Èç¹ûÊdz¬Ê±¿ÉÄÜÊÇÔËÐÐÂýÊÇʵ¼ÊÊdzɹ¦£¬ÇåÅäºÏÆäËû¹¤¾ß»òÕßÖ±½ÓÔ¶³Ì²é¿´ %s"%(url, str(e))) #WriteResult("Èç¹ûÊdz¬Ê±¿ÉÄÜÊÇÔËÐÐÂýÊÇʵ¼ÊÊdzɹ¦£¬ÇåÅäºÏÆäËû¹¤¾ß»òÕßÖ±½ÓÔ¶³Ì²é¿´") # Ö»ÓÃÓÚÊ×´ÎÍêÕû¿ª·þºóµÄ·þÎñÆ÷Æô¶¯²éѯ£¬ÒòΪµØÍ¼ÊÇ×îºó³õʼ»¯Íê±Ï£¬¿ÉÒÔ¸ù¾ÝµØÍ¼Êý¾ÝÅжÏÊÇ·ñÍêÕû¿ªÆô # µØÍ¼¹Ø±Õºó²»»á¸Ä±äÊýÁ¿£¬¹ÊµØÍ¼ÓÐÒì³£¹Ø±Õ»áÁíÍâͨ¹ýÓʼþ֪ͨ # Èç¹û¡¶·þÎñÆ÷¿ØÖÆÌ¨¡·ÖØÆôÔòÎÞ·¨È·ÈÏ¿ª·þÇé¿ö def QueryMapInit(url): try: req = urllib2.Request("http://%s:%s/control/state.php?Type=QueryMapOK"%(url, port)) response = urllib2.urlopen(req, timeout=5) the_page = response.read() WriteResult("²éѯ·þÎñÆ÷ %s: %s"%(url, the_page)) response.close() except Exception, e: WriteResult("%s:ÔËÐÐʧ°Ü%s"%(url, str(e))) # ÖØ¶ÁÅäÖ㬶ÔÓ¦GMkey def ReloadConfig(pushurl): # ĬÈ϶˿Ú80£¬ÓÐÐèÒªÖ±½Ó¸ÄµØÖ· try: # GMÍÆË͵ØÖ· gmurl = "http://%s/Server/Tool.php"%(pushurl) gmkey = "Y25GVFoyOVFjbWtyTDJJckt5OU1OQ3RtUFQxPV" if not gmkey or not gmurl: return pack_data = {}; pack_data["pack_type"] = "GMT_ReloadConfig" pack_data["key"] = gmkey; pack_data['coding'] = "utf8"; #ʹÓÃkey¼ÓÃÜ pack_data_dict = json.dumps(pack_data) sign = md5.md5(pack_data_dict+gmkey).hexdigest() post = {} post['pack'] = pack_data_dict; post['sign'] = sign; result = urllib2.urlopen(gmurl, urllib.urlencode(post), 10) content = result.read() result.close() resultDict = json.loads( content) if resultDict["ResultType"] == 0: WriteResult( pushurl + " ÖØ¶Á³É¹¦£¡£¡£¡") return True WriteResult( pushurl+ " ÖØ¶Áʧ°Ü") return False except Exception, e: WriteResult( pushurl+ " ÖØ¶Áʧ°Ü" + str(e)) return False # ÖØ¶ÁPymongo£¬¶ÔÓ¦GMkey def ReloadPymongo(pushurl): # ĬÈ϶˿Ú80£¬ÓÐÐèÒªÖ±½Ó¸ÄµØÖ· try: # GMÍÆË͵ØÖ· gmurl = "http://%s/Server/Tool.php"%(pushurl) gmkey = "2" # ¸ß¼¶key if not gmkey or not gmurl: return pack_data = {}; pack_data["pack_type"] = "GMT_ReloadPymongo" pack_data["key"] = gmkey; pack_data['coding'] = "utf8"; #ʹÓÃkey¼ÓÃÜ pack_data_dict = json.dumps(pack_data) sign = md5.md5(pack_data_dict+gmkey).hexdigest() post = {} post['pack'] = pack_data_dict; post['sign'] = sign; result = urllib2.urlopen(gmurl, urllib.urlencode(post), 10) content = result.read() result.close() resultDict = json.loads( content) if resultDict.get("ResultType") == 0: WriteResult( pushurl + " ÖØ¶Á³É¹¦£¡£¡£¡") return True WriteResult( pushurl+ " ÖØ¶Áʧ°Ü! ret:%s" % content) return False except Exception, e: WriteResult( pushurl+ " ÖØ¶Áʧ°Ü! e:" + str(e)) return False def WriteResult(msg): global g_fileLog if not g_fileLog: g_fileLog = open(r".\controlLog.txt", "a") g_fileLog.write(str(datetime.datetime.today()) + '\t' + msg + "\n") print msg return #control("vm-mobilecom", "open") #control("vm-mobilecom", "close") if __name__=='__main__': # ·þÎñÆ÷Áбí f = open(r'.\qufu.txt','r') result = raw_input("ÇëÊäÈë×Öĸ k.¿ª·þ g.¹Ø·þ c.²é¿´µØÍ¼ÔËÐÐÇé¿ö£¨Ê׿ª·þ£© r.ÖØ¶ÁÅäÖà rpym.ÖØ¶Ápymongo") result = result.strip() WriteResult("==¿ªÊ¼Ö´ÐÐÃüÁî:%s"%result) if result == 'k': for line in f.readlines(): control(line.strip(), "open") elif result == 'g': for line in f.readlines(): control(line.strip(), "close") elif result == 'c': for line in f.readlines(): QueryMapInit(line.strip()) elif result == 'r': for line in f.readlines(): ReloadConfig(line.strip()) elif result == 'rpym': for line in f.readlines(): ReloadPymongo(line.strip()) else: WriteResult("==Ö´ÐдíÎóµÄÃüÁî:%s"%result) f.close() if g_fileLog: g_fileLog.close() os.system('pause')