1.利用SQLyog的Scheduled备份功能实现自动化备份
SQLyog这mysql管理工具,自从8.x版本之后,已经提供SQLyog’s Scheduled备份功能,帮助DBA执行自动化数据库备份。有个这一强大功能,就可以实现数据库集中和自动化备份,免去了自己写脚本和测试脚本的痛苦。
SQLyog支持生成.sql转储文件和zip压缩
SQLyog支持生成备份脚本并自动加入到Windows任务计划程序库,生成规范文件名格式的备份文件
2.利用Windows Powershell实现过期备份文件删除
该工具的缺憾是,不提供过期备份文件删除功能。
我们可以通过Windows的powershell脚本来弥补这一功能缺憾。
这里帖一个示例脚本
#FileName – del.expired.file.ps1
#删除过期文件
echo "These expired files have been deleted:"
$a=get-childitem -recurse E:\medium-local\MySQL.Backup -Exclude *.xml
#替换这里的 E:\medium-local\MySQL.Backup 为你的备份文件实际存放目录
foreach ($x in $a)
{
$y = ((Get-Date) – $x.LastWriteTime).Days
if ($y -gt 7 -and $x.PsISContainer -ne $True) #替换这里的7为你需要保留的实际天数
{
$x.Delete()
echo $x
}
}
#删除空文件夹
(Get-ChildItem E:\medium-local\MySQL.Backup -recurse `
| Where-Object {$_.PSIsContainer -eq $True}) `
| Where-Object {$_.GetFiles().Count -eq 0} `
| remove-Item
#替换这里的 E:\medium-local\MySQL.Backup 为你的备份文件实际存放目录
将该脚本扔到Windows技术任务程序库执行即可
Powershell可执行程序 – %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
添加参数 – "E:\ps.scripts\del.expired.file.ps1"