| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 | .. include:: global.rst.inc.. _detailed_usage:Usage=====|project_name| consists of a number of commands. Each command acceptsa number of arguments and options. The following sections will describe eachcommand in detail.Quiet by default----------------Like most UNIX commands |project_name| is quiet by default but the ``-v`` or``--verbose`` option can be used to get the program to output more statusmessages as it is processing... include:: usage/init.rst.incThis command initializes an empty :ref:`repository <repository_def>`.A repository is a filesystem directorycontaining the deduplicated data from zero or more archives.Encryption is enabled at repository initialization time.Examples~~~~~~~~::    # Local backup repository    $ attic init /data/mybackuprepo.attic    # Remote backup repository    $ attic init user@hostname:mybackuprepo.attic    # Encrypted remote backup repository    $ attic init --encryption=passphrase user@hostname:mybackuprepo.attic.. include:: usage/create.rst.incThis command creates a backup archive containing all files found whilerecursively traversing all paths specified. The archive will consume almostno disk space for files or parts of files that has already been archived byother archives.Examples~~~~~~~~::    # Backups ~/Documents into an archive named "my-documents"    $ attic create /data/myrepo.attic::my-documents ~/Documents    # Backup ~/Documents and ~/src but exclude pyc files    $ attic create /data/myrepo.attic::my-files   \        ~/Documents                               \        ~/src                                     \        --exclude *.pyc    # Backup the root filesystem into an archive named "root-YYYY-MM-DD"    NAME="root-`date +%Y-%m-%d`"    $ attic create /data/myrepo.attic::$NAME / --do-not-cross-mountpoints.. include:: usage/extract.rst.incThis command extracts the contents of an archive. By default the entirearchive is extracted but a subset of files and directories can be selectedby passing a list of ``PATHs`` as arguments. The file selection can furtherbe restricted by using the ``--exclude`` option.Examples~~~~~~~~::    # Extract entire archive    $ attic extract /data/myrepo::my-files    # Extract entire archive and list files while processing    $ attic extract -v /data/myrepo::my-files    # Extract the "src" directory    $ attic extract /data/myrepo::my-files home/USERNAME/src    # Extract the "src" directory but exclude object files    $ attic extract /data/myrepo::my-files home/USERNAME/src --exclude *.o.. include:: usage/verify.rst.incThis command is similar to :ref:`attic_extract` but instead of writing anyfiles to disk the command just verifies that all files are extractable andnot corrupt. |project_name| will not compare the the archived files with thefiles on disk... include:: usage/delete.rst.incThis command deletes an archive from the repository. Any disk space notshared with any other existing archive is also reclaimed... include:: usage/list.rst.incThis command lists the contents of a repository or an archive.Examples~~~~~~~~::    $ attic list /data/myrepo    my-files            Thu Aug  1 23:33:22 2013    my-documents        Thu Aug  1 23:35:43 2013    root-2013-08-01     Thu Aug  1 23:43:55 2013    root-2013-08-02     Fri Aug  2 15:18:17 2013    ...    $ attic list /data/myrepo::root-2013-08-02    drwxr-xr-x root   root          0 Jun 05 12:06 .    lrwxrwxrwx root   root          0 May 31 20:40 bin -> usr/bin    drwxr-xr-x root   root          0 Aug 01 22:08 etc    drwxr-xr-x root   root          0 Jul 15 22:07 etc/ImageMagick-6    -rw-r--r-- root   root       1383 May 22 22:25 etc/ImageMagick-6/colors.xml    ..... include:: usage/prune.rst.incThe ``prune`` command prunes a repository by deleting archives not matchingany of the specified retention options specified. This command is normallyused by automated backup scripts wanting to keep a certain number of historicbackups. Examples~~~~~~~~::    # Keep 7 end of day and 4 end of week archives    $ attic prune /data/myrepo --daily=7 --weekly=4    # Same as above but only apply to archive names starting with "foo"    $ attic prune /data/myrepo --daily=7 --weekly=4 --prefix=foo.. include:: usage/info.rst.incThis command displays some detailed information about the specified archive.Examples~~~~~~~~::    $ attic info /data/myrepo::root-2013-08-02    Name: root-2013-08-02    Fingerprint: bc3902e2c79b6d25f5d769b335c5c49331e6537f324d8d3badcb9a0917536dbb    Hostname: myhostname    Username: root    Time: Fri Aug  2 15:18:17 2013    Command line: /usr/bin/attic create --stats /data/myrepo::root-2013-08-02 / --do-not-cross-mountpoints    Number of files: 147429    Original size: 5344169493 (4.98 GB)    Compressed size: 1748189642 (1.63 GB)    Unique data: 64805454 (61.80 MB).. include:: usage/mount.rst.incThis command mounts an archive as a FUSE filesystem. This can be useful forbrowsing an archive or restoring individual files. Unless the ``--foreground``option is given the command will run in the background until the filesystemis ``umounted``.Examples~~~~~~~~::    $ attic mount /data/myrepo::root-2013-08-02 /tmp/mymountpoint    $ ls /tmp/mymountpoint    bin  boot  etc  lib  lib64  mnt  opt  root  sbin  srv  usr  var    $ fusermount -u /tmp/mymountpoint.. include:: usage/change-passphrase.rst.incThe key files used for repository encryption are optionally passphraseprotected. This command can be used to change this passphrase.Examples~~~~~~~~::    # Create a key file protected repository    $ attic init --key-file /tmp/encrypted-repo    Initializing repository at "/tmp/encrypted-repo"    Enter passphrase (empty for no passphrase):    Enter same passphrase again:     Key file "/home/USER/.attic/keys/tmp_encrypted_repo" created.    Keep this file safe. Your data will be inaccessible without it.    # Change key file passphrase    $ attic change-passphrase /tmp/encrypted-repo    Enter passphrase for key file /home/USER/.attic/keys/tmp_encrypted_repo:     New passphrase:     Enter same passphrase again:     Key file "/home/USER/.attic/keys/tmp_encrypted_repo" updated
 |