proxmox-backup-debug¶
Synopsis¶
proxmox-backup-debug api create <api-path> [OPTIONS]
Call API on <api-path>
<api-path>
<string>
API path.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-debug api delete <api-path> [OPTIONS]
Call API on <api-path>
<api-path>
<string>
API path.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-debug api get <api-path> [OPTIONS]
Call API on <api-path>
<api-path>
<string>
API path.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-debug api ls [<path>] [OPTIONS]
Get API usage information for <path>
<path>
<string>
API path.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-debug api set <api-path> [OPTIONS]
Call API on <api-path>
<api-path>
<string>
API path.
Optional parameters:
--output-format
text|json|json-pretty
Output format.
proxmox-backup-debug api usage <path> [OPTIONS]
Get API usage information for <path>
<path>
<string>
API path.
Optional parameters:
--verbose
<boolean> (default=false)
Verbose output format.
proxmox-backup-debug diff archive <prev-snapshot> <snapshot> <archive-name> [OPTIONS]
Diff an archive in two snapshots. The command will output a list of added, modified and deleted files. For modified files, the file metadata (e.g. mode, uid, gid, size, etc.) will be considered. For detecting modification of file content, only mtime will be used by default. If the --compare-content flag is provided, mtime is ignored and file content will be compared.
<prev-snapshot>
<string>
Path for the first snapshot.
<snapshot>
<string>
Path for the second snapshot.
<archive-name>
<string>
Name of the .pxar archive
Optional parameters:
--color
always|auto|never (default=auto)
Color output options
--compare-content
<boolean> (default=false)
Compare file content rather than solely relying on mtime for detecting modified files.
--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-debug help [{<command>}] [OPTIONS]
Get help about specified command (or sub-command).
<command>
<string>
Command. This may be a list in order to spefify nested sub-commands. Can be specified more than once.
Optional parameters:
--verbose
<boolean>
Verbose help.
proxmox-backup-debug inspect chunk <chunk> [OPTIONS]
Inspect a chunk
<chunk>
<string>
The chunk file.
Optional parameters:
--decode
<string>
Path to the file to which the chunk should be decoded, '-' -> decode to stdout.
--digest
<string>
Needed when searching for references, if set, it will be used for verification when decoding.
--keyfile
<string>
Path to the keyfile with which the chunk was encrypted.
--output-format
text|json|json-pretty
Output format.
--reference-filter
<string>
Path to the directory that should be searched for references.
--use-filename-as-digest
<boolean> (default=true)
The filename should be used as digest for reference search and decode verification, if no digest is specified.
proxmox-backup-debug inspect file <file> [OPTIONS]
Inspect a file, for blob file without decode only the size and encryption mode is printed
<file>
<string>
Path to the file.
Optional parameters:
--decode
<string>
Path to the file to which the file should be decoded, '-' -> decode to stdout.
--keyfile
<string>
Path to the keyfile with which the file was encrypted.
--output-format
text|json|json-pretty
Output format.
proxmox-backup-debug recover index <file> <chunks> [OPTIONS]
Restore the data from an index file, given the directory of where chunks are saved, the index file and a keyfile, if needed for decryption.
<file>
<string>
Path to the index file, either .fidx or .didx.
<chunks>
<string>
Path to the directory that contains the chunks, usually <datastore>/.chunks.
Optional parameters:
--ignore-corrupt-chunks
<boolean> (default=false)
If a chunk is corrupt, warn and write 0-bytes instead to attempt partial recovery.
--ignore-missing-chunks
<boolean> (default=false)
If a chunk is missing, warn and write 0-bytes instead to attempt partial recovery.
--keyfile
<string>
Path to a keyfile, if the data was encrypted, a keyfile is needed for decryption.
--output-path
<string>
Output file path, defaults to file without extension, '-' means STDOUT.
--skip-crc
<boolean> (default=false)
Skip the crc verification, increases the restore speed by lot.
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¶
Implements debugging functionality to inspect Proxmox Backup datastore files, verify the integrity of chunks.
The 'diff' subcommand allows comparing .pxar archives for two arbitrary snapshots. A list of added/modified/deleted files will be displayed.
Also contains an 'api' subcommand where arbitrary api paths can be called (get/create/set/delete) as well as display their parameters (usage) and their child-links (ls).
By default, it connects to the proxmox-backup-proxy on localhost via https, but by setting the environment variable PROXMOX_DEBUG_API_CODE to 1 the tool directly calls the corresponding code.
Warning
Using PROXMOX_DEBUG_API_CODE can be dangerous and is only intended for debugging purposes. It is not intended for use on a production system.
Copyright and Disclaimer¶
Copyright (C) 2019-2022, 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/