91 lines
2.7 KiB
Python
91 lines
2.7 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 = options.db.split(',')
|
|
|
|
def _importGunsDB():
|
|
print('正在删除guns数据库 host:%s port:%d' % (mysql_conf['db_host'], mysql_conf['db_port']))
|
|
cmdline = 'mysql -h%s -u%s -p%s -e"drop database if exists %s"' % (
|
|
mysql_conf['db_host'],
|
|
mysql_conf['db_user'],
|
|
mysql_conf['db_passwd'],
|
|
'guns',
|
|
)
|
|
print(cmdline)
|
|
ret = os.system(cmdline)
|
|
print('正在创建guns数据库 host:%s port:%d' % (mysql_conf['db_host'], mysql_conf['db_port']))
|
|
cmdline = 'mysql -h%s -u%s -p%s -e"create database %s"' % (
|
|
mysql_conf['db_host'],
|
|
mysql_conf['db_user'],
|
|
mysql_conf['db_passwd'],
|
|
'guns',
|
|
)
|
|
print(cmdline)
|
|
ret = os.system(cmdline)
|
|
print('正在导入guns数据 host:%s port:%d' % (mysql_conf['db_host'], mysql_conf['db_port']))
|
|
cmdline = 'mysql -h%s -u%s -p%s %s -e"source %s"' % (
|
|
mysql_conf['db_host'],
|
|
mysql_conf['db_user'],
|
|
mysql_conf['db_passwd'],
|
|
'guns',
|
|
'../data/mysql/guns.sql'
|
|
)
|
|
print(cmdline)
|
|
ret = os.system(cmdline)
|
|
|
|
def _importGlobalRedis():
|
|
print('正在删除global redis host:%s port:%d' % (global_redis_conf['redis_host'], global_redis_conf['redis_port']))
|
|
cmdline = 'redis-cli -h %s -p %s -n 0 flushdb' % (
|
|
global_redis_conf['redis_host'],
|
|
global_redis_conf['redis_port']
|
|
)
|
|
print(cmdline)
|
|
ret = os.system(cmdline)
|
|
print('正在复制global.rdb文件到 host:%s' % (global_redis_conf['redis_host']))
|
|
cmdline = 'scp ../data/redis/global.rdb root@%s:/data/logs/redis/dump_6379.rdb' % (
|
|
global_redis_conf['redis_host'],
|
|
)
|
|
print(cmdline)
|
|
ret = os.system(cmdline)
|
|
print('正在导入dump_6379.rdb' % ())
|
|
cmdline = 'ssh %s "redis-server /etc/redis/redis_6379.conf"' % (
|
|
global_redis_conf['redis_host'],
|
|
)
|
|
print(cmdline)
|
|
ret = os.system(cmdline)
|
|
|
|
def _importGameDBAndRedis(server_id):
|
|
pass
|
|
|
|
for dbname in dbs:
|
|
if dbname == 'guns':
|
|
_importGunsDB()
|
|
elif dbname == 'global':
|
|
_importGlobalRedis()
|
|
else:
|
|
_importGameDBAndRedis(dbname)
|