WHM has a great backup feature which lets you offload all your backups to Amazon S3.
Its simple to setup and frees up your server space.
Although setting up is easy, restoring from S3 is not quite as easy.
The backups do not show up for users to restore themselves and nor do they show in WHM’s backup recovery.
Instead, you have to manually copy the backup from Amazon S3 back to the server in order to restore.
I came across a post in the cPanel forums, a user by the name of DanH42 posted a script on how to do this easily with the aid of s3cmd and a batch script.
Step One, Install & Configure s3cmd
sudo wget -O /etc/yum.repos.d/s3tools.repo http://s3tools.org/repo/RHEL_6/s3tools.repo sudo yum install s3cmd s3cmd --configure
Make sure you choose to verify the settings.
Step Two, Modify Batch Script
#! /bin/bash backup_dir="/backup" # The directory cPanel puts backups in, without trailing slash s3_bucket_name="mybucket" # Set this to the name of your S3 bucket s3_prefix="/backups" # Leave blank ("") if you don't use a prefix if [ -z "$1" ] || [ -z "$2" ]; then echo "Usage: remote-restore YYYY-MM-DD <user>" exit fi cd "$backup_dir/$1/accounts" && sudo s3cmd get "s3://$s3_bucket_name$s3_prefix/$1/$2.tar.gz" read -p "Press the [Enter] key once you are done restoring the backup..." sudo rm *.tar.gz
Once the changes are made, give the script execute rights with chmod +x remote-restore
Step Three, Restore your backup
remote-restore 2015-12-31 joe
It will then download the backup to the correct location and you can go into WHM and restore the backup from that day.
Once the restore is complete you can press enter on the script and it will remove the backup from the server, freeing up the space again.
Press the [Enter] key once you are done restoring the backup…
I did find that my restore was stuck in a pending state, so I ran the following command.
/usr/local/cpanel/bin/backup_restore_manager activate
The restore fired off straight away.