zfsctl 0.2BSD-2-Clause · FreeBSD

zfsctl

A terminal UI and daemon for managing ZFS. One screen for pools, datasets, snapshots, disks, shares and boot environments; a daemon that runs your snapshot, replication, backup and scrub jobs and tells you when something needs attention. It manages other machines over ssh, with no agent to install on them.

the dashboard

 Dashboard  ·  Sat 24 Oct 13:40                                                                                                  ✖ 4 issues

 NEEDS ATTENTION ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ✖ issue fbsd16:zroot      no snapshot job; no copy job
   ✖ issue fbsd16:zroot/ho…  no snapshot job; no copy job
   ✖ issue fbsd16:zroot/ho…  no snapshot job; no copy job
   ✖ issue protection        and 122 more not protected (65 of your data)

 HOSTS ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  Host      State       Pools  Capacity             Memory             ARC     CPU              Load  Scrub     Errors
  local     ● ok        3      ━━━━╌╌╌╌╌╌ 44%       ━━╌╌╌╌╌╌╌╌ 16%     100.0%  ?                2.65  15 d ago  0
  fbsd16    ● ok        1      ━━━━━━╌╌╌╌ 61%       ━━━╌╌╌╌╌╌╌ 27%     99.9%   ?                0.38  6 d ago   0
  fbsd16t1  ● ok        2      ━━━━━╌╌╌╌╌ 53%       ━━━╌╌╌╌╌╌╌ 25%     99.9%   ?                0.22  6 d ago   0
  fbsd16t2  ● ok        2      ━━━━━━━━╌╌ 79%       ━━╌╌╌╌╌╌╌╌ 24%     99.9%   ?                0.53  6 d ago   0

 DAEMON AND JOBS ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● daemon  running (pid 13609), heartbeat 1s ago
   ● jobs    scrub 2/2 ok  snapshot 3/3 ok

 CLOUD ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
     Provider          Remote      Jobs     Last run  Next run         Traffic  In bucket
   ○ Backblaze B2      b2          no jobs  -         -                -        -
   ○ SFTP              t1          no jobs  -         -                -        -
   ○ Amazon S3 (etc.)  zfsctl-aws  no jobs  -         -                -        -

 ALERTS ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● monitor on · report 2026-10-24

what it does

install

From source, on the FreeBSD hub that will run it (a Rust toolchain is the only requirement):

# get the source and build
git clone https://github.com/fedor4445/zfsctl && cd zfsctl
cargo build --release
# install and start the daemon
install -m 755 target/release/zfsctl /usr/local/bin/zfsctl
install -m 555 contrib/rc.d/zfsctl /usr/local/etc/rc.d/zfsctl
sysrc zfsctl_enable=YES && service zfsctl start
# the screen
sudo zfsctl

Use at your own risk: zfsctl is provided without warranty and runs commands that can destroy data. Keep backups and try it on a scratch pool first (safety).

The book covers configuration, the sudoers rules for remote hosts, and every screen: installing, remote hosts, recipes.

built on

zfsctl drives other people's work and bundles none of it: OpenZFS, FreeBSD, Rust, ratatui, restic and rclone. With thanks to all their authors.