Skip to main content

Backshift is a filesystem to filesystem backup program, analogous to rsync –link-dest.

Compared to rsync, backshift deduplicates much better, and compresses files - rsync does not.

Backshift also allows easy removal of old backups, despite its strong deduplication and compression.

Files to back up are selected using something like ‘find / -xdev -print0’ and piping that to backshift.

Files are restored by piping to ‘tar xfp’.

Metadata is partially compressed. Each directory’s metadata is compressed separately for easy partial restores.

Content-based, variable length chunks are deduplicated - so simply inserting a byte at a random place in a large file is not going to require backing up the entire file anew.

Backshift runs on CPython 3.x and Pypy3. It may run on nuitka - backshift+nuitka has not been tested much.

On many modern systems, Backshift runs fastest on Pypy, but on some (older?) machines you may be better off with CPython 3.x plus the Cython versions of treap and rolling_checksum_mod.

For pypy, simply install backshift with pip. This should give you a pure-python version of backshift that pypy likes. For CPython+Cython, first install backshift with pip just as you would for pypy. Then additionally install pyx-treap and rolling-checksum-pyx-mod with pip - for a speed boost.

Backshift is not as fast as rsync –link-dest; rsync does not have to do as much work to accomplish what it sets out to do. But if you are paying for your storage, backshift will probably be significantly cheaper.

Metadata

Release files for backshift 1.62

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backshift 1.62
File Size Uploaded
backshift-1.62.tar.gz 78.7 kB Details

Release files / backshift-1.62.tar.gz

Download URL backshift-1.62.tar.gz
Size 78.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4de812a7cf9e8d8dc5d2c7173ff62320423a9690b5c2294e5b8661d9694f375c
BLAKE2b-256 checksum
How to use checksums
31a14d7efc60f98f4ff7c967601faa1f336d0b40fa641927a0daca367dcb72ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

1.62 This release

1 release file

1.61

1 release file

1.60

1 release file

1.55

1 release file

1.50

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page