需求:
新部署了个演示系统,希望数据库、资源文件每晚凌晨6点更新到初始状态,访问外出演示时添加演示数据,导致演示数据混乱,效果不理想。
1、备份初始的数据库my-db、资源文件static。
2、每晚定时还原脚本。
::还原初始化备份的数据库my-db(自带先删除表,再创建表)
mysql -umytest -pmytest123 my-db < .\my-db_2022-02-02.sql
ping -n 5 127.0.0.1 > nul
::删除资源文件
rd /S /Q F:\Apache\tomcat\webapps\ROOT\static
ping -n 5 127.0.0.1 > nul
::恢复初始化备份的资源文件
robocopy E:\back\static E:\Apache\tomcat\webapps\ROOT\static\ /MIR /R:3 /W:60 /LOG:testCopyLog.txt
ping -n 5 127.0.0.1 > nul
exit
另一种方式
1、每晚定时还原外部mysql命令脚本。
::还原数据库-引入外部mysql命令(wb-sql.bat)
mysql -umytest -pmytest123 < .\wb-sql.bat
ping -n 5 127.0.0.1 > nul
::删除资源文件
rd /S /Q F:\Apache\tomcat\webapps\ROOT\static
ping -n 5 127.0.0.1 > nul
::恢复初始化备份的资源文件
robocopy E:\back\static E:\Apache\tomcat\webapps\ROOT\static\ /MIR /R:3 /W:60 /LOG:testCopyLog.txt
ping -n 5 127.0.0.1 > nul
exit
2、外部mysql命令脚本(wb-sql.bat)。
drop database IF EXISTS `my-db`;
CREATE DATABASE `my-db` CHARACTER SET utf8 COLLATE utf8_general_ci;
use `my-db`;
source my-db_2022-02-02.sql;