UnderHost
Knowledgebase Docs

Backup Strategy Design: Build a reliable backup plan

Design an effective backup strategy for your website. Learn how to choose backup methods, frequency, storage locations,

On this page

A backup strategy is a tailored plan that matches your specific needs: what data matters most, how often you update it, where you'll store backups, and how quickly you need to recover. One strategy doesn't fit all websites—ecommerce needs different backups than a blog.

Define your backup goals

Ask yourself these questions:

  • What would I lose if my website went down today? (Revenue? Customer trust? Data? Months of work?)
  • How much data loss can I tolerate? (Can I lose 1 hour of updates? 1 day? A week?)
  • How quickly do I need to be back online? (1 hour? 24 hours? A week?)
  • What compliance or legal requirements apply to my data? (GDPR, HIPAA, PCI, etc.?)
  • What's my budget for backups? (Included in hosting? Additional budget? Cloud storage costs?)

Your answers determine the strategy you need.

Assess your data

Create an inventory:

Data Type Size Change Frequency Criticality Compliance
Website files (HTML, CSS, JS, images) 50 GB Weekly (theme updates) High (site requires them) No
Database (WordPress, WooCommerce) 10 GB Daily (posts, customer orders) Critical (data loss = revenue) Maybe (customer data)
Email accounts 5 GB Continuous (messages arrive hourly) Medium (communication) Possibly (business records)
Config files (wp-config.php, .env) <1 MB Rarely (on major changes) Critical (contains secrets) Yes (encryption key)

Choose backup methods

Full backup: Everything at once

  • Pros: Simple, complete, one restore point has everything
  • Cons: Large file, long backup time, slow restore, wastes storage
  • Best for: Small sites, initial backups, before major changes

Incremental backup: Only changes since last backup

  • Pros: Small, fast, efficient storage
  • Cons: Needs multiple files to restore; complex management
  • Best for: Large sites, daily automated backups, servers with limited storage

Differential backup: Changes since last full backup

  • Pros: Balance of simplicity and efficiency
  • Cons: Harder to manage than full backups
  • Best for: Medium sites, weekly full + daily differentials

Database-only backup: Just the database, separate from files

  • Pros: Small, fast, can restore just data without redownloading files
  • Cons: Misses file changes; website requires both file + database to work
  • Best for: Sites that change data frequently (WordPress posts, ecommerce orders)

Determine frequency

Backup Frequency Best For Pros Cons
Hourly High-traffic ecommerce, financial systems Minimal data loss (<1 hr) Requires automation; lots of storage; higher cost
Daily (recommended) Most WordPress sites, small ecommerce Good balance; manageable storage Can lose up to 24 hours of updates
Weekly Low-traffic blogs, static sites Minimal storage and processing Can lose up to 7 days of work
On-demand (manual) Sites with predictable change cycles Full control; no automated overhead Easy to forget; human error

Select storage locations

Backup storage decision tree:

  • Local on-server (UnderHost servers)
    • Pros: Included with hosting, fast restore
    • Cons: Single point of failure (if server fails, backups lost)
    • Use: Temporary storage, rolling 7-day backups
  • Remote cloud storage (AWS S3, Google Drive, Backblaze)
    • Pros: Geographically separate, protected against server failure
    • Cons: Download speed slower, may cost $/month
    • Use: Long-term archival, offsite protection
  • Your personal computer or local NAS
    • Pros: You control it completely, no cloud dependency
    • Cons: Requires manual downloads, easy to forget, not automated
    • Use: Critical backups, compliance requirements, air-gapped backup
  • USB drive or external hard drive
    • Pros: Cheap, offline, portable
    • Cons: Manual, unreliable, easy to lose
    • Use: Final emergency backup, backup of a backup

Strategy for shared hosting (UnderHost cPanel)

Recommended approach for most shared hosting users:

  1. Automatic daily backups via Backuply or cPanel Backup
    • Set to back up every day at off-peak hours (e.g., 2 AM)
    • Keep 7-14 days on-server (rolling window)
    • Full backups (files + database)
  2. Weekly encrypted backups to cloud storage
    • Download or configure offsite upload weekly
    • Use Google Drive, AWS S3, or Backblaze B2
    • Keep last 4-8 weeks offsite
  3. Monthly full backup to your computer
    • Download to your personal machine as final backup
    • Keep minimum 3 months locally
    • Verify it can be restored
  4. Before major changes, create manual backup
    • Before plugin/theme updates
    • Before WordPress core upgrade
    • Before s

Expected storage footprint: 200-300 GB per month across all tiers (manageable for small/medium sites)

Strategy for VPS/Dedicated servers

You have full control—use it strategically:

  1. Automated daily full or incremental backups
    • Set up cron job with mysqldump + tar
    • Run at 2-3 AM when traffic is lowest
    • Keep 7-30 days on-server (depending on disk space)
  2. Weekly snapshots (if available in CustomerPanel)
    • CloudPanel, Virtualizor, or other VPS panels offer snapshots
    • Much faster restore than file-based backups
    • Keep 2-4 weekly snapshots
  3. Daily encrypted remote backup
    • Rsync or duplicity to offsite server or cloud
    • Encrypt before uploading
    • Keep incremental daily + full weekly
  4. Monthly archive backup
    • Full encrypted backup uploaded to AWS Glacier or B2 Archive
    • Keep 12+ months for compliance/disaster recovery
    • Slow restore but very cheap storage ($0.004/GB/month)

Example backup script:

#!/bin/bash
# Daily backup at 2 AM
BACKUP_DIR="/backups"
DATE=$(date +%Y-%m-%d)

# Backup database
mysqldump -u root -p'password' --all-databases | gzip > $BACKUP_DIR/database-$DATE.sql.gz

# Backup website files
tar -czf $BACKUP_DIR/files-$DATE.tar.gz /home/user/public_html/

# Upload to remote storage
rsync -avz $BACKUP_DIR/ user@backup-server:/offsite/backups/

# Delete local backups older than 30 days
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete

Implement and monitor

Step 1: Set up automated backups

  • Shared hosting: Enable Backuply or cPanel automatic backups
  • VPS: Create cron job for backup script

Step 2: Test restore process

  • Download a recent backup
  • Try to restore it locally (test environment)
  • Verify data integrity
  • Document recovery time

Step 3: Monitor backup success

  • Check backup logs weekly
  • Verify recent backups exist and have reasonable size
  • Alert if backups fail or storage fills up

Step 4: Review strategy annually

  • Website growth: Do you need more backup frequency?
  • New data: Do you need different backup methods?
  • Compliance changes: Do retention periods need adjustment?
  • Cost: Can you optimize storage efficiency?
Backup strategy is not "set it and forget it"

Monitor your backups. Verify they work. Test restoration. Update the strategy when your needs change. The best strategy is useless if backups fail silently.

Related: Backup best practices | Disaster recovery planning | Backup retention policies | Database backup guide

Was this article helpful?

Need reliable backups?

Protect websites, servers, and projects with UnderHost backup services and off-server recovery options.

Related articles

Back to Backups