What does HackerNews think of btrbk?

Tool for creating snapshots and remote backups of btrfs subvolumes

Language: Perl

For anyone using btrfs on their system, I heartily recommend btrbk, which has served me very well for making incremental backups with a customizable retention period: https://github.com/digint/btrbk
For small scale, use Dropbox or Google Drive, or whatever, because for small scale the most important part of backup is actually reliably having it done. If you rely on manual process, you're doomed. :)

For large scale in house things: Ceph regurarly does scrubbing of the data. (Compares checksums.) and DreamHost has DreamObjects.

Thanks for mentioning borg/restic, I have never heard of them. (rsnapshot [rsync] works well, but it's not so shiny) Deduplication sounds nice. (rsnapshot uses hardlinks.)

That made me look for something btrfs based, and here's this https://github.com/digint/btrbk seems useful (send btrfs snapshots to a remote somewhere, also can be encrypted), could be useful for small setups.

Mostly local network storage which is backedup multiple times automatically, for the laptop I do manual btrfs send/receives manly to get things restored exactly the way they were.

#helps to see the fstab first

    UUID=   /          btrfs   subvol=root 0 0
    UUID=      /boot/efi  vfat    umask=0077,shortname=winnt,x-systemd.automount,noauto 0 0

    cd /boot
    tar -acf boot-efi.tar efi/
    mount  /mnt
    cd /mnt
    btrfs sub snap -r root root.20170707
    btrfs sub snap -r home home.20170707
    btrfs send -p root.20170706 root.20170707 | btrfs receive /run/media/c/backup/
    btrfs send -p home.20170706 home.20170707 | btrfs receive /run/media/c/backup/
    cd
    umount /mnt

So basically make ro snapshots of current root and home, and since they're separate subvolumes they can be done on separate schedules. And then send the incremental changes to the backup volume. While only incremental is sent, the receive side has each prior backup to the new subvolume points to all of those extents and is just updated with this backups changes. Meaning I do not have to restore the increments, I just restore the most recent subvolume on the backup. I only have to keep one dated read-only snapshot on each volume, there is no "initial" backup because each subvolume is complete.

Anyway, restores are easy and fast. I can also optionally just send/receive home and do a clean install of the OS.

Related, I've been meaning to look into this project in more detail which leverages btrfs snapshots and send/receive. https://github.com/digint/btrbk