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

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值