VPS Snaps

We earn commissions when you shop through the links below.

Cloud Providers

Eight providers, eight genuinely different backups

Every integration calls the provider's own snapshot API, so a backup means something different on each — a whole Droplet, one Linode disk, an AMI and its EBS snapshots, one Azure snapshot per attached disk.

Back up your first server free, forever. No credit card required.

We only use your email to create your account. See our Privacy Policy.

Your credentials are encrypted with AES-256-GCM, your backups never live on our storage, and our GDPR data processing agreement is public.

Start with the provider you already run on

Each page covers the exact API call behind a run, what one connection reaches, how aged copies get deleted, and the quirks worth knowing before you set the schedule.

DigitalOcean

Authorize once with OAuth and never touch a token again. Each run produces the same whole-Droplet image the control panel makes — created by DigitalOcean, kept in your account.

Read more

Hetzner Cloud

Hetzner API tokens are scoped to a single project, so the connection boundary is the project. Paste one token per project and every server inside it becomes schedulable.

Read more

Vultr

Vultr API keys are IP-allowlisted by default, so a perfectly valid key fails until you allow the caller. VPS Snaps shows you the IP during setup instead of letting you debug a silent rejection.

Read more

Linode (Akamai)

Linode has no whole-instance snapshot API. VPS Snaps uses the Images API — independent, individually retainable images — and is explicit that each one captures a single disk.

Read more

AWS EC2

Deregistering an AMI does not delete the EBS snapshots behind it; AWS bills those forever. VPS Snaps reads the block device mappings before deregistering and deletes each one.

Read more

AWS Lightsail

Lightsail is AWS's VPS product, with its own API: an EC2 connection never sees it. Each run is one snapshot of the whole instance, attached disks included, and retention removes it in one call.

Read more

Google Compute Engine

A GCE machine image captures every disk on the instance in one self-contained resource. Delete it and nothing is left behind — the exact opposite of an AWS AMI.

Read more

Microsoft Azure

Azure snapshots managed disks, not machines. A VM with an OS disk and two data disks produces three snapshots per run, taken together and pruned together — because a restore missing the data is worse than an obvious failure.

Read more

The differences that change your setup

Four columns, eight rows, no marketing. If you are choosing where to run something, or wondering why your Linode job asked which disk to image, the answer is in here.

ProviderConnect withOne backup isOne connection covers
DigitalOceanOAuth, or a read/write API tokenDroplet snapshotWhole account, all regions
Hetzner CloudAPI token (Read & Write)Server snapshotOne project per token
VultrAPI key (plus an IP allowlist entry)Instance snapshotWhole account, all regions
Linode (Akamai)OAuth, or a personal access tokenDisk imageWhole account; one disk per job
AWS EC2IAM access key + secret + regionAMIOne region per key
AWS LightsailIAM access key + secret + regioninstance snapshotOne region per key
Google Compute EngineGoogle sign-in or a keyless service account, plus a GCP project IDMachine imageOne project, all zones
Microsoft AzureSign in with Microsoft (or tenant, client, secret, subscription)Managed disk snapshotOne subscription per connection

Two rows deserve a second look. Linode images one disk rather than the whole instance, because its Backups API keeps a single destructive slot that retention windows cannot be built on. AWS EC2 is region-scoped, so instances in three regions mean three connections on one AWS account.

Everything above the API call is identical

The integrations differ. The product wrapped around them does not — which is the whole reason to run eight providers from one dashboard instead of eight control panels.

The same schedule engine
Hourly, daily, weekly, monthly, a fixed interval in minutes, or raw cron — evaluated in your timezone, not UTC. A Vultr job and an EC2 job are configured on identical screens.
Retention that prunes on the provider's side
Set how many days to keep. After every successful run, copies older than that window are deleted through the provider's own API, so the count of stored images stops growing instead of compounding.
One run history, eight providers
Status, duration, what triggered it, and the provider's ID for the image it created — recorded per run, in one list, whichever account the server lives in.
Step-by-step logs, in the provider's words
Each poll is logged as it happens, and a failure carries the provider's own error text rather than a generic message. You find out that Linode wanted Images scope, not that "the backup failed".
The same 20-minute ceiling
Every provider is polled every 20 seconds for up to 20 minutes. Past that the run is marked timed out rather than hanging indefinitely, so a stuck image shows up as a failure you can act on tonight instead of a job that never reports.
Nothing installed on the server
No agent, no cron entry, no SSH key, no package. A snapshot job is entirely API calls made from our side to your provider — the machine being backed up is never touched and never knows.

Snapshots are created inside your provider account and stay there. VPS Snaps stores the ID, the name and the outcome of the run — never the image. Every credential you hand over is sealed with AES-256-GCM before it reaches the database.

Four things a provider snapshot is not

Snapshots are the fastest possible route back to a working server. They are also the backup type people most often over-trust, so here is where each of these eight stops being enough on its own.

They are not off-site from your provider

A snapshot lives in the same account as the server it came from. That protects you against a bad deploy, a botched upgrade or a deleted directory — not against losing the account itself. If that risk matters to you, run a database or file job alongside it, landing in an S3 bucket on a different provider entirely.

They are not application-consistent

None of the eight reboot or freeze the machine to image it, deliberately — that would mean downtime on every schedule. The image is crash-consistent: equivalent to pulling the power cable. A journalling filesystem recovers from that; a busy database may not, which is what pg_dump and mysqldump jobs are for.

They are not portable between providers

A Hetzner Image cannot boot on Vultr, and an AMI is not a machine image. Provider snapshots are the fastest way back to a working server on the same provider, and no help at all in moving off it. Portable copies come from the file, database and Docker job types, which produce plain tar.gz and .sql.gz in your own bucket.

They are not free of the provider's bill

Every provider here charges for the storage its snapshots occupy, on your account, separately from your VPS Snaps subscription. Automatic retention cleanup is the feature that keeps that line item flat rather than quietly climbing every night.

The complement to a snapshot is a portable copy in storage you control. Add a database backup, a file backup or a Docker backup on the same schedule, and the two failure modes stop overlapping. If the server has no inbound route at all, those three job types can run through the Agent instead of over SSH.

Your host isn't on the list

A snapshot integration needs the host to expose an API call that creates a snapshot. Some hosts don't have one — SSD Nodes will list and restore snapshots through its API but has no call that makes one, and InterServer's VPS API manages services and power state rather than disks. That rules out snapshot jobs on those hosts. It does not rule out backing the server up.

Both have a page of their own covering exactly what works and what does not: SSD Nodes and InterServer. The three job types below are what runs on either.

All three need one thing from the host: SSH access to the server, which every host gives you. Add the machine under Servers with a key or a password, and it schedules, logs, retains and alerts exactly like a snapshot job. If the server has no inbound route at all — behind NAT, or with SSH firewalled off — the Agent runs the same three job types outbound instead.

Or move to a host whose snapshots can be scheduled: DigitalOcean is one of the eight clouds VPS Snaps supports, on every plan.

Create a DigitalOcean account

Affiliate link — we earn a commission if you sign up.

Everything else it does

Storage, schedules, alerts, recovery and team access, in one place. Which plan each one starts on is on the pricing page.

Bring your own storage
Backups land in your own S3-compatible bucket — Backblaze B2, Wasabi, Cloudflare R2, or plain S3 — or in your own Google Drive, Box, Dropbox or OneDrive. You hold the keys and the data.
Snapshots stay with your provider
Provider snapshots are created through the provider's own API and never leave your account. We store the snapshot ID, not the image.
Eight providers, one dashboard
DigitalOcean, Hetzner, Vultr, Linode, AWS EC2, AWS Lightsail, Google Compute Engine and Microsoft Azure — scheduled and reviewed from the same place.
A replacement server on demand
Recover now builds a new server on your own DigitalOcean, Hetzner, Vultr, Linode, AWS EC2, AWS Lightsail, Azure or Google Compute Engine account, from its snapshot or from its backups, software included.
Failover on any cloud
When a server stops answering, its traffic moves to the recovery server: by reserved or floating IP where your cloud has one, or by your DNS on Cloudflare, which works on every cloud.
Know it's down, with the way back
Uptime monitors for sites, ports and scheduled jobs confirm an outage before alerting, name the server's newest backup, and publish a status page. On paid plans.
Your DNS zones, backed up
Every record in a Cloudflare zone, kept in your own storage as a BIND file too. A restore previews what differs and writes back only that.
Schedules that fit your traffic
Hourly, daily, weekly, monthly, or a fixed interval in minutes — anchored to your timezone, so a 02:00 job stays at 02:00 across a DST change.
Retention that prunes itself
Set how many days to keep. Older snapshots and archives are cleaned up after each successful run, so storage bills stay flat.
Every run on record
Status, duration, size and trigger, with each step it took in order and its warnings and errors kept in place — so a failure tells you which step broke.
Checksummed on upload
Every archive is hashed as it streams to your bucket and the checksum is stored with the run, so you can verify what landed.
Run on demand
Trigger any job by hand before a migration or a risky deploy, without touching its schedule or its retention window.
Alerts on five channels
Email plus Slack, Microsoft Teams, Google Chat, and Discord — on success, on failure, and on a job that missed its schedule entirely.
Encrypted credentials
SSH keys, database passwords, and storage secrets are sealed with AES-256-GCM before they touch the database.
Team access with roles
Invite your team into a shared workspace as owner, admin, or member, so backups outlive whoever set them up.
View all features
Alex Morgan
“VPS Snaps gave us one place to manage backups across DigitalOcean, AWS, and a few standalone servers. We can schedule provider snapshots, database dumps, and file backups without maintaining a bunch of separate scripts, and the run logs make it easy to confirm everything actually completed.”
Alex MorganDevOps Engineer

Connect a provider and watch one run finish.

The first scheduled run is what proves your token has the right scope, your region is the one your instances are in, and your retention window does what you assumed. Better to learn that this week than during an incident.

Your credentials are encrypted with AES-256-GCM, your backups never live on our storage, and our GDPR data processing agreement is public.

No credit card required. Cancel anytime.