Back up and restore DecapodΒΆ
The decapod-admin
tool allows you to manually create a backup of Decapod
and its configuration and restore it.
Decapod stores its state in MongoDB. Restoring the database backups restores
all the Decapod data except the internal container state, such as the data
from ceph-monitoring that is
refreshed every 10 minutes by default. However, you can collect such data
explicitly using the
docker-compose exec controller decapod-collect-data
command.
To perform a backup:
$ docker-compose exec -T admin decapod-admin db backup > db_backup
To restore Decapod:
$ docker exec -i $(docker-compose ps -q admin) admin decapod-admin restore < db_backup
Note
Using docker-compose exec
to perform the restore is currently not
possible due to a docker-compose
bug.
Alternatively, use the backup_db.py
and restore_db.py
scripts in the
./scripts
directory:
Run the scripts:
$ ./scripts/backup_db.py /var/backup/decapod_db $ ./scripts/restore_db.py /var/backup/decapod_db
Add the backup to Cron:
0 */6 * * * /home/user/decapod_scripts/backup_db.py -p decapod -f \ /home/user/decapod_runtime/docker-compose.yml /var/backups/decapod/\ decapod_$(date --iso-8601) > /var/log/cron.log 2>&1
See also