实现 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数据库的一些要注意的问题
Oct 09 PHP
我的论坛源代码(三)
Oct 09 PHP
php 过滤危险html代码
Jun 29 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
php共享内存段示例分享
Jan 20 PHP
joomla数据库操作示例代码
Jan 06 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
php array_key_exists() 与 isset() 的区别
Oct 24 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 21 PHP
php7中停止php-fpm服务的方法详解
May 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
超强多功能php绿色集成环境详解
2017/01/25 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
wxpython 学习笔记 第一天
2009/03/16 Python
python实现问号表达式(?)的方法
2013/11/27 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
人力资源职位说明书
2014/07/29 职场文书
品牌转让协议书
2014/08/20 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
户外活动总结
2015/02/04 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android