MyPHPdumpTool:MySQL 数据库备份解决方案
MyPHPdumpTool(简称 mpdt)是一个不错的 MySQL 数据库备份解决方案。它使用 PHP 所写,可直接在命令行执行。无论是本机的,还是远程的 MySQL 数据库,mpdt 都能胜任。它除了能够将所备份的 MySQL 数据库保存到当前的机器上之外,也可以将其上传到 FTP 服务器。结合 Cron,使用 mpdt 还可以实现按照计划自动备份,十分方便。
由于 mpdt 是通过在 CLI 执行的应用,所以首先要确保系统中存在 PHP 命令行程序。如果没有,则可以通过 sudo apt-get install php5-cli 安装。
在下载了mpdt 之后,使用 tar xvzf mpdt*.tar.gz 解包。mpdt 的用法如下:
php mpdt.php [1] [2]
其中,[1] 为需要备份的 MySQL 数据库配置信息,[2] 为要上传的 FTP 服务器配置信息。二者可以在 lib/config.inc.php 文件中配置。
对于 MySQL 数据库来说,主要配置以下四个方面:
"DBHost"=>"xxx.xxx.xxx.xxx",
"DBUser"=>"dbuser",
"DBPasswd"=>"dbpasswd",
"DBName"=>"dbname"
DBHost 可以为 localhost,也可以为确定的 IP 地址;DBUser 即所备份的数据库的用户名;DBPasswd 为需备份数据库的密码;DBName 是要备份的数据库名称,如果是备份所有的数据库,则填写“all”。
与 MySQL 数据库类似,FTP 服务器的配置包括:
"FTPHost"=>"xxx.xxx.xxx.xxx",
"FTPUser"=>"ftpuser",
"FTPPasswd"=>"ftppasswd"
依次为 FTP 服务器的 IP、用户名及密码。
需要说明的是,无论是 MySQL 数据库还是 FTP 服务器,都可以保留多个配置信息,如 profile1、profile2 等等。
在备份时,如下调用配置信息即可:
php mpdt.php profile1 profile1
如果不需要备份到 FTP 服务器,则将 $ftp_bool=1; 设为 0。默认会将文件备份到 archive 目录。
要按照计划自动完成备份的话,执行 crontab -e,在其中添加下列内容:
50 23 * * * /usr/bin/php [dir_path]/mpdt.php [db_profile_name] [ftp_profile_name]
这将会在每天的 23 点 50 分执行备份任务。注意,请根据实际情况酌情修改。
版权声明: 允许非商业性转载,但转载时必须标明作者及原文链接.
本文网址: http://linuxtoy.org/archives/myphpdumptool.html
厄……眼拙,没看出来这个加了注释也没到 250 行的脚本有什么过人之处,相比 mysql 本身自带的 mysqldump,性能和功能都没任何优势,而且,这种类型的脚本更适合用 perl 写吧,用 mysql 的人未必用 php
en,nice.but i think mosttime phpmyadmin is enough
Hi Guys! I am the author of MPDT. I'm not sure if you knew, but version 2.1 of MPDT has been released a few weeks after the first release. It includes critical bug fixes in the backup procedure. Please visit http://sourceforge.net/projects/myphpdumptool/ to download the new version.
Also, thanks for the post about MPDT, I really appreciate it very much.