mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-23 06:31:58 +00:00
No description
Implemented sparse file support to remove this blocker for people backing up lots of huge sparse files (like VM images). Attic could not support this use case yet as it would have restored all files to their fully expanded size, possibly running out of disk space if the total expanded size would be bigger than the available space. Please note that this is a very simple implementation of sparse file support - at backup time, it does not do anything special (it just reads all these zero bytes, chunks, compresses and encrypts them as usual). At restore time, it detects chunks that are completely filled with zeros and does a seek on the output file rather than a normal data write, so it creates a hole in a sparse file. The chunk size for these all-zero chunks is currently 10MiB, so it'll create holes of multiples of that size (depends also a bit on fs block size, alignment, previously written data). Special cases like sparse files starting and/or ending with a hole are supported. Please note that it will currently always create sparse files at restore time if it detects all-zero chunks. Also improved: I needed a constant for the max. chunk size, so I introduced CHUNK_MAX (see also existing CHUNK_MIN) for the maximum chunk size (which is the same as the chunk buffer size). Attic still always uses 10MiB chunk buffer size now, but it could be changed now more easily. |
||
---|---|---|
attic | ||
docs | ||
scripts | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CHANGES | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
setup.py | ||
tox.ini | ||
versioneer.py |
What is Attic? -------------- Attic is a deduplicating backup program. The main goal of Attic is to provide an efficient and secure way to backup data. The data deduplication technique used makes Attic suitable for daily backups since only changes are stored. Easy to use ~~~~~~~~~~~ Initialize backup repository and create a backup archive:: $ attic init /usbdrive/my-backup.attic $ attic create -v /usbdrive/my-backup.attic::documents ~/Documents Main features ~~~~~~~~~~~~~ Space efficient storage Variable block size deduplication is used to reduce the number of bytes stored by detecting redundant data. Each file is split into a number of variable length chunks and only chunks that have never been seen before are compressed and added to the repository. Optional data encryption All data can be protected using 256-bit AES encryption and data integrity and authenticity is verified using HMAC-SHA256. Off-site backups Attic can store data on any remote host accessible over SSH. This is most efficient if Attic is also installed on the remote host. Backups mountable as filesystems Backup archives are mountable as userspace filesystems for easy backup verification and restores. What do I need? --------------- Attic requires Python 3.2 or above to work. Besides Python, Attic also requires msgpack-python and sufficiently recent OpenSSL (>= 1.0.0). In order to mount archives as filesystems, llfuse is required. How do I install it? -------------------- :: $ pip install Attic Where are the docs? ------------------- Go to https://attic-backup.org/ for a prebuilt version of the documentation. You can also build it yourself from the docs folder. Where are the tests? -------------------- The tests are in the attic/testsuite package. To run the test suite use the following command:: $ fakeroot -u python -m attic.testsuite.run