实现 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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
默默简单的写了一个模板引擎
Jan 02 PHP
php+mysql分页代码详解
Mar 27 PHP
PHP网站基础优化方法小结
Sep 29 PHP
PHP 时间转换Unix时间戳代码
Jan 22 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 PHP
Laravel框架中缓存的使用方法分析
Sep 06 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实现基本留言板功能原理与步骤详解
2020/03/26 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
详解Django框架中用context来解析模板的方法
2015/07/20 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
会计电算化个人求职信范文
2014/01/24 职场文书
城管综合整治方案
2014/05/01 职场文书
生物技术专业求职信
2014/06/10 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
学生评语集锦
2015/01/04 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android