MPBT is a versatile command line tool, which enables you to backup and restore environments across multiple machines
- Support for operations
- backup
- restore
- Support for resources
- directory
- database
- elasticsearch
- Support for resources to be containerized with LXC
- Support for all resource locations to be remote. You can even mix and match.
- local → local
- local → remote
- remote → local
- remote → remote
- Resilient rsync file transfer between machines (auto-resume after connection loss)
java -jar mpbt.jar [OPTIONS...] TARBALL
java -jar mpbt.jar --operation backup --directory --dirPath /var/www/html /home/user/backup-target.tar
java -jar mpbt.jar --operation restore --directory --dirPath /var/www/html /home/user/backup-source.tar
java -jar mpbt.jar --operation backup --directory --dirPath user@server01.com:/my/remote/server01/directory user@server02.com:/my/remote/server02/backup-target.tar
Backup directory within local LXC container and database within remote LXC container on server01 to remote LXC container on server02
java -jar mpbt.jar --operation backup --directory --database --dirPath lxc%local-container-name:/my/directory/within/lxc --dbHost user@server01.com:lxc%remote-mysql-container:localhost --dbName myDatabase --dbUser myUser --dbPassword myPassword user@server02.com:lxc%remote-container-name:/my/remote/server02/backup-target.tar
| General | |
| --help | Display help documentation |
| --debug | Enable debug output |
| --operation <arg> | The operation to use MPBT with [backup, restore] |
| Job resources | |
| --directory | Enable backing up/restoring a directory |
| --database | Enable backing up/restoring a MySQL database |
| --elasticsearch | Enable backing up/restoring a Elasticsearch instance |
| Directory specific parameters | |
| --dirPath <arg> | The directory to backup/restore |
| Database specific parameters | |
| --dbHost <arg> | The database server host |
| --dbName <arg> | The name of the database |
| --dbUser <arg> | The name of the database user |
| --dbPassword <arg> | The password of the database user |
| Elasticsearch specific parameters | |
| --esHost <arg> | The Elasticsearch master node hostname |
| --esIndexPrefix <arg> | The Elasticsearch index prefix to backup/restore |
- Java runtime
- MySQL client (e.g.
mariadb-client) - Prepared SSH key authentication