proxmox-backup-client¶
Synopsis¶
proxmox-backup-client backup {<backupspec>} [OPTIONS]
Create (host) backup.
<backupspec>
<string>
List of backup source specifications ([<label.ext>:<path>] ...) Can be specified more than once.
Optional parameters:
--all-file-systems
<boolean> (default=false)
Include all mounted subdirectories.
--backup-id
<string>
Backup ID.
--backup-time
<integer> (1 - N)
Backup time (Unix epoch.)
--backup-type
vm|ct|host
Backup type.
--burst
<string>
Size of the token bucket (for Token bucket filter) in bytes with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
--change-detection-mode
legacy|data|metadata (default=legacy)
Mode to detect file changes since last backup run
--chunk-size
<integer> (64 - 4096) (default=4096)
Chunk size in KB. Must be a power of 2.
--crypt-mode
none|encrypt|sign-only (default=encrypt)
Defines whether data is encrypted (using an AEAD cipher), only signed, or neither.
--dry-run
<boolean> (default=false)
Just show what backup would do, but do not upload anything.
--entries-max
<integer> (default=1048576)
Max number of entries to hold in memory.
--exclude
<string>
List of paths or patterns for matching files to exclude. Can be specified more than once.
--include-dev
<string>
Include mountpoints with same st_dev number (see
man fstat
) as specified files. Can be specified more than once.--keyfd
<integer> (0 - N)
Pass an encryption key via an already opened file descriptor.
--keyfile
<string>
Path to encryption key. All data will be encrypted using this key.
--master-pubkey-fd
<integer> (0 - N)
Pass a master public key via an already opened file descriptor.
--master-pubkey-file
<string>
Path to master public key. The encryption key used for a backup will be encrypted using this key and appended to the backup.
--ns
<string>
Namespace.
--rate
<string>
Rate limit (for Token bucket filter) in bytes/s with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
--repository
<string>
Repository URL.
--skip-e2big-xattr
<boolean> (default=false)
Ignore the E2BIG error when retrieving xattrs. This includes the file, but discards the metadata.
--skip-lost-and-found
<boolean> (default=false)
Skip lost+found directory.
proxmox-backup-client benchmark [OPTIONS]
Run benchmark tests
Optional parameters:
--keyfile
<string>
Path to encryption key. All data will be encrypted using this key.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client catalog dump <snapshot> [OPTIONS]
Dump catalog.
<snapshot>
<string>
Snapshot path.
Optional parameters:
--keyfd
<integer> (0 - N)
Pass an encryption key via an already opened file descriptor.
--keyfile
<string>
Path to encryption key.
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client catalog shell <snapshot> <archive-name> [OPTIONS]
Shell to interactively inspect and restore snapshots.
<snapshot>
<string>
Group/Snapshot path.
<archive-name>
<string>
Backup archive name.
Optional parameters:
--keyfd
<integer> (0 - N)
Pass an encryption key via an already opened file descriptor.
--keyfile
<string>
Path to encryption key.
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client change-owner <group> <new-owner> [OPTIONS]
Change owner of a backup group
<group>
<string>
Backup group.
<new-owner>
<string>
Authentication ID
Optional parameters:
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client garbage-collect [OPTIONS]
Start garbage collection for a specific repository.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client group forget <group> [OPTIONS]
Forget (remove) backup snapshots.
<group>
<string>
Backup group
Optional parameters:
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client 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-backup-client key change-passphrase [<path>] [OPTIONS]
Change the encryption key's password.
<path>
<string>
Key file. Without this the default key's password will be changed.
Optional parameters:
--hint
<string>
Password hint.
--kdf
none|scrypt|pbkdf2 (default=scrypt)
Key derivation function for password protected encryption keys.
proxmox-backup-client key create [<path>] [OPTIONS]
Create a new encryption key.
<path>
<string>
Output file. Without this the key will become the new default encryption key.
Optional parameters:
--hint
<string>
Password hint.
--kdf
none|scrypt|pbkdf2 (default=scrypt)
Key derivation function for password protected encryption keys.
proxmox-backup-client key create-master-key
Create an RSA public/private key pair used to put an encrypted version of the symmetric backup encryption key onto the backup server along with each backup.
proxmox-backup-client key import-master-pubkey <path>
Import an RSA public key used to put an encrypted version of the symmetric backup encryption key onto the backup server along with each backup.
The imported key will be used as default master key for future invocations by the same local user.
<path>
<string>
Path to the PEM formatted RSA public key.
proxmox-backup-client key import-with-master-key [<path>] --encrypted-keyfile <string> --master-keyfile <string> [OPTIONS]
Import an encrypted backup of an encryption key using a (private) master key.
<path>
<string>
Output file. Without this the key will become the new default encryption key.
--encrypted-keyfile
<string>
RSA-encrypted keyfile to import.
--master-keyfile
<string>
(Private) master key to use.
Optional parameters:
--hint
<string>
Password hint.
--kdf
none|scrypt|pbkdf2 (default=scrypt)
Key derivation function for password protected encryption keys.
proxmox-backup-client key paperkey [<path>] [OPTIONS]
Generate a printable, human readable text file containing the encryption key.
This also includes a scanable QR code for fast key restore.
<path>
<string>
Key file. Without this the default key's will be used.
Optional parameters:
--output-format
text|html
Paperkey output format
--subject
<string>
Include the specified subject as title text.
proxmox-backup-client key show [<path>] [OPTIONS]
Print the encryption key's metadata.
<path>
<string>
Key file. Without this the default key's metadata will be shown.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-client key show-master-pubkey [<path>] [OPTIONS]
List information about master key
<path>
<string>
Path to the PEM formatted RSA public key. Default location will be used if not specified.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-client list [OPTIONS]
List backup groups.
Optional parameters:
--ns
<string>
Namespace.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client login [OPTIONS]
Try to login. If successful, store ticket.
Optional parameters:
--repository
<string>
Repository URL.
proxmox-backup-client logout [OPTIONS]
Logout (delete stored ticket).
Optional parameters:
--repository
<string>
Repository URL.
proxmox-backup-client map <snapshot> <archive-name> [OPTIONS]
Map a drive image from a VM backup to a local loopback device. Use 'unmap' to undo. WARNING: Only do this with trusted backups!
<snapshot>
<string>
Group/Snapshot path.
<archive-name>
<string>
Backup archive name.
Optional parameters:
--keyfile
<string>
Path to encryption key.
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
--verbose
<boolean> (default=false)
Verbose output and stay in foreground.
proxmox-backup-client mount <snapshot> <archive-name> <target> [OPTIONS]
Mount pxar archive.
<snapshot>
<string>
Group/Snapshot path.
<archive-name>
<string>
Backup archive name.
<target>
<string>
Target directory path.
Optional parameters:
--keyfile
<string>
Path to encryption key.
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
--verbose
<boolean> (default=false)
Verbose output and stay in foreground.
proxmox-backup-client namespace create [<ns>] [OPTIONS]
Create a new namespace.
<ns>
<string>
Namespace.
Optional parameters:
--repository
<string>
Repository URL.
proxmox-backup-client namespace delete [<ns>] [OPTIONS]
Delete an existing namespace.
<ns>
<string>
Namespace.
Optional parameters:
--delete-groups
<boolean>
Destroys all groups in the hierarchy.
--repository
<string>
Repository URL.
proxmox-backup-client namespace list [<ns>] [OPTIONS]
List namespaces in a repository.
<ns>
<string>
Namespace.
Optional parameters:
--max-depth
<integer> (0 - N)
maximum recursion depth
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client prune <group> [OPTIONS]
Prune a backup repository.
<group>
<string>
Backup group
Optional parameters:
--dry-run
<boolean>
Just show what prune would do, but do not delete anything.
--keep-daily
<integer> (1 - N)
Number of daily backups to keep.
--keep-hourly
<integer> (1 - N)
Number of hourly backups to keep.
--keep-last
<integer> (1 - N)
Number of backups to keep.
--keep-monthly
<integer> (1 - N)
Number of monthly backups to keep.
--keep-weekly
<integer> (1 - N)
Number of weekly backups to keep.
--keep-yearly
<integer> (1 - N)
Number of yearly backups to keep.
--max-depth
<integer> (0 - 7)
How many levels of namespaces should be operated on (0 == no recursion, empty == automatic full recursion, namespace depths reduce maximum allowed value)
--ns
<string>
Namespace.
--output-format
text|json|json-pretty
Output format.
--quiet
<boolean> (default=false)
Minimal output - only show removals.
--repository
<string>
Repository URL.
proxmox-backup-client restore <snapshot> <archive-name> <target> [OPTIONS]
Restore backup repository.
<snapshot>
<string>
Group/Snapshot path.
<archive-name>
<string>
Backup archive name.
<target>
<string>
Target directory path. Use '-' to write to standard output.
We do not extract '.pxar' archives when writing to standard output.
Optional parameters:
--allow-existing-dirs
<boolean> (default=false)
Do not fail if directories already exists.
--burst
<string>
Size of the token bucket (for Token bucket filter) in bytes with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
--crypt-mode
none|encrypt|sign-only (default=encrypt)
Defines whether data is encrypted (using an AEAD cipher), only signed, or neither.
--ignore-acls
<boolean> (default=false)
ignore acl settings
--ignore-extract-device-errors
<boolean> (default=false)
ignore errors that occur during device node extraction
--ignore-ownership
<boolean> (default=false)
ignore owner settings (no chown)
--ignore-permissions
<boolean> (default=false)
ignore permission settings (no chmod)
--ignore-xattrs
<boolean> (default=false)
ignore xattr settings
--keyfd
<integer> (0 - N)
Pass an encryption key via an already opened file descriptor.
--keyfile
<string>
Path to encryption key. All data will be encrypted using this key.
--ns
<string>
Namespace.
--overwrite
<boolean> (default=false)
overwrite already existing files
--overwrite-files
<boolean> (default=false)
overwrite already existing files
--overwrite-hardlinks
<boolean> (default=false)
overwrite already existing entries by archives hardlink
--overwrite-symlinks
<boolean> (default=false)
overwrite already existing entries by archives symlink
--pattern
<string>
Path or match pattern to limit files that get restored. Can be specified more than once.
--prelude-target
<string>
Path to restore prelude to, (pxar v2 archives only).
--rate
<string>
Rate limit (for Token bucket filter) in bytes/s with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
--repository
<string>
Repository URL.
proxmox-backup-client snapshot files <snapshot> [OPTIONS]
List snapshot files.
<snapshot>
<string>
Snapshot path.
Optional parameters:
--ns
<string>
Namespace.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot forget <snapshot> [OPTIONS]
Forget (remove) backup snapshots.
<snapshot>
<string>
Snapshot path.
Optional parameters:
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot list [<group>] [OPTIONS]
List backup snapshots.
<group>
<string>
Backup group.
Optional parameters:
--ns
<string>
Namespace.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot notes show <snapshot> [OPTIONS]
Show notes
<snapshot>
<string>
Snapshot path.
Optional parameters:
--ns
<string>
Namespace.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot notes update <snapshot> <notes> [OPTIONS]
Update Notes
<snapshot>
<string>
Snapshot path.
<notes>
<string>
The Notes.
Optional parameters:
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot protected show <snapshot> [OPTIONS]
Show protection status of the specified snapshot
<snapshot>
<string>
Snapshot path.
Optional parameters:
--ns
<string>
Namespace.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot protected update <snapshot> <protected> [OPTIONS]
Update Protection Status of a snapshot
<snapshot>
<string>
Snapshot path.
<protected>
<boolean>
The protection status.
Optional parameters:
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client snapshot upload-log <snapshot> <logfile> [OPTIONS]
Upload backup log file.
<snapshot>
<string>
Group/Snapshot path.
<logfile>
<string>
The path to the log file you want to upload.
Optional parameters:
--crypt-mode
none|encrypt|sign-only (default=encrypt)
Defines whether data is encrypted (using an AEAD cipher), only signed, or neither.
--keyfd
<integer> (0 - N)
Pass an encryption key via an already opened file descriptor.
--keyfile
<string>
Path to encryption key. All data will be encrypted using this key.
--ns
<string>
Namespace.
--repository
<string>
Repository URL.
proxmox-backup-client status [OPTIONS]
Get repository status.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client task list [OPTIONS]
List running server tasks for this repo user
Optional parameters:
--all
<boolean>
Also list stopped tasks.
--limit
<integer> (1 - 1000) (default=50)
The maximal number of tasks to list.
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
proxmox-backup-client task log <upid> [OPTIONS]
Display the task log.
<upid>
<string>
Unique Process/Task Identifier
Optional parameters:
--repository
<string>
Repository URL.
proxmox-backup-client task stop <upid> [OPTIONS]
Try to stop a specific task.
<upid>
<string>
Unique Process/Task Identifier
Optional parameters:
--repository
<string>
Repository URL.
proxmox-backup-client unmap [<name>]
Unmap a loop device mapped with 'map' and release all resources.
<name>
<string>
Archive name, path to loopdev (/dev/loopX) or loop device number. Omit to list all current mappings and force cleaning up leftover instances.
proxmox-backup-client version [OPTIONS]
Show client and optional server version
Optional parameters:
--output-format
text|json|json-pretty
Output format.
--repository
<string>
Repository URL.
Catalog Shell Commands¶
Those command are available when you start an intercative restore shell:
proxmox-backup-client shell <snapshot> <name.pxar>
cd [<path>]
Change the current working directory to the new directory
<path>
<string>
target path.
clear-selected
Clear the list of files selected for restore.
deselect <path>
Deselect an entry for restore.
This will return an error if the entry was not found in the list of entries selected for restore.
<path>
<string>
path to entry to remove from list.
exit
Exit the shell
find <pattern> [OPTIONS]
Find entries in the catalog matching the given match pattern.
<pattern>
<string>
Path or match pattern for matching filenames.
Optional parameters:
--select
<boolean> (default=false)
Add matching filenames to list for restore.
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.
list-selected [OPTIONS]
List entries currently selected for restore.
Optional parameters:
--patterns
<boolean> (default=false)
List match patterns instead of the matching files.
ls [<path>]
List the content of working directory or given path.
<path>
<string>
target path.
pwd
List the current working directory.
restore <target> [OPTIONS]
Restore the sub-archive given by the current working directory to target.
By further providing a pattern, the restore can be limited to a narrower subset of this sub-archive. If pattern is not present or empty, the full archive is restored to target.
<target>
<string>
target path for restore on local filesystem.
Optional parameters:
--pattern
<string>
Path or match pattern for matching filenames.
restore-selected <target>
Restore the selected entries to the given target path.
Target must not exist on the clients filesystem.
<target>
<string>
target path for restore on local filesystem.
select <path>
Select an entry for restore.
This will return an error if the entry is already present in the list or if an invalid path was provided.
<path>
<string>
target path.
stat <path>
Read the metadata for a given directory entry.
This is expensive because the data has to be read from the pxar archive, which means reading over the network.
<path>
<string>
target path.
Common Options¶
Most commands that produce output support the --output-format
parameter. This accepts the following values:
text
:Text format (default). Structured data is rendered as a table.
json
:JSON (single line).
json-pretty
:JSON (multiple lines, nicely formatted).
Also, the following environment variables can modify output behavior:
PROXMOX_OUTPUT_FORMAT
Defines the default output format.
PROXMOX_OUTPUT_NO_BORDER
If set (to any value), do not render table borders.
PROXMOX_OUTPUT_NO_HEADER
If set (to any value), do not render table headers.
Note
The text
format is designed to be human readable, and
not meant to be parsed by automation tools. Please use the json
format if you need to process the output.
Description¶
This tool implements a backup server client, i.e. it can connect to a backup servers to issue management commands and to create or restore 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/