Skip to main content

Filesystem to filesystem backup (deduplicated, compressed)

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backshift-1.62.tar.gz (78.7 kB view details)

Uploaded Source

File details

Details for the file backshift-1.62.tar.gz.

File metadata

  • Download URL: backshift-1.62.tar.gz
  • Upload date:
  • Size: 78.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.2

File hashes

Hashes for backshift-1.62.tar.gz
Algorithm Hash digest
SHA256 4de812a7cf9e8d8dc5d2c7173ff62320423a9690b5c2294e5b8661d9694f375c
MD5 7a97739848252ee44c8a0cb85ccc4dd3
BLAKE2b-256 31a14d7efc60f98f4ff7c967601faa1f336d0b40fa641927a0daca367dcb72ae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page