XCaminhante / rdumpfs

a rsync-based dump file system backup tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

= rdumpfs, a rsync-based dump file system backup tool

== Usage

Run "rdumpfs SRC... DST" to create a backup of the SRC folders at the rsync-target DST. SRC or DST should be a local
address, you can remote-rsync it after. Only incremental changes against the last version use disk space, unchanged
files are hardlinked.

A example tree after running rdumpfs /home /dump some times:

  /dump/
    2022-01-14T21:57:47Z/
      .rdumpfs.12312.log
      files/
        a.txt
        ...
    2022-01-14T22:51:11Z/
      .rdumpfs.98945.log
      files/
        a.txt -> hardlinked, same file as /dump/2022-01-14T21:57:47Z/files/a.txt
        new.txt
        ...

== Features

* bash, rsync, sha1sum and mksquashfs for a deduplicated filesystem-disponible, plus verifiably uncorrupted and
compressed backup.
* Uses robust rsync command for all backup logic.
* Per-folder file ".rdumpfs" to configure exclusions (with possibly additional variants).
* Never deletes files (except in the current backup, only if -f is passed), clean up old dumps yourself with rdumpfs-rotate.
* Remote backup goes both ways: Remote systems can backup your files ("pull"), or you can backup to remote systems
  ("push").
* Easily hackable script, in case your needs are different from mine.

== rsync options that may be useful together with rdumpfs

* --fake-super to backup to non-root accounts
* --bwlimit so you don't clog your connection
* --partial to continue backups of big files
* --exclude for global excludes
* --dry-run to see what would happen

== Use cases that rdumpfs does not address directly

* You want encrypted backups (try borg, duplicity).
* You need incremental backups on a higher granularity than files (try borg, bup, vac, dar).
* Your target doesn't support hardlinks/SSH/rsync (try duplicity).
* You want automatic expiry (try dirvish).

== Squashfs is wonderful

I use squashfuse heavily, it is much better than decompressing a .7z file. I can mount the file with squashfuse and use
it immediately with other programs. When finished, just unmount.

When I want to edit the files, I first make a read-only mount with squashfuse, then add a writable mount with
unionfs-fuse. When I'm done modifying, I recompress the final mount point with mksquashfs and that's it

== Copyright

rdumpfs is in the public domain.

To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to
this work.

http://creativecommons.org/publicdomain/zero/1.0/

About

a rsync-based dump file system backup tool


Languages

Language:Shell 100.0%