一般来说虚拟主机备份数据库是一件比较麻烦的事情。为了方便,我自己写了一个简单的办法用于备份mysql的数据库。
php代码:
<?
/**
* 虚拟主机备份程序
* 编程:boban<boban@21php.com>
* 讨论:<a href="http://www.21php.com/forums/" target="_blank">http://www.21php.com/forums/</a>
* 更新:2004-02-02
* 使用说明
* 1. 更改mysql连接的参数,$dbuser,$dbpass,$dbname
* 2. 用ftp登录,建立一个备份数据的专用目录,更改属性为777
* 3. 通过浏览器访问这个程序,如果mysqldump的路径不对,请自行更改(默认:/usr/bin/mysqldump)
* */
set_time_limit(900);
$today = date("_y_m_d");
$dbuser = "root";
$dbpass = "";
$dbname = "www_21php_com";
$servername = $_server[server_name];
$servername = str_replace(.,_,$servername);
//echo $servername;
$docroot = getcwd();
echo system("locate mysqldump");
echo "<br>";
// 删除备份文件
system("rm ./*.gz");
system("rm ./*.sql");
// 开始备份
system("/usr/bin/mysqldump –opt $dbname –user=$dbuser –password=$dbpass >./$servername$today.sql",$r1);
if($r1==0) echo "mysql数据备份成功<br>";
else echo "备份失败<br>";
system("gzip ./$servername$today.sql",$r2);
if($r2==0) echo "mysql数据压缩成功<br>";
else echo "备份失败<br>";
system("tar -czf ./$servername$today.tar.gz $docroot/../",$r3);
if($r3==0) echo "网站($docroot)备份成功<br>";
else echo "备份($docroot)失败<br>";
?>
