将本地数据库备份到本地或者远程机器上

一.备份到本地脚本

1.新建一个脚本叫backup_local.bat

set NOW_TIME=%date:~0,4%%date:~5,2%%date:~8,2%
cd C:/Program Files/MySQL/MySQL Server 5.6/bin  
mysqldump -u root -proot mz_rhhd> D:\db_backup\test_%NOW_TIME%.sql
pause

2.新建任务计划

控制面板——》管理工具——》任务计划程序——》创建基本任务

3.效果

 

 

二.备份到远程

1.新建一个脚本叫backup_remote.bat文件。其他操作同上

@echo off
Set RemoteIP=192.192.192.3  
Set RemoteDir=FILEBAK\DATA
Set sourceDir=D:\backup\DC_BS
Set RemoteUser=srnet_bak
Set RemotePass=srnet_bak
Set FileDir=D:\backup\DC_BS
Set SysDate=%date:~0,4%-%date:~5,2%-%date:~8,2%
Set FileName=%RemoteUser%_%RemoteIP%_%SysDate%
Set DelDay=4

@echo 开始备份MYSQL数据库... 
mysqldump  -udc_bs_2019 -pdc_bs_2019 --single-transaction  --force  -R -E  -q -h rm-bp11lkc17g103cw25.mysql.rds.aliyuncs.com --extended-insert --default-character-set=utf8mb4 dc_bs_2019>D:/backup/DC_BS/MYSQL_dc_bs_%SysDate%.sql
@echo MYSQL数据库备份完成... 

@echo 开始压缩文件到指定位置... 
"C:\Program Files (x86)\WinRAR\Rar.exe" a %FileDir%/MYSQL_dc_etl_%SysDate%_bak.rar %sourceDir%/MYSQL_dc_etl_%SysDate%.sql
@echo 文件压缩完成! 

@echo 开始清除超过规定时间%DelDay%天的备份文件
forfiles /p %FileDir% /s /m *.* /d -%DelDay% /c "cmd /c del /f /q /a @path"
@echo 删除超过规定时间的备份文件完成 

三.删除指定日期前的历史文件或者文件夹
rem 删除D:\temp目录下7天前的文件

Forfiles /p D:\temp /s /d -7 /m *.* /c "cmd /c del /q /f @path"
rem 删除C:\ipub\logs目录下14天前的文件

Forfiles /p C:\ipub\logs /s /d -14 /m *.* /c "cmd /c del /q /f @path"
#删除指定路径下7天以前的文件夹
set "del_path=D:\Backup\"
forfiles /p %del_path%  /d -7 /c "cmd /c rd /q /s @path\"

各参数的含义
rem: 注释命令,只是起一个注释的作用

/p:指定要删除的目录

/s:表示递归搜索子目录

/d:-14表示14天前的文件,-7表示7天前的文件

/m:. 表示所有文件类型,如果要删除特定文件格式,可自行指定(如:只删除txt文件,可写成 *.txt )

/c:自行指定的命令,后面双引号括起来的是删除文件命令

自行指定的命令 “cmd /c del /q /f @path” 中:

/c: 表示执行完批处理命令后,关闭CMD窗口

del: 删除文件的命令

/q:安静模式。

删除全局通配符时,不要求确认

/f:强制删除只读文件。

使用方式及会用到的地方
使用方式:可以在Windows任务计划程序中,创建定时任务来执行该批处理文件(如:每天什么时间执行、执行频率…)。

会用到的地方:用于删除占用资源且没有用的文件,可用于定时删除服务器上的很久以前的临时文件、IIS服务器log…

优点:只需简单几行命令,完成设定来实现目的是比较快的。

 

 

 

 
posted @ 2021-12-12 14:56  武魂95级蓝银草  阅读(298)  评论(0编辑  收藏  举报