Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zenhack/dedup-backup
Deduplicating backup utility
https://github.com/zenhack/dedup-backup
backup haskell
Last synced: 16 days ago
JSON representation
Deduplicating backup utility
- Host: GitHub
- URL: https://github.com/zenhack/dedup-backup
- Owner: zenhack
- License: gpl-3.0
- Created: 2014-08-23T06:15:30.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-08-15T04:34:32.000Z (over 6 years ago)
- Last Synced: 2024-10-22T07:03:00.153Z (2 months ago)
- Topics: backup, haskell
- Language: Haskell
- Homepage:
- Size: 69.3 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This is a small tool I use for backups. Highlights:
* Efficiently uses:
* Disk space - files are de-duplicated using cryptographic hash
functions (currently sha1, but moving to a more secure hash function
will not be difficult and is planned).
* Bandwidth (if backing up to a remote filesystem) - it only copies
things not already on the backup filesystem.
* Time - It can make use of modification times and a previous backup
to speed up incremental backups.I use it roughly once a week to do full backups of my home directory
(about 500 GiB of data). The amount of additional space used per backup
is negligible.It assumes a Unix-like system (for the file system semantics). It
therefore will not work on Windows.# Installation
Via cabal, Haskell's package manager:
git clone https://github.com/zenhack/dedup-backup
cd dedup-backup
cabal install# Usage
dedup-backup (-s|--src SOURCE) (-d|--dest DESTINATION)
(-b|--blobs BLOB DIR) [--chown] [-p|--prev PREVIOUS]`SOURCE` is the directory to back up. `DESTINATION` is the location of
the backup. `BLOB DIR` is a directory used to store files by
cryptographic hash; it is used for de-duplication. This directory should
be the same for all backups, and it *must* be on the same partition as
`DESTINATION`.`PREVIOUS` is an (optional) previous backup of the same `SOURCE` If
specified, the modification times of the files in `PREVIOUS`
and the current version of `SOURCE` will be used to speed up the backup
--- if the modification times are the same the file is assumed to be
unchanged, and will not be hashed.The `--chown` option tells `dedup-backup` to change the owner and group
on the files in `DESTINATION` to match those in `SOURCE`. Root access
is required for this option.# License
GPL 3.0 or later.