phpbu/phpbu

PHP 备份工具。

资助包维护!
sebastianfeldmann

安装数: 60 104

依赖项: 4

建议者: 0

安全: 0

星标: 1 294

关注者: 39

分支: 110

公开问题: 57

6.0.24 2024-05-26 17:02 UTC

README

PHP 备份工具

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

PHPBU 网站 上深入了解所有功能,并查看简短的“入门”教程。

Latest Stable Version Minimum PHP Version Downloads License Build Status Scrutinizer Code Quality Code Coverage PHP Website

如果您尚未使用 php 8.0 或更高版本,您仍然可以使用 phpbu 版本 6.0.20
如果您尚未使用 php 7.2 或更高版本,您仍然可以使用 phpbu 版本 5.2.10
如果您低于 php 7.0,您仍然可以使用 phpbu 版本 4.0.10

功能

  • 创建备份
    • ArangoDB
    • 目录
    • Elasticsearch
    • InfluxDB
    • Ldap
    • MongoDB
    • MySQL
    • Percona XtraBackup
    • PostgreSQL
    • Redis
  • 压缩备份
    • bzip2
    • gzip
    • xz
    • zip
  • 验证备份
    • 检查最小大小
    • 与之前的备份进行比较
  • 加密备份
    • mcrypt
    • openssl
  • 将备份同步到其他位置
    • Amazon s3
    • Azure Blob
    • Dropbox
    • FTP
    • Google Drive
    • Google Cloud Storage
    • OpenStack
    • rsync
    • SFTP
    • Softlayer
    • Yandex Disk
  • 清理本地备份
    • 删除超过 x 天的备份
    • 仅存储 x MB 的备份
    • 仅保留最后 x 个备份
    • 为更远的过去保留较少的备份
  • 编写备份报告
    • 文本文件
    • JSON 文件
    • 邮件
    • Prometheus
    • Telegram
    • Webhook

需求

  • PHP >= 7.2
    • ext/curl
    • ext/dom
    • ext/json
    • ext/spl
  • POSIX Shell
    • tar
    • bzip2 或 gzip

安装

您可以从 这里 下载一个 PHP Archive (PHAR),它将运行 PHPBU 所需的所有内容打包在一个文件中。

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

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

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

使用 PHIVE 安装 PHPBU

phive install phpbu

还支持通过 Composer 安装 PHPBU

  "require": {
    "phpbu/phpbu": "^6.0"
  }

用法

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.
  --generate-configuration Create a new configuration skeleton.
  --limit=<subset>         Limit backup execution to a subset.
  --simulate               Perform a trial run with no changes made.
  --restore                Print a restore guide.
  -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

使用 --limit 选项仅执行配置备份的子集。

$ phpbu --limit=myAppDB

使用 --simulate 选项执行无实际影响的 dry 运行。

$ phpbu --simulate

要显示如何恢复备份的指南,请使用 --restore 选项。

$ phpbu --restore

配置示例

XML 中的简单配置示例

  <?xml version="1.0" encoding="UTF-8"?>
  <phpbu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://schema.phpbu.de/6.0/phpbu.xsd"
         verbose="true">
    <backups>
      <backup name="myAppDB">
        <!-- 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>

JSON 中的简单配置示例

{
   "verbose":true,
   "backups":[
      {
         "name":"myAppDB",
         "source":{
            "type":"mysqldump",
            "options":{
               "databases":"mydbname",
               "user":"user.name",
               "password":"topsecret"
            }
         },
         "target":{
            "dirname":"backup",
            "filename":"mysql-%Y%m%d-%H%i.sql",
            "compress":"bzip2"
         }
      }
   ]
}