proxmox-backup-client XPEnology

Unter XPEnology mit DSM 7.2 lässt sich auch der proxmox-backup-client nutzen.

mein Setup:

  • XPEnology NAS x86_64
  • DSM 7.2.2-72806
  • Proxmox Backup Server 3.2
  • Proxmox Backup Client 3.2.7

Aktuelle proxmox-backup-client Version:
http://download.proxmox.com/debian/pbs-client/dists/bookworm/main/binary-amd64/

Installation

Per SSH als admin auf die XPEnology. (Für optionale Tools habe ich mir einen eigenen Share angelegt. (/volume1/addons)

# Verzeichnis erstellen
mkdir pbs-client
cd pbs-client

# aktuelles DEB Paket herunterladen
wget http://download.proxmox.com/debian/pbs-client/dists/bookworm/main/binary-amd64/proxmox-backup-client_3.2.7-1_amd64.deb

# DEB Paket entpacken
mkdir pbc-client
dpkg-deb -x proxmox-backup-client_3.2.7-1_amd64.deb ./pbc-client

# Dateien kopieren
cp -a ./pbc-client/usr/bin/pxar .
cp -a ./pbc-client/usr/bin/proxmox-backup-client .

# aufräumen
rm -r pbc-client
rm proxmox-backup-client_3.2.7-1_amd64.deb

Dem proxmox-backup-client fehlen 3 libraries.

# Fehlermeldung des Clients
./proxmox-backup-client: error while loading shared libraries: libfuse3.so.3: cannot open shared object file: No such file or directory
./proxmox-backup-client: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or Directory
./proxmox-backup-client: error while loading shared libraries: libzstd.so.1: cannot open shared object file: No such file or Directory

Die kopiere ich mir von meinem TrueNAS Scale System, sollten aber auch auf jedem anderen Linux System vorhanden sein.

# unter TrueNAS Scale
/usr/lib/x86_64-linux-gnu/libfuse3.so.3.14.0
/usr/lib/x86_64-linux-gnu/libacl.so.1.1.2301
/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.4

Auf der XPEnology nach /lib kopieren und symlink setzen.

# auf der XPEnology nach /lib
cp /volume1/addons/pbs-client/libfuse3.so.3.14.0 /lib/
cp /volume1/addons/pbs-client/libacl.so.1.1.2301 /lib/
cp /volume1/addons/pbs-client/libzstd.so.1.5.4 /lib/

# Berechtigungen anpassen
chmod 755 /lib/libfuse3.so.3.14.0
chmod 755 /lib/libacl.so.1.1.2301
chmod 755 /lib/libzstd.so.1.5.4 /lib/libzstd.so.1

# symlink erstellen
ln -s /lib/libfuse3.so.3.14.0 /lib/libfuse3.so.3
ln -s /lib/libacl.so.1.1.2301 /lib/libacl.so.1
ln -s /lib/libzstd.so.1.5.4 /lib/libzstd.so.1

Der Client startet jetzt ohne Fehlermeldung.

./proxmox-backup-client version
client version: 3.2.7

Backup

Backup Skript erstellen, z.B. pbs-backup.sh und die 3 exports anpassen.

#!/bin/bash
export PBS_REPOSITORY=backup@pbs@pbs.bachmann.lan:SSD1-1TB
export PBS_PASSWORD=BACKUP-USER-PASSWORD
export PBS_FINGERPRINT="eb:ba:82:13:00:8b:28:aa:13:ca:51:cc:x9:f5:c3:1e:08:82:33:ca:43:38:75:a8:72:68:46:83:27:12:na:se"

Skript ausführbar machen und absichern.

chmod +x pbs-backup.sh
chmod 700 pbs-backup.sh

Danke für den Artikel von apalrd. https://www.apalrd.net/posts/2022/truenas_pbs/
Jeder zu sichernde Share wird einzeln im Script angegeben und in ein separates pxar Archive geführt.

Mein Backup Skript:

#!/bin/bash

# authentication and host information for PBS server
export PBS_REPOSITORY=backup@pbs@pbs.bachmann.lan:SSD1-1TB
export PBS_PASSWORD=BACKUP-USER-PASSWORD
export PBS_FINGERPRINT="eb:ba:82:13:00:8b:28:aa:13:ca:51:cc:x9:f5:c3:1e:08:82:33:ca:43:38:75:a8:72:68:46:83:27:12:na:se"

# Backup Specifications
SPEC=""

# Backup direcories
SPEC="$SPEC addons.pxar:/volume1/addons"
SPEC="$SPEC fotos.pxar:/volume1/fotos"
SPEC="$SPEC public.pxar:/volume1/public"

cd /volume1/addons/pbs-client
./proxmox-backup-client backup $SPEC --all-file-systems true

Auch möglich:

#!/bin/bash
# authentication and host information for PBS server
export PBS_REPOSITORY=backup@pbs@pbs.bachmann.lan:SSD1-1TB
export PBS_PASSWORD=BACKUP-USER-PASSWORD
export PBS_FINGERPRINT="eb:ba:82:13:00:8b:28:aa:13:ca:51:cc:x9:f5:c3:1e:08:82:33:ca:43:38:75:a8:72:68:46:83:27:12:na:se"

# Backup directories
cd /volume1/addons/pbs-client
./proxmox-backup-client backup addons.pxar:/volume1/addons fotos.pxar:/volume1/fotos public.pxar:/volume1/public

Backup Test

user01@XPE-NAS1:/volume1/addons/pbs-client# ./pbs-backup.sh
Starting backup: host/XPE-NAS1/2024-09-29T19:16:56Z
Client name: XPE-NAS1
Starting backup protocol: Sun Sep 29 21:16:56 2024
storing login ticket failed: $XDG_RUNTIME_DIR must be set
No previous manifest available.
Upload directory '/volume1/addons' to 'backup@pbs@pbs.bachmann.lan:8007:SSD1-1TB' as addons.pxar.didx
addons.pxar: had to backup 13.13 MiB of 13.13 MiB (compressed 5.482 MiB) in 0.22 s (average 58.962 MiB/s)
Upload directory '/volume1/fotos' to 'backup@pbs@pbs.bachmann.lan:8007:SSD1-1TB' as fotos.pxar.didx
fotos.pxar: had to backup 2.646 MiB of 2.646 MiB (compressed 2.528 MiB) in 0.05 s (average 50.91 MiB/s)
Upload directory '/volume1/public' to 'backup@pbs@pbs.bachmann.lan:8007:SSD1-1TB' as public.pxar.didx
public.pxar: had to backup 1.018 MiB of 1.018 MiB (compressed 462.498 KiB) in 0.03 s (average 34.877 MiB/s)
Uploaded backup catalog (518 B)
Duration: 0.39s
End Time: Sun Sep 29 21:16:57 2024

Backup funktioniert wie gewünscht.

crontab

Um das Backup zu automatisieren, wird ein task über die GUI erstellt. (Systemsteuerung → Aufgabenplaner, geplante Aufgabe → Benutzerdefiniertes Skript)

Schreibe einen Kommentar