proxmox-tape¶
Synopsis¶
proxmox-tape backup <store> <pool> [OPTIONS]
Backup datastore to tape media pool
<store><string>Datastore name.
<pool><string>Media pool name.
Optional parameters:
--drive<string>Drive Identifier.
--eject-media<boolean>Eject media upon job completion.
--export-media-set<boolean>Export media set upon job completion.
--force-media-set<boolean> (default=false)Ignore the allocation policy and start a new media-set.
--groups[<exclude:|include:>]<type:<vm|ct|host>|group:GROUP|regex:RE>List of group filters. Can be specified more than once.
--latest-only<boolean>Backup latest snapshots only.
--max-depth<integer> (0 - 7) (default=7)How many levels of namespaces should be operated on (0 == no recursion)
--notify-user<string>User ID
--ns<string>Namespace.
--output-formattext|json|json-prettyOutput format.
proxmox-tape backup-job create <id> --drive <string> --pool <string> --store <string> [OPTIONS]
Create a new tape backup job.
<id><string>Job ID.
--drive<string>Drive Identifier.
--pool<string>Media pool name.
--store<string>Datastore name.
Optional parameters:
--comment<string>Comment.
--eject-media<boolean>Eject media upon job completion.
--export-media-set<boolean>Export media set upon job completion.
--group-filter[<exclude:|include:>]<type:<vm|ct|host>|group:GROUP|regex:RE>List of group filters. Can be specified more than once.
--latest-only<boolean>Backup latest snapshots only.
--max-depth<integer> (0 - 7) (default=7)How many levels of namespaces should be operated on (0 == no recursion)
--notification-modelegacy-sendmail|notification-system (default=notification-system)Configure how notifications for this datastore should be sent. legacy- sendmail sends email notifications to the user configured in notify-user via the system's sendmail executable. notification-system emits matchable notification events to the notification system.
--notify-user<string>User ID
--ns<string>Namespace.
--schedule<calendar-event>Run sync job at specified schedule.
--worker-threads<integer> (1 - 32) (default=1)Set the number of worker threads to use for the job
proxmox-tape backup-job list [OPTIONS]
Tape backup job list.
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape backup-job remove <id> [OPTIONS]
Remove a tape backup job configuration
<id><string>Job ID.
Optional parameters:
--digest<string>Prevent changes if current configuration file has different SHA256 digest. This can be used to prevent concurrent modifications.
proxmox-tape backup-job run <id>
Run THape Backup Job
<id><string>Job ID.
proxmox-tape backup-job show <id> [OPTIONS]
Show tape backup job configuration
<id><string>Job ID.
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape backup-job update <id> [OPTIONS]
Update the tape backup job
<id><string>Job ID.
Optional parameters:
--comment<string>Comment.
--deletecomment|schedule|eject-media|export-media-set|latest-only|notify-user|notification-mode|group-filter|max-depth|ns|worker-threadsList of properties to delete. Can be specified more than once.
--digest<string>Prevent changes if current configuration file has different SHA256 digest. This can be used to prevent concurrent modifications.
--drive<string>Drive Identifier.
--eject-media<boolean>Eject media upon job completion.
--export-media-set<boolean>Export media set upon job completion.
--group-filter[<exclude:|include:>]<type:<vm|ct|host>|group:GROUP|regex:RE>List of group filters. Can be specified more than once.
--latest-only<boolean>Backup latest snapshots only.
--max-depth<integer> (0 - 7) (default=7)How many levels of namespaces should be operated on (0 == no recursion)
--notification-modelegacy-sendmail|notification-system (default=notification-system)Configure how notifications for this datastore should be sent. legacy- sendmail sends email notifications to the user configured in notify-user via the system's sendmail executable. notification-system emits matchable notification events to the notification system.
--notify-user<string>User ID
--ns<string>Namespace.
--pool<string>Media pool name.
--schedule<calendar-event>Run sync job at specified schedule.
--store<string>Datastore name.
--worker-threads<integer> (1 - 32) (default=1)Set the number of worker threads to use for the job
proxmox-tape barcode-label [OPTIONS]
Label media with barcodes from changer device
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
--pool<string>Media pool name.
proxmox-tape cartridge-memory [OPTIONS]
Read Cartridge Memory (Medium auxiliary memory attributes)
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
proxmox-tape catalog [OPTIONS]
Scan media and record content
Optional parameters:
--drive<string>Drive Identifier.
--force<boolean>Force overriding existing index.
--output-formattext|json|json-prettyOutput format.
--scan<boolean>Re-read the whole tape to reconstruct the catalog instead of restoring saved versions.
--verbose<boolean>Verbose mode - log all found chunks.
proxmox-tape changer config <name> [OPTIONS]
Get tape changer configuration
<name><string>Tape Changer Identifier.
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape changer create <name> --path <string> [OPTIONS]
Create a new changer device
<name><string>Tape Changer Identifier.
--path<string>Path to Linux generic SCSI device (e.g. '/dev/sg4')
Optional parameters:
--eject-before-unload<boolean> (default=false)if set to true, tapes are ejected manually before unloading
--export-slots[<integer>, ...]A list of slot numbers, comma separated. Those slots are reserved for Import/ Export, i.e. any media in those slots are considered to be 'offline'.
proxmox-tape changer list [OPTIONS]
List changers
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape changer remove <name>
Delete a tape changer configuration
<name><string>Tape Changer Identifier.
proxmox-tape changer scan [OPTIONS]
Scan for SCSI tape changers
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape changer status [<name>] [OPTIONS]
Get tape changer status
<name><string>Tape Changer Identifier.
Optional parameters:
--cache<boolean> (default=true)Use cached value.
--output-formattext|json|json-prettyOutput format.
proxmox-tape changer transfer [<name>] --from <integer> (1 - N) --to <integer> (1 - N)
Transfers media from one slot to another
<name><string>Tape Changer Identifier.
--from<integer> (1 - N)Source slot number
--to<integer> (1 - N)Destination slot number
proxmox-tape changer update <name> [OPTIONS]
Update a tape changer configuration
<name><string>Tape Changer Identifier.
Optional parameters:
--deleteexport-slots|eject-before-unloadList of properties to delete. Can be specified more than once.
--digest<string>Prevent changes if current configuration file has different SHA256 digest. This can be used to prevent concurrent modifications.
--eject-before-unload<boolean> (default=false)if set to true, tapes are ejected manually before unloading
--export-slots[<integer>, ...]A list of slot numbers, comma separated. Those slots are reserved for Import/ Export, i.e. any media in those slots are considered to be 'offline'.
--path<string>Path to Linux generic SCSI device (e.g. '/dev/sg4')
proxmox-tape clean [OPTIONS]
Clean drive
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
proxmox-tape drive config <name> [OPTIONS]
Get pool configuration
<name><string>Drive Identifier.
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape drive create <name> --path <string> [OPTIONS]
Create a new drive
<name><string>Drive Identifier.
--path<string>The path to a LTO SCSI-generic tape device (i.e. '/dev/sg0')
Optional parameters:
--changer<string>Tape Changer Identifier.
--changer-drivenum<integer> (0 - 255) (default=0)Associated changer drive number (requires option changer)
proxmox-tape drive list [OPTIONS]
List drives
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape drive remove <name>
Delete a drive configuration
<name><string>Drive Identifier.
proxmox-tape drive scan [OPTIONS]
Scan for drives
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape drive update <name> [OPTIONS]
Update a drive configuration
<name><string>Drive Identifier.
Optional parameters:
--changer<string>Tape Changer Identifier.
--changer-drivenum<integer> (0 - 255) (default=0)Associated changer drive number (requires option changer)
--deletechanger|changer-drivenumList of properties to delete. Can be specified more than once.
--digest<string>Prevent changes if current configuration file has different SHA256 digest. This can be used to prevent concurrent modifications.
--path<string>The path to a LTO SCSI-generic tape device (i.e. '/dev/sg0')
proxmox-tape eject [OPTIONS]
Eject/Unload drive media
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
proxmox-tape eod [OPTIONS]
Move to end of media (MTEOM, used to debug)
Optional parameters:
--drive<string>Drive Identifier.
proxmox-tape export-media <label-text> [OPTIONS]
Export media with specified label
<label-text><string>Media Label/Barcode.
Optional parameters:
--drive<string>Drive Identifier.
proxmox-tape format [OPTIONS]
Format media
Optional parameters:
--drive<string>Drive Identifier.
--fast<boolean> (default=true)Use fast erase.
--output-formattext|json|json-prettyOutput format.
proxmox-tape help [{<command>}] [OPTIONS]
Get help about specified command (or sub-command).
<command><string>Command. This may be a list in order to specify nested sub-commands. Can be specified more than once.
Optional parameters:
--verbose<boolean>Verbose help.
proxmox-tape inventory [OPTIONS]
List (and update) media labels (Changer Inventory)
Optional parameters:
--catalog<boolean> (default=false)Try to restore catalogs from tapes.
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
--read-all-labels<boolean> (default=false)Load all tapes and try read labels (even if already inventoried)
--read-labels<boolean> (default=false)Load unknown tapes and try read labels
proxmox-tape key change-passphrase <fingerprint> --hint <string> [OPTIONS]
Change the encryption key's password.
<fingerprint><string>Tape encryption key fingerprint (sha256).
--hint<string>Password hint.
Optional parameters:
--force<boolean> (default=false)Reset the passphrase for a tape key, without asking for the old one.
--kdfnone|scrypt|pbkdf2 (default=scrypt)Key derivation function for password protected encryption keys.
proxmox-tape key create --hint <string> [OPTIONS]
Create key (read password from stdin)
--hint<string>Password restore hint.
Optional parameters:
--kdfnone|scrypt|pbkdf2 (default=scrypt)Key derivation function for password protected encryption keys.
proxmox-tape key list [OPTIONS]
List keys
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape key paperkey <fingerprint> [OPTIONS]
Generate a printable, human readable text file containing the encryption key.
This also includes a scanable QR code for fast key restore.
<fingerprint><string>Tape encryption key fingerprint (sha256).
Optional parameters:
--output-formattext|htmlPaperkey output format
--subject<string>Include the specified subject as title text.
proxmox-tape key remove <fingerprint> [OPTIONS]
Remove a encryption key from the database
Please note that you can no longer access tapes using this key.
<fingerprint><string>Tape encryption key fingerprint (sha256).
Optional parameters:
--digest<string>Prevent changes if current configuration file has different SHA256 digest. This can be used to prevent concurrent modifications.
proxmox-tape key restore [OPTIONS]
Restore encryption key from tape or from a backup file/string (reads password from stdin)
Optional parameters:
--drive<string>Drive Identifier.
--key<string>Import key from json string or an exported paperkey-format.
--key-file<string>Import key from a file with either json or exported paperkey-format.
proxmox-tape key show <fingerprint> [OPTIONS]
Print the encryption key's metadata.
<fingerprint><string>Tape encryption key fingerprint (sha256).
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape label --label-text <string> [OPTIONS]
Label media
--label-text<string>Media Label/Barcode.
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
--pool<string>Media pool name.
proxmox-tape load-media <label-text> [OPTIONS]
Load media with specified label
<label-text><string>Media Label/Barcode.
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
proxmox-tape load-media-from-slot <source-slot> [OPTIONS]
Load media from the specified slot
<source-slot><integer> (1 - N)Source slot number.
Optional parameters:
--drive<string>Drive Identifier.
proxmox-tape media content [OPTIONS]
List media content
Optional parameters:
--backup-id<string>Backup ID.
--backup-typevm|ct|hostBackup types.
--label-text<string>Media Label/Barcode.
--media<string>Media Uuid.
--media-set<string>MediaSet Uuid (We use the all-zero Uuid to reseve an empty media for a specific pool).
--output-formattext|json|json-prettyOutput format.
--pool<string>Media pool name.
proxmox-tape media destroy [<label-text>] [OPTIONS]
Destroy media (completely remove from database)
<label-text><string>Media Label/Barcode.
Optional parameters:
--force<boolean>Force removal (even if media is used in a media set).
--uuid<string>Media Uuid.
proxmox-tape media list [OPTIONS]
List pool media
Optional parameters:
--output-formattext|json|json-prettyOutput format.
--pool<string>Media pool name.
--update-status<boolean> (default=true)Try to update tape library status (check what tapes are online).
--update-status-changer<string>Tape Changer Identifier.
proxmox-tape pool config <name> [OPTIONS]
Get media pool configuration
<name><string>Media pool name.
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape pool create <name> [OPTIONS]
Create a new media pool
<name><string>Media pool name.
Optional parameters:
--allocation<string>Media set allocation policy ('continue', 'always', or a calendar event).
--comment<string>Comment.
--encrypt<string>Tape encryption key fingerprint (sha256).
--retention<string>Media retention policy ('overwrite', 'keep', or time span).
--template<string>Media set naming template (may contain strftime() time format specifications).
proxmox-tape pool list [OPTIONS]
List media pool
Optional parameters:
--output-formattext|json|json-prettyOutput format.
proxmox-tape pool remove <name>
Delete a media pool configuration
<name><string>Media pool name.
proxmox-tape pool update <name> [OPTIONS]
Update media pool settings
<name><string>Media pool name.
Optional parameters:
--allocation<string>Media set allocation policy ('continue', 'always', or a calendar event).
--comment<string>Comment.
--deleteallocation|retention|template|encrypt|commentList of properties to delete. Can be specified more than once.
--encrypt<string>Tape encryption key fingerprint (sha256).
--retention<string>Media retention policy ('overwrite', 'keep', or time span).
--template<string>Media set naming template (may contain strftime() time format specifications).
proxmox-tape read-label [OPTIONS]
Read media label
Optional parameters:
--drive<string>Drive Identifier.
--inventorize<boolean>Inventorize media
--output-formattext|json|json-prettyOutput format.
proxmox-tape restore <media-set> <store> [{<snapshots>}] [OPTIONS]
Restore data from media-set
<media-set><string>Media set UUID.
<store>[(<source>=)?<target>, ...]A list of Datastore mappings (or single datastore), comma separated. For example 'a=b,e' maps the source datastore 'a' to target 'b and all other sources to the default 'e'. If no default is given, only the specified sources are mapped.
<snapshots>store:[ns/namespace/...]type/id/timeList of snapshots. Can be specified more than once.
Optional parameters:
--drive<string>Drive Identifier.
--namespaces[store=<string> [,max-depth=<integer>] [,source=<string>] [,target=<string>]]List of namespace to restore. Can be specified more than once.
--notify-user<string>User ID
--output-formattext|json|json-prettyOutput format.
--owner<string>Authentication ID
proxmox-tape rewind [OPTIONS]
Rewind tape
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
proxmox-tape scan [OPTIONS]
Rewind, then read media contents and print debug info
Note: This reads unless the driver returns an IO Error, so this method is expected to fails when we reach EOT.
Optional parameters:
--drive<string>Drive Identifier.
proxmox-tape status [OPTIONS]
Get drive/media status
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
proxmox-tape unload [OPTIONS]
Unload media via changer
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
--target-slot<integer> (1 - N)Target slot number. If omitted, defaults to the slot that the drive was loaded from.
proxmox-tape volume-statistics [OPTIONS]
Read Volume Statistics (SCSI log page 17h)
Optional parameters:
--drive<string>Drive Identifier.
--output-formattext|json|json-prettyOutput format.
Description¶
This tool can configure and manage tape backups.
Copyright and Disclaimer¶
Copyright (C) 2019-2025, Proxmox Server Solutions GmbH
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/