LinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点。如果您发现了好用好玩的 Linux 东东并愿意发扬自由、分享的精神,可以点击顶部导航 Contact 按钮进行投稿。

Related entries

  • No related posts

Latest entries

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

3 Comments

  1. 1 Platinum Commented @ 2006-11-02 9:46 am

    厄……眼拙,没看出来这个加了注释也没到 250 行的脚本有什么过人之处,相比 mysql 本身自带的 mysqldump,性能和功能都没任何优势,而且,这种类型的脚本更适合用 perl 写吧,用 mysql 的人未必用 php

  2. 2 guoshuang Commented @ 2006-11-03 10:16 am

    en,nice.but i think mosttime phpmyadmin is enough

  3. 3 bravekn1ght Commented @ 2007-01-22 4:43 pm

    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.