实现 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_MySQL教程-第一天
Mar 18 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
PHP 时间转换Unix时间戳代码
Jan 22 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
destoon整合UCenter图文教程
Jun 21 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
PHP架构及原理知识点详解
Dec 22 PHP
如何在PHP中使用数组
Jun 09 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
Python操作CouchDB数据库简单示例
2015/03/10 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
python画图的函数用法以及技巧
2019/06/28 Python
python web框架中实现原生分页
2019/09/08 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
如何理解Python中包的引入
2020/05/29 Python
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
2014组织生活会方案
2014/05/19 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
教师节横幅标语
2014/10/08 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
求职推荐信范文
2015/03/27 职场文书
2015年文明创建工作总结
2015/04/30 职场文书