termal.in

← Blog

Windows Server Backup with Volume Shadow Copy — Encrypted, Nothing to Install

· Termalin Team windowsbackupsconnectorsysadminencryption

Backing up a live Windows Server is mostly a fight with open files: a running database, an Exchange or mail store, a file locked by IIS. Copy them while they’re being written and the backup can be inconsistent — a restore that won’t mount. The standard Windows answer is the Volume Shadow Copy Service (VSS), and that’s exactly what Termalin’s backups use on Windows. You get an encrypted archive, off-site, with nothing installed on the server but the Connector.

What gets backed up, and how VSS keeps it consistent

You list the folders you want — say C:\inetpub and a data directory. Before reading them, the backup asks Windows for a Volume Shadow Copy (Win32_ShadowCopy.Create) and reads your files from that point-in-time snapshot. Open databases and mail stores are captured in a consistent state rather than mid-write. The snapshot is always removed when the run ends, including when a run fails.

One requirement to know: VSS needs the Connector’s login user to be an administrator. If it isn’t, the files are read directly instead, and the archive carries a note that open files may be inconsistent — so for a server with live data, give the Connector an admin account.

A few path rules:

  • One full path per line, up to 50 paths per job.
  • No whole drive (you can’t point it at C:\ alone) and no network paths.
  • In the archive, paths keep the drive letter, e.g. C/inetpub/….

Setup: a Connector, then a job

Nothing is installed on the server except the Connector. Install it from the web cabinet’s Get install command → Windows tab and run the one line it gives you in PowerShell (it asks for administrator rights itself):

irm https://termal.in/i/<token>.ps1 | iex

It works on Windows PowerShell 5.1, and the install link is single-use and valid for an hour. The Connector adds the built-in OpenSSH Server if it’s missing, but port 22 stays closed — sshd listens on the machine itself only — and everything travels over the Connector’s own outbound tunnel. There are x64 and ARM64 builds.

Then create the job in Account → Backups → + Add backup: pick the server, the paths, a schedule, how many copies to keep, and a read-speed limit. The backup packs the folders with the built-in tar.exe at below-normal priority, so it needs Windows 10 1803 / Windows Server 2019 or newer.

Schedules and retention

  • When: manual, hourly (on the next full hour), daily (at an hour, :00 UTC) or weekly (Sunday at that hour, UTC).
  • Keep last N: the newest N successful archives, 1–365, default 7. The oldest is removed once a newer one succeeds.
  • Read speed limit: default 20 MB/s so a run doesn’t starve the disk and network the server needs; 0 lifts it.
  • A single run is capped at six hours.

Where the archives go

Pick one destination per job:

  • Termalin storage — a pool shared with session recordings (25 GB on Pro, 100 GB on Team).
  • Your own S3-compatible bucket — AWS, Backblaze B2, Cloudflare R2, Hetzner, MinIO.
  • My server (via Connector) — over SFTP to another of your servers that has a Connector.

Only Termalin storage counts toward your plan’s pool; an S3 bucket or your own server doesn’t.

Encryption — only you can open it

Each archive gets a fresh data key, wrapped for the job’s X25519 key (AES-256-GCM). The private half lives in your vault behind your master password, so Termalin storage, your bucket and your own server only ever hold ciphertext.

To be precise about where the encryption happens: it runs on Termalin’s backend, before anything is written to storage — this is not client-side end-to-end encryption, and we don’t call it that. What’s true is that nothing is stored in the clear and only your key opens an archive.

Restoring

There is no automatic restore to the server. To get files back, use Decrypt & save — in the browser or the desktop app — to produce a plain .tar.gz, then copy it to the server over SFTP and unpack it. Because you hold the key, the restore is yours to run end to end.

Alerts when a backup doesn’t happen

A failed scheduled run is sent the way your other alerts arrive — email, push, Telegram or webhook. A job that simply goes quiet is caught too: with no successful run for about twice its interval (3 hours for hourly, two days for daily, two weeks for weekly), one alert goes out. A manual Run now shows any error on the spot.

Plans and what happens if you leave

  • Free: no backups. Trial: up to 5 GB.
  • Pro: 20 jobs, largest archive 4 GB, 25 GB storage pool.
  • Team: 100 jobs, largest archive 20 GB, 100 GB pool.
  • Need more room: +100 GB for $2.99/mo or +1 TB for $19.99/mo, from your balance.

If a plan ends, archives in Termalin storage stay downloadable for 30 days (14 on the trial), with emails before anything is removed. Backups kept in your own S3 bucket or on your own server are never touched.

Let an AI agent snapshot before a risky change

Through Termalin’s hosted MCP endpoint, an assistant can call backup_create to take a backup before a migration or a bulk change, and backup_list to confirm last night’s ran. backup_create is flagged as a tool that can remove data, because keeping the newest N copies deletes the oldest — so it’s treated with the same care as anything destructive.


Termalin backs up Linux, Windows and macOS servers the same way — see the server backups page. For the rest of the Windows story, there’s Windows Server over SSH and Windows Server monitoring.

Try it on one host.

Termalin is a fast SSH client for you — and your agents.

Free tier · 14-day Pro trial · pricing

Add Termalin as a preferred source on Google