PHP Backup Utility
PHPBU is a php framework that creates backups and syncs your backups to other servers or cloud services and assists you monitor your backup creation.
Get detailed information about all the features and a 'getting started' tutorial at the PHPBU Website.
- Creating backups
- Directories
- MySQL
- PostgreSQL (planned)
- Validate backups
- Check min size
- Comparing with previous backups
- Sync backups to other locations
- Amazon s3
- copy.com
- Dropbox
- rsync
- SFTP
- Cleanup you backup location
- Delete backups older x
- Store only x MB of backups
- Keep only last x backups
- PHP 5.3+
- ext/curl
- ext/dom
- ext/json
- ext/spl
- POSIX Shell
- mysqldump
- tar
- bzip2 or gzip
- rsync
You can download a PHP Archive (PHAR) that bundles everything you need to run PHPBU in a single file.
wget http://phar.phpbu.de/phpbu.phar
chmod +x phpbu.phar
php phpbu.phar --version
For convenience, you can move the PHAR to a directory that is in your PATH.
mv phpbu.phar /usr/local/bin/phpbu
phpbu --version
Installing PHPBU via Composer is also supported.
"require": {
"phpbu/phpbu": "1.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.
-h, --help Prints this usage information.
-v, --verbose Output more verbose information.
-V, --version Output version information and exit.
$ phpbu
This requires a valid XML PHPBU configuration file (phpbu.xml or phpbu.xml.dist) in your current working directory. Alternatively, you can specify the path to your configuration file.
$ phpbu --configuration=backup/config.xml
Simple configuration example:
<?xml version="1.0" encoding="UTF-8"?>
<phpbu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpbu.de/1.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>