Backup and Restore

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.


← Back to Help Center