批处理文件定时自动冷备份目录、删除过期目录及文件
需求
服务器上的MYSQL数据库虽然用自动备份工具自动定时备份了sql文件,但以前有时候还原sql时会有错误和数据丢失。
为避免数据库万一出现异常,数据无法完整恢复,整理了以下批处理文件,添加了定时任务解决这个问题。
批处理文件内容
直接上bat文件:
rem stop mysql
net stop MySQL5_OA
net stop "memcached Server"
rem backup db td_oa with date dirname
@echo off
set target=D:\TDOABACKUP
set date=%date:~0,4%%date:~5,2%%date:~8,2%
xcopy "D:\MYOA\data5\TD_OA" "%target%\TD_OA_%date%\" /e /y
@echo on
rem start mysql
net start MySQL5_OA
net start "memcached Server"
rem delete old backup dirs of 10 days ago---dirs
:a
set target=D:\TDOABACKUP
set days=10
forfiles -p "%target%" -s -m *.* /D -%days% /C "cmd /c if @isdir == TRUE rd /S /Q @path"
rem delete old log files of 10 days ago---files
:b
set srcDirc="D:\MYOA\logs"
set daysAgoc=10
forfiles /p %srcDirc% /s /m *.* /d -%daysAgoc% /c "cmd /c del @path"
- rem stop mysql ,停止数据库服务和缓存服务;
- rem backup db td_oa with date dirname ,复制数据库目录下所有子目录和文件到备份目录下,目标目录名加当天的8位日期后缀;
- rem start mysql ,启动数据库服务和缓存服务;
- rem delete old backup dirs of 10 days ago—dirs ,删除指定目录下10天以前的子目录,days后的10可修改为自己要保留的数字,不要把target目录填错了;
- rem delete old log files of 10 days ago—files,删除指定目录下10天以前的文件,daysAgoc后的10可修改为自己要保留的数字,不要把srcDirc目录填错了。
添加windows系统计划任务
这个就不多说了,哪哪都有,照着做就是了。