Backup and Restore
Regular backups protect against data loss. The site uses multiple backup methods.
Automatic Backups
Daily Cloud Backups
Automated backups run daily at 2 AM and upload to Backblaze B2 cloud storage.
- Location:
antiochians-b2:antiochians/backups/YYYY/MM/ - Encryption: GPG AES256
- Retention: Stored by month
Git Pre-Commit Backups
Database is automatically exported before each git commit.
- Location:
database_dumps/in repo - Format: Gzipped SQL
Manual Backup Commands
Full Backup with Cloud Upload
./backup_tools/full_backup.sh
Keep Local Copy
./backup_tools/full_backup.sh --keep-local
Database Only
./wp-cli-php83.sh db export backup_$(date +%Y%m%d).sql gzip backup_$(date +%Y%m%d).sql
Export Alumni Data
./backup_tools/export_alumni_data.sh /path/to/output
Restoring from Backup
Step 1: Download and Decrypt
# Download from Backblaze rclone copy antiochians-b2:antiochians/backups/2026/01/backup_file.tar.gz.gpg . # Decrypt ./backup_tools/decrypt_backup.sh backup_file.tar.gz.gpg
Step 2: Extract
tar -xzf backup_file.tar.gz
Step 3: Restore Database
# WARNING: This will overwrite the current database ./wp-cli-php83.sh db import backup.sql
Backup Contents
Full backups include:
- WordPress database (all tables)
- User data and metadata
- Posts, pages, and memorial entries
- Plugin settings
- MailerPress lists and campaigns
Not included (managed separately):
- WordPress core files
- Plugin files
- Theme files (stored in git)
- Media uploads (stored in
/wp-content/uploads/)
Backup Locations
| Type | Location | Frequency |
|---|---|---|
| Cloud (Backblaze B2) | antiochians-b2:antiochians/backups/ |
Daily |
| Git Repository | database_dumps/ |
Every commit |
| BackupBuddy | Configured in WP Admin | Scheduled |
Encryption Passphrase
The backup encryption passphrase is stored in:
/home/nonstop/.backup_passphrase
Keep this file secure. Without it, encrypted backups cannot be restored.