dvixi/phpbu

PHP 备份工具。

3.1.3 2016-04-17 11:48 UTC

README

PHP 备份工具

PHPBU 是一个 PHP 框架,用于创建和加密备份,将备份同步到其他服务器或云服务,并帮助您监控备份创建。

PHPBU 网站 获取所有功能的详细信息以及“入门”教程。

Latest Stable Version License Build Status Scrutinizer Code Quality Code Coverage

功能

  • 创建备份
    • ArangoDB
    • 目录
    • Elasticsearch
    • MongoDB
    • MySQL
    • Percona XtraBackup
    • PostgreSQL
    • Redis
  • 验证备份
    • 检查最小大小
    • 与之前的备份比较
  • 加密备份
    • mcrypt
    • openssl
  • 同步备份到其他位置
    • Amazon s3
    • Dropbox
    • rsync
    • SFTP
    • FTP
    • Softlayer
  • 清理备份位置
    • 删除 x 之前的备份
    • 仅存储 x MB 的备份
    • 仅保留最后 x 个备份

要求

  • PHP 5.4+
    • ext/curl
    • ext/dom
    • ext/json
    • ext/spl
  • POSIX Shell
    • tar
    • bzip2 或 gzip

安装

您可以从 下载 一个 PHP Archive (PHAR),该文件捆绑了运行 PHPBU 所需的所有内容,并打包在一个文件中。

wget http://phar.phpbu.de/phpbu.phar
chmod +x phpbu.phar
php phpbu.phar --version

为了方便,您可以将 PHAR 移动到您的 PATH 目录中。

mv phpbu.phar /usr/local/bin/phpbu
phpbu --version

还支持通过 Composer 安装 PHPBU

  "require": {
    "phpbu/phpbu": "3.1.*"
  }

用法

phpbu [option]

  --bootstrap=<file>     A "bootstrap" PHP file that is included before the backup.
  --configuration=<file> A phpbu xml config file.
  --colors               Use colors in output.
  --debug                Display debugging information during backup generation.
  --simulate             Perform a trial run with no changes made.
  -h, --help             Print this usage information.
  -v, --verbose          Output more verbose information.
  -V, --version          Output version information and exit.

用法示例

$ phpbu

这需要当前工作目录中有效的 XML PHPBU 配置文件(phpbu.xml 或 phpbu.xml.dist)。或者,您可以指定配置文件的路径。

$ phpbu --configuration=backup/config.xml

配置

简单配置示例

  <?xml version="1.0" encoding="UTF-8"?>
  <phpbu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://schema.phpbu.de/3.1/phpbu.xsd"
         verbose="true">
    <backups>
      <backup>
        <!-- source -->
        <source type="mysqldump">
          <option name="databases" value="mydbname"/>
          <option name="user" value="user.name"/>
          <option name="password" value="topsecret"/>
        </source>
        <!-- where should the backup be stored -->
        <target dirname="backup/mysql"
                filename="mysqldump-%Y%m%d-%H%i.sql"
                compress="bzip2"/>
      </backup>
    </backups>
  </phpbu>