我最近做了一个竞赛的报名系统,由于系统地需要,要进行每天的数据备份。
我是在Windows系统下的Apache+Mysql+PHP构架。Windows是2003 Server。
首先,学要写一个脚本,内容如下:
@echo off
mysqldump --opt -h 127.0.0.1 -u root --password=PassWord DatabaseName > D:/mysqlDump/%date:~0,10%.sql
将PassWord换成数据库密码,DatabaseName换成要备份数据库名。D:/mysqlDump/是我备份文件存放的地址。
%date:~0,10%.sql是存放的文件名。%date取得当前日期,~0,10%取日期返回值的0-10位作为文件名,形如2008-4-10,这样就实现了每天备份文件的文件名的不同。保存这个脚本为文件名.bat,如sqlDump.bat。运行这个脚本后,能在目录下找到以当前日期为文件名的备份文件。
实现了备份的脚本,还要实现每天的自动备份。需要使用Windows的任务计划功能,在控制面板下能找到,添加任务计划,运行内容是上面的脚本,如sqlDump.bat,时间就设在凌晨的2~3点,因为这是几乎没有访问用户,备份就不会影响到用户访问。确定后,每天就能自动备份。
当然,我的脚本还是很简单的,只能实现较为简单的功能,当然要完成更复杂的功能,就多学习写Windows脚本的知识了。