E-commerce stores hold uniquely valuable, constantly-changing data — orders, customer records, inventory — making a robust backup strategy more critical than for most other website types. This guide covers a complete approach.
What Makes E-commerce Backups Different
Unlike a mostly-static site where losing a day of changes is a minor inconvenience, losing even a few hours of order data represents real lost revenue and customer service problems — backup frequency and reliability matter more here.
What to Back Up
- Database — orders, customers, products, configuration (the most critical, most frequently-changing component)
- Uploaded media — product images and any customer-uploaded files
- Application code and configuration — theme customizations, installed extensions/plugins
Recommended Backup Frequency
| Component | Recommended Frequency |
|---|---|
| Database | Every few hours, or even more frequently for high-order-volume stores |
| Media/uploads | Daily |
| Full application code | After any deployment/change, plus a regular baseline schedule |
Step 1 — Automate Database Backups
sudo nano /usr/local/bin/backup-store-db.sh
#!/bin/bash
TIMESTAMP=$(date +%F-%H%M)
mysqldump -u backup_user -p'PASSWORD' store_db | gzip > /var/backups/store-db-$TIMESTAMP.sql.gz
find /var/backups -name "store-db-*.sql.gz" -mtime +14 -delete
sudo crontab -e
0 */4 * * * /usr/local/bin/backup-store-db.sh
Runs every 4 hours; adjust frequency based on your actual order volume and acceptable data-loss window.
Step 2 — Back Up Media Files
rsync -avz /var/www/store/media/ /var/backups/store-media/
Step 3 — Store Backups Off-Server (Critical)
See How to Back Up to Object Storage (S3-Compatible) — a backup that only exists on the same VPS as the live store provides no protection if that server fails entirely.
Step 4 — Encrypt Backups Containing Customer Data
See Backup Encryption: Protecting Your Backups from Unauthorized Access — customer records and order history are sensitive data warranting encryption at rest, both on and off the server.
Step 5 — Test Restores Regularly
Periodically restore a backup to a staging environment (see How to Set Up a Staging Environment for an E-commerce Store) to verify backups are actually valid and complete — an untested backup is not a reliable backup.
Step 6 — Document Your Recovery Process
Write down the exact steps to restore from backup before you need them during an actual incident — see How to Create a Disaster Recovery Plan for Your VPS for the general framework, applied specifically to your store's components.
Backing Up Before Any Platform/Extension Update
Always take a fresh backup immediately before updating your e-commerce platform, theme, or extensions — these updates are a common point of failure, and a recent backup makes rollback straightforward if something breaks.
Common Errors
Backup script runs but produces an empty or tiny file — verify database credentials are correct and the backup user has adequate permissions; test the mysqldump command manually to see the actual error output.
Continue Reading
- How to Back Up to Object Storage (S3-Compatible)
- Backup Encryption: Protecting Your Backups from Unauthorized Access
- How to Set Up a Staging Environment for an E-commerce Store
Browse more articles in E-commerce Platform Deployment.