Backup Configuration & Management
Learn how to configure automated backups, manage retention policies, and safely restore your WordPress site using Wp Admin's backup infrastructure.
Overview
Wp Admin provides enterprise-grade backup solutions designed specifically for WordPress environments. Our system creates comprehensive snapshots of your files, databases, and configurations, ensuring you can recover from data loss, corruption, or deployment failures within minutes.
By default, all managed sites receive daily incremental backups with full snapshots weekly. Retention is set to 30 days. You can customize these settings per site.
Backup Types
| Type | Description | Storage Impact | Restore Time |
|---|---|---|---|
| Full Backup | Complete site snapshot including files, database, uploads, and configuration | High | 2-5 min |
| Incremental | Only changes since last backup; chain-linked to previous full | Low | 1-2 min |
| Database Only | SQL dump of all tables; excludes media and themes | Minimal | <30 sec |
| Filesystem Only | wp-content, plugins, themes, and uploads directory | Medium | 1-3 min |
Configuration
Configure your backup schedule, retention policy, and storage destination through the dashboard or using our configuration API. Below is a standard configuration example:
{
"site_id": "wp-8492-abc",
"backup": {
"schedule": "0 2 * * *",
"type": "incremental",
"full_snapshot": "weekly",
"retention_days": 30,
"storage": {
"provider": "aws_s3",
"bucket": "wpadmin-backups-prod",
"region": "us-east-1",
"encryption": "AES-256"
},
"exclude": [
"*.log",
"wp-content/cache/*",
"wp-content/debug.log"
]
}
}
Exclude cache directories and log files to reduce backup size and improve performance. Wp Admin automatically handles these exclusions on Professional and Enterprise plans.
Scheduling & Automation
Backups run on a cron-like schedule. You can define frequency using standard cron syntax or select from preset options:
- hourly - Every 60 minutes
- daily - Once per day (default 2:00 AM UTC)
- weekly - Once per week (default Sunday 2:00 AM UTC)
- custom - Full cron expression support
Real-time backups are available for Enterprise clients, capturing changes every 15 minutes during peak traffic hours.
Restoring a Backup
From Dashboard
- Navigate to Sites > [Your Site] > Backups
- Select the backup snapshot you wish to restore
- Click "Restore" and confirm the action
- The system will spin up an isolated restore environment, validate integrity, and push changes to production
Via CLI/API
wpadmin backup restore \ --site-id wp-8492-abc \ --snapshot-id snap_20241015_020000 \ --confirm \ --timeout=300
Restoring a backup will overwrite your current site state. A pre-restore snapshot is automatically created before any restore operation begins. Verify your target snapshot date carefully.
Troubleshooting
Backup Failing with "Insufficient Storage"
This typically occurs when your S3 bucket or attached volume reaches capacity. Check your retention policy and adjust retention_days. Consider enabling lifecycle rules to archive older backups to Glacier storage.
Database Restore Hangs
Large databases (>2GB) may timeout during restore. Enable chunked_restore: true in your config to process tables in batches. If the issue persists, contact support with your site ID and backup timestamp.
File Permission Errors After Restore
WordPress requires specific file permissions (644 for files, 755 for directories). Our restore process automatically applies these. If you're using custom PHP-FPM pools, ensure the web server user matches your config's umask setting.