Backup/restore of Plone database via buildout

These instructions will help you perform backup and restore your database data.fs as well as blob storage. These instructions apply to Plone 4.x.

These instructions will help you back up your Plone database data.fs as well as blob storage. Data.fs is ZODB filestorage for transactional database.  Plone 4 uses a blob storage to store files (Binary Large OBjects) such as images or office documents on the file system.

These instructions apply to Plone 4.x.

Tutorial consists of the following sections:

First thing you need to do is install Collective.recipe.backup.

This particular product will make backup/restore procedure so much easier. To install it:
1. Add the recipe to your buildout.cfg:

[buildout]
parts =
backup
repozo

[backup]
recipe = collective.recipe.backup

[repozo] recipe = zc.recipe.egg eggs = ZODB3 scripts = repozo

2.Run the command

bin/buildout -N

It will add a backup, snapshotbackup, restore and snapshotrestore script to the bin/ directory of the buildout and, by default, it creates the var/backups and var/snapshotbackups directories in that same buildout.

Regular Database Backup/Restore

Now that we’ve covered the installation, all you need is from command line run one of the following commands:

bin/backup

makes an incremental backup that creates a backup of the Data.fs in var/backups. The blob storage is by default backed up to var/blobstoragebackups.

bin/zeopack

removes unused objects from your ZODB. You should do it regularly, once a week. The next time bin/backup is called, a complete fresh backup is made

Database Restore

Restoring your database is more complex then backing it up. Upon running the following commands  you’ll be asked  to confirm the restore procedure:

bin/restore

restores the latest backup and the blobstorage if you have that.

bin/restore yyyy-mm-dd[-hh[-mm[-ss]]]

restores the database as of a specific date.

Snapshot Backup/Restore

It is a good practice to do snapshots of your database, especially for testing purposes and keeping the system up during major maintenance. A snapshot is basically a copy of your file system at that specific point in time. To backup or restore your latest database snapshot call:

bin/snapshotbackup

It places a full backup of your database at that specific point of time in var/snapshotbackups directory.

bin/snapshotrestore

Just a few simple commands and you can back up and secure your data.

Blob Storage Backup/Restore

With collective.recipe.backup your blob storage is backed up by default and restored upon calling database restore command.

Connect with our experts Let's talk