实现 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的hash算法介绍
Feb 13 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
php在数据库抽象层简单使用PDO的方法
Nov 03 PHP
php正则表达式学习笔记
Nov 13 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
Sep 23 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
PHP基于递归实现的约瑟夫环算法示例
Aug 27 PHP
php写app用的框架整理
Sep 29 PHP
Laravel 类和接口注入相关的代码
Oct 15 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
May 02 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
apache rewrite_module模块使用教程
2008/01/10 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python实现拼接多张图片的方法
2014/12/01 Python
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
医院护理人员的自我评价分享
2013/10/04 职场文书
平民服装店创业计划书
2014/01/17 职场文书
上课打牌的检讨书
2014/02/15 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
资金申请报告范文
2015/05/14 职场文书
java项目构建Gradle的使用教程
2022/03/24 Java/Android