Cancelling Backups & Restores
How cooperative cancel works in BackupEngine, what each backup type does on cancel, and the matching CLI commands.
What Cooperative Cancel Means
BackupEngine uses cooperative cancel: clicking the Cancel button does not kill the process or abort the connection mid-byte. Instead the runner observes a flag at chunk and file boundaries β typically several times a second β and on cancel it stops issuing new chunk uploads, drains anything already in flight (so you don't orphan a half-uploaded chunk), runs the per-type cleanup, and exits without writing a manifest. The result: no half-finished backup leaves the system worse than it found it.
π‘ Tip
Cancelling a Backup
- β’Open the Backup tab (Files) or Server Backup tab.
- β’Find the running set β its card shows a "Runningβ¦" badge plus a Cancel button.
- β’Click Cancel and confirm in the dialog.
- β’Within ~1 second the run stops and the card returns to its idle state.
backupengine backup stop # Stop every active backup backupengine backup stop "Documents" # Stop a specific set by name
βΉ Note
What Each Backup Type Does on Cancel
- β’File backups (v1.11.6): the worker isolate stops between chunks. Chunks already uploaded stay at the destination and dedup automatically on the next run; no manifest is written so the cancelled run does not appear in the Restore picker.
- β’Hyper-V (v1.11.3): the new BackupEngine-Reference checkpoint is dropped via Remove-VMSnapshot. The previous reference (the incremental anchor) is left intact so the next incremental still has a parent to diff against. No manifest is written.
- β’SQL Server (v1.11.4): the temp .bak being reassembled is deleted. Databases that have already been handed off to RESTORE DATABASE will continue on the SQL server side β check sys.dm_exec_requests if you need to KILL them.
- β’Bare-Metal Recovery (v1.11.4): the staging directory under the target folder is removed (incomplete WindowsImageBackup tree).
- β’System State (v1.11.4): the staging directory is removed; any wbadmin invocation is aborted only if it has not yet started replaying state.
Cancelling a Restore (v1.11.9)
v1.11.9 brings cooperative cancel to all five restore runners (file / Hyper-V / SQL / BMR / System State). The Cancel button is on the in-progress panel of every restore screen.
- β’On the Restore screen for the type you are restoring (file / Hyper-V / SQL / BMR / System State), watch the live progress bar.
- β’Click Cancel restore.
- β’Confirm in the dialog (each type has type-specific copy explaining what happens to partial output).
- β’Within ~1 second the run stops; the screen shows a snackbar with the cancel message.
βΉ Note
backupengine restore is one-shot and synchronous; if you started it from a script and want to abort, kill the process. There is no backupengine restore stop command today.What Each Restore Type Does on Cancel
- β’File restore: files written before cancel stay in the destination folder. Re-running the restore picks up the rest β chunks for files already restored are not re-downloaded.
- β’Hyper-V restore: disks already finished stay on disk; the in-progress VHDX is left in place so you can inspect it. Delete it manually if you don't want it. Re-run the restore for a clean retry.
- β’SQL restore: any half-built temp .bak files are cleaned up automatically. Databases handed to RESTORE DATABASE continue on the SQL side β check sys.dm_exec_requests if you need to KILL them.
- β’BMR restore: the WindowsImageBackup tree under the target folder is incomplete and not bootable. Re-run the restore to a clean folder before booting from it.
- β’System State restore: cancel only takes effect during the chunk-download phase. Once wbadmin starts the cancel signal does not reach it β wait for the run to finish or fail.
Why Pause Is Not Supported
BackupEngine intentionally does not implement Pause for either backups or restores. Each chunk is a single in-flight presigned-URL pull (or PUT) with no resume cursor, and the runners do not persist per-chunk completion state. Implementing pause-and-resume would require resumable byte-range fetches against iDrive e2 plus a new on-disk job state β meaningful new infrastructure, not a UI change. Cancel-then-rerun is the supported pattern; chunks already at the destination dedup automatically so re-running is cheap.
What Happens on the Tray Icon
The tray icon pulses through an 8-frame animation while any backup OR restore is in flight (v1.11.9 extended the same animation to cover restores). When you cancel, the icon returns to idle as soon as the runner exits β you can use the icon as a quick visual confirmation that cancel actually took effect.
- β’Tooltip during a backup: "Backup Engine β N backup(s) running".
- β’Tooltip during a restore: "Backup Engine β N restore(s) running".
- β’Tooltip during both: "Backup Engine β N backup(s) + M restore(s)".
- β’Tooltip when idle: "Backup Engine β Idle" (no animation).