66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
#!/usr/bin/python
|
|
|
|
import os
|
|
import sys
|
|
import time
|
|
import json
|
|
import redis
|
|
import pymysql
|
|
import datetime
|
|
import pprint
|
|
from string import Template
|
|
from optparse import OptionParser
|
|
|
|
import _utils
|
|
|
|
global_redis_conf = _utils.getGlobalRedisConf()
|
|
mysql_conf = _utils.getMysqlConf()
|
|
|
|
optparser = OptionParser(usage="%prog [options]")
|
|
optparser.add_option("-d",
|
|
"--db",
|
|
dest = "db",
|
|
help = "guns,global,serverid1,serverid2,serverid8-serveid20")
|
|
(options, args) = optparser.parse_args()
|
|
_utils.checkDBOption(options.db)
|
|
_utils.printDBOption(options.db)
|
|
dbs = _utils.parseOption(options.db)
|
|
_utils.info(dbs)
|
|
|
|
def _importGunsDB():
|
|
_utils.importMysql(mysql_conf, 'guns', 'guns_admin.sql', _utils.CHAR_SET_UTF8MB4)
|
|
|
|
def _importGlobalRedis():
|
|
_utils.importRedis(global_redis_conf, 'global redis', 'dump_6800.rdb')
|
|
time.sleep(10)
|
|
_utils.info('正在import _init_global_redis.script host:%s port:%d' % (
|
|
global_redis_conf['redis_host'],
|
|
global_redis_conf['redis_port']))
|
|
cmdline = 'cat _init_global_redis.script | redis-cli -h %s -p %s' % (
|
|
global_redis_conf['redis_host'],
|
|
global_redis_conf['redis_port']
|
|
)
|
|
_utils.info(cmdline)
|
|
ret = _utils.runLocalCmd(cmdline)
|
|
|
|
def _importGameDBAndRedis(server_id):
|
|
conf = _utils.getGameConf(server_id)
|
|
_utils.importMysql(conf, 'legend_' + str(server_id), 'legend_%d.sql' % (server_id),
|
|
_utils.CHAR_SET_UTF8MB4)
|
|
_utils.importMysql(conf, 'logger_' + str(server_id), 'logger_%d.sql' % (server_id),
|
|
_utils.CHAR_SET_UTF8MB4,
|
|
True)
|
|
if server_id < 50:
|
|
_utils.importRedis(conf, 'game redis', 'dump_%d.rdb' % (6800 + server_id))
|
|
else:
|
|
_utils.importRedis(conf, 'game redis', 'rdb_%d.rdb' % (6800 + server_id))
|
|
|
|
for dbname in dbs:
|
|
if dbname == 'guns':
|
|
_importGunsDB()
|
|
elif dbname == 'global':
|
|
_importGlobalRedis()
|
|
else:
|
|
_importGameDBAndRedis(int(dbname))
|