Super simple guide to quickly backup your WordPress remotely to S3 using an awesome free backup plugin. Now you have backups ready in case something ever happens to your site or web-server!
STEP #1 – set up Amazon Web Services (AWS) account:
- Create AWS account (Amazon Web Services) if you don’t have one. We need this to store backups remotely here. (It’s VERY CHEAP and saves space on your webhosting account. Also much safer in case your webhosting account/server was damaged, the backups stored elsewhere.)
- Copy your security credentials – click your name from top-right of the AWS management console and click on “My Security Credentials”, then click on “Access Keys” and copy/save them to your computer somewhere. (You cannot view them again later!)
- Create S3 bucket – from menu top-left click on Services > Storage > S3. Then create bucket in the region closest to your server (although any will work). Use all the default settings for the bucket. You can have all backups go to one bucket or putting each one in their own.
STEP #2 – set up BackWPup plugin:
- Install BackWPup plugin (it’s free).
- You can also buy the paid version if you want the extra features. It’s not necessary, though.
- In case you’re wondering, I like BackWPup so much more than UpDraft Premium backup plugin.
STEP #3 – set up DATABASE backups:
- Go to WP-admin > BackWPup > Add new job.
- From General tab, check “Database backup”. Then scroll down to Job Destination and check “Backup to an S3 service.”
- From Schedule tab, choose “WordPress cron” and pick daily.
- From DB Backup tab, click “All” for Tables to backup.
- From “To: S3 Service” tab, select your bucket location (if you have one), then enter Access/Secret keys. Then select your bucket or create a new bucket.
- For file deletion, I suggest “30” to save thirty days worth of database backups.
- Click “Save changes” at the bottom. Then go to BackWPup > Jobs, and run the job to make sure that it works.
STEP #4 – set up FULL backups:
- Go to WP-admin > BackWPup > Add new job.
- From General tab, check “Database backup” and “File backup”. Then scroll down to Job Destination and check “Backup to an S3 service.”
- From Schedule tab, choose “WordPress cron” and pick weekly.
- From DB Backup tab, click “All” for Tables to backup.
- From “To: S3 Service” tab, select your bucket location (if you have one), then enter Access/Secret keys. Then select your bucket or create a new bucket.
- For file deletion, I suggest “8” to save eight weeks worth of full site backups.
- Click “Save changes” at the bottom. Then go to BackWPup > Jobs, and run the job to make sure that it works.
Tips on backing up:
- I recommend Amazon S3 for remote backups because they’re so cheap (several terabytes of space used is still only $1-2/month), compared to $10/month for 2TB with Google Drive. Not only that but Google Drive can be really annoying and limit/block you when you’re trying to download several files at once. Amazon AWS is more technical and less user-friendly but so much cheaper and more reliable!
- Yes, although full backups already include the database, I still recommend doing separate database backups in case you realize later that your full backups never ran or didn’t backup properly. (It happens!)
- I generally don’t recommend DAILY full backups for websites unless your site is small (1GB and below) AND you’re making changes often or having sales everyday. I wouldn’t save more than 7 days worth of daily backups.
- Big sites (over 2GB) can do full backups every week (Sunday or any day/time with low traffic would be the most logical idea). I wouldn’t save more than 8 recent instances (two months) worth of weekly backups. Big sites should never do do daily backups as that eats up too much server resources and can take forever if the server is especially big.
- EVERY site regardless of size (big or small) should save 6 months of FULL MONTHLY backups. WHY?! This is because your site may be hacked or something was broken or had so change and it actually happened months ago but you didn’t realize until recently. In this case, having an old enough backup would be a very helpful reference point to get back to.
- Really large sites (above 5GB) should really only be doing incremental backups anyway! Or least exclude some files/folders so you’re not unnecessarily wasting so much space saving stuff that never changes.
- If you have a ton of media files, use the “don’t include thumbnails” option. It’s a really clever feature that doesn’t backup all the thumbnails. It saves only the large original version of each image which can be used to regenerate all your thumbs later.
Frederico
It worked perfectly! Thank you, Johnny!
Vadim Mialik
Followed your steps, job is market as complete both for simple database backups and for 800mb full site backups as well. However I login to the Amazon S3 instance that was created but its empty? I I understand there might be upload delays, but even the database backups are not showing up?
Johnny
You put the right keys and everything? What do the backup job logs say?
Vadim Mialik
Says job complete with this being last line of the log:
[20-Jul-2020 11:54:03] Starting upload to S3 Service …
Johnny
Ahhh, so the upload never happened. How long ago did you create this bucket? I notice sometimes S3 buckets take a few days before it allows transfers. I don’t know why; it could by my own noob mistake.
Vadim Mialik
Had Backwpup create the bucket, I assume that would have the best settings. Ill give a few days and see how it goes
Johnny
Oh no!!! Go create the bucket in S3 first. Then enter in bucket name in BackWPup.
Vadim Mialik
Not the other way around? create in S3 first? and not via the plugin?
Johnny
Try it and let me know.