# Diagnosing Stuck or Stalled Backups — Start Here

> SiteVault Pro backup stuck on 'in progress' or failed without a clear reason: work this 4-step diagnostic in order to reach a specific fix in under a minute.

- Canonical: <https://royalplugins.com/support/sitevault/diagnosing-stuck-or-stalled-backups/>
- HTML version: <https://royalplugins.com/support/sitevault/diagnosing-stuck-or-stalled-backups/>

---

If a SiteVault Pro backup isn’t completing — stuck on “in progress”, marked “failed” without a clear reason, or just never finishing — work this 4-step triage in order. Most cases route to a specific fix doc in under 60 seconds.

### Step 1: Update SiteVault Pro to 1.7.31 or later first

SiteVault 1.7.31 split the legacy “Backup in progress or failed” catch-all status into per-status display + surfaces the actual error reason on failed rows. Without 1.7.31, you’ll be debugging a generic message and triage takes much longer. Update **Plugins → Installed Plugins → SiteVault Pro → Update** first.

## Step 2: Read the Status Pill on the Failed Backup Row

Open **SiteVault Pro → Backups**. Each backup row shows a colored status pill that tells you which failure mode you’re in. The triage path forks from here.

Failed

#### Red “Failed” pill

The backup engine caught an error and aborted. Most informative path — the row will show the specific error reason below the pill on 1.7.31+. Continue to [Step 3](#read-error).

In Progress

#### Blue “In progress…” pill (stuck for over 30 minutes)

The backup started, made progress, then stopped advancing. The async resumption hook (`rb_backup_resume`) is likely being silently dropped by your host’s WP-Cron filter. Go straight to [Backup Stuck on Shared Hosting](https://royalplugins.com/support/sitevault/backup-stuck-on-shared-host/).

Cancelled

#### Gray “Cancelled” pill

Either you manually cancelled the backup, OR a new backup was started while this one was still in progress (SiteVault auto-cancels the older in-flight backup to avoid running two at once). If it’s the auto-cancel case, the new backup row will be right above this one — check its status instead.

If you see “Backup in progress or failed” (no specific pill)

You’re on SiteVault Pro *before* 1.7.31. Update first — the new per-status display + error detail makes everything below much faster. The old catch-all message conflates In Progress, Failed, and Cancelled into one ambiguous string.

## Step 3: Match the Error Message to a Specific Fix Doc

On a 1.7.31+ **Failed** row, the actual error message renders in a red-bordered monospace box below the pill. Match the message text to the row below.

#### “Backup cannot start: cannot create backup/temp directory at /wp-content/uploads/sitevault/…”

Pre-flight check failed. The web server is blocking PHP from creating directories under the SiteVault path. Common on CloudPanel, nginx, OpenLiteSpeed.

→ [**Backups Fail Silently on CloudPanel / nginx / OpenLiteSpeed**](https://royalplugins.com/support/sitevault/backups-fail-on-cloudpanel-nginx/) (per-server fix)

#### “Failed to copy <source> → <dest> (Permission denied / Disk quota exceeded / …)”

Mid-backup file copy failed. The named error explains why — permission denied means filesystem ownership issue, disk quota means you’re out of space.

- **Permission denied:** SSH in, run `sudo chown -R $(stat -c '%U:%G' wp-config.php) wp-content/uploads/sitevault/`
- **Disk quota exceeded:** Check disk usage with `du -sh wp-content/uploads/sitevault/backups/*` — delete old backups or upgrade your hosting plan’s disk allowance
- **No space left on device:** Same as disk quota — you’re full

#### “Backup limit reached. Free version allows N backups.”

SiteVault Lite (free) limit hit. Pro removes the cap entirely.

→ Delete old backups OR [upgrade to SiteVault Pro](https://royalplugins.com/sitevault/pricing/) for unlimited backups + auto-rotation.

#### “Cloud upload failed: <provider-specific error>”

The backup completed locally but the auto-upload to your cloud storage provider failed. The zip is still on disk — you haven’t lost it.

- **Dropbox / Google Drive / OneDrive: “token expired” / 401 / “reconnect required”:** The OAuth refresh failed (revoked at the provider, or the customer changed their account password). Click **Connect** on the provider card in **SiteVault → Storage** to re-authorize — one-click OAuth, takes a few seconds.
- **S3 / S3-compatible: SignatureDoesNotMatch:** Verify your access-key + secret are correct, and that the region matches
- **FTP / SFTP: connection refused / timeout:** Verify host + port + credentials, check that your host allows outbound to the FTP server

#### “Encryption failed” / “Encryption module not available”

The encryption stage failed. The unencrypted zip is still on disk; the encrypted version doesn’t exist.

- Check **SiteVault → Settings → Encryption**: an encryption key must be set
- Confirm PHP’s OpenSSL extension is installed and enabled (almost always present, but some minimal stacks omit it)
- If encryption is enabled but you don’t need it, disable it — the unencrypted zip already completed

## Step 4: Read the Log File (When the In-App Error Isn’t Enough)

If the on-row error message is too generic OR you’re still on pre-1.7.31, the full log file has more detail. SSH or use cPanel File Manager:

```
cd wp-content/uploads/sitevault/logs/
tail -50 sitevault-$(date +%Y-%m-%d).log
```

The last 50 lines almost always contain the actual root cause. Look for lines containing `[ERROR]` (every error-level entry tags itself that way after the timestamp) or the literal phrase `Backup failed` (the catch-block fatal).

### Common log patterns and where they route

#### Log shows `Async backup started` followed by silence (no further entries)

WP-Cron isn’t firing the resumption hook. Go to [Backup Stuck on Shared Hosting](https://royalplugins.com/support/sitevault/backup-stuck-on-shared-host/) for the system-cron fix.

#### Log shows `Backup pre-flight failed` with a path

Filesystem permission or server-rule issue at the path named. Go to [Backups Fail on CloudPanel / nginx / OpenLiteSpeed](https://royalplugins.com/support/sitevault/backups-fail-on-cloudpanel-nginx/).

#### Log shows `FAILED to schedule next resumption — backup will stall`

WordPress’s `wp_schedule_single_event()` returned false. Usually means another plugin is filtering `pre_get_ready_cron_jobs` or you have a stuck cron-table row. From SSH: `wp cron event list | grep rb_` — if you see orphaned events, delete them with `wp cron event delete <hook>` and retry.

#### Log shows database export errors mid-backup

Usually a MySQL connection limit / timeout, especially on shared hosts. Check whether other plugins are also reporting DB issues (a host-side issue) or whether it’s SiteVault-specific (might be a backup-specific table corruption). Email priority support with the log if it persists.

## Related Fix Docs

- [Backups Fail Silently on CloudPanel / nginx / OpenLiteSpeed](https://royalplugins.com/support/sitevault/backups-fail-on-cloudpanel-nginx/) — server-block rule fix
- [Backup Stuck on Shared Hosting](https://royalplugins.com/support/sitevault/backup-stuck-on-shared-host/) — system-cron fix for the resumption hook
- [“Cloud Not Configured” Banner Won’t Go Away](https://royalplugins.com/support/sitevault/cloud-not-configured-banner-stuck/) — default-provider fix
- [Disaster Recovery](https://royalplugins.com/support/sitevault/disaster-recovery/) — restoring when nothing else works
- [Migration Issues](https://royalplugins.com/support/sitevault/migration-issues/) — push/pull and migration package troubleshooting
- [Staging Issues](https://royalplugins.com/support/sitevault/staging-issues/) — staging environment creation and sync

## Worked Through Everything? Email Priority Support

If you’ve updated to 1.7.31+, identified your status pill, read the error message, and worked through the matching fix doc — and your backups still aren’t completing — email **[support@royalplugins.com](mailto:support@royalplugins.com)** with the diagnostic info below. Priority email support is included with your SiteVault Pro license — typical response time is within 24 hours.

#### Information We’ll Need

- **SiteVault Pro version**
- **Status pill** on the most recent failed backup (Failed, In progress, Cancelled) AND the on-row error message if any
- **Last 50 lines** of `wp-content/uploads/sitevault/logs/sitevault-YYYY-MM-DD.log`
- **Hosting provider** + control panel + web server (CloudPanel + nginx, Bluehost shared, WPEngine, Kinsta, etc.)
- **WP-CLI output** of `wp cron event list | grep rb_` if you have shell access
- **Output of** `wp plugin list --status=active` — sometimes a third-party plugin is filtering cron or blocking SiteVault
- **Approximate site size** (database MB, uploads GB, total wp-content GB) — helps us know whether your backup should take 2 minutes or 2 hours

[Back to SiteVault Support](https://royalplugins.com/support/sitevault/)
[CloudPanel / nginx Backup Fix](https://royalplugins.com/support/sitevault/backups-fail-on-cloudpanel-nginx/)
