- Notifications
You must be signed in to change notification settings - Fork110
PHP Backup Utility - Creates and encrypts database and file backups, syncs your backups to other servers or cloud services and assists you monitor your backup process
License
sebastianfeldmann/phpbu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
PHP Backup Utility
PHPBU is a php tool that creates and encrypts backups, syncs your backups to other servers or cloud servicesand assists you monitor your backup creation.
Get an in depth look into all the features and a short 'getting started' tutorial at thePHPBU Website.
If you are not using php 8.0 or greater already you can still use phpbu version6.0.20
If you are not using php 7.2 or greater already you can still use phpbu version5.2.10
If you are behind php 7.0 you can still use phpbu version4.0.10
- Creating backups
- ArangoDB
- Directories
- Elasticsearch
- InfluxDB
- Ldap
- MongoDB
- MySQL
- Percona XtraBackup
- PostgreSQL
- Redis
- Compress backups
- bzip2
- gzip
- xz
- zip
- Validate backups
- Check min size
- Comparing with previous backups
- Encrypting backups
- mcrypt
- openssl
- Sync backups to other locations
- Amazon s3
- Azure Blob
- Dropbox
- FTP
- Google Drive
- Google Cloud Storage
- OpenStack
- rsync
- SFTP
- Softlayer
- Yandex Disk
- Cleanup your local backup
- Delete backups older x
- Store only x MB of backups
- Keep only last x backups
- Keep less backups for more distant past
- Writing backup reports
- Text file
- Json file
- Prometheus
- Telegram
- Webhook
- PHP >= 7.2
- ext/curl
- ext/dom
- ext/json
- ext/spl
- POSIX Shell
- tar
- bzip2 or gzip
You candownload a PHP Archive(PHAR) that bundles everything you need to runPHPBU in a single file.
wget https://phar.phpbu.de/phpbu.pharchmod +x phpbu.pharphp phpbu.phar --version
For convenience, you can move the PHAR to a directory that is in yourPATH.
mv phpbu.phar /usr/local/bin/phpbuphpbu --version
UsingPHIVE to installPHPBU.
phive install phpbu
InstallingPHPBU via Composer is also supported.
"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
This requires a valid XMLPHPBU configuration file (phpbu.xml or phpbu.xml.dist) in your current working directory.Alternatively, you can specify the path to your configuration file. An important thing to note is that all path insidethe configuration should be absolute or relative to the configuration file itself.
$ phpbu --configuration=backup/config.xml
Use the--limit option to execute only a subset of your configured backups.
$ phpbu --limit=myAppDB
A dry run without any actual impact is executed with the--simulate option.
$ phpbu --simulate
To show a guide how to restore your backup use the--restore option.
$ phpbu --restore
Simple configuration example in XML:
<?xml version="1.0" encoding="UTF-8"?> <phpbuxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://schema.phpbu.de/6.0/phpbu.xsd"verbose="true"> <backups> <backupname="myAppDB"><!-- source--> <sourcetype="mysqldump"> <optionname="databases"value="mydbname"/> <optionname="user"value="user.name"/> <optionname="password"value="topsecret"/> </source><!-- where should the backup be stored--> <targetdirname="backup/mysql"filename="mysqldump-%Y%m%d-%H%i.sql"compress="bzip2"/> </backup> </backups> </phpbu>
Simple configuration example in 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" } } ]}
About
PHP Backup Utility - Creates and encrypts database and file backups, syncs your backups to other servers or cloud services and assists you monitor your backup process