1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-23 06:31:58 +00:00
No description
Find a file
Thomas Waldmann a2bf2aea22 simple sparse file support, made chunk buffer size flexible
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.
2015-04-15 16:29:18 +02:00
attic simple sparse file support, made chunk buffer size flexible 2015-04-15 16:29:18 +02:00
docs Fix documentation 'snapshot' to 'checkpoint' 2014-12-25 13:23:30 +01:00
scripts Project rename 2013-07-09 20:14:18 +02:00
.gitattributes Added .gitattributes 2013-08-12 15:12:14 +02:00
.gitignore Remove some autogenerated files 2014-02-18 23:10:32 +01:00
.travis.yml travis: Enable python 3.4 2014-05-01 14:08:12 +02:00
AUTHORS Added Thomas Waldmann to AUTHORS and updated CHANGES 2015-04-13 23:12:30 +02:00
CHANGES Updated CHANGES 2015-04-13 23:29:29 +02:00
LICENSE Fix sorting of segment names to ignore NFS left over files. 2014-01-03 14:47:44 +01:00
MANIFEST.in Include missing pyx files in dist file. 2015-01-04 22:25:11 +01:00
README.rst Move website to attic-backup.org 2014-03-09 15:12:07 +01:00
setup.py Add MacPorts' path to the default openssl search path 2014-08-01 14:48:49 +02:00
tox.ini Add python 3.4 to the tox environment list 2014-05-03 14:21:10 +02:00
versioneer.py Start using versioneer for version numbers 2013-08-05 23:05:15 +02:00

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