145 lines
4.6 KiB
Batchfile
145 lines
4.6 KiB
Batchfile
echo off
|
|
echo %date% %time%
|
|
|
|
:init
|
|
::: mysql导出工具文件全名
|
|
set ExportBinary="%~dp0mysqldump.exe"
|
|
::: mysql导入工具文件全名
|
|
set ImportBinary="%~dp0mysql.exe"
|
|
|
|
|
|
::: 游戏基础信息服务器配置
|
|
set Hostname_base="rm-bp1x3i28se22s9z75o.mysql.rds.aliyuncs.com"
|
|
set Hostport_base="3306"
|
|
set Username_base="games"
|
|
set Password_base="Games2017@)!&"
|
|
set Database_base="game_db"
|
|
set ExportTable_base=player
|
|
|
|
::: 游戏战绩服务器配置
|
|
set Hostname_record="rr-bp1x2415jy37d8mu1o.mysql.rds.aliyuncs.com"
|
|
set Hostport_record="3306"
|
|
set Username_record="games"
|
|
set Password_record="Games2017@)!%&"
|
|
set Database_record="game_db"
|
|
set ExportTable_record=player_grade,gold_account
|
|
|
|
::: 后台服务器配置
|
|
set Hostname_owner="rm-wz978o3vha6z26m5no.mysql.rds.aliyuncs.com"
|
|
set Hostport_owner="3306"
|
|
set Username_owner="yunuser"
|
|
set Password_owner="Yun_User"
|
|
set Database_owner="game_db"
|
|
set Database_owner_temp="game_db_temp"
|
|
|
|
::: 临时服务器配置
|
|
set Hostname_temp="localhost"
|
|
set Hostport_temp="3309"
|
|
set Username_temp="root"
|
|
set Password_temp="root_root"
|
|
set Database_temp="game_db"
|
|
set Database_temp_temp="game_db_temp"
|
|
|
|
::: 是否需要保存到临时库
|
|
set NeedSaveToTemp=0
|
|
|
|
::: 要执行的脚本
|
|
set ExecuteCommand_1="call cp_SynchronizeSettle();"
|
|
|
|
::: 保证脚本输出目录一定存在
|
|
if not exist "%~dp0script" md "%~dp0script"
|
|
|
|
::: 要导出的脚本文件名的前缀(后面还会加上表名)
|
|
set ScriptnamePrefix=%~dp0script\%date:~0,4%%date:~5,2%%date:~8,2%
|
|
|
|
::: 判断脚本是否存在, 存在则删除
|
|
::if exist %Scriptname% del %Scriptname%
|
|
|
|
:export
|
|
echo 开始导出游戏基础信息脚本
|
|
for %%t in (%ExportTable_base%) do (
|
|
::: 判断脚本是否存在, 存在则删除
|
|
if exist "%ScriptnamePrefix%_base_%%t.sql" del "%ScriptnamePrefix%_base_%%t.sql"
|
|
|
|
::: 循环导出脚本
|
|
echo 导出表%%t到%ScriptnamePrefix%_base_%%t.sql
|
|
%ExportBinary% --default-character-set=utf8 --opt -h%Hostname_base% -P%Hostport_base% -u%Username_base% -p%Password_base% %Database_base% %%t > "%ScriptnamePrefix%_base_%%t.sql"
|
|
if %errorlevel% neq 0 goto exit
|
|
)
|
|
echo 游戏基础信息脚本导出完成
|
|
|
|
echo 开始导出游戏战绩脚本
|
|
for %%t in (%ExportTable_record%) do (
|
|
::: 判断脚本是否存在, 存在则删除
|
|
if exist "%ScriptnamePrefix%_record_%%t.sql" del "%ScriptnamePrefix%_record_%%t.sql"
|
|
|
|
::: 循环导出脚本
|
|
echo 导出表%%t到%ScriptnamePrefix%_record_%%t.sql
|
|
%ExportBinary% --default-character-set=utf8 --opt -h%Hostname_record% -P%Hostport_record% -u%Username_record% -p%Password_record% %Database_record% %%t > "%ScriptnamePrefix%_record_%%t.sql"
|
|
if %errorlevel% neq 0 goto exit
|
|
)
|
|
echo 游戏战绩脚本导出完成
|
|
|
|
:import
|
|
echo 开始导入游戏基础信息脚本
|
|
for %%t in (%ExportTable_base%) do (
|
|
echo 从%ScriptnamePrefix%_base_%%t.sql导入表%%t
|
|
%ImportBinary% --default-character-set=utf8 -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% %Database_owner_temp% < "%ScriptnamePrefix%_base_%%t.sql"
|
|
if %errorlevel% neq 0 goto exit
|
|
)
|
|
echo 游戏基础信息脚本导入完成
|
|
|
|
echo 开始导入游戏战绩脚本
|
|
for %%t in (%ExportTable_record%) do (
|
|
echo 从%ScriptnamePrefix%_record_%%t.sql导入表%%t
|
|
%ImportBinary% --default-character-set=utf8 -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% %Database_owner_temp% < "%ScriptnamePrefix%_record_%%t.sql"
|
|
if %errorlevel% neq 0 goto exit
|
|
)
|
|
echo 游戏战绩脚本导入完成
|
|
|
|
:synchronize
|
|
echo 执行脚本%ExecuteCommand_1%
|
|
%ImportBinary% -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% -e%ExecuteCommand_1% %Database_owner%
|
|
if %errorlevel% neq 0 goto exit
|
|
echo 脚本执行完成
|
|
|
|
if %NeedSaveToTemp% equ 0 goto convertdata
|
|
|
|
:savetotemp
|
|
echo 开始导入游戏基础信息脚本到临时库
|
|
for %%t in (%ExportTable_base%) do (
|
|
echo 从%ScriptnamePrefix%_base_%%t.sql导入表%%t
|
|
%ImportBinary% --default-character-set=utf8 -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% %Database_temp_temp% < "%ScriptnamePrefix%_base_%%t.sql"
|
|
if %errorlevel% neq 0 goto exit
|
|
)
|
|
echo 游戏基础信息脚本导入完成
|
|
|
|
echo 开始导入游戏战绩脚本到临时库
|
|
for %%t in (%ExportTable_record%) do (
|
|
echo 从%ScriptnamePrefix%_record_%%t.sql导入表%%t
|
|
%ImportBinary% --default-character-set=utf8 -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% %Database_temp_temp% < "%ScriptnamePrefix%_record_%%t.sql"
|
|
if %errorlevel% neq 0 goto exit
|
|
)
|
|
echo 游戏战绩脚本导入完成
|
|
|
|
|
|
echo 执行同步脚本
|
|
echo 执行脚本%ExecuteCommand_1%
|
|
%ImportBinary% -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% -e%ExecuteCommand_1% %Database_temp%
|
|
if %errorlevel% neq 0 goto exit
|
|
echo 脚本执行完成
|
|
|
|
:convertdata
|
|
::"%~dp0MySqlSynchronize.exe"
|
|
|
|
:clean
|
|
echo 删除脚本文件
|
|
for %%t in (%ExportTable_base%) do del "%ScriptnamePrefix%_base_%%t.sql"
|
|
for %%t in (%ExportTable_record%) do del "%ScriptnamePrefix%_record_%%t.sql"
|
|
echo 脚本删除完成
|
|
|
|
:exit
|
|
echo %date% %time%
|
|
|
|
echo on
|