Devpilot
Backups

Backup history

Browse every Devpilot backup run — filter by plan, status, or date; cancel in-progress jobs; download completed artifacts; and inspect file snapshots for file-type plans.

Every time a backup plan runs, Devpilot records a backup history entry. History is your audit trail: it shows what ran, when it ran, how long it took, how big the result was, who (or what) triggered it, and — if something went wrong — exactly what the error was. You'll also find file snapshot summaries for file-type plans and links to any restores launched from a run.

Overview

Open the Backup History tab from the workspace Backups page to see every run across every plan, newest first. Each row shows the plan name, the run's status, a badge telling you what triggered it, how long it took, how much data it produced, and quick actions.

Click any row to drill into a single run and see its full detail, stream progress while it's in flight, download the resulting artifact, or cancel it while it's still queued or running.

Run statuses

A history entry moves through one of these states:

  • Pending — queued. The backup was dispatched but hasn't started yet.
  • In Progress — currently running. Progress updates stream into the dashboard.
  • Completed — the backup finished successfully and the artifact is available at the destination.
  • Failed — something went wrong. The error summary is shown next to the status and, in full, on the detail panel.
  • Cancelled — you cancelled the run while it was Pending or In Progress.

Completed, Failed, and Cancelled are all terminal — a run in one of those states won't change state again.

What each row shows

Every run in the history shows when it started, when it finished, how long it took from end to end, and how much data it produced (Devpilot shows this in KB, MB, or GB, whichever makes sense). You'll also see what launched the run — whether it was the schedule, a manual trigger, or an API call — and, for manual runs, the Devpilot user who clicked Run now. Runs that finished successfully link straight to the artifact at the destination for download; runs that failed show their error message verbatim on the detail panel.

Above the history table you'll find:

  • Status filter — limit to one of Pending, In Progress, Completed, Failed, or Cancelled.
  • Type filter — limit to database, file, or image plans.
  • Plan filter — applied automatically when you come in from a specific plan's detail page.
  • Date range — quick presets for today, this week, or this month.
  • Search — free-text match against plan names.

Filters compose, so you can — for example — show every Failed database backup from the past week in a single click.

Actions you can take

Click any row to open its detail panel. You'll see the full timeline (dispatched, started, completed), who triggered it, the destination it was written to, any related restore attempts, and — for file plans — the snapshot summary described below.

While a run is Pending or In Progress, the cancel button flips it to Cancelled. Devpilot stops any further uploads, but any artifacts that already landed at the destination may remain — those are cleaned up on the next retention sweep.

Cancellation is only allowed on non-terminal runs. Trying to cancel a Completed, Failed, or already-Cancelled run is rejected.

Completed runs can be downloaded. Click Download and Devpilot builds a short-lived download URL for you.

  • S3 and other cloud destinations — Devpilot issues a presigned URL that lets your browser fetch the artifact directly from the storage provider. The URL expires quickly, so download promptly.
  • SFTP and local destinations — Devpilot shows you the storage path on the destination along with the filename, so you or your ops team can retrieve it from the machine directly.

You can only download runs that finished successfully. In-progress, cancelled, and failed runs don't have a stable artifact to fetch.

Deleting a history entry removes the record from Devpilot and asks the destination to drop the artifact. Use this when you need to manually prune old runs — for example, a failed run that left a partial artifact behind.

Deleting a history row doesn't affect the plan itself, its future runs, or unrelated history entries.

Download URLs for cloud destinations are short-lived on purpose — share the file, not the URL. If a URL expires before you finish downloading, just generate a new one from the same history row.

File snapshots

File-type backups produce a file snapshot alongside the normal history entry. The snapshot is what actually makes file backups efficient — rather than re-uploading every file, Devpilot splits content into chunks, fingerprints them, and only uploads what's new.

For each file plan run, the snapshot panel tells you how many files changed since the last snapshot, how many were deleted, and how many files are in the snapshot in total, along with the combined size of everything included. It also shows exactly how much data was actually uploaded this run after deduplication, broken down into fresh chunks (uploaded for the first time) and reused chunks (matched against earlier snapshots and referenced rather than re-sent). A snapshot timestamp pins the moment of capture.

A high reused-chunk count relative to fresh chunks means dedup is working well — consecutive runs of a stable file tree should see most chunks reused.

Reused chunks are counted against earlier snapshots of the same plan, so the first run of any file plan will show zero. Reuse climbs from the second run onwards.

Limits and edge cases

  • Only Pending and In Progress runs can be cancelled. Everything else is terminal.
  • Only Completed runs can be downloaded. Cancelled and failed runs don't expose a download URL.
  • Deleting a history row also removes any restores launched from it.
  • Presigned URLs are scoped per download click. Don't paste them into chat — anyone with the URL can fetch the artifact until it expires.
  • File snapshots are only produced for file plans. Database and image plans don't create snapshot rows.
  • The history list is paginated (15 rows per page by default). Use the filters to narrow down before paging through long lists.

Next steps