### Calendar Matching Rule Examples Source: https://pbs.proxmox.com/docs/notifications.html Examples of how to configure calendar matching rules for notifications. ```shell match-calendar 8-12 ``` ```shell match-calendar 8:00-15:30 ``` ```shell match-calendar mon-fri 9:00-17:00 ``` ```shell match-calendar sun,tue-wed,fri 9-17 ``` -------------------------------- ### User and Token Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Example of user and API token configurations in user.cfg. User accounts and API tokens can be managed using the proxmox-backup-manager user command. ```config user: root@pam comment Superuser email test@example.local ... token: root@pam!token1 comment API test token enable true expire 0 user: ... ``` -------------------------------- ### Severity Matching Rule Examples Source: https://pbs.proxmox.com/docs/notifications.html Examples of how to configure severity matching rules for notifications. ```shell match-severity error ``` ```shell match-severity warning,error ``` -------------------------------- ### Basic Backup Creation Example Source: https://pbs.proxmox.com/docs/backup-client.html This is a fundamental example of creating a backup. Ensure your backup server is set up, you have valid credentials, and you know the repository name. Replace 'backup-server:store1' with your actual repository path. ```bash proxmox-backup-client backup upload /path/to/data --repository backup-server:store1 ``` -------------------------------- ### Systemd-boot Entry Configuration Example Source: https://pbs.proxmox.com/docs/sysadmin.html An example configuration file for systemd-boot, specifying kernel and initrd paths. This file resides in the loader/entries/ directory of an EFI System Partition. ```ini title Proxmox version 5.0.15-1-pve options root=ZFS=rpool/ROOT/pve-1 boot=zfs linux /EFI/proxmox/5.0.15-1-pve/vmlinuz-5.0.15-1-pve initrd /EFI/proxmox/5.0.15-1-pve/initrd.img-5.0.15-1-pve ``` -------------------------------- ### proxmox-backup-manager garbage-collection start Source: https://pbs.proxmox.com/docs/proxmox-backup-manager/man1.html Starts the garbage collection process for a specific datastore. ```APIDOC ## proxmox-backup-manager garbage-collection start ### Description Start garbage collection for a specific datastore. ### Method Not applicable (CLI command) ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters - **store** (string) - Required - Datastore name. #### Query Parameters - **--output-format** (text|json|json-pretty) - Optional - Output format. #### Request Body None ### Request Example ```bash proxmox-backup-manager garbage-collection start mydatastore ``` ### Response #### Success Response Output indicating that garbage collection has started for the specified datastore. #### Response Example ```text Garbage collection started for datastore 'mydatastore'. ``` ``` -------------------------------- ### Sync Job Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Example of a sync job configuration entry in a configuration file. Specifies the datastore, schedule, and other synchronization parameters. ```config sync: my-backup-job remote-store: backup-server store: main-storage schedule: "0 2 * * *" prune-oldest-count: 7 prune-oldest-time: 30d sync-direction: pull worker-threads: 4 ``` -------------------------------- ### Field Matching Rule Examples Source: https://pbs.proxmox.com/docs/notifications.html Examples of how to configure field matching rules for notifications using exact or regex modes. ```shell match-field exact:type=gc ``` ```shell match-field exact:type=prune,verify ``` ```shell match-field regex:datastore=^backup-.*$ ``` -------------------------------- ### Install Proxmox Backup Server GnuPG Key Source: https://pbs.proxmox.com/docs/installation.html Commands to download and install the GnuPG verification key if Proxmox Backup Server is installed on top of Debian and the key is not already present. ```shell wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg ``` ```shell wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg ``` ```shell wget https://enterprise.proxmox.com/debian/proxmox-release-buster.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-buster.gpg ``` -------------------------------- ### Install Proxmox Backup Server with Proxmox Kernel on Debian Source: https://pbs.proxmox.com/docs/installation.html Installs Proxmox Backup Server along with the Proxmox kernel (with ZFS support) and common utility packages on Debian. Use this for a fuller installation matching the installer. ```bash # apt update # apt install proxmox-backup ``` -------------------------------- ### Verification Job Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Example of a verification job configuration entry in a configuration file. Specifies the datastore, schedule, and verification-related parameters. ```config verification: verify-store2 ignore-verified true outdated-after 7 schedule daily store store2 ``` -------------------------------- ### Garbage Collection Progress Example Source: https://pbs.proxmox.com/docs/backup-client.html Example output showing the progress and results of a garbage collection task, including the number of chunks and bytes removed. ```bash # proxmox-backup-client garbage-collect starting garbage collection on store store2 Start GC phase1 (mark used chunks) Start GC phase2 (sweep unused chunks) percentage done: 1, chunk count: 219 percentage done: 2, chunk count: 453 ... percentage done: 99, chunk count: 21188 Removed bytes: 411368505 Removed chunks: 203 Original data bytes: 327160886391 Disk bytes: 52767414743 (16 %) Disk chunks: 21221 Average chunk size: 2486565 TASK OK ``` -------------------------------- ### Media Pool Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Defines a media pool with allocation and retention policies. Use `proxmox-tape pool` to manage this file. ```config pool: company1 allocation always retention overwrite pool: ... ``` -------------------------------- ### Start Manual Garbage Collection Source: https://pbs.proxmox.com/docs/maintenance.html Manually initiate garbage collection for an entire datastore using the proxmox-backup-manager CLI. This command starts the GC process. ```bash # proxmox-backup-manager garbage-collection start ``` -------------------------------- ### Calendar Event Examples: Weekdays and Times Source: https://pbs.proxmox.com/docs/calendarevents.html Examples demonstrating how to specify working days, weekends, specific weekdays, and times. ```plaintext mon,tue,wed,thu,fri | mon..fri | Every working day at 00:00 ``` ```plaintext sat,sun | sat..sun | Only on weekends at 00:00 ``` ```plaintext mon,wed,fri | -- | Monday, Wednesday, Friday at 00:00 ``` ```plaintext 12:05 | -- | Every day at 12:05 PM ``` -------------------------------- ### Install Proxmox Backup Client on Debian Source: https://pbs.proxmox.com/docs/installation.html Installs the Proxmox Backup Client on a Debian system after configuring the client's APT repository. This allows you to manage backups from the command line. ```bash # apt update # apt install proxmox-backup-client ``` -------------------------------- ### Calendar Event Examples: Minute and Hour Intervals Source: https://pbs.proxmox.com/docs/calendarevents.html Examples showing how to schedule events at specific minute intervals within an hour or across multiple hours. ```plaintext *:00/5 | 0/1:0/5 | Every five minutes ``` ```plaintext mon..wed *:30/10 | mon,tue,wed *:30/10 | Monday, Tuesday, Wednesday 30, 40 and 50 minutes after every full hour ``` -------------------------------- ### Initialize Disk with GPT Source: https://pbs.proxmox.com/docs/storage.html Use this command to initialize a specified disk with a new GUID Partition Table (GPT). Replace 'sdX' with the actual disk identifier. ```bash # proxmox-backup-manager disk initialize sdX ``` -------------------------------- ### Start Backup Protocol Connection Source: https://pbs.proxmox.com/docs/backup-protocol.html Initiates a backup session by upgrading to HTTP/2 with the 'proxmox-backup-protocol-v1' protocol. This is the first step before issuing backup-related REST commands. ```http GET /api2/json/backup HTTP/1.1 UPGRADE: proxmox-backup-protocol-v1 ``` -------------------------------- ### Prune Job Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Defines a prune job with a schedule and target datastore. Use the proxmox-backup-manager prune-job command to manage these files. ```config prune: prune-store2 schedule mon..fri 10:30 store my-datastore prune: ... ``` -------------------------------- ### ACL Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Defines access control rules for the Proxmox Backup Server API. Each line specifies propagation, path, user/token, and role. ```configuration acl:1:/:root@pam!test:Admin acl:1:/datastore/store1:user1@pbs:DatastoreAdmin ``` -------------------------------- ### Start Restore Protocol Connection Source: https://pbs.proxmox.com/docs/backup-protocol.html Initiates a restore session by upgrading to HTTP/2 with the 'proxmox-backup-reader-protocol-v1' protocol. This is the first step before issuing restore-related REST commands. ```http GET /api2/json/reader HTTP/1.1 UPGRADE: proxmox-backup-reader-protocol-v1 ``` -------------------------------- ### Configure InfluxDB UDP Plugin Source: https://pbs.proxmox.com/docs/sysadmin.html Example configuration for the InfluxDB UDP plugin. This setup allows Proxmox Backup Server to send metrics to an InfluxDB instance listening on a specific UDP port. ```toml [[udp]] enabled = true bind-address = "0.0.0.0:8089" database = "proxmox" batch-size = 1000 batch-timeout = "1s" ``` -------------------------------- ### Initialize an Existing ESP Source: https://pbs.proxmox.com/docs/sysadmin.html Set up an existing, unmounted ESP for Proxmox Backup Server's kernel update synchronization. Optionally force initialization with Grub. ```bash # proxmox-boot-tool init /dev/sda2 ``` ```bash # proxmox-boot-tool init /dev/sda2 grub ``` -------------------------------- ### Create Filesystem and Datastore Source: https://pbs.proxmox.com/docs/storage.html This command creates an ext4 filesystem on the specified disk ('sdX') and automatically adds it as a datastore named 'store1' at '/mnt/datastore/store1'. ```bash # proxmox-backup-manager disk fs create store1 --disk sdX --filesystem ext4 --add-datastore true ``` -------------------------------- ### Install Proxmox Backup Server on Debian Source: https://pbs.proxmox.com/docs/installation.html Installs the core Proxmox Backup Server package on a Debian system. This keeps the current kernel and installs a minimal set of required packages. ```bash # apt update # apt install proxmox-backup-server ``` -------------------------------- ### Create a New Datastore Source: https://pbs.proxmox.com/docs/storage.html Use this command to create a new datastore with a specified name and backing path. ```bash # proxmox-backup-manager datastore create store1 /backup/disk1/store1 ``` -------------------------------- ### Create Datastore with S3 Backend Source: https://pbs.proxmox.com/docs/storage.html Create a new datastore that uses an S3 backend. A local cache path is required for performance. Replace 'my-s3-store', '/mnt/datastore/my-s3-store-cache', 'my-s3-ep', and 'pbs-s3-bucket' with your desired names and paths. ```bash # proxmox-backup-manager datastore create my-s3-store /mnt/datastore/my-s3-store-cache --backend type=s3,client=my-s3-ep,bucket=pbs-s3-bucket ``` -------------------------------- ### Calendar Event Examples: First Saturday and Specific Date Source: https://pbs.proxmox.com/docs/calendarevents.html Examples for scheduling on the first Saturday of each month and for a specific date. ```plaintext Sat *-1..7 15:00 | -- | First Saturday each Month at 15:00 ``` ```plaintext 2015-10-21 | -- | 21st October 2015 at 00:00 ``` -------------------------------- ### Node Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Sets up ACME domains, HTTP proxy, email sender, TLS ciphers, default language, node description, and task log retention. Changes to TLS ciphers require a proxy restart. Use `proxmox-backup-manager node` to manage this file. ```config acme: local acmedomain0: first.domain.com acmedomain1: second.domain.com acmedomain2: third.domain.com acmedomain3: fourth.domain.com acmedomain4: fifth.domain.com http-proxy: internal.proxy.com email-from: proxmox@mail.com ciphers-tls-1.3: TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_CHACHA20_POLY1305_SHA256 ciphers-tls-1.2: RSA_WITH_AES_128_CCM:DHE_RSA_WITH_AES_128_CCM default-lang: en description: Primary PBS instance task-log-max-days: 30 ``` -------------------------------- ### Calendar Event Examples: Minimum Interval and Month Day Source: https://pbs.proxmox.com/docs/calendarevents.html Examples for scheduling every minute and for specifying a particular day of the month. ```plaintext *:* | 0/1:0/1 | Every minute (minimum interval) ``` ```plaintext *-05 | -- | On the 5th day of every Month ``` -------------------------------- ### Run Backup Client Benchmark Source: https://pbs.proxmox.com/docs/backup-client.html Use the `benchmark` subcommand to run the benchmarking tool. The TLS speed test is only included if a backup server repository is specified. ```bash # proxmox-backup-client benchmark ``` -------------------------------- ### Configure Proxmox Backup No-Subscription Repository Source: https://pbs.proxmox.com/docs/installation.html This repository is for testing and non-production use and does not require a subscription key. It is recommended to configure it in `/etc/apt/sources.list.d/proxmox.sources`. ```shell Types: deb URIs: http://download.proxmox.com/debian/pbs Suites: trixie Components: pbs-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg ``` -------------------------------- ### Format a New Partition as ESP Source: https://pbs.proxmox.com/docs/sysadmin.html Initialize a new partition to be used as a synchronized EFI System Partition (ESP). Warning: This command formats the specified partition. ```bash # proxmox-boot-tool format /dev/sda2 ``` -------------------------------- ### Initialize Proxmox Boot Tool for Grub Source: https://pbs.proxmox.com/docs/sysadmin.html Initialize the proxmox-boot-tool to set up Grub as the bootloader for Secure Boot on a specified EFI System Partition (ESP). Replace '/dev/sda2' with your actual ESP device. ```bash # proxmox-boot-tool init /dev/sda2 grub ``` -------------------------------- ### Specify Backup Repository with Component Options Source: https://pbs.proxmox.com/docs/backup-client.html Use component options to specify the backup server, port, datastore, and authentication ID. This method is mutually exclusive with the --repository option. CLI options take precedence over environment variables. ```bash # proxmox-backup-client backup root.pxar:/ \ --auth-id 'user@pbs!backup' --server pbs.example.com --datastore store1 ``` -------------------------------- ### Calendar Event Examples: Complex Time Ranges Source: https://pbs.proxmox.com/docs/calendarevents.html Examples illustrating complex scheduling scenarios, including specific time windows within days and multiple occurrences. ```plaintext mon..fri 8..17,22:0/15 | -- | Every working day every 15 minutes between 8 AM and 6 PM and between 10 PM and 11 PM ``` ```plaintext fri 12..13:5/20 | fri 12,13:5/20 | Friday at 12:05, 12:25, 12:45, 13:05, 13:25 and 13:45 ``` ```plaintext 12,14,16,18,20,22:5 | 12/2:5 | Every day starting at 12:05 until 22:05, every 2 hours ``` -------------------------------- ### List Available Network Interfaces Source: https://pbs.proxmox.com/docs/network-management.html Use this command to display a table of all network interfaces, their types, autostart status, IP configuration, and associated ports or slaves. ```bash # proxmox-backup-manager network list ┌───────┬────────┬───────────┬────────┬─────────────┬──────────────┬──────────────┐ │ name │ type │ autostart │ method │ address │ gateway │ ports/slaves │ ╞═══════╪════════╪═══════════╪════════╪═════════════╪══════════════╪══════════════╡ │ bond0 │ bond │ 1 │ static │ x.x.x.x/x │ x.x.x.x │ ens18 ens19 │ ├───────┼────────┼───────────┼────────┼─────────────┼──────────────┼──────────────┤ │ ens18 │ eth │ 1 │ manual │ │ │ │ ├───────┼────────┼───────────┼────────┼─────────────┼──────────────┼──────────────┤ │ ens19 │ eth │ 1 │ manual │ │ │ │ └───────┴────────┴───────────┴────────┴─────────────┴──────────────┴──────────────┘ ``` -------------------------------- ### View ZFS Manual Pages Source: https://pbs.proxmox.com/docs/sysadmin.html Access the manual pages for zpool and zfs commands to understand their options and usage. ```bash # man zpool # man zfs ``` -------------------------------- ### Install Statically Linked Proxmox Backup Client on Debian Source: https://pbs.proxmox.com/docs/installation.html Installs a statically linked Proxmox Backup Client package on Debian. This version can be copied to other Linux systems. It conflicts with the standard client package. ```bash # apt update # apt install proxmox-backup-client-static ``` -------------------------------- ### Sync Job Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Example of a synchronization job configuration in sync.cfg. This file defines jobs for synchronizing data between Proxmox Backup Servers. Sync jobs can be managed using the proxmox-backup-manager sync-job command. ```config sync: job1 store store1 remote-store store1 remote lina sync: ... ``` -------------------------------- ### Start Backup Protocol Source: https://pbs.proxmox.com/docs/backup-protocol.html Initiates a backup session by upgrading the connection to HTTP/2 with the 'proxmox-backup-protocol-v1' protocol. The server responds with 'HTTP 101 Switching Protocol', enabling subsequent REST commands over the established HTTP/2 connection. ```APIDOC ## Start Backup Protocol ### Description Initiates a backup session by upgrading the connection to HTTP/2 with the `proxmox-backup-protocol-v1` protocol. The server responds with `HTTP 101 Switching Protocol`, enabling subsequent REST commands over the established HTTP/2 connection. ### Method GET ### Endpoint /api2/json/backup ### Headers - UPGRADE: proxmox-backup-protocol-v1 ``` -------------------------------- ### Configure APT-based Proxmox Backup Client Repository for Debian 12 (Bookworm) Source: https://pbs.proxmox.com/docs/installation.html Add this repository to `/etc/apt/sources.list` for Proxmox Backup Client on Debian 12 (Bookworm) based releases. ```shell deb http://download.proxmox.com/debian/pbs-client bookworm main ``` -------------------------------- ### Remote Server Configuration Example Source: https://pbs.proxmox.com/docs/configuration-files.html Example of a remote server configuration in remote.cfg. This file stores information for accessing remote Proxmox Backup Servers. Remote server details can be managed using the proxmox-backup-manager remote command. ```config remote: server1 host server1.local auth-id sync@pbs ... remote: ... ``` -------------------------------- ### LDAP User Entry Example Source: https://pbs.proxmox.com/docs/user-management.html This LDIF dataset shows an example of a user entry in an LDAP server, including their unique domain (dn) and attributes. This format is used for mapping to Proxmox Backup Server user identifiers. ```ldif # user1 of People at ldap-test.com dn: uid=user1,ou=People,dc=ldap-test,dc=com objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson uid: user1 cn: Test User 1 sn: Testers description: This is the first test user. ``` -------------------------------- ### proxmox-backup-manager dns get Source: https://pbs.proxmox.com/docs/proxmox-backup-manager/man1.html Retrieves the current DNS settings. ```APIDOC ## proxmox-backup-manager dns get ### Description Read DNS settings. ### Method Not applicable (CLI command) ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters None #### Query Parameters - **--output-format** (text|json|json-pretty) - Optional - Output format. #### Request Body None ### Request Example ```bash proxmox-backup-manager dns get --output-format json ``` ### Response #### Success Response DNS settings including name servers and search domain. #### Response Example ```json { "dns1": "8.8.8.8", "dns2": "8.8.4.4", "search": "example.com" } ``` ``` -------------------------------- ### Get Repository Status Source: https://pbs.proxmox.com/docs/proxmox-backup-client/man1.html Retrieves the status of a Proxmox Backup repository. ```APIDOC ## proxmox-backup-client status ### Description Get repository status. ### Method `proxmox-backup-client status` ### Parameters #### Optional Parameters - **--auth-id** (string) - Authentication ID - **--datastore** (string) - Datastore name. - **--output-format** (text|json|json-pretty) - Output format. - **--port** (integer) - Backup server port. Default: 8007 - **--repository** (string) - Repository URL: [[auth-id@]server[:port]:]datastore - **--server** (string) - Backup server address (hostname or IP). Default: localhost ``` -------------------------------- ### Get Help Source: https://pbs.proxmox.com/docs/proxmox-backup-client/man1.html Retrieves help information for a specified command or sub-command. ```APIDOC ## proxmox-backup-client help ### Description Get help about specified command (or sub-command). ### Usage `proxmox-backup-client help [{}] [OPTIONS]` ### Parameters #### Path Parameters - **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. ``` -------------------------------- ### Inspect a Device for Datastores Source: https://pbs.proxmox.com/docs/storage.html Utility command to inspect a device and list all datastores present on it. ```bash # proxmox-backup-debug inspect device /dev/... ``` -------------------------------- ### Get Task Log Source: https://pbs.proxmox.com/docs/proxmox-backup-client/man1.html Displays the log for a specific task identified by its UPID. ```APIDOC ## proxmox-backup-client task log ### Description Display the task log. ### Method `proxmox-backup-client task log` ### Parameters #### Path Parameters - **upid** (string) - Required - Unique Process/Task Identifier #### Optional Parameters - **--auth-id** (string) - Authentication ID - **--datastore** (string) - Datastore name. - **--port** (integer) - Backup server port. Default: 8007 - **--repository** (string) - Repository URL: [[auth-id@]server[:port]:]datastore - **--server** (string) - Backup server address (hostname or IP). Default: localhost ``` -------------------------------- ### proxmox-backup-manager help Source: https://pbs.proxmox.com/docs/proxmox-backup-manager/man1.html Provides help information for specified commands or sub-commands. ```APIDOC ## proxmox-backup-manager help [{}] ### Description Get help about specified command (or sub-command). ### Method Not applicable (CLI command) ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters - **command** (string) - Optional - Command. This may be a list in order to specify nested sub-commands. Can be specified more than once. #### Query Parameters - **--verbose** (boolean) - Optional - Verbose help. #### Request Body None ### Request Example ```bash proxmox-backup-manager help disk --verbose ``` ### Response #### Success Response Detailed help information for the specified command. #### Response Example ```text Usage: proxmox-backup-manager disk Commands: wipe wipe disk zpool create create a zfs pool zpool list [OPTIONS] Local zfs pools. ... ``` ``` -------------------------------- ### Create a Network Bond Interface Source: https://pbs.proxmox.com/docs/network-management.html This command demonstrates how to create a new network bond interface, specifying its name, type, bonding mode, slave interfaces, autostart status, CIDR notation for IP address, and gateway. ```bash # proxmox-backup-manager network create bond0 --type bond --bond_mode active-backup --slaves ens18,ens19 --autostart true --cidr x.x.x.x/x --gateway x.x.x.x ``` -------------------------------- ### proxmox-backup-manager subscription get Source: https://pbs.proxmox.com/docs/proxmox-backup-manager/man1.html Retrieves the current subscription information for the Proxmox Backup Server. ```APIDOC ## proxmox-backup-manager subscription get [OPTIONS] ### Description Read subscription info. ### Method GET ### Endpoint /subscription ### Parameters #### Query Parameters - **output-format** (string) - Optional - Output format. Allowed values: text, json, json-pretty. ### Request Example ```json { "output-format": "json" } ``` ### Response #### Success Response (200) - **subscription_status** (string) - The current status of the subscription. - **valid_until** (string) - The date until which the subscription is valid. #### Response Example ```json { "subscription_status": "Active", "valid_until": "2024-12-31" } ``` ``` -------------------------------- ### Get Status Source: https://pbs.proxmox.com/docs/proxmox-tape/man1.html Retrieves the status of drives and media, with an option to specify the drive identifier. ```APIDOC ## proxmox-tape status ### Description Gets drive/media status. ### Method `proxmox-tape status [OPTIONS]` ### Parameters #### Query Parameters - **--drive** (string) - Optional - Drive Identifier. ### Request Example ```bash proxmox-tape status --drive drive1 ``` ### Response (No specific response format detailed in the source) ```