Skip to main content

Overview

The ironcore-backup CLI manages every aspect of Ironcore Backup Solution — backup operations, restore operations, datastores, namespaces, jobs, retention policies, replication, and encryption keys. The CLI is available on all Polystack control plane nodes and on any host where the backup client package is installed.
Prerequisites
  • An active Polystack account with project membership
  • The ironcore-backup CLI installed — see CLI Setup
  • An API token or interactive credentials with appropriate roles

Authentication

Interactive login
ironcore-backup login \
  --repository ibs-primary@backup.<your-domain>:datastore \
  --realm polystack
The CLI prompts for password and, if enabled, the second factor. Credentials are cached in ~/.config/ironcore-backup/credentials for the session.

Backup Operations

ironcore-backup backup create

Create a one-shot backup of a workload.
ironcore-backup backup create \
  --type vm \
  --source-id 12345 \
  --repository ibs-primary \
  --namespace production
FlagTypeRequiredDescription
--typevm | container | hostyesWorkload type
--source-idstringyes (vm/container)Source workload identifier
--sourcepathyes (host)Source path on the host
--backup-idstringyes (host)Backup identifier for grouping snapshots
--repositorystringyesTarget datastore
--namespacestringnoNamespace within the datastore
--keyfilepathnoClient-side encryption key file
--includeglobnoFile patterns to include
--excludeglobnoFile patterns to exclude

Restore Operations

ironcore-backup vm restore

Restore an entire VM. Use --live to start the VM immediately while restore continues in the background.
Live-restore a VM
ironcore-backup vm restore \
  --snapshot ibs-primary:vm/12345/2026-05-21T00:00:00Z \
  --target-host compute-07 \
  --live
FlagDescription
--snapshotSource snapshot reference
--target-hostCompute host to restore to
--liveStart VM while restore continues in background
--storageTarget storage backend
--renameOptional new name for the restored VM

ironcore-backup file restore

Restore individual files or directories from a snapshot.
Restore a single file
ironcore-backup file restore \
  --snapshot ibs-primary:vm/12345/2026-05-21T00:00:00Z \
  --path /var/www/html/index.php \
  --target /tmp/restore/
Restore a directory as a tar archive
ironcore-backup file restore \
  --snapshot ibs-primary:vm/12345/2026-05-21T00:00:00Z \
  --path /etc \
  --format tar.zst \
  --target /tmp/etc.tar.zst

Snapshot Management

ironcore-backup snapshot list

List snapshots in a datastore
ironcore-backup snapshot list ibs-primary
Filter by namespace
ironcore-backup snapshot list ibs-primary --namespace production
Filter by source
ironcore-backup snapshot list ibs-primary --backup-id vm/12345

ironcore-backup snapshot show

Show metadata, size, and the file listing inside a snapshot.
ironcore-backup snapshot show ibs-primary:vm/12345/2026-05-21T00:00:00Z

ironcore-backup snapshot remove

ironcore-backup snapshot remove ibs-primary:vm/12345/2026-04-01T00:00:00Z
Removing a snapshot is irreversible. Run --dry-run first to confirm the impact on deduplication and downstream incremental chains.

Backup Jobs

ironcore-backup job create

Schedule a recurring backup.
Daily incremental at 02:00 with 7-day retention
ironcore-backup job create \
  --name daily-prod \
  --schedule "02:00" \
  --type vm \
  --source-id 12345 \
  --repository ibs-primary \
  --namespace production \
  --retention keep-daily=7
Weekly full backup with 3-week retention
ironcore-backup job create \
  --name weekly-full \
  --schedule "Sun 03:00" \
  --type vm \
  --source-id 12345 \
  --repository ibs-primary \
  --namespace production \
  --mode full \
  --retention keep-weekly=3

ironcore-backup job list

ironcore-backup job list

ironcore-backup job run

Trigger a scheduled job immediately.
ironcore-backup job run --name daily-prod

Datastores and Namespaces

ironcore-backup datastore create

ironcore-backup datastore create \
  --name ibs-primary \
  --type local \
  --path /mnt/backup/ibs-primary

ironcore-backup namespace create

ironcore-backup namespace create ibs-primary production
ironcore-backup namespace create ibs-primary staging

Replication and Sync

ironcore-backup sync create

Replicate snapshots from a local datastore to a remote site.
Weekly archival sync to Backup site
ironcore-backup sync create \
  --name primary-to-backup-archival \
  --source ibs-primary \
  --remote backup-site \
  --remote-repository ibs-archival \
  --schedule "Sun 04:30" \
  --direction push \
  --include "keep-weekly=*" \
  --encrypt
FlagDescription
--sourceLocal datastore name
--remoteConfigured remote site name
--remote-repositoryDatastore name on the remote site
--directionpush (local → remote) or pull (remote → local)
--schedulesystemd-style schedule (for example Sun 04:30 or daily)
--encryptEncrypt snapshots in transit
--bwlimitMaximum bandwidth in MiB/s

ironcore-backup sync run

ironcore-backup sync run --name primary-to-backup-archival

Verification

ironcore-backup verify start

Verify all snapshots in a datastore
ironcore-backup verify start ibs-primary
Verify a single snapshot
ironcore-backup verify start ibs-primary:vm/12345/2026-05-21T00:00:00Z

ironcore-backup verify status

ironcore-backup verify status --job-id verify-2026-05-21

Encryption Keys

ironcore-backup key create

Generate a client-side encryption key
ironcore-backup key create \
  --name ibs-prod-key \
  --type aes256-gcm \
  --output /etc/ironcore/keys/ibs-prod-key.json

ironcore-backup key paperkey

Print the encryption key as a paper-friendly QR + hex block for offline secure storage.
ironcore-backup key paperkey /etc/ironcore/keys/ibs-prod-key.json > paperkey.pdf
If the encryption key is lost, the encrypted backups are unrecoverable. Always store the paperkey in a physical safe at the Backup site.

Tape Operations

ironcore-backup tape backup

ironcore-backup tape backup \
  --pool yearly-archive \
  --include "keep-yearly=*" \
  --eject

ironcore-backup tape inventory

ironcore-backup tape inventory --library lto-library-01

ironcore-backup tape restore

ironcore-backup tape restore \
  --media TAPE0042 \
  --target ibs-primary

Diagnostics

ironcore-backup status

ironcore-backup status
Returns service health, datastore usage, scheduled jobs, and active tasks.

ironcore-backup task list

ironcore-backup task list --since "1h ago"

ironcore-backup task log

ironcore-backup task log --upid <task-id>

Next Steps

Create a Backup

Step-by-step procedure to create your first backup.

Schedule a Job

Build recurring backup jobs that match your retention policy.

Restore Options

Compare live-restore, full restore, and file-level restore.

Admin Guide

Provision datastores, retention, replication, and security as an administrator.