phpbu / phpbu
PHP 备份工具。
6.0.24
2024-05-26 17:02 UTC
Requires
- php: >=8.0
- ext-dom: *
- ext-json: *
- ext-spl: *
- sebastian/environment: ^3.0|^4.0|^5.0|^6.0
- sebastianfeldmann/cli: ^3.4
- symfony/process: ^3.0|^4.0|^5.0|^6.0|^7.0
Requires (Dev)
- arhitector/yandex: ^2.0
- aws/aws-sdk-php: ^3.10
- google/apiclient: ^2.7
- guzzlehttp/guzzle: ^5.3.4|^6.5.8|^7.5.0
- kunalvarma05/dropbox-php-sdk: ^0.4
- microsoft/azure-storage-blob: ^1.4
- php-opencloud/openstack: ^3.0
- phpmailer/phpmailer: ^6.0
- phpseclib/phpseclib: ^2.0
- sebastianfeldmann/ftp: ^0.9.2
- sebastianfeldmann/git: ^3.2
- softlayer/objectstorage: dev-master
- vlucas/phpdotenv: ^4.0
Suggests
- arhitector/yandex: Require ^2.0 to sync to Yandex Disk
- aws/aws-sdk-php: Require '^3.10' to sync to Amazon S3
- google/apiclient: Require ^2.0 to sync to Google Drive
- guzzlehttp/guzzle: Require ^5.3.3|^6.2.1 to write logs to Telegram
- kunalvarma05/dropbox-php-sdk: Require '^0.2' to sync to Dropbox
- microsoft/azure-storage-blob: Require ^1.4 to sync to Azure Blob Storage
- php-opencloud/openstack: Require ^3.0 to sync to OpenStack
- phpmailer/phpmailer: Require ^6.0 to receive logs via email
- phpseclib/phpseclib: Require '^2.0' to use SFTP sync
- sebastianfeldmann/ftp: Require ^0.9.2 to sync to an FTP server
- softlayer/objectstorage: Require 'dev-master' to sync to Softlayer
- vlucas/phpdotenv: Require ^3.0 or ^4.0 or ^5.0 to use the Dotenv adapter
- dev-main
- 6.0.x-dev
- 6.0.24
- 6.0.23
- 6.0.22
- 6.0.21
- 6.0.20
- 6.0.19
- 6.0.18
- 6.0.17
- 6.0.16
- 6.0.15
- 6.0.14
- 6.0.13
- 6.0.12
- 6.0.11
- 6.0.10
- 6.0.9
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.2.x-dev
- 5.2.10
- 5.2.9
- 5.2.8
- 5.2.7
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.x-dev
- 5.1.11
- 5.1.10
- 5.1.9
- 5.1.8
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.x-dev
- 5.0.12
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.x-dev
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.x-dev
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.x-dev
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.x-dev
- 2.1.15
- 2.1.14
- 2.1.13
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.x-dev
- 2.0.1
- 2.0.0
- 1.2.x-dev
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.x-dev
- 1.0.2
- 1.0.1
- dev-fix-builds
- dev-fix/extended-insert
- dev-feature/plan-comments
- dev-feature/plan-coloring
- dev-feature/gpg
This package is auto-updated.
Last update: 2024-09-15 17:01:08 UTC
README
PHP 备份工具
PHPBU 是一个 PHP 工具,用于创建和加密备份,将备份同步到其他服务器或云服务,并协助您监控备份创建。
在 PHPBU 网站 上深入了解所有功能,并查看简短的“入门”教程。
如果您尚未使用 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" } } ] }