Re: Backup/restore recipe

From: Dan Mahoney (ports) <freebsd_at_gushi.org>
Date: Wed, 12 Nov 2025 18:59:13 UTC
+1 for restic, but I do like to idea of tarsnap because it supports someone who works hard for the project.  They're very similar in how they function (and there's nothing stopping you from using both).

-Dan

> On Nov 12, 2025, at 10:50 AM, Matthias Petermann <mp@petermann-it.de> wrote:
> 
> Hello,
> 
> Am 12.11.25 um 17:00 schrieb Eugene R:
>> Hello,
>> Does anyone have any howtos/recipes for optimal backup and restore strategies for a FreeBSD-based server? In particular, a "modern" ZFS installation (pretty complex dataset tree) on a remote cloud system accessible via SSH or console, with some external storage via smbfs or S3.
>> I suppose we will need
>> - partition layout
>> - ZFS layout
>> - /boot directory
>> - /etc directory (including passwd, fstab, etc)
>> - filesystem contents (using tar.gz or whatever) and/or
>> - ZFS data that can be restored directly
>> I imagine three potential scenarios:
>> - selective restore of specific files or subtrees to a working FreeBSD system (this one is reasonably obvious)
>> - (essentially) exact duplicate of the original system state on the same or different machine (ideally binary exact if hardware allows)
>> - functionally equivalent duplicate (i.e., the same filesystem content over the potentially different low-level layouts)
>> In cases 2 and 3, we likely will have to start from a clean machine, possibly with dummy Linux or FreeBSD installation.
> 
> I’ve had very good experiences using restic for backups on FreeBSD (and other platforms). It’s not tied to ZFS, but for me it’s the best overall compromise between platform independence, snapshot-based versioning, integrity, and security by default.
> 
> Backups can be stored locally or across different cloud backends - restic supports all major targets via rclone, so you can use S3, Google Cloud, SMB shares, and more, all with the same workflow.
> 
> Restores are fast and flexible - from single files up to full directory trees - and it integrates easily into automated setups (cron jobs, systemd timers, or shell scripts).
> 
> A bare-metal restore isn’t supported directly, but with good documentation of your system layout (partitions, ZFS datasets, boot config, etc.) or some deployment automation, that’s easy to work around. I typically treat the system setup as code and use restic for all the actual data.
> 
> 
> Best regards
> Matthias
> 
> 
> 
> -- 
> Für alle, die digitale Systeme verstehen und gestalten wollen:
> jede Woche neue Beiträge zu Architektur, Souveränität und Systemdesign.
> 👉 https://www.petermann-digital.de/blog