在windows2003中如果要做数据备份我们需要利用批处理+计划任务来操作了,这里我以备份mysql数据库为实例,其它的文件备份我也可以利用rsync工具进行备份了.
方法一:利用mysqldump,代码如下:
- @echooff
- setPATH=C:/"ProgramFiles"/WINRAR;%PATH%
- setMYSQLPATH=C:/"ProgramFiles"/MySQL/"MySQLServer5.0"
- setBAKPATH=e:/mysql_bak--phpfensi.com
- setUSERNAME=root
- setPASSWORD=1234567890
rem 请注意选择备份方式,屏蔽其他不需要的(前面加 rem 即可),rem 使用mysqldump 方式备份,代码如下:
- mkdir%BAKPATH%/data
- %MYSQLPATH%/bin/mysqladmin-u%USERNAME%-p%PASSWORD%flush-logs
- xcopy/e/c/h/y%MYSQLPATH%/data/mysql-bin.*%BAKPATH%/data
- rara-ag%BAKPATH%/diff/%BAKPATH%/data/mysql-bin.*
- rmdir/s/q%BAKPATH%/data/
- @echo%date%%time%dIncrementalbakupfinish>>C:/mysqlbakup.log
方法二、利用批处理 xcopy
功能:自动备份数据库并按日期创建备份文件夹,代码如下:
- @echooff
- echo执行备份任务
- echo正在停止数据库…
- echo正在停止网站数据库…
- netstopMySQL
- echo执行备份数据库
- xcopy"D:/MySQL/data/*.*"D:/mysqlbak/webbak%date:~0,10%//e/y/c
- netstartMySQL
- echo正在启动网站数据库…
- echo退出备份任务
- echo.
- exit
拆解:停止数据库命令,代码如下:
net stop MySQL
拷贝数据库文件
D:/MySQL/data/ 为数据库存放目录
D:/mysqlbak/webbak 为数据库备份目录
%date:~0,10% 为当前备份日期创建目录
代码如下:
xcopy "D:/MySQL/data/*.*" D:/mysqlbak/webbak%date:~0,10%/ /e /y /c
启动数据库,代码如下:
net start MySQL
进入控制面版,打开计划任务,双击"添加计划任务",在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了.