实现 win2003 下 mysql 数据库每天自动备份
作者:bea
1.环境:windowsserver2003+PHP5+MySQL5.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_f
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.
");
@mkdir($nowdir);
mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs();
$command = '';
while($result=mysql_fetch_array($query)){
$command .= dirname(__FILE__).'..mysqlinmysqldump --opt '."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir\$result[Database].sql
";
$command .= "echo dumping database `$result[Database]`...
";
}
$command .= "echo Winrar loading...
";
$command .= dirname(__FILE__)."\WinRAR\WinRAR.exe a -ep1 -r -o+ -m5 -df "$nowdir.rar" "$nowdir"
";
$command .= "echo OK!
";
$command .= "del mysqldumping_temp.bat
";
$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.
”);
@mkdir($nowdir);
mysql_connect(“localhost”,”$db_username”,”$db_password”);
$query=mysql_list_dbs();
while($result=mysql_fetch_array($query)){
system (dirname(__FILE__).'..mysqlinmysqldump –opt ‘.”$result[Database] -u{$db_username} “.($db_password?”-p{$db_password}”:””).” > $nowdir\$result[Database].sql”);
echo “dumping database `$result[Database]`…
”;
}
echo “
Winrar loading…
”;
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 “
OK!
”;
?>
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
有用 | 无用
<?
//保存目录,路径要用反斜杠.您需要手动建立它.
$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.
");
@mkdir($nowdir);
mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs();
$command = '';
while($result=mysql_fetch_array($query)){
$command .= dirname(__FILE__).'..mysqlinmysqldump --opt '."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir\$result[Database].sql
";
$command .= "echo dumping database `$result[Database]`...
";
}
$command .= "echo Winrar loading...
";
$command .= dirname(__FILE__)."\WinRAR\WinRAR.exe a -ep1 -r -o+ -m5 -df "$nowdir.rar" "$nowdir"
";
$command .= "echo OK!
";
$command .= "del mysqldumping_temp.bat
";
$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.
”);
@mkdir($nowdir);
mysql_connect(“localhost”,”$db_username”,”$db_password”);
$query=mysql_list_dbs();
while($result=mysql_fetch_array($query)){
system (dirname(__FILE__).'..mysqlinmysqldump –opt ‘.”$result[Database] -u{$db_username} “.($db_password?”-p{$db_password}”:””).” > $nowdir\$result[Database].sql”);
echo “dumping database `$result[Database]`…
”;
}
echo “
Winrar loading…
”;
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 “
OK!
”;
?>
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(视频)Http下载
- E路文章系统PHP
- 使用PHP数组实现无限分类,不使用数据库,不使用递归.
- Php部分常见问题总结
- global.php
- source.php查看源文件
- function.inc.php超越php
- 粗略计算在线时间,bug:ip相同
- php中处理模拟rewrite 效果
- 如何写php程序?
- IIS下配置Php+Mysql+zend的图文教程
- 从网上搜到的phpwind 0day的代码
- PHP字符函数大全
- ajax缓存问题解决途径
- 数字转英文
- 產生圖片隨機字串
- 計算你開發的 PHP 程式大小
- PHP中,文件上传
- eWebEditor v3.8 商业完整版 (PHP)