Docker image for AutoArchive - a simple backup utility
Create a simple backup with:
$ docker run --rm -v /path/to/data:/opt/aa/mounts -v /var/backups:/opt/aa/backup openhs/autoarchive backup
Content of the host directory /path/to/data will be archived as /var/backups/backup.tar.gz on the host.
For incremental backups the container needs to be kept because it will be re-run for subsequent increments. To create level 0 increment execute:
$ docker run --name data_backup -v /path/to/data:/opt/aa/mounts \ -v /opt/backups:/opt/aa/backup openhs/autoarchive backup-incremental
Subsequent increments can be created with:
$ docker start -i data_backup
Custom archive configurations
For more fine grained control it is possible to specify custom archive configurations. To do so pass a host directory with your custom archive specification files as a volume mounted to /opt/aa/archive_specs.
Let's have two archive specification files -- one intended to backup /home and the other /etc directory on the host:
$ ls /var/archive_configs home.aa etc.aa $ cat home.aa [Content] path = /opt/aa/mounts include-files = home exclude-files = $ cat etc.aa [Content] path = /opt/aa/mounts include-files = etc exclude-files =
Hosts directories /home and /etc needs to be mounted into the container at
the place where it is expected by AutoArchive (which is determined by
include-files options above).
$ docker run --rm \ -v /var/archive_configs:/opt/aa/archive_specs \ -v /home:/opt/data/mounts/home \ -v /etc:/opt/data/mounts/etc \ -v /opt/backups:/opt/aa/backup \ openhs/autoarchive --all
--all causes to create all configured backups which in our case are
home and etc.
Interaction with existing containers
To interact with the existing container use
--volumes-from Docker option. For
example to show information about the incremental archive from the example above run:
$ docker run --rm --volumes-from data_backup openhs/autoarchive --list
To see help screen run:
docker run --rm openhs/autoarchive --help
AutoArchive is pre-configured with two archives: backup and backup-incremental. Both of them backup everything under /opt/aa/mounts and the resulting backup file is put into /opt/aa/backup within the container. Backup creation therefore requires specifying desired host directories as volumes mounted to the paths above.
The incremental backup creates 9 increments before restarting back to increment level 1. When restarting, new level 1 increment is created and all the old increments (level 2 to level 9) are removed.