239 lines
9.3 KiB
Batchfile
239 lines
9.3 KiB
Batchfile
echo off
|
|
echo %date% %time%
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::: 同步战绩数据
|
|
:sync_recorddata
|
|
|
|
:init
|
|
::: 停止同步服务
|
|
::"%~dp0CallerService.exe" -stop
|
|
::net stop CallerService
|
|
net stop HttpRequestService
|
|
|
|
::: mysql导出工具文件全名
|
|
set ExportBinary="C:\webroot\dbbackup\mysql\mysqldump.exe"
|
|
::: mysql导入工具文件全名
|
|
set ImportBinary="C:\webroot\dbbackup\mysql\mysql.exe"
|
|
|
|
|
|
::: 游戏基础信息服务器配置
|
|
set Hostname_base="rm-bp1749tfxu2rpq670lo.mysql.rds.aliyuncs.com"
|
|
set Hostport_base="3306"
|
|
set Username_base="games"
|
|
set Password_base="Games0791!!"
|
|
set Database_base="game_db"
|
|
set ExportTable_base=player
|
|
|
|
::: 游戏战绩服务器配置
|
|
set Hostname_record="rm-bp1749tfxu2rpq670lo.mysql.rds.aliyuncs.com"
|
|
set Hostport_record="3306"
|
|
set Username_record="games"
|
|
set Password_record="Games0791!!"
|
|
set Database_record="grade_db"
|
|
set ExportTable_record=player_grade,gold_account
|
|
|
|
::: 后台服务器配置
|
|
set Hostname_owner="rm-bp1btyuwq77591x0jpo.mysql.rds.aliyuncs.com"
|
|
set Hostport_owner="3306"
|
|
set Username_owner="games"
|
|
set Password_owner="Games0791!!"
|
|
set Database_owner="agent_db"
|
|
set Database_owner_temp="agent_db_temp"
|
|
|
|
::: 临时服务器配置
|
|
set Hostname_temp="localhost"
|
|
set Hostport_temp="3309"
|
|
set Username_temp="root"
|
|
set Password_temp="root_root"
|
|
set Database_temp="agent_db"
|
|
set Database_temp_temp="agent_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_recorddata
|
|
)
|
|
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_recorddata
|
|
)
|
|
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_recorddata
|
|
)
|
|
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_recorddata
|
|
)
|
|
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_recorddata
|
|
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_recorddata
|
|
)
|
|
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_recorddata
|
|
)
|
|
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_recorddata
|
|
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 脚本删除完成
|
|
|
|
:sync_recorddata
|
|
echo %date% %time%
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::: 同步报表
|
|
|
|
:sync_reportdata
|
|
|
|
echo 开始同步报表数据(http://localhos/ext/SynchronizeReportData.php)
|
|
"%~dp0HttpRequest.x64.exe" -type post -address "http://localhost/ext/SynchronizeReportData.php" -parameter "" -interval 1000 -thread 1 -loop 0 >> "%~dp0debug.txt"
|
|
echo 开始生成报表数据(http://localhos/ext/autotask.php)
|
|
"%~dp0HttpRequest.x64.exe" -type post -address "http://localhost/ext/autotask.php" -parameter "" -interval 1000 -thread 1 -loop 0 >> "%~dp0debug.txt"
|
|
|
|
|
|
|
|
|
|
:exit_reportdata
|
|
echo %date% %time%
|
|
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::: 备份数据库
|
|
:backup_database
|
|
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%date%') do (
|
|
set yy=%%a & set mm=%%b & set dd=%%c
|
|
)
|
|
set /a dd=100%dd%%%100,mm=100%mm%%%100
|
|
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
|
|
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
|
|
|
|
set /a j=j-7
|
|
|
|
set /a i=j,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
|
|
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
|
|
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
|
|
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
|
|
|
|
set fdate=%yy%-%mm%-%dd%
|
|
echo %fdate%
|
|
|
|
set mysqldump=C:\xampp\mysql\bin\mysqldump.exe
|
|
set mysql=C:\xampp\mysql\bin\mysql.exe
|
|
set winrar=C:\Program Files\Bandizip\Bandizip.exe
|
|
set needupload=0
|
|
|
|
|
|
|
|
echo ================
|
|
|
|
echo 开始备份mysql(agent_db)
|
|
"%mysql%" -h"rm-bp1btyuwq77591x0jpo.mysql.rds.aliyuncs.com" -P"3306" -u"games" -p"Games0791!!" -e"truncate table player_grade" agent_db
|
|
"%mysql%" -h"rm-bp1btyuwq77591x0jpo.mysql.rds.aliyuncs.com" -P"3306" -u"games" -p"Games0791!!" -e"truncate table coin_rebate" agent_db
|
|
if exist "%~dp0agent_db_%yy%%mm%%dd%.sql" del "%~dp0agent_db_%yy%%mm%%dd%.sql"
|
|
"%mysqldump%" --default-character-set=utf8 --opt --lock-all-tables -x -h"rm-bp1btyuwq77591x0jpo.mysql.rds.aliyuncs.com" -P"3306" -u"games" -p"Games0791!!" -R agent_db > "%~dp0agent_db_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
echo 备份mysql(agent_db)结束
|
|
|
|
echo ================
|
|
|
|
::: 压缩备份文件
|
|
::%~d0
|
|
::cd "%~dp0"
|
|
::if exist "%~dp0database_%yy%%mm%%dd%.rar" del "%~dp0database_%yy%%mm%%dd%.rar"
|
|
::"%winrar%" a "database_%date:~0,4%%date:~5,2%%date:~8,2%.rar" "dbcenter_%date:~0,4%%date:~5,2%%date:~8,2%.dmp" "dbcenter_%date:~0,4%%date:~5,2%%date:~8,2%.log" "tswldb_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "syhd_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "game_db_localhost_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "youlehudong_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "game_db_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "member_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "tryout_%date:~0,4%%date:~5,2%%date:~8,2%.sql" "dkb_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
::if %needupload% NEQ 0 (
|
|
:: ::: 上传压缩文件
|
|
:: "%~dp0NetworkTool.x64.exe" -st "2" -rt "2" -hn "120.76.157.63" -hp "80" -on "/dbbackup/upload.php" -rd "/" -rf "database_%date:~0,4%%date:~5,2%%date:~8,2%.rar" -lf "%~dp0database_%date:~0,4%%date:~5,2%%date:~8,2%.rar"
|
|
:: ::: 删除压缩文件
|
|
:: :::del "database_%date:~0,4%%date:~5,2%%date:~8,2%.rar"
|
|
::)
|
|
|
|
::: 删除备份的文件
|
|
if exist "%~dp0dbcenter_%date:~0,4%%date:~5,2%%date:~8,2%.dmp" del "%~dp0dbcenter_%date:~0,4%%date:~5,2%%date:~8,2%.dmp"
|
|
if exist "%~dp0dbcenter_%date:~0,4%%date:~5,2%%date:~8,2%.log" del "%~dp0dbcenter_%date:~0,4%%date:~5,2%%date:~8,2%.log"
|
|
if exist "%~dp0tswldb_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0tswldb_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0syhd_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0syhd_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0agent_db_localhost_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0agent_db_localhost_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0youlehudong_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0youlehudong_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0agent_db_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0agent_db_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0member_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0member_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0tryout_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0tryout_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
if exist "%~dp0dkb_%date:~0,4%%date:~5,2%%date:~8,2%.sql" del "%~dp0dkb_%date:~0,4%%date:~5,2%%date:~8,2%.sql"
|
|
|
|
::: 备份完毕
|
|
:exit
|
|
|
|
::: 恢复同步服务
|
|
::"%~dp0CallerService.exe" -start
|
|
::net start CallerService HttpRequestService
|
|
net start HttpRequestService
|
|
echo on
|