BTRBK.CONF(5) BTRBK.CONF(5) (NAME) btrbk.conf - btrbk (SYNOPSIS) /etc/btrbk.conf /etc/btrbk/btrbk.conf (DESCRIPTION) btrbk (subvolume) btrfs . . . . . (#) () . (SECTIONS) volume | () btrfs () . btrfs subvolid=5 (mount) . subvolume volume volume . (wildcard) <<*>> . btrfs (id=5) UUID btrfs-progs < 4.16 . target [send-receive|raw] | . "send-receive" . target : target volume subvolume (: "btrbk list" "btrbk config print" ). btrbk ( ) ssh SSH . : ssh://[:]/ : IPv4 IP ( "[2001:db8::7]" ) . volume () . (CONFIGURATION OPTIONS) (global context) volume subvolume target . (Basic Options) timestamp_format short|long|long-iso . "long" . short YYYYMMDD[_N] ( "20150825" "20150825_1") long YYYYMMDDhhmm[_N] ( "20150825T1531") long-iso YYYYMMDDhhmmss±hhmm[_N] ( "20150825T153123+0200") / "_N" . btrbk ( ) "long-iso" . "long-iso" . snapshot_dir btrfs volume volume . btrbk . snapshot_name ( ) . subvolume . . snapshot_create always|onchange|ondemand|no "always" . "onchange" ( : generation btrfs ). "ondemand" ( btrbk ). "no" ( btrbk ). "always" . incremental yes|no|strict (incremental) . "strict" () ( parent-uuid) . "yes" . parent-uuid ( incremental ) - (send-receive) . btrbk "incremental strict" . noauto yes|no btrbk () ( "btrbk run myfilter"). (Grouping Options) group []... (volume subvolume target) btrbk ( FILTER STATEMENTS btrbk(1) ). . (Retention Policy Options) preserve_day_of_week monday|tuesday|...|sunday / <<>> . ( ). "sunday" . preserve_hour_of_day [0..23] ( ) / <<>> . ( ). (timestamp_format short) . "0" . snapshot_preserve no| ( ). "no" snapshot_preserve_min . "no" . snapshot_preserve_min "all" () snapshot_preserve . snapshot_preserve_min all|latest|{h,d,w,m,y} (h) (d) (w) (m) (y) . "all" . "latest" . "all" . target_preserve no| ( ). "no" target_preserve_min . "no" . target_preserve_min "all" () target_preserve . target_preserve_min all|latest|no|{h,d,w,m,y} (h) (d) (w) (m) (y) . "all" . "latest" ( "target_preserve no" ). "no" target_preserve . "all" . archive_preserve no| ( "btrbk archive") target_preserve. archive_preserve_min all|latest|no|{h,d,w,m,y} ( "btrbk archive") target_preserve_min. archive_exclude . <<*>> . SSH (SSH Options) ssh_identity |no ssh ( ). ssh ( ssh(1) "-i identity_file" ). (ssh-agent) btrbk . ssh_user |no ssh. "root" . "btrfs" ( backend ). "no" ssh . ssh_compression yes|no ssh . "no" . stream_compress ssh / . ssh_cipher_spec default| (cipher) ( ). "-c cipher_spec" ssh(1) . "default" ( ssh_config(5)). (Data Stream Options) stream_compress |no btrfs / . "no" . . (): gzip, pigz, bzip2, pbzip2, bzip3, xz, lzo, lz4, zstd. stream_compress_level default| (). ( [1..9] ). "default" ( ). stream_compress_long default| (long distance matching) . . "zstd" . stream_compress_threads default| (threads) . "pigz" "pbzip2" "bzip3" "zstd" "xz" . stream_compress_adapt yes|no . "zstd" ( >= 1.3.6) . "no" . stream_buffer |no btrfs ( ) . ( ) . "k" "m" "g" "%" (*1024) . "no" . "mbuffer" ( 20180505) btrbk . btrbk-0.29.0 mbuffer(1) rate_limit stream_buffer : mbuffer [-m ] [-r ] mbuffer(1) "/etc/mbuffer.rc" "~/.mbuffer.rc" . : mbuffer . stream_buffer_remote |no ( ) . "no" . : (/ btrfs ) . rate_limit |no btrfs ( ). "k" "m" "g" "t" (*1024) . "no" . rate_limit ( stream_buffer ). rate_limit_remote |no ( ) . "no" . rate_limit rate_limit_remote . (System Options) transaction_log |no ( - ) (abort) : "localtime type status target_url source_url parent_url message". transaction_syslog |no ( transaction_log ) syslog . "btrbk" . : user, mail, daemon, auth, lpr, news, cron, authpriv, local0..local7. lockfile |no flock(2) . . (-n --dry-run) . --lockfile . backend btrfs . (backends) : btrfs-progs btrfs btrfs(8) ( "btrfs subvolume show"). btrfs-progs-btrbk btrfs ( "btrfs-subvolume-show" "btrfs subvolume show"). suid (setcap) btrfs . . btrfs-progs-sudo btrfs "sudo -n" ( "sudo -n btrfs subvolume show" "btrfs subvolume show"). () "btrfs" "readlink" "test" /etc/sudoers . btrfs-progs-doas btrfs-progs-sudo "doas -n". backend_local backend_remote ( "backend_remote btrfs-progs-btrbk"). ( ) backend_local_user . compat ... . (compat-option) : busybox busybox . ignore_receive_errors *experimental* btrfs-receive(8) "--max-errors=0" . . xattr ( NAS Synology) "lsetxattr" . otime "ERROR: attribute 12 requested but not present" . . compat_local compat_remote ( "compat_remote busybox"). cache_dir extent "btrbk extents" ( ) . Btrfs (Btrfs Specific Options) incremental_prefs [:]... () (clone) . list-spec / amount ( "sro:1 sro:1" "sro:2" ) . . btrfs-send(8) : "-p " "-c ". list-spec ( = ): sro,srn snapshot_dir snapshot_name parent_uuid btrbk ( o= n=). sao,san snapshot_dir snapshot_name btrbk ( o= n=). aro,arn incremental_resolve parent_uuid cgen ( o= n=). "sro:1 srn:1 sao:1 san:1 aro:1 arn:1" . "sro:1 sao:1 aro:1" . : "defaults,sao,san,aro,arn" (!) . incremental_clones yes|no btrbk "-c " btrfs-send(8) incremental_prefs . "-p " . "yes" . incremental_resolve mountpoint|directory . "mountpoint" . "directory" / . ( btrbk ) "directory" . "mountpoint" . btrfs_commit_delete yes|no (commit) ( --commit-each "btrfs subvolume delete" ). "no" . send_protocol |no *experimental* btrfs N. target btrbk "--proto " btrfs-send(8) . "no" ( btrfs). send_compressed_data yes|no *experimental* . (btrfs-progs >= 5.19) "send_protocol 2" . target btrbk "--compressed-data" btrfs-send(8) . "no" ( btrfs). snapshot_qgroup_destroy yes|no *experimental* target_qgroup_destroy yes|no *experimental* archive_qgroup_destroy yes|no *experimental* qgroup "0/" . (quota) btrfs . : (Informative Options) warn_unknown_targets yes|no btrbk ( btrbk ) . "no" . (RETENTION POLICY) ( <<>> ) : *_preserve_min all|latest|no|{h,d,w,m,y} . *_preserve no| ( ) . "preserve_min" "all" () "preserve" . : [h] [d] [w] [m] [y] hourly . . daily . ( preserve_hour_of_day) . weekly . preserve_day_of_week ( ) . monthly . . yearly . . (*) "all" ( "target_preserve 60d *m" : << >>). : btrbk -S --print-schedule . (Reference Time) btrbk / << >> . (/ ssh) . "timestamp_format long-iso" "preserve_hour_of_day" ( ) ( "00:00 UTC" "14:00" ). btrbk - ( ) - . : o "timestamp_format long-iso" btrbk << >> . btrbk TZ ( tzset(3) ). (TARGET TYPES) send-receive btrfs "btrfs send/receive". () . btrfs . btrfs-send(8) btrfs-receive(8) . raw *experimental* ( ) btrfs-send(8) . (btrbk )! : btrfs ".info" : .[_N].btrfs[.gz|.bz2|...][.gpg] .[_N].btrfs[.gz|.bz2|...][.gpg].info (incremental "incremental yes") : o (incremental) . . o (rotation) : incremental . raw: raw_target_compress |no . (): gzip, pigz, bzip2, pbzip2, bzip3, xz, lzo, lz4, zstd. raw_target_compress_level default| . raw_target_compress_long default| . raw_target_compress_threads default| . raw_target_split |no . raw_target_block_size . "128K" . raw_target_encrypt gpg|openssl_enc|no gpg openssl_enc . "raw_target_encrypt gpg": gpg_keyring (keyring) gpg "/etc/btrbk/gpg/pubring.kbx". gpg_recipient ... ( ). "raw_target_encrypt openssl_enc" ( ): openssl_ciphername "aes-256-cbc" . openssl_iv_size |no . openssl_keyfile |no ( ). ( ): # dd if=/dev/urandom bs=1 count=32 \ | od -x -A n \ | tr -d "[:space:]" > /path/to/keyfile kdf_backend |no KDF "/usr/share/btrbk/scripts/kdf_pbkdf2.py". kdf_keysize "32" . kdf_keygen once|each "once" . (AVAILABILITY) btrbk . (SEE ALSO) btrbk(1) (AUTHOR) Axel Burri Btrbk 0.32.7 2026-07-19 BTRBK.CONF(5)