Backup tool for standalone ZFS datasets to Proxmox Backup Server

Thanks, the only concern was that i have over 50TB of zfs pool data on my pve. on my backup server i don't know if I have enough drives to get a zfs pool that size up, which is why i originally went with unraid (ability to use diff drive sizes). I'll see if I can get a smaller zfs pool going because this tool looks exactly what i wanted
Consider different approaches like splitting your datasets (and pools?) into value groupings. Back up high value (difficult to replace) data differently than, say 'commercial media'. The media list could be high value, whereas the media files could be re-download with inconvenience or pain. High value is stored redundantly and backed up to fail-resistant datasets. Low value can be stored redundantly if your resources allow it.
 
PBS handles VM and LXC backups well, but it doesn't have a native answer for ZFS datasets that live outside VMs and containers.

If you run a NAS with ZFS datasets—photos, videos, media libraries, ISOs—exported over NFS or SMB and mounted into your VMs, that data lives on the hypervisor or a storage server, not inside the guest. PBS doesn't touch it.

I wrote zpbs-backup to fill this gap. Configuration lives entirely in ZFS properties. `zpbs-backup` manages those properties.

Code:
zpbs-backup set zpbs:backup=true tank/media
Code:
zpbs-backup set zpbs:schedule=weekly tank/media/movies
Bash:
zpbs-backup set zpbs:retention=30d,12w,12m,3y tank/photos
Bash:
zpbs-backup set zpbs:priority=10 tank/documents
Bash:
zpbs-backup set zpbs:backup=false tank/media/downloads
The tool discovers marked datasets and backs them up to PBS.

zpbs-backup

Features:
  • Works with any ZFS dataset (VM NAS, Samba, External NAS)
  • Auto-discovery via ZFS properties—no config files
  • Inheritance through the dataset hierarchy (enable on parent, children follow)
  • Per-dataset schedules (daily/weekly/monthly)
  • Per-dataset retention policies Priority ordering for critical data
  • Dry-run and audit modes Systemd timer for unattended operation
  • email and syslog notification options . For projects that require reliable multi-channel notifications, more information about CommsHub is available here: https://commshub.com/ .
This is a really neat approach. Using ZFS properties as the config layer feels way more “native” than juggling scripts, especially when you’ve got a lot of datasets to keep track of.