aaPanel Backup and Restore: Save and Recover Data
Backup and restore websites in aaPanel. Full backups, incremental backups, FTP transfer, remote storage, automated scheduling, disaster recovery.
On this page
Data loss is the worst disaster: ransomware, server failure, accidental deletion, or hacks. Regular backups are your insurance policy. aaPanel makes backup and restore simple: one-click backups, remote storage integration, scheduling, and restoration. A good backup strategy means you can recover in hours, not days.
Backup Importance
Scenarios where backups save you:
- Server crash: Hard drive fails → restore from backup → back online in hours
- Ransomware: Files encrypted → restore clean backup → business continues
- Accidental deletion: Dev deletes production database → restore from yesterday's backup
- Hacking: Attacker modifies files → restore from pre-hack backup
- Update failure: Plugin update breaks site → restore previous version
Backup rule of thumb: "3-2-1" - 3 copies, 2 different media, 1 off-site
Backup Types in aaPanel
| Type | Size | Speed | Use Case |
|---|---|---|---|
| Full Backup | 10GB website = 10GB backup | Slow (30 min) | Weekly complete snapshots |
| Incremental | Changes only (~100MB) | Fast (2 min) | Daily, only changed files |
| Website Only | HTML, CSS, images only | Fast (5 min) | Code recovery |
| Database Only | Database size only | Fast (5 min) | Data recovery |
Create Local Backup
Manual backup (one-time):
- aaPanel → Backups → Click "Create Backup"
- Select what to backup:
- Website files (public_html)
- Database (MySQL)
- SSL certificates
- Click "Start Backup"
- Wait for completion (size determines time)
- Backup saved to /www/wwwroot/backup/ (or configured location)
Check backup file:
ls -lh /www/wwwroot/backup/
# Shows backup size and date
Remote Storage Backup
Why backup to remote storage:
- VPS dies → all local backups are gone
- Ransomware deletes backups → remote copy is safe
- Automatic sync → backup even if you forget
aaPanel supports:
- Amazon S3 (~$0.023/GB/month)
- Backblaze B2 (cheaper, ~$0.006/GB/month)
- Aliyun OSS
- Qiniu Cloud Storage
- FTP server (your own server)
Setup S3 backup:
- Create AWS account and S3 bucket
- aaPanel → Backups → Remote Storage
- Provider: Amazon S3
- Access Key & Secret Key from AWS
- Bucket Name: your-backup-bucket
- Test connection (button at bottom)
- Enable auto-sync
Transfer via FTP
Manual FTP backup (without remote storage integration):
# SSH into your VPS
sftp youruser@yourserver.com
# Navigate to backup directory
cd /www/wwwroot/backup/
# Download backup to local machine
get website-backup-2026-06-06.tar.gz
Using FTP client (FileZilla):
- Download FileZilla (free)
- File → Site Manager → New Site
- Host: your-vps-ip
- Username: root (or user)
- Password: SSH password
- Protocol: SFTP
- Connect → Navigate to backup folder
- Download backup files to local machine
Restore from Backup
Restore website (same VPS):
- aaPanel → Backups → Backup List
- Click "Restore" on desired backup
- Select what to restore:
- Website files
- Database
- Or both
- Click "Restore"
- Wait for completion (can take 10-30 minutes)
- Website reverted to backup date/time
Restore to different VPS:
- Download backup from remote storage (S3, etc.)
- Upload to new VPS /www/wwwroot/backup/
- aaPanel → Backups → Restore
- Select backup and restore
Restore specific database:
# List databases
mysql -u root -p -e "SHOW DATABASES;"
# Restore from backup SQL file
mysql -u root -p database_name < backup.sql
Automate Backups
Schedule daily automatic backups:
- aaPanel → Backups → Settings
- Enable "Automatic Backup"
- Set frequency:
- Daily at 2:00 AM (recommended)
- Weekly (Friday night)
- Monthly (1st of month)
- Set backup type: Full or Incremental
- Enable "Auto Upload to Remote Storage"
- Save settings
Recommended schedule:
Daily incremental backup: 2:00 AM (keeps 7 days)
Weekly full backup: Friday 3:00 AM (keeps 4 weeks)
Monthly full backup: 1st of month (keeps 12 months)
Troubleshooting
Backup failed / not running:
- Check disk space:
df -h(backup needs 50% free) - Check backup logs: aaPanel → Backups → Logs
- Manually trigger: aaPanel → Backups → Create Backup
S3 upload not working:
- Verify AWS credentials are correct
- Test connection: aaPanel → Remote Storage → Test
- Check bucket exists and is writable
- Check IAM user permissions (should have S3 full access)
Restore failed:
- Ensure backup file is complete and not corrupted
- Check disk space on target VPS
- Verify database and website paths match
- Try restoring to different location first
Backup too large / slow:
- Use incremental backups instead of full
- Exclude large log files or archives
- Schedule backups during off-peak hours
A backup that can't be restored is worse than no backup. Schedule quarterly test restores on staging VPS to verify backups are reliable.
Related: Backup strategy | aaPanel setup | Backup verification | Disaster recovery
Need aaPanel hosting?
Install aaPanel on an UnderHost VPS or dedicated server when you want a simple web interface for sites, databases, SSL, and apps.





















