How to Restore Your Hypernode From a Snapshot

Some hands-on experience is required! If you have never used the command line, please contact one of our partners to get some assistance.

To restore your Hypernode from a backup use the steps below.

Restore Using Snapshots

On Amazon (AWS) and Combell OpenStack we use snapshots to create backups. A snapshot is a saved state of the /data device at a given moment in time. We can use this to create a static copy of that given state in time and transform this to a virtual device which we can attach to your Hypernode. Once attached, this device is mounted under /data/backup and you can easily restore your files by copying them from this file system.

By using the following command you attach the latest available snapshot to your node:

hypernode-systemctl attach_backup

The backup snapshot is automagically detached/unmounted, before the backups are made. There is a second MySQL instance running so you’ll lose some resources while it is attached. Please contact Support if you want the snapshot detached earlier, to save on resources.

Instant and Older Backups

Do you need access to backups older than one day or do you want the ability to create instant backups? These functionalities are part of the SLA Standard add-on, which is available for all Hypernodes. Please see this article for more information about the difference between SLA Basic and SLA Standard.

Restore a Database From Snapshots

Create a Database Dump

To create a database dump from the backup instance, connect to port 3307 with the mysqldump utility and create a dump. Replace DATABASE_NAME with the name of YOUR database in the commands below:

mysqldump DATABASE_NAME -P 3307 | gzip > /data/web/DATABASE_NAME.sql.gz

When the export is created, a backup file can be found in /data/web named after the database, with the .sql.gz extension.

Dump the Data From the Backup MySQL Instance Into the Production Database

To restore the backup and immediately import it in the production database use the following command, again, replace magento2 with the name of your database.

mysqldump DATABASE_NAME -P 3307 | mysql DATABASE_NAME

While attaching a snapshot to your Hypernode does not require any resources, creating a database dump does require CPU, so please keep this in mind when doing so.

Restore a File Backup From a Snapshot

To restore your files, copy the files from /data/backup/current to your public/ or magento2/ directory.

**Assuming the environment has the default Magento root directory setup you can restore the file backup with the following commands. If you have an alternative setup, you should change the Magento root directory in the commands below:

Magento 1

mv /data/web/public /data/web/public_backup ##Rename the magento root directory so you still have a backup of the files
cp -R /data/backup/current/web/public /data/web/ ##Copy the files from the backup to the new public directory

Magento 2

mv /data/web/magento2 /data/web/magento2_backup ##Rename the magento root directory so you still have a backup of the files
cp -R /data/backup/current/web/magento2 /data/web/ ##Copy the files from the backup to the new public directory

Restore on DigitalOcean

Restore a Database Backup on DigitalOcean

When we restore a database backup, you’ll find a database dump compressed with gzip.

The name of this backup has the format database_name_date_timezone.sql.gz

To restore this backup you can use either magerun or use the MySQL client utility:

Using magerun:

First unzip the back-up file:

gunzip database_name_01-01-2018.sql.gz

For Magento 1:

magerun db:import --root-dir=~/public database_name_01-01-2018.sql

For Magento 2:

magerun2 db:import --root-dir=~/magento2 database_name_01-01-2018.sql

Using MySQL client:

zcat database_name_01-01-2018.sql.gz | mysql database_name

And then wait until the database is fully imported.

This might take a while for large databases, so get yourself some coffee in the meantime.

Restore a File Backup on DigitalOcean

When you request a file backup on a Hypernode at DigitalOcean, we create a directory in your homedir in which we restore from a certain point in time.

To restore this backup, remove the old file or directory and copy the file(s) and/or directories in place in your /data/web/public directory.

IE: if you need to restore the var directory, use the command:

rm -rvf /data/web/public/var/ && mv restore/var /data/web/public/

If you need some visual assistance, you can use mc (midnight commander).