Skip to content

Proxmox Backup Client

Abstract

This guide explains how to install and use Proxmox Backup Client on a Debian VM


Pre-Requisites


How to install Proxmox Backup Client

1. Add the repository

In order to configure this repository you need to first setup the Proxmox release key.

Please note that this installation is for Debian 12 (Bookworm). If you are on a newer version, use this guide a reference with the updated command on: https://pbs.proxmox.com/docs/installation.html#package-repositories-client-only-apt

sudo wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
nano /etc/apt/sources.list.d/pbs-client.list

add the line:

deb http://download.proxmox.com/debian/pbs-client bookworm main

2. Install Proxmox Backup Client

Sudo apt update
apt install proxmox-backup-client
proxmox-backup-client version

Configure Proxmox Backup Client

1. First backup

sudo proxmox-backup-client backup "backupname".pxar:"directory" --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"

Example:

sudo proxmox-backup-client backup mkdocsbackup.pxar:/home/user/docker --repository ardougneBackupUser@[email protected]:HDD-storage-5Tb -ns azure_mkdocs

2. List all backups

proxmox-backup-client list --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"

example:

proxmox-backup-client list --repository ardougneBackupUser@[email protected]:HDD-storage-5Tb -ns azure_mkdocs

3. Backup encryption

proxmox-backup-client key create /home/user/encryption.key
Fill in your desired key

4. Storing credentials

This is so that you do not need to enter credentials for each backups.

  • Environment variables: is an option, but credentials are stored in plain text.

  • Systemd credentials: are stored as encrypted files that only systemd decrypts when launching a service. We will be using systmd credentials for this guide.

To store the password of the backup user:

sudo systemd-ask-password -n | systemd-creds encrypt --name=proxmox-backup-client.password - /your/password/directory/password.cred

To store the encryption key we created:

systemd-ask-password -n | sudo systemd-creds encrypt --name=proxmox-backup-client.encryption-password - /home/user/encryption-password.cred

Let's create a systemd service:

sudo nano /etc/systemd/system/backup.service

Paste in the following (fill in your own details and remove the quotes):

[Unit]
Description=Proxmox Backup Client service
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=proxmox-backup-client backup "backupname".pxar:/home/user/docker \
  --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" \
  -ns "YourNameSpace" \
  --keyfile /home/user/encryption.key
LoadCredentialEncrypted=proxmox-backup-client.password:/home/user/password.cred
LoadCredentialEncrypted=proxmox-backup-client.encryption-password:/home/user/encryption-password.cred

[Install]
WantedBy=multi-user.target

Reload systemd so it picks up the service

sudo systemctl daemon-reload

Test it:

sudo systemctl start backup.service

5. Schedule a backup

To start a backup at a certain time

sudo nano /etc/systemd/system/backup.timer
[Unit]
Description=Run backup daily at 2am

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now mkdocs-backup.timer

6. Restore a backup

First list all your backups:

sudo proxmox-backup-client snapshot list "backupname".pxar:"directory" --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"

To restore a backup:

proxmox-backup-client restore host/"YourHostname"/2025-08-09T15:51:02Z "backupname".pxar /where/to/restore --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"