Linux平台和Windows平台下两种自动备份MySQL数据的脚本(Shell&Bat)和步骤

Linux 平台和 Windows 平台下两种自动备份MySQL数据的脚本(Shell & Bat)和步骤

@for&ever 2009-9-2

 

假设MySQL数据库root 的密码是 abc123,要备份的dbname forandever .

 

一、Linux 平台:

1.1> 编写脚本

脚本如下:

 

#!/bin/bash

backupDir=/bak/DB/

bakFileNameTail=`_BAK_+"%Y%m%d%H%M%S"`

mysqldump -uroot -pabc123  forandever|gzip > ${backupDir}forandever${bakFileNameTail}.gz

exit 0

 

脚本简单说明:

 

1、定义备份文件存放的路径 backupDir /bak/DB/

2、定义备份文件名称的后部分为字符串 _BAK_ + 当前的系统时间

3、通过 mysqldump gzip 命令备份文件并压缩

 

将以上的脚本保存为 backupDB.sh.

 

1.2> 设置脚本定时执行

方法是设置 crontab

例如,添加如下的规则:

30 */6 * * * /root/backupDB.sh

6小时执行一次备份

更详细的设置可以查询相关的文档。

 

二、Windows 平台:

2.1> 编写脚本

脚本如下:

 

@echo off

 

set backupDir=e:/bak/DB/

set bakFileNameTail=_BAK_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

c:/mysql/bin/mysqldump -uroot -pabc123  forandever>%backupDir%forandever%bakFileNameTail%.sql

c:/file/7z.exe a -tzip %backupDir%forandever%bakFileNameTail%.zip %backupDir%forandever%bakFileNameTail%.sql

del %backupDir%forandever%bakFileNameTail%.sql /q

 

脚本简单说明:

 

1、定义备份文件存放的路径 backupDir e:/bak/DB/

2、定义备份文件名称的后部分为字符串 _BAK_ + 当前的系统时间

3、通过 mysqldump 导出数据文件

4、使用压缩软件 7z 压缩数据文件

5、静默删除第三步的导出文件

 

Windows平台下的第四步中,如果系统使用的是 winrar ,那么这里命令修改为:

c:/file/rar a %backupDir%forandever%bakFileNameTail%.rar %backupDir%forandever%bakFileNameTail%.sql

 

完整的使用rar 压缩的bat脚本为:

 

@echo off

 

set backupDir=e:/bak/DB/

set bakFileNameTail=_BAK_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

c:/mysql/bin/mysqldump -uroot -pabc123  forandever>%backupDir%forandever%bakFileNameTail%.sql

c:/file/rar a %backupDir%forandever%bakFileNameTail%.rar %backupDir%forandever%bakFileNameTail%.sql

del %backupDir%forandever%bakFileNameTail%.sql /q

 

将以上的脚本保存为 backupDB.bat.

 

2.2> 设置脚本定时执行

方法是添加一个“任务计划”。

步骤如下:

开始——>程序附件——>系统工具——>任务计划——>添加任务计划——>下一步——>浏览,找到backupDB.bat保存的位置,下一步,然后设置想要定时执行的时间即可。

 

@forandever 2009-9-2

 

 

 

你可能感兴趣的:(mysql,windows,linux,shell,脚本,平台)