今天无意中发现了一个好玩的东西,原来可以利用Windows自身的计划任务,来备份程序和数据库(以前一直没用过计划任务,真是悲哀啊),废话不说,看实例:利用Windows计划任务备份PHP程序+MYSQL数据库
第一步:创建一个PHP文件,如Backup.php
执行内容:
//备份数据库
date_default_timezone_set('PRC');
$time = date('Y-m-d-H-i-s',time());
exec("mysqldump -u root -p8959 easy_cms > d:/temp/$time.sql");//执行command语句
//备份程序目录
function recurse_copy($src,$dst) { // 原目录,复制到的目录
$dir = opendir($src);
@mkdir($dst);
while(false !== ( $file = readdir($dir)) ) {
if (( $file != '.' ) && ( $file != '..' )) {
if ( is_dir($src . '/' . $file) ) {
recurse_copy($src . '/' . $file,$dst . '/' . $file);
}
else {
copy($src . '/' . $file,$dst . '/' . $file);
}
}
}
closedir($dir);
}
recurse_copy('D:/web/pro1','D:/sd');
第二步:
创建一个Bat文件如.Backup.bat;
内容如下:
php "D:/webEnvironment/www/3.php"
第三步添加计划任务:以Win7下为例:
控制面板->所有控制面板项->管理工具->任务计划程序
第三步,设置触发器,这里为了看效果,每1分钏即执行一次
第四步设置操作
至此计划任务已经完成。然后你就等看一分钏后看结果吧。
注意:
一、 你的目录路径中间最好不要有空格,如果有目录路径使用双引号分隔,(只能是双引号)
二、bat中的执行PHP的语句,方式为:PHP按装路径如:D:/web/php.exe 执行的PHP文件路径(上面bat这样写是因为在环境变量中添加了,故省略)
三、mysqldump也是如此,也要加上路径
至此,所有操作全部完成了
这里只是简单的做了个测试,你可以想像更多,如在风站后台自定义添加多个windows计划任务,它的计划任务也就是一个XML文件,这个可以自己研究,还可以做类似于定时发邮件,等等功能 ,充分发挥你的想像力吧。