首先把脚本代码贴出来:
@echo off
rem backupmysql
del c:/backup/website/bugdb_*.sql
cd f:/usr/wamp.mysql/bin
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set filename=bugdb_%year%%nonth%%day%.sql
mysqldump.exe -uroot -p123456 >f:/backup/website/%filename%
第9行
依次解释一下每句代码的意思:
•第四行:删除指定目录下的文件名包含有“bugdb_”字样的sql文件。因为这个代码是我先前写的,在公司的服务器上每天晚上跑一次。所以每次备份之前,先删除头天已备份成功的文件。
•第五行:进入MySQL的bin目录,因为在此目录下有个mysqldump.exe的文件,该文件时MySQL数据库自带的备份和恢复MySQL数据库的工具,这个脚本文件正是用到该工具。
•第六行:取当前系统日期的年份,以四位数字表示,如2010。
•第七行:取当前系统日期的月份,以两位数字表示,如03。
•第八行:取当前系统日期的日期,以两位数字表示,如12。
•第九行:定义备份文件名,最终的文件名以bugdb_20100312.sql形式存在,即文件名加日期的形式。
•第十行:执行备份。
再来解释一下mysqldump的语法格式。格式为:
1.mysqldump.exe"要备份的数据库名" -u(接用户名) -p(接密码) > "备份文件存放的路径及文件名"其中“>”的作用是输出重定向,即把mysqldump.exe备份的数据输出到一个文件里并保存。
将以上脚本复制到一个文本文件里,并另存为*.bat,如backup.bat的批处理文件,接下来会要用到该文件,我把它存在D:/scripts/backup_bugdb.bat。