# MySQL自动备份
# mysqldump
mysqldump -uroot -p123456 -h127.0.0.1 -P3306 --databases eladmin > backup.sql
1
# run.bat
需要提前配置mysql环境变量
@setlocal enabledelayedexpansion
@echo off&color 0a
:: 设置CMD显示的编码格式为UTF-8("防止中文乱码")
chcp 65001
echo start...
echo %date%
:: 需要根据时间格式做具体调整 如:周三 27/07/2022
set year=%date:~9,4%
set month=%date:~6,2%
set day=%date:~3,2%
set user=root
set password=123456
set port=3306
set host=127.0.0.1
set databases=space space_workflow halodb
set targetFolder=F:\db\space
if not exist %targetFolder% md %targetFolder%
::以日期为文件名
echo %year%-%month%-%day%
echo %targetFolder%
(for %%a in (%databases%) do (
echo %%a
set dbName=%%a
::echo !dbName!
mysqldump -u!user! -p!password! -h!host! -P!port! --databases !dbName! > !targetFolder!\!year!-!month!-!day!-!dbName!.sql
))
::mysqldump -u%user% -p%password% -h%host% -P%port% --databases %databases% > %targetFolder%\%year%-%month%-%day%.sql
echo end...
timeout /nobreak /t 5
exit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# schtasks
#创建任务
schtasks /create /tn "backup-eladmin" /tr F:\db\backup-eladmin.bat /sc DAILY /st 12:00
schtasks /create /tn "backup-space" /tr F:\db\backup-space.bat /sc DAILY /st 12:00
#查看任务下次执行时间
schtasks /query /tn backup-eladmin
schtasks /query /tn backup-space
#删除创建的任务
schtasks /delete /tn backup-eladmin
schtasks /delete /tn backup-space
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 导入
mysql -uroot -P3306 -p123456 eladmin< ./2022-07-27.sql
1