Files
youlegames/codes/agent/tools/autorun - bak.cmd
2026-03-15 01:27:05 +08:00

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