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)