コード例 #1
0
def cront_restart(ip,port,cmd):
	nowtime = int(time.time())
	import datetime
	print "#"*20,datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),"#"*20
	get_nowtime = 'python -c "import time;print time.time()"'
	try:
		SSH=ssh_pk(ip,port)
		stdin,stdout,stderr = SSH.exec_command(get_nowtime)
		server_time=int(stdout.read().strip("\n").split(".")[0])
		#1小时相差
		print "当前: %s  服务器:  %s"%(nowtime,server_time)
		if server_time - nowtime > 3600:
			#back_now_time(ip,port,cmd)
			print "服务器时间大于1小时需要更改,检查游戏是否符合当前时间"
			#在判断是哪个服时间不对
			get_server_time="cd /data/server/%s && ./gamectl eval 'util:now_sec().'"%server
			stdin,stdout,stderr = SSH.exec_command(get_server_time)
			ser_time = int(stdout.read().strip("\n").split(".")[0])
			print "当前: %s  游戏服时间:  %s"%(nowtime,ser_time)
			if ser_time - nowtime > 3600:
				print "游戏需要恢复时间,正在恢复..."
				back_now_time(ip,port,cmd)
			else:
				print "游戏无需恢复时间"
		else:
			print "服务器时间小于1小时无需更改"
	except Exception,err:
		SSH.close()
		raise Exception(err)
コード例 #2
0
def m_time(ip,port,server,mtime):
	stop_cmd='cd /data/server/%s && ./gamectl sync_stop -q'%server
	mtime_cmd='date -s "%s" > /dev/null && echo -e "\033[1;32m-------------------\033[0m" && echo `date +"%%Y-%%m-%%d %%H:%%M:%%S"` && echo -e "\033[1;32m-------------------\033[0m"'%mtime
	start_cmd='cd /data/server/%s && ./gamectl start'%server
	try:
		SSH=ssh_pk(ip,port)
		stdin,stdout,stderr=SSH.exec_command(stop_cmd)
		stdout=stdout.read().strip("\n")
		stderr=stderr.read().strip("\n")
		print stdout		
		if stderr != "":	
			print "停服失败...%s"%(stderr)
			exit()

		stdin,stdout,stderr=SSH.exec_command(mtime_cmd)
		stdout=stdout.read().strip("\n")
		stderr=stderr.read().strip("\n")
		print stdout		
		if stderr != "":	
			print "修改时间失败...%s"%(stderr)
			exit()	


		stdin,stdout,stderr=SSH.exec_command(start_cmd)
		stdout=stdout.read().strip("\n")
		stderr=stderr.read().strip("\n")
		print stdout
		if stderr != "":	
			print "启动失败...%s"%(stderr)
			exit()	
		SSH.close()	
	except Exception,err:			
		message = '"fail",修改时间失败,信息:%s'%(err)
		SSH.close()
		raise Exception(message)
コード例 #3
0
def back_now_time(ip,port,cmd):
	try:
		SSH=ssh_pk(ip,port)
		stdin,stdout,stderr = SSH.exec_command(cmd)
		stdout=stdout.read().strip("\n")
		stderr=stderr.read().strip("\n")
		if stderr != "":				
			print "恢复当前时间失败,请联系运维处理...%s"%(stderr)	
			SSH.close()
			exit()
		print stdout
		print "恢复机器当前时间成功.."
	except Exception,err:
		SSH.close()	
		message = '"fail",sshconnect失败,信息:%s'%(err)
		raise Exception(message)			
コード例 #4
0
def getnowtime(ip,port):
	cmd = 'echo `date +"%Y-%m-%d %H:%M:%S"`'
	try:
		SSH=ssh_pk(ip,port)
		stdin,stdout,stderr = SSH.exec_command(cmd)
		stdout=stdout.read().strip("\n")
		stderr=stderr.read().strip("\n")
		if stderr != "":				
			print "获取机器当前时间失败!!!,请联系运维处理...%s"%(stderr)	
			SSH.close()
			exit()
		print stdout
	except Exception,err:
		SSH.close()	
		message = '"fail",sshconnect失败,信息:%s'%(err)
		raise Exception(message)