Proxmox Backup Client
Abstract
This guide explains how to install and use Proxmox Backup Client on a Debian VM
Pre-Requisites
- Proxmox Backup Server installed
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
add the line:
2. Install Proxmox Backup Client
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
Fill in your desired key4. 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:
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
Test it:
5. Schedule a backup
To start a backup at a certain time
[Unit]
Description=Run backup daily at 2am
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
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: