实现 win2003 下 mysql 数据库每天自动备份


Posted in PHP onDecember 06, 2006

1. 环境: windows server 2003 +  PHP5 + MySQL 5.1.6. 
2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql. 
3. 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR . 
4. D:/php 下建立文件 mysql_backup.php: 

代码如下: 

<?  
//保存目录,路径要用反斜杠.您需要手动建立它.  
$store_folder = 'D:\databse_backup';  

//用户名和密码  
//该帐号须有操作[所有]的数据库及FILE的权限  
//否则有些数据库不能备份.  
$db_username = "root";  
$db_password = "";  

$time=time();  

$nowdir = "$store_folder\\".date("Ymd",$time)."";  
if(file_exists("$nowdir.rar")) die("File exists.\r\n");  
@mkdir($nowdir);  

mysql_connect("localhost","$db_username","$db_password");  
$query=mysql_list_dbs();  


$command = '';  
while($result=mysql_fetch_array($query)){  
  $command .= dirname(__FILE__).'\..\mysql\bin\mysqldump --opt '."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir\\$result[Database].sql \r\n";  
  $command .= "echo dumping database `$result[Database]`... \r\n";  
}  
  $command .= "echo Winrar loading...\r\n";  

$command .= dirname(__FILE__)."\\WinRAR\\WinRAR.exe a -ep1 -r -o+ -m5 -df \"$nowdir.rar\" \"$nowdir\" \r\n";  

$command .= "echo OK!\r\n";  

$command .= "del mysqldumping_temp.bat\r\n";  

$fp = fopen('mysqldumping_temp.bat','w');  
fwrite($fp,$command);  
fclose($fp);  


//删除 5 天前的文件  
@unlink("$store_folder\\".date("Ymd",$time-86400*5).".rar");  
?>

或者用下面的代码:

<?
//保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder = ‘D:\database_backup';
//用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些数据库不能备份.
$db_username = “root”;
$db_password = “”;
$time=time();
$nowdir = “$store_folder\\”.date(“Ymd”,$time).””;
if(file_exists(“$nowdir.rar”)) die(“File exists.\n”);
@mkdir($nowdir);
mysql_connect(“localhost”,”$db_username”,”$db_password”);
$query=mysql_list_dbs();
while($result=mysql_fetch_array($query)){
system (dirname(__FILE__).'\..\mysql\bin\mysqldump ?opt ‘.”$result[Database] -u{$db_username} “.($db_password?”-p{$db_password}”:””).” > $nowdir\\$result[Database].sql”);
echo “dumping database `$result[Database]`…\n”;
}
echo “\nWinrar loading…\n”;
system( dirname(__FILE__).”\\WinRAR\\WinRAR.exe a -ep1 -r -o+ -m5 -df \”$nowdir.rar\” \”$nowdir\” ” );
//删除 5 天前的文件
@unlink(“$store_folder\\”.date(“Ymd”,$time-86400*5).”.rar”);
echo “\nOK!\n”;
?>

5. D:/php 下建立文件 mysql_backup.bat,内容为: 

echo off  
php.exe mysql_backup.php  
if exist mysqldumping_temp.bat call mysqldumping_temp.bat

6. 双击该 bat 文件运行,如果能备份了,OK,下一步添加任务计划. 
7. 把 D:/php/mysql_backup 添加到任务计划,时间选每天. 根据服务器的监测结果,每天早上 5-8 时为流量低峰期. 由于 5-7 时有些数据库的清理工作,我把时间定在了早上 8 点整. 

原作者:faisun 
Website: http://www.softpure.com

PHP 相关文章推荐
PHP输出XML到页面的3种方法详解
Jun 06 PHP
解析posix与perl标准的正则表达式区别
Jun 17 PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
php图像验证码生成代码
Jun 08 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 PHP
同一空间绑定多个域名而实现访问不同页面的PHP代码
Dec 06 #PHP
PHP产生随机字符串函数
Dec 06 #PHP
如何使用PHP往windows中添加用户
Dec 06 #PHP
php巧获服务器端信息
Dec 06 #PHP
Apache2 httpd.conf 中文版
Dec 06 #PHP
PHP 字符串操作入门教程
Dec 06 #PHP
让你的网站首页自动选择语言转跳
Dec 06 #PHP
You might like
PHP安装全攻略:APACHE
2006/10/09 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
document.forms用法示例介绍
2014/06/26 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
canvas时钟效果
2017/02/16 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
python映射列表实例分析
2015/01/26 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
买房委托公证书
2014/04/08 职场文书
企业宣传策划方案
2014/05/29 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
如何判断pytorch是否支持GPU加速
2021/06/01 Python