Skip to content

Guides

Automatic snapshots

How VMYard captures running KVM machines on an interval, how many automatic snapshots it keeps, and how to see and delete them.

On this page

VMYard captures a running machine on an interval, so a recent copy exists without stopping it. Each capture is an ordinary snapshot with source: "automatic": you can restore it as a new machine like any other.

How captures work

  • Every 5 minutes by default, a running machine is due for its next automatic snapshot.
  • A machine whose disk hasn't changed since its last ready automatic snapshot (same boot, same disk writes) is skipped, so an idle machine doesn't pile up copies. Without fresh metrics it is captured anyway.
  • A machine with an operation still running, a previous capture included, waits for the next interval.
  • The machine keeps running in the same boot. VMYard copies it at one instant and uploads the copy; the copy is never a machine you see. Operations you request during a capture wait for its upload.
  • Only KVM machines on hosts that support it are captured. Docker development machines are not.
  • Automatic snapshots are cold by default: the disk only, uploading just the parts that changed.

These are the defaults; operators of a deployment can change the interval, the number kept, and the tier, or turn captures off.

How many are kept

Each machine keeps its newest 10 ready automatic snapshots (and its newest 10 failed ones). Older automatic snapshots are deleted as new ones become ready. Retention never removes snapshots you took (source: "api"), tier-policy snapshots, or templates, and automatic snapshots don't count toward the 20-snapshot limit.

A capture that loses its copy before the upload finishes fails with snapshot_copy_discarded; the machine is unchanged and the next interval takes another. Each ready capture emits the snapshot.ready webhook with source: "automatic".

See how fresh a machine's copy is

Every machine reports latest_snapshot: its newest snapshot that is pending or ready (templates and failed pushes are left out), or null.

json
"latest_snapshot": {
  "id": "0b6f1c2e-…",
  "created_at": "2026-10-12T09:10:00Z",
  "completed_at": "2026-10-12T09:10:41Z",
  "source": "automatic",
  "status": "ready",
  "tier": "cold"
}

created_at is the instant the copy was taken. The console's machine list shows its age with the source, and an Automatic badge for captures; the machine overview shows the same under Latest snapshot.

Find and delete automatic snapshots

The Snapshots tab filters a machine's snapshots by source: Manual (api), Stop (tier policy) (tier_policy), and Automatic (automatic). Delete automatic removes all of a machine's automatic snapshots at once:

sh
curl -X DELETE "$VMYARD_API_URL/v1/machines/$MACHINE_ID/snapshots?source=automatic" \
  -H "Authorization: Bearer $VMYARD_API_KEY"

Captures continue while the machine runs. See Delete several snapshots for the answer's format.