2013-07-31 18:51:01 +00:00
|
|
|
.. include:: global.rst.inc
|
|
|
|
.. _detailed_usage:
|
|
|
|
|
2013-08-04 19:23:12 +00:00
|
|
|
Usage
|
|
|
|
=====
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
|project_name| consists of a number of commands. Each command accepts
|
|
|
|
a number of arguments and options. The following sections will describe each
|
|
|
|
command 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 status
|
|
|
|
messages as it is processing.
|
|
|
|
|
|
|
|
.. include:: usage/init.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2014-04-06 20:47:22 +00:00
|
|
|
# Local repository
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg init /mnt/backup
|
2013-07-31 18:51:01 +00:00
|
|
|
|
2015-05-15 16:35:14 +00:00
|
|
|
# Remote repository (accesses a remote borg via ssh)
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg init user@hostname:backup
|
2013-07-31 18:51:01 +00:00
|
|
|
|
2014-04-06 20:47:22 +00:00
|
|
|
# Encrypted remote repository
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg init --encryption=passphrase user@hostname:backup
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
.. include:: usage/create.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2014-02-04 01:11:47 +00:00
|
|
|
# Backup ~/Documents into an archive named "my-documents"
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg create /mnt/backup::my-documents ~/Documents
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
# Backup ~/Documents and ~/src but exclude pyc files
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg create /mnt/backup::my-files \
|
|
|
|
~/Documents \
|
|
|
|
~/src \
|
2014-02-04 01:11:47 +00:00
|
|
|
--exclude '*.pyc'
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
# Backup the root filesystem into an archive named "root-YYYY-MM-DD"
|
|
|
|
NAME="root-`date +%Y-%m-%d`"
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg create /mnt/backup::$NAME / --do-not-cross-mountpoints
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
.. include:: usage/extract.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
|
|
|
# Extract entire archive
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg extract /mnt/backup::my-files
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
# Extract entire archive and list files while processing
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg extract -v /mnt/backup::my-files
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
# Extract the "src" directory
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg extract /mnt/backup::my-files home/USERNAME/src
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
# Extract the "src" directory but exclude object files
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg extract /mnt/backup::my-files home/USERNAME/src --exclude '*.o'
|
2013-07-31 18:51:01 +00:00
|
|
|
|
2014-02-04 22:49:10 +00:00
|
|
|
.. include:: usage/check.rst.inc
|
|
|
|
|
2013-07-31 18:51:01 +00:00
|
|
|
.. include:: usage/delete.rst.inc
|
|
|
|
|
|
|
|
.. include:: usage/list.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg list /mnt/backup
|
2013-07-31 18:51:01 +00:00
|
|
|
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
|
|
|
|
...
|
|
|
|
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg list /mnt/backup::root-2013-08-02
|
2013-07-31 18:51:01 +00:00
|
|
|
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.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2014-02-25 00:32:18 +00:00
|
|
|
# Keep 7 end of day and 4 additional end of week archives:
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg prune /mnt/backup --keep-daily=7 --keep-weekly=4
|
2013-07-31 18:51:01 +00:00
|
|
|
|
2014-02-25 00:32:18 +00:00
|
|
|
# Same as above but only apply to archive names starting with "foo":
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg prune /mnt/backup --keep-daily=7 --keep-weekly=4 --prefix=foo
|
2013-07-31 18:51:01 +00:00
|
|
|
|
2014-02-25 00:32:18 +00:00
|
|
|
# Keep 7 end of day, 4 additional end of week archives,
|
|
|
|
# and an end of month archive for every month:
|
2015-05-14 23:07:04 +00:00
|
|
|
$ borg prune /mnt/backup --keep-daily=7 --keep-weekly=4 --keep-monthly=-1
|
2014-02-25 00:32:18 +00:00
|
|
|
|
|
|
|
# Keep all backups in the last 10 days, 4 additional end of week archives,
|
|
|
|
# and an end of month archive for every month:
|
2015-05-14 23:07:04 +00:00
|
|
|
$ borg prune /mnt/backup --keep-within=10d --keep-weekly=4 --keep-monthly=-1
|
2014-02-04 01:11:47 +00:00
|
|
|
|
2013-07-31 18:51:01 +00:00
|
|
|
|
|
|
|
.. include:: usage/info.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg info /mnt/backup::root-2013-08-02
|
2013-07-31 18:51:01 +00:00
|
|
|
Name: root-2013-08-02
|
|
|
|
Fingerprint: bc3902e2c79b6d25f5d769b335c5c49331e6537f324d8d3badcb9a0917536dbb
|
|
|
|
Hostname: myhostname
|
|
|
|
Username: root
|
|
|
|
Time: Fri Aug 2 15:18:17 2013
|
2015-05-09 17:41:03 +00:00
|
|
|
Command line: /usr/bin/borg create --stats /mnt/backup::root-2013-08-02 / --do-not-cross-mountpoints
|
2013-07-31 18:51:01 +00:00
|
|
|
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.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg mount /mnt/backup::root-2013-08-02 /tmp/mymountpoint
|
2013-07-31 18:51:01 +00:00
|
|
|
$ ls /tmp/mymountpoint
|
|
|
|
bin boot etc lib lib64 mnt opt root sbin srv usr var
|
|
|
|
$ fusermount -u /tmp/mymountpoint
|
|
|
|
|
|
|
|
|
|
|
|
.. include:: usage/change-passphrase.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
|
|
|
# Create a key file protected repository
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg init --encryption=keyfile /mnt/backup
|
|
|
|
Initializing repository at "/mnt/backup"
|
2013-07-31 18:51:01 +00:00
|
|
|
Enter passphrase (empty for no passphrase):
|
|
|
|
Enter same passphrase again:
|
2015-05-09 17:41:03 +00:00
|
|
|
Key file "/home/USER/.borg/keys/mnt_backup" created.
|
2013-07-31 18:51:01 +00:00
|
|
|
Keep this file safe. Your data will be inaccessible without it.
|
|
|
|
|
|
|
|
# Change key file passphrase
|
2015-05-09 17:41:03 +00:00
|
|
|
$ borg change-passphrase /mnt/backup
|
|
|
|
Enter passphrase for key file /home/USER/.borg/keys/mnt_backup:
|
2013-07-31 18:51:01 +00:00
|
|
|
New passphrase:
|
|
|
|
Enter same passphrase again:
|
2015-05-09 17:41:03 +00:00
|
|
|
Key file "/home/USER/.borg/keys/mnt_backup" updated
|
|
|
|
|
2015-05-14 15:36:53 +00:00
|
|
|
|
|
|
|
.. include:: usage/serve.rst.inc
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
::
|
|
|
|
|
2015-05-15 17:22:52 +00:00
|
|
|
# Allow an SSH keypair to only run |project_name|, and only have access to /mnt/backup.
|
2015-05-14 15:36:53 +00:00
|
|
|
# This will help to secure an automated remote backup system.
|
|
|
|
$ cat ~/.ssh/authorized_keys
|
2015-05-15 17:22:52 +00:00
|
|
|
command="borg serve --restrict-to-path /mnt/backup" ssh-rsa AAAAB3[...]
|
2015-05-14 15:36:53 +00:00
|
|
|
|