Docu: first proof reading

This is a first proof reading of the currently existing documentation.

fixes (hopefully all):
* spelling
* grammar

Tries to increase readabilty and ease of understanding by simplifying
and restructing some sentences and paragraphs. Filler words which add
to the cognitive load but don't add anything are removed
(most notably `also`).
This commit is contained in:
Aaron Lauterer 2020-04-14 17:12:47 +02:00 committed by Dietmar Maurer
parent 9a328319dd
commit 4f3db187cf
6 changed files with 239 additions and 250 deletions

View File

@ -3,6 +3,7 @@ Administration Guide
The administration guide. The administration guide.
.. todo:: either add a bit more explanation or remove the previous sentence
Terminology Terminology
----------- -----------
@ -12,7 +13,7 @@ Backup Content
When doing deduplication, there are different strategies to get When doing deduplication, there are different strategies to get
optimal results in terms of performance and/or deduplication rates. optimal results in terms of performance and/or deduplication rates.
Depending on the type of data, one can split data into fixed or variable Depending on the type of data, one can split data into *fixed* or *variable*
sized chunks. sized chunks.
Fixed sized chunking needs almost no CPU performance, and is used to Fixed sized chunking needs almost no CPU performance, and is used to
@ -21,7 +22,7 @@ backup virtual machine images.
Variable sized chunking needs more CPU power, but is essential to get Variable sized chunking needs more CPU power, but is essential to get
good deduplication rates for file archives. good deduplication rates for file archives.
Therefore, the backup server supports both strategies. The backup server supports both strategies.
File Archives: ``<name>.pxar`` File Archives: ``<name>.pxar``
@ -29,9 +30,9 @@ File Archives: ``<name>.pxar``
.. see https://moinakg.wordpress.com/2013/06/22/high-performance-content-defined-chunking/ .. see https://moinakg.wordpress.com/2013/06/22/high-performance-content-defined-chunking/
A file archive stores a whole directory tree. Content is stored using A file archive stores a full directory tree. Content is stored using
the :ref:`pxar-format`, split into variable sized chunks. The format the :ref:`pxar-format`, split into variable sized chunks. The format
is specially optimized to achieve good deduplication rates. is optimized to achieve good deduplication rates.
Image Archives: ``<name>.img`` Image Archives: ``<name>.img``
@ -44,8 +45,8 @@ data. Content is split into fixed sized chunks.
Binary Data (BLOBs) Binary Data (BLOBs)
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
This type is used to store smaller (< 16MB) binaries like This type is used to store smaller (< 16MB) binary data such as
configuration data. Larger files should be stored as image archive. configuration files. Larger files should be stored as image archive.
.. caution:: Please do not store all files as BLOBs. Instead, use the .. caution:: Please do not store all files as BLOBs. Instead, use the
file archive to store whole directory trees. file archive to store whole directory trees.
@ -54,15 +55,15 @@ configuration data. Larger files should be stored as image archive.
Catalog File: ``catalog.pcat1`` Catalog File: ``catalog.pcat1``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The catalog file is basically an index for file archive. It contains The catalog file is an index for file archives. It contains
the list of files, and is used to speedup search operations. the list of files and is used to speed-up search operations.
The Manifest: ``index.json`` The Manifest: ``index.json``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The manifest contains the list of all backup files, including The manifest contains the list of all backup files, their
file sizes and checksums. It is used to verify the consistency of a sizes and checksums. It is used to verify the consistency of a
backup. backup.
@ -73,17 +74,17 @@ The backup server groups backups by *type*, where *type* is one of:
``vm`` ``vm``
This type is used for :term:`virtual machine`\ s. Typically This type is used for :term:`virtual machine`\ s. Typically
contains the virtual machine configuration and an image archive contains the virtual machine's configuration and an image archive
for each disk. for each disk.
``ct`` ``ct``
This type is used for :term:`container`\ s. Contains the container This type is used for :term:`container`\ s. Contains the container's
configuration and a single file archive for the container content. configuration and a single file archive for the container content.
``host`` ``host``
This type is used for physical host, or if you want to run backups This type is used for backups created from within the backed up machine.
manually from inside virtual machines or containers. Such backups Typically this would be a physical host but could also be a virtual machine
may contain file and image archives (no restrictions here). or container. Such backups may contain file and image archives, there are no restrictions in this regard.
Backup ID Backup ID
@ -102,14 +103,14 @@ The time when the backup was made.
Backup Group Backup Group
~~~~~~~~~~~~ ~~~~~~~~~~~~
We call the tuple ``<type>/<ID>`` a backup group. Such group The tuple ``<type>/<ID>`` is called a backup group. Such a group
may contains one or more backup snapshots. may contain one or more backup snapshots.
Backup Snapshot Backup Snapshot
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
We call the triplet ``<type>/<ID>/<time>`` a backup snapshot. It The triplet ``<type>/<ID>/<time>`` is called a backup snapshot. It
uniquely identifies a specific backup within a datastore. uniquely identifies a specific backup within a datastore.
.. code-block:: console .. code-block:: console
@ -118,25 +119,25 @@ uniquely identifies a specific backup within a datastore.
vm/104/2019-10-09T08:01:06Z vm/104/2019-10-09T08:01:06Z
host/elsa/2019-11-08T09:48:14Z host/elsa/2019-11-08T09:48:14Z
As you can see, the time is formatted as RFC3399_ using Coordinated As you can see, the time format is RFC3399_ with Coordinated
Universal Time (UTC_, identified by the trailing *Z*). Universal Time (UTC_, identified by the trailing *Z*).
:term:`DataStore` :term:`DataStore`
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
A datastore is a place to store backups. The current implementation A datastore is a place where backups are stored. The current implementation
uses a directory inside a standard unix file system (``ext4``, ``xfs`` uses a directory inside a standard unix file system (``ext4``, ``xfs``
or ``zfs``) to store backup data. or ``zfs``) to store the backup data.
Datastores are identified by a simple *ID*. You can configure that Datastores are identified by a simple *ID*. You can configure it
when setting up the backup server. when setting up the backup server.
Backup Server Management Backup Server Management
------------------------ ------------------------
The command line tool to configure and manage the server is called The command line tool to configure and manage the backup server is called
:command:`proxmox-backup-manager`. :command:`proxmox-backup-manager`.
@ -144,7 +145,7 @@ Datastore Configuration
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
A :term:`datastore` is a place to store backups. You can configure A :term:`datastore` is a place to store backups. You can configure
several datastores, but you need at least one of them. The datastore is identified by a simple `name` and point to a directory. multiple datastores. At least one datastore needs to be configured. The datastore is identified by a simple `name` and points to a directory.
The following command creates a new datastore called ``store1`` on :file:`/backup/disk1/store1` The following command creates a new datastore called ``store1`` on :file:`/backup/disk1/store1`
@ -152,20 +153,20 @@ The following command creates a new datastore called ``store1`` on :file:`/backu
# proxmox-backup-manager datastore create store1 /backup/disk1/store1 # proxmox-backup-manager datastore create store1 /backup/disk1/store1
To list existing datastores use: To list existing datastores run:
.. code-block:: console .. code-block:: console
# proxmox-backup-manager datastore list # proxmox-backup-manager datastore list
store1 /backup/disk1/store1 store1 /backup/disk1/store1
Finally, it is also possible to remove the datastore configuration: Finally, it is possible to remove the datastore configuration:
.. code-block:: console .. code-block:: console
# proxmox-backup-manager datastore remove store1 # proxmox-backup-manager datastore remove store1
.. note:: Above command removes the datastore configuration. It does .. note:: The above command removes only the datastore configuration. It does
not delete any data from the underlying directory. not delete any data from the underlying directory.
@ -184,16 +185,16 @@ The command line client is called :command:`proxmox-backup-client`.
Respository Locations Respository Locations
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
The client uses a special repository notation to specify a datastore The client uses the following notation to specify a datastore repository
on the backup server. on the backup server.
[[username@]server:]datastore [[username@]server:]datastore
If you do not specify a ``username`` the default is ``root@pam``. The The default value for ``username`` ist ``root``. If no server is specified, the
default for server is to use the local host (``localhost``). default is the local host (``localhost``).
You can pass the repository by setting the ``--repository`` command You can pass the repository with the ``--repository`` command
line options, or by setting the ``PBS_REPOSITORY`` environment line option, or by setting the ``PBS_REPOSITORY`` environment
variable. variable.
@ -219,8 +220,8 @@ Environment Variables
Output Format Output Format
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
Most commands support the ``--output-format`` parameter, which can be Most commands support the ``--output-format`` parameter. It accepts
set to the following values: the following values:
:``text``: Text format (default). Structured data is rendered as a table. :``text``: Text format (default). Structured data is rendered as a table.
@ -240,9 +241,9 @@ Please use the following environment variables to modify output behavior:
``PROXMOX_OUTPUT_NO_HEADER`` ``PROXMOX_OUTPUT_NO_HEADER``
If set (to any value), do not render table headers. If set (to any value), do not render table headers.
.. note:: The ``text`` format is designed to be human readable, but .. note:: The ``text`` format is designed to be human readable, and
not meant to be parsed by automation tools. Please use the ``json`` not meant to be parsed by automation tools. Please use the ``json``
format for such purpose because it is machine readable. format if you need to process the output.
.. _creating-backups: .. _creating-backups:
@ -250,15 +251,15 @@ Please use the following environment variables to modify output behavior:
Creating Backups Creating Backups
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
This section explains how to create backup on physical host, or from This section explains how to create a backup from within the machine. This can
inside virtual machines or containers. Such backups may contain file be a physical host, a virtual machine, or a container. Such backups may contain file
and image archives (no restrictions here). and image archives. There are no restrictions in this case.
.. note:: If you want to backup virtual machines or containers see :ref:`pve-integration`. .. note:: If you want to backup virtual machines or containers on Proxmov VE, see :ref:`pve-integration`.
The prerequisite is that you have already set up (or can access) a For the following example you need to have a backup server set up, working
backup server. It is assumed that you know the repository name and credentials and need to know the repository name.
credentials. In the following examples we simply use ``backup-server:store1``. In the following examples we use ``backup-server:store1``.
.. code-block:: console .. code-block:: console
@ -275,15 +276,15 @@ credentials. In the following examples we simply use ``backup-server:store1``.
This will prompt you for a password and then uploads a file archive named This will prompt you for a password and then uploads a file archive named
``root.pxar`` containing all the files in the ``/`` directory. ``root.pxar`` containing all the files in the ``/`` directory.
.. Caution:: Please note that proxmox-backup-client does not .. Caution:: Please note that the proxmox-backup-client does not
automatically include mount points. Instead, you will see a short automatically include mount points. Instead, you will see a short
``skip mount point`` notice for each of them. The idea is that you ``skip mount point`` notice for each of them. The idea is to
create a separate file archive for each mounted disk. You can also create a separate file archive for each mounted disk. You can
explicitly include them using the ``--include-dev`` option explicitly include them using the ``--include-dev`` option
(i.e. ``--include-dev /boot/efi``). You can use this option (i.e. ``--include-dev /boot/efi``). You can use this option
multiple times, once for each mount point you want to include. multiple times for each mount point that should be included.
The ``--repository`` option is sometimes quite long and is used by all The ``--repository`` option can get quite long and is used by all
commands. You can avoid having to enter this value by setting the commands. You can avoid having to enter this value by setting the
environment variable ``PBS_REPOSITORY``. environment variable ``PBS_REPOSITORY``.
@ -291,26 +292,26 @@ environment variable ``PBS_REPOSITORY``.
# export PBS_REPOSTORY=backup-server:store1 # export PBS_REPOSTORY=backup-server:store1
You can then execute all commands without specifying the ``--repository`` After this you can execute all commands without specifying the ``--repository``
option. option.
One single backup is allowed to contain more than one archive. For example, assume you want to backup two disks mounted at ``/mmt/disk1`` and ``/mnt/disk2``: One single backup is allowed to contain more than one archive. For example, if
you want to backup two disks mounted at ``/mmt/disk1`` and ``/mnt/disk2``:
.. code-block:: console .. code-block:: console
# proxmox-backup-client backup disk1.pxar:/mnt/disk1 disk2.pxar:/mnt/disk2 # proxmox-backup-client backup disk1.pxar:/mnt/disk1 disk2.pxar:/mnt/disk2
This create a backup of both disks. This creates a backup of both disks.
The backup command takes a list of backup specifications, which The backup command takes a list of backup specifications, which
include archive name on the server, the type of the archive, and the include the archive name on the server, the type of the archive, and the
archive source at the client. The format is quite simple to understand: archive source at the client. The format is:
<archive-name>.<type>:<source-path> <archive-name>.<type>:<source-path>
Common types are ``.pxar`` for file archives, and ``.img`` for block Common types are ``.pxar`` for file archives, and ``.img`` for block
device images. Thus it is quite easy to create a backup for a block device images. To create a backup of a block device run the following command:
device:
.. code-block:: console .. code-block:: console
@ -320,42 +321,43 @@ Excluding files/folders from a backup
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sometimes it is desired to exclude certain files or folders from a backup archive. Sometimes it is desired to exclude certain files or folders from a backup archive.
Using the proxmox backup client this is possible via simple text based To tell the Proxmox backup client when and how to ignore files and directories,
``.pxarexclude`` files placed in the filesystem hierarchy. place a text file called ``.pxarexclude`` in the filesystem hierarchy.
Whenever the backup client encounters such a file in a directory, it interprets
each line as glob match patterns for files and directories that are to be excluded
from the backup.
Whenever such a file is encountered in a directory, the backup client reads its The file must contain a single glob pattern per line. Empty lines are ignored.
content and lines are interpreted as glob match patterns for files/directories The same is true for lines starting with ``#``, which indicates a comment.
to exclude from the archive. A ``!`` at the beginning of a line reverses the glob match pattern from an exclusion
The file must contain a single glob pattern on each line. Empty lines are ignored. to an explicit inclusion. This makes it possible to exclude all entries in a
The same is true for lines starting with ``#``, indicating a line containing comments. directory except for a few single files/subdirectories.
Lines starting with ``!`` correspond to glob match patterns for explicit inclusion Lines ending in ``/`` match only on directories.
of files previously excluded by a match. This allows for example to exclude The directory containing the ``.pxarexclude`` file is considered to be the root of
all entries in a directory except for a few single files. the given patterns. It is only possible to match files in this directory and its subdirectories.
Lines ending in ``/`` match directory entries only.
The folder containing the ``.pxarexclude`` file is considered to be the root of
the given patterns. It is only possible to match files in this or below this folder.
``\`` is used to escape glob characters. ``?`` matches any single character, ``\`` is used to escape special glob characters.
``*`` matches any character including the empty string. ``?`` matches any single character.
``**`` is used to match also subdirectories and can be used to exclude for example ``*`` matches any character, including an empty string.
all files ending in ``.tmp`` within the directory or a subdirectory by the ``**`` is used to match subdirectories. It can be used to, for example, exclude
all files ending in ``.tmp`` within the directory or subdirectories with the
following pattern ``**/*.tmp``. following pattern ``**/*.tmp``.
``[...]`` matches a single character from any of the provided characters within ``[...]`` matches a single character from any of the provided characters within
the brackets. ``[!...]`` does the complementary and matches any singe character the brackets. ``[!...]`` does the complementary and matches any singe character
not contained within the brackets. It is also possible to specify ranges by two not contained within the brackets. It is also possible to specify ranges with two
characters separated by ``-``. For example ``[a-z]`` matches any lowercase characters separated by ``-``. For example, ``[a-z]`` matches any lowercase
alphabetic character, ``[0-9]`` matches any one single digit. alphabetic character and ``[0-9]`` matches any one single digit.
The order of the glob match patterns defines if the file is finally included or The order of the glob match patterns defines if a file is included or
excluded, later entries win over previous ones. excluded, later entries win over previous ones.
This is also true for match patterns encountered deeper down the directory tree, This is also true for match patterns encountered deeper down the directory tree,
which may then override a previous exclusion. which can override a previous exclusion.
Note however that folders marked for exclusion are not read by the client, Be aware that excluded directories will **not** be read by the backup client.
so ``.pxarexclude`` files contained within have no effect. A ``.pxarexclude`` file in a subdirectory will have no effect.
``.pxarexclude`` files are treated as regular files and are also included in the ``.pxarexclude`` files are treated as regular files and will be included in the
backup archive. backup archive.
For example, consider the following folder structure: For example, consider the following directory structure:
.. code-block:: console .. code-block:: console
@ -369,7 +371,7 @@ For example, consider the following folder structure:
folder/subfolder1: folder/subfolder1:
. .. file0 file1 file2 file3 . .. file0 file1 file2 file3
The ``.pxarexclude`` files containing the following: The different ``.pxarexclude`` files contain the following:
.. code-block:: console .. code-block:: console
@ -386,7 +388,7 @@ The ``.pxarexclude`` files containing the following:
This would exclude ``file1`` and ``file3`` in ``subfolder0`` and all of This would exclude ``file1`` and ``file3`` in ``subfolder0`` and all of
``subfolder1`` except ``file2``. ``subfolder1`` except ``file2``.
Restoring this archive form backup results in: Restoring this backup will result in:
.. code-block:: console .. code-block:: console
@ -403,8 +405,8 @@ Restoring this archive form backup results in:
Encryption Encryption
^^^^^^^^^^ ^^^^^^^^^^
Proxmox backup support client side encryption using AES-256 in GCM_ Proxmox backup supports client side encryption with AES-256 in GCM_
mode. You first need to create an encryption key in order to use that: mode. First you need to create an encryption key:
.. code-block:: console .. code-block:: console
@ -416,7 +418,7 @@ extra protection, you can also create it without a password:
.. code-block:: console .. code-block:: console
# proxmox-backup-client key create /path/to/my-backup.key --kdf none # proxmox-backup-client key create /path/to/my-backup.key --kdf none
.. code-block:: console .. code-block:: console
@ -427,7 +429,7 @@ extra protection, you can also create it without a password:
... ...
You can avoid having to enter the passwords by setting the environment You can avoid entering the passwords by setting the environment
variables ``PBS_PASSWORD`` and ``PBS_ENCRYPTION_PASSWORD``. variables ``PBS_PASSWORD`` and ``PBS_ENCRYPTION_PASSWORD``.
.. todo:: Explain master-key .. todo:: Explain master-key
@ -437,12 +439,12 @@ Restoring Data
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
The regular creation of backups is a necessary step to avoid data The regular creation of backups is a necessary step to avoid data
loss. More important, however, is the restoration. Be sure to perform loss. More important, however, is the restoration. It is good practice to perform
periodic recovery tests to ensure that you can access your data in periodic recovery tests to ensure that you can access the data in
case of problems. case of problems.
First, you need to find the snapshot you want to restore. The snapshot First, you need to find the snapshot which you want to restore. The snapshot
command gives you a list of all snapshots on the server: command gives a list of all snapshots on the server:
.. code-block:: console .. code-block:: console
@ -452,7 +454,7 @@ command gives you a list of all snapshots on the server:
host/elsa/2019-12-03T09:35:01Z | 51790622048 | root.pxar catalog.pcat1 index.json host/elsa/2019-12-03T09:35:01Z | 51790622048 | root.pxar catalog.pcat1 index.json
... ...
You can also inspect the catalog to find specific files. You can inspect the catalog to find specific files.
.. code-block:: console .. code-block:: console
@ -470,9 +472,8 @@ backup.
# proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z root.pxar /target/path/ # proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z root.pxar /target/path/
You can instead simply download the contents of any archive using '-' To get the contents of any archive you can restore the ``ìndex.json`` file in the
instead of ``/target/path``. This dumps the content to standard repository and restore it to '-'. This will dump the content to the standard output.
output:
.. code-block:: console .. code-block:: console
@ -494,20 +495,18 @@ to use the interactive recovery shell.
... ...
The interactive recovery shell is a minimalistic command line interface that The interactive recovery shell is a minimalistic command line interface that
utilizes the metadata stored in the catalog for you to quickly list, navigate and utilizes the metadata stored in the catalog to quickly list, navigate and
search files contained within a file archive. search files in a file archive.
You can select individual files as well as select files matched by a glob pattern To restore files, you can select them individually or match them with a glob
for restore. pattern.
The use of the catalog for navigation reduces the overhead otherwise caused by Using the catalog for navigation reduces the overhead considerably because only
network traffic and decryption, as instead of downloading and decrypting the catalog needs to be downloaded and, optionally, decrypted.
individual encrypted chunks from the chunk-store to access the metadata, we only
need to download and decrypt the catalog.
The actual chunks are only accessed if the metadata in the catalog is not enough The actual chunks are only accessed if the metadata in the catalog is not enough
or for the actual restore. or for the actual restore.
Similar to common UNIX shells ``cd`` and ``ls`` are the commands used to change Similar to common UNIX shells ``cd`` and ``ls`` are the commands used to change
working directory and list directory contents of the archive. working directory and list directory contents in the archive.
``pwd`` shows the full path of the current working directory with respect to the ``pwd`` shows the full path of the current working directory with respect to the
archive root. archive root.
@ -567,7 +566,7 @@ This allows you to access the full content of the archive in a seamless manner.
load on your host, depending on the operations you perform on the mounted load on your host, depending on the operations you perform on the mounted
filesystem. filesystem.
To unmount the filesystem simply use the ``umount`` command on the mountpoint: To unmount the filesystem use the ``umount`` command on the mountpoint:
.. code-block:: console .. code-block:: console
@ -579,7 +578,7 @@ Login and Logout
The client tool prompts you to enter the logon password as soon as you The client tool prompts you to enter the logon password as soon as you
want to access the backup server. The server checks your credentials want to access the backup server. The server checks your credentials
and responds with a ticket that is valid for two hours. The client and responds with a ticket that is valid for two hours. The client
tool automatically stores that ticket and use it for further requests tool automatically stores that ticket and uses it for further requests
to this server. to this server.
You can also manually trigger this login/logout using the login and You can also manually trigger this login/logout using the login and
@ -590,7 +589,7 @@ logout commands:
# proxmox-backup-client login # proxmox-backup-client login
Password: ********** Password: **********
To remove the ticket, simply issue a logout: To remove the ticket, issue a logout:
.. code-block:: console .. code-block:: console
@ -608,60 +607,62 @@ command:
# proxmox-backup-client forget <snapshot> # proxmox-backup-client forget <snapshot>
.. caution:: This command removes all the archives in this backup .. caution:: This command removes all archives in this backup
snapshot so that they are inaccessible and unrecoverable. snapshot. They will be inaccessible and unrecoverable.
Such manual removal is sometimes required, but normally the prune The manual removal is sometimes required, but normally the prune
command is used to systematically delete older backups. Prune lets command is used to systematically delete older backups. Prune lets
you specify which backup snapshots you want to keep. There are the you specify which backup snapshots you want to keep. The
following retention options: following retention options are available:
``--keep-last <N>`` ``--keep-last <N>``
Keep the last ``<N>`` backup snapshots. Keep the last ``<N>`` backup snapshots.
``--keep-hourly <N>`` ``--keep-hourly <N>``
Keep backups for the last ``<N>`` different hours. If there is more than one Keep backups for the last ``<N>`` hours. If there is more than one
backup for a single hour, only the latest one is kept. backup for a single hour, only the latest is kept.
``--keep-daily <N>`` ``--keep-daily <N>``
Keep backups for the last ``<N>`` different days. If there is more than one Keep backups for the last ``<N>`` days. If there is more than one
backup for a single day, only the latest one is kept. backup for a single day, only the latest is kept.
``--keep-weekly <N>`` ``--keep-weekly <N>``
Keep backups for the last ``<N>`` different weeks. If there is more than one Keep backups for the last ``<N>`` weeks. If there is more than one
backup for a single week, only the latest one is kept. backup for a single week, only the latest is kept.
.. note:: The weeks start on Monday and end on Sunday. The software .. note:: Weeks start on Monday and end on Sunday. The software
uses the `ISO week date`_ system and correctly handles weeks at uses the `ISO week date`_ system and handles weeks at
the end of the year. the end of the year correctly.
``--keep-monthly <N>`` ``--keep-monthly <N>``
Keep backups for the last ``<N>`` different months. If there is more than one Keep backups for the last ``<N>`` months. If there is more than one
backup for a single month, only the latest one is kept. backup for a single month, only the latest is kept.
``--keep-yearly <N>`` ``--keep-yearly <N>``
Keep backups for the last ``<N>`` different years. If there is more than one Keep backups for the last ``<N>`` years. If there is more than one
backup for a single year, only the latest one is kept. backup for a single year, only the latest is kept.
The retention options are processed in the order given above. Each option
only covers backups within its time period. The next option does not take care
of already covered backups. It will only consider older backups.
Those retention options are processed in the order given above. Each For example, the ``--keep-monthly`` option does not consider any backup that is
option covers a specific period of time. We say that backups within younger than one month.
this period are covered by this option. The next option does not take
care of already covered backups and only considers older backups.
The prune command also looks for unfinished and incomplete backups and .. todo:: check if the previous statement is correct
removes them unless they are newer than the last successful backup. In
this case, the last failed backup is retained. Unfinished and incomplete backups will be removed by the prune command unless
they are newer than the last successful backup. In this case, the last failed
backup is retained.
.. code-block:: console .. code-block:: console
# proxmox-backup-client prune <group> --keep-daily 7 --keep-weekly 4 --keep-monthly 3 # proxmox-backup-client prune <group> --keep-daily 7 --keep-weekly 4 --keep-monthly 3
You can use the ``--dry-run`` option to test your settings. This just You can use the ``--dry-run`` option to test your settings. This only
shows the list of existing snapshots and what action prune would take shows the list of existing snapshots and which action prune would take.
on that.
.. code-block:: console .. code-block:: console
@ -676,8 +677,8 @@ on that.
.. note:: Neither the ``prune`` command nor the ``forget`` command free space .. note:: Neither the ``prune`` command nor the ``forget`` command free space
in the chunk-store. The chunk-store still contains the data blocks in the chunk-store. The chunk-store still contains the data blocks. To free
unless you are performing :ref:`garbage-collection`. space you need to perform :ref:`garbage-collection`.
.. _garbage-collection: .. _garbage-collection:
@ -687,8 +688,7 @@ Garbage Collection
The ``prune`` command removes only the backup index files, not the data The ``prune`` command removes only the backup index files, not the data
from the data store. This task is left to the garbage collection from the data store. This task is left to the garbage collection
command. It is therefore recommended to carry out garbage collection command. It is recommended to carry out garbage collection on a regular basis.
regularly.
The garbage collection works in two phases. In the first phase, all The garbage collection works in two phases. In the first phase, all
data blocks that are still in use are marked. In the second phase, data blocks that are still in use are marked. In the second phase,

View File

@ -5,24 +5,23 @@ Glossary
`Virtual machine`_ `Virtual machine`_
A Virtual machine is a program that can execute an entire A virtual machine is a program that can execute an entire
operatin system inside an emulated hardware environment. operating system inside an emulated hardware environment.
`Container`_ `Container`_
A Container is an isolated user space. Programs runs directly on A container is an isolated user space. Programs run directly on
the hosts kernel, but with limited access to the host resources. the host's kernel, but with limited access to the host resources.
Datastore Datastore
A place to store backups. The current implemenation is A place to store backups. A directory which contains the backup data.
file-system based, so this refers to a directory containing the The current implemenation is file-system based.
backup data.
`Rust`_ `Rust`_
Rust is a new, fast and memory-efficient system programming Rust is a new, fast and memory-efficient system programming
language, with no runtime or garbage collector. Rusts rich type language. It has no runtime or garbage collector. Rusts rich type
system and ownership model guarantee memory-safety and system and ownership model guarantee memory-safety and
thread-safety. I can eliminate many classes of bugs thread-safety. I can eliminate many classes of bugs
at compile-time. at compile-time.
@ -31,11 +30,9 @@ Glossary
Is a tool that makes it easy to create intelligent and Is a tool that makes it easy to create intelligent and
beautiful documentation. It was originally created for the beautiful documentation. It was originally created for the
Python documentation, and it has excellent facilities for the documentation of the Python programming language. It has excellent facilities for the
documentation of software projects in a range of languages. documentation of software projects in a range of languages.
`reStructuredText`_ `reStructuredText`_
Is an easy-to-read, what-you-see-is-what-you-get plaintext Is an easy-to-read, what-you-see-is-what-you-get plaintext
@ -44,8 +41,8 @@ Glossary
`FUSE` `FUSE`
Filesystem in Userspace (`FUSE <https://en.wikipedia.org/wiki/Filesystem_in_Userspace>`_) Filesystem in Userspace (`FUSE <https://en.wikipedia.org/wiki/Filesystem_in_Userspace>`_)
defines an interface which allows to implement a filesystem in defines an interface which makes it possible to implement a filesystem in
userspace as opposed to implementing it in the kernel. The fuse userspace as opposed to implementing it in the kernel. The fuse
kernel driver handles filesystem requests and sends them to an kernel driver handles filesystem requests and sends them to a
userspace application for reply. userspace application.

View File

@ -1,55 +1,50 @@
Installation Installation
============ ============
`Proxmox Backup`_ is split into a server part and a client part. The `Proxmox Backup`_ is split into a server and client part. The server part
server part comes with it's own graphical installer, but we also can either be installed with a graphical installer or on top of
ship Debian_ package repositories, so you can easily install those Debian_ from the provided package repository.
packages on any Debian_ based system.
.. include:: package-repositories.rst .. include:: package-repositories.rst
Server installation Server installation
------------------- -------------------
The backup server stores the actual backup data, but also provides a The backup server stores the actual backed up data and provides a web based GUI
web based GUI for various management tasks, for example disk for various management tasks such as disk management.
management.
.. note:: You always need a backup server. It is not possible to use .. note:: You always need a backup server. It is not possible to use
`Proxmox Backup`_ without the server part. `Proxmox Backup`_ without the server part.
The server is based on Debian, therefore the disk image (ISO file) provided The disk image (ISO file) provided by Proxmox includes a complete Debian system
by us includes a complete Debian system ("buster" for version 1.x) as ("buster" for version 1.x) as well as all necessary packages for the `Proxmox Backup`_ server.
well as all necessary backup packages.
Using the installer will guide you through the setup, allowing The installer will guide you through the setup process and allows
you to partition the local disk(s), apply basic system configurations you to partition the local disk(s), apply basic system configurations
(e.g. timezone, language, network) and install all required packages. (e.g. timezone, language, network), and installs all required packages.
Using the provided ISO will get you started in just a few minutes, The provided ISO will get you started in just a few minutes, and is the
that's why we recommend this method for new and existing users. recommended method for new and existing users.
Alternatively, `Proxmox Backup`_ server can be installed on top of an Alternatively, `Proxmox Backup`_ server can be installed on top of an
existing Debian system. existing Debian system.
Using the `Proxmox Backup`_ Installer Install `Proxmox Backup`_ with the Installer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can download the ISO from |DOWNLOADS|. Download the ISO from |DOWNLOADS|.
It includes the following: It includes the following:
* The `Proxmox Backup`_ server installer, which partitions the local
disk(s) with ext4, ext3, xfs or ZFS, and installs the operating
system.
* Complete operating system (Debian Linux, 64-bit) * Complete operating system (Debian Linux, 64-bit)
* The `Proxmox Backup`_ server installer, which partitions the local
disk(s) with ext4, ext3, xfs or ZFS and installs the operating
system.
* Our Linux kernel with ZFS support. * Our Linux kernel with ZFS support.
* Complete toolset for administering backups and all necessary * Complete tool-set to administer backups and all necessary resources
resources
* Web based management interface for using the toolset * Web based GUI management interface
.. note:: During the installation process, the complete server .. note:: During the installation process, the complete server
is used by default and all existing data is removed. is used by default and all existing data is removed.
@ -58,8 +53,8 @@ It includes the following:
Install `Proxmox Backup`_ server on Debian Install `Proxmox Backup`_ server on Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proxmox ships as a set of Debian packages, so you can install it on Proxmox ships as a set of Debian packages which can be installed on top of a
top of a standard Debian installation. After configuring the standard Debian installation. After configuring the
:ref:`sysadmin_package_repositories`, you need to run: :ref:`sysadmin_package_repositories`, you need to run:
.. code-block:: console .. code-block:: console
@ -67,7 +62,7 @@ top of a standard Debian installation. After configuring the
# apt-get update # apt-get update
# apt-get install proxmox-backup-server # apt-get install proxmox-backup-server
Above code keeps the current (Debian) kernel and installs a minimal The commands above keep the current (Debian) kernel and install a minimal
set of required packages. set of required packages.
If you want to install the same set of packages as the installer If you want to install the same set of packages as the installer
@ -78,16 +73,15 @@ does, please use the following:
# apt-get update # apt-get update
# apt-get install proxmox-backup # apt-get install proxmox-backup
This installs all required packages, the Proxmox kernel with ZFS_ This will install all required packages, the Proxmox kernel with ZFS_
support, and a set of commonly useful packages. support, and a set of common and useful packages.
Installing on top of an existing Debian_ installation looks easy, but Installing `Proxmox Backup`_ on top of an existing Debian_ installation looks easy, but
it presumes that you have correctly installed the base system, and you it presumes that the base system and local storage has been set up correctly.
know how you want to configure and use the local storage. Network
configuration is also completely up to you.
In general, this is not trivial, especially when you use LVM_ or In general this is not trivial, especially when LVM_ or ZFS_ is used.
ZFS_.
The network configuration is completely up to you as well.
Install Proxmox Backup server on `Proxmox VE`_ Install Proxmox Backup server on `Proxmox VE`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -101,9 +95,9 @@ After configuring the
# apt-get install proxmox-backup-server # apt-get install proxmox-backup-server
.. caution:: Installing the backup server directly on the hypervisor .. caution:: Installing the backup server directly on the hypervisor
is not recommended. It is more secure to use a separate physical is not recommended. It is safer to use a separate physical
server to store backups. If the hypervisor server fails, you can server to store backups. Should the hypervisor server fail, you can
still access your backups. still access the backups.
Client installation Client installation
------------------- -------------------
@ -111,8 +105,8 @@ Client installation
Install `Proxmox Backup`_ client on Debian Install `Proxmox Backup`_ client on Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proxmox ships as a set of Debian packages, so you can install it on Proxmox ships as a set of Debian packages to be installed on
top of a standard Debian installation. After configuring the top of a standard Debian installation. After configuring the
:ref:`sysadmin_package_repositories`, you need to run: :ref:`sysadmin_package_repositories`, you need to run:
.. code-block:: console .. code-block:: console

View File

@ -1,14 +1,14 @@
Introduction Introduction
============ ============
This documentationm is written in :term:`reStructuredText` and formatted with :term:`Sphinx`. This documentation is written in :term:`reStructuredText` and formatted with :term:`Sphinx`.
What is Proxmox Backup What is Proxmox Backup
---------------------- ----------------------
Proxmox Backup is an enterprise class client-server backup software, Proxmox Backup is an enterprise class client-server backup software,
specially optimized for `Proxmox Virtual Environment`_ to backup specially optimized for the `Proxmox Virtual Environment`_ to backup
:term:`virtual machine`\ s and :term:`container`\ s. It is also :term:`virtual machine`\ s and :term:`container`\ s. It is also
possible to backup physical hosts. possible to backup physical hosts.
@ -24,23 +24,23 @@ Architecture
------------ ------------
Proxmox Backup uses a `Client-server model`_. The server is Proxmox Backup uses a `Client-server model`_. The server is
responsible to store the backup data, and provides an API to create responsible to store the backup data and provides an API to create
backups and restore data. It is also possible to manage disks and backups and restore data. It is possible to manage disks and
other server side resources using this API. other server side resources using this API.
A backup client uses this API to access the backed up data, A backup client uses this API to access the backed up data,
i.e. ``proxmox-backup-client`` is a command line tool to create i.e. ``proxmox-backup-client`` is a command line tool to create
backups and restore data. We also deliver an integrated client for backups and restore data. We deliver an integrated client for
QEMU_ with `Proxmox Virtual Environment`_. QEMU_ with `Proxmox Virtual Environment`_.
A single backup is allowed to contain several archives. For example, A single backup is allowed to contain several archives. For example,
when you backup a :term:`virtual machine`, each disk is stored as a when you backup a :term:`virtual machine`, each disk is stored as a
separate archive inside that backup. The VM configuration also gets an separate archive inside that backup. The VM configuration also gets an
extra file. This way, it is easy to access and restore important parts extra file. This way, it is easy to access and restore important parts
of the backup, without having to scan the whole backup. of the backup without having to scan the whole backup.
Main features Main Features
------------- -------------
:Proxmox VE: The `Proxmox Virtual Environment`_ is fully :Proxmox VE: The `Proxmox Virtual Environment`_ is fully
@ -49,52 +49,52 @@ Main features
:GUI: We provide a graphical, web based user interface. :GUI: We provide a graphical, web based user interface.
:Deduplication: Incremental backup produces large amounts of duplicate :Deduplication: Incremental backups produce large amounts of duplicate
data. The deduplication layer removes that redundancy and makes data. The deduplication layer removes that redundancy and makes
inkremental backup small and space efficient. incremental backups small and space efficient.
:Data Integrity: The built in `SHA-256`_ checksum algorithm assures the :Data Integrity: The built in `SHA-256`_ checksum algorithm assures the
accuracy and consistency of your backups. accuracy and consistency of your backups.
:Remote Sync: It is possible to efficently synchronize data to remote :Remote Sync: It is possible to efficiently synchronize data to remote
sites. Only deltas containing new data are transfered. sites. Only deltas containing new data are transferred.
:Performance: The whole software stack is written in :term:`Rust`, :Performance: The whole software stack is written in :term:`Rust`,
which provides high speed and memory efficiency. to provide high speed and memory efficiency.
:Compression: Ultra fast Zstandard_ compression is able to compress :Compression: Ultra fast Zstandard_ compression is able to compress
several gigabytes of data per second. several gigabytes of data per second.
:Encryption: Backups can be encrypted at client side using AES-256 in :Encryption: Backups can be encrypted client-side using AES-256 in
GCM_ mode. This authenticated encryption mode (AE_) provides very GCM_ mode. This authenticated encryption mode (AE_) provides very
high performance on modern hardware. high performance on modern hardware.
:Open Source: No secrets. You have access to the whole source tree. :Open Source: No secrets. You have access to all the source code.
:Support: Commercial support options available from `Proxmox`_. :Support: Commercial support options are available from `Proxmox`_.
Why Backup? Why Backup?
----------- -----------
The primary purpose of backup is to protect against data loss. Data The primary purpose of a backup is to protect against data loss. Data
loss can happen because of faulty hardware, but also by human errors. loss can be caused by faulty hardware, but also by human error.
A common mistake is to delete a file or folder which is still A common mistake is to delete a file or folder which is still
required. Virtualization can amplify this problem, because it is now required. Virtualization can amplify this problem. It is now
easy to delete a whole virtual machine by a single button press. easy to delete a whole virtual machine by pressing a single button.
Backups can also serve as a toolkit for administrators to temporarily Backups can serve as a toolkit for administrators to temporarily
store data. For example, it is common practice to perform full backups store data. For example, it is common practice to perform full backups
before installing major software updates. If something goes wrong, you before installing major software updates. If something goes wrong, you
can just restore the previous state. can restore the previous state.
Another reason for backups are legal requirements. Some data must be Another reason for backups are legal requirements. Some data must be
kept in a safe place for several years so that you can access it if kept in a safe place for several years by law, so that it can be accessed if
required by law. required.
Data loss can be very costly as it can severely restrict your Data loss can be very costly as it can severely restrict your
business. Therefore, make sure that you regularly perform a backup business. Therefore, make sure that you perform a backup regularly
and run restore tests. and run restore tests.

View File

@ -5,12 +5,12 @@ Debian Package Repositories
All Debian based systems use APT_ as package All Debian based systems use APT_ as package
management tool. The list of repositories is defined in management tool. The list of repositories is defined in
``/etc/apt/sources.list`` and ``.list`` files found inside ``/etc/apt/sources.list`` and ``.list`` files found in the
``/etc/apt/sources.d/``. Updates can be installed directly using ``/etc/apt/sources.d/`` directory. Updates can be installed directly with
the ``apt`` command line tool, or via the GUI. the ``apt`` command line tool, or via the GUI.
APT_ ``sources.list`` files list one package repository per line, with APT_ ``sources.list`` files list one package repository per line, with
the most preferred source listed first. Empty lines are ignored, and a the most preferred source listed first. Empty lines are ignored and a
``#`` character anywhere on a line marks the remainder of that line as a ``#`` character anywhere on a line marks the remainder of that line as a
comment. The information available from the configured sources is comment. The information available from the configured sources is
acquired by ``apt update``. acquired by ``apt update``.
@ -33,7 +33,7 @@ the backup server binaries.
`Proxmox Backup`_ Enterprise Repository `Proxmox Backup`_ Enterprise Repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is the default, stable and recommended repository, available for This is the default, stable, and recommended repository. It is available for
all `Proxmox Backup`_ subscription users. It contains the most stable packages, all `Proxmox Backup`_ subscription users. It contains the most stable packages,
and is suitable for production use. The ``pbs-enterprise`` repository is and is suitable for production use. The ``pbs-enterprise`` repository is
enabled by default: enabled by default:
@ -44,15 +44,13 @@ enabled by default:
deb https://enterprise.proxmox.com/debian/pbs buster pbs-enterprise deb https://enterprise.proxmox.com/debian/pbs buster pbs-enterprise
As soon as updates are available, the superuser (``root@pam`` user) is To never miss important security fixes, the superuser (``root@pam`` user) is
notified via email about the available new packages. On the GUI, the notified via email about new packages as soon as they are available. The
change-log of each package can be viewed (if available), showing all change-log and details of each package can be viewed in the GUI (if available).
details of the update. So you will never miss important security
fixes.
Please note that you need a valid subscription key to access this Please note that you need a valid subscription key to access this
repository. We offer different support levels, and you can find further repository. More information regarding subscription levels and pricing can be
details at https://www.proxmox.com/en/proxmox-backup/pricing. found at https://www.proxmox.com/en/proxmox-backup/pricing.
.. note:: You can disable this repository by commenting out the above .. note:: You can disable this repository by commenting out the above
line using a `#` (at the start of the line). This prevents error line using a `#` (at the start of the line). This prevents error
@ -65,7 +63,7 @@ details at https://www.proxmox.com/en/proxmox-backup/pricing.
As the name suggests, you do not need a subscription key to access As the name suggests, you do not need a subscription key to access
this repository. It can be used for testing and non-production this repository. It can be used for testing and non-production
use. Its not recommended to run on production servers, as these use. It is not recommended to use it on production servers, because these
packages are not always heavily tested and validated. packages are not always heavily tested and validated.
We recommend to configure this repository in ``/etc/apt/sources.list``. We recommend to configure this repository in ``/etc/apt/sources.list``.
@ -92,9 +90,9 @@ latest packages and is heavily used by developers to test new
features. features.
.. warning:: the ``pbstest`` repository should (as the name implies) .. warning:: the ``pbstest`` repository should (as the name implies)
only be used for testing new features or bug fixes. only be used to test new features or bug fixes.
As usual, you can configure this using ``/etc/apt/sources.list`` by You can configure this using ``/etc/apt/sources.list`` by
adding the following line: adding the following line:
.. code-block:: sources.list .. code-block:: sources.list

View File

@ -1,15 +1,15 @@
Description Description
^^^^^^^^^^^ ^^^^^^^^^^^
``pxar`` is a command line utility used to create and manipulate archives in the ``pxar`` is a command line utility to create and manipulate archives in the
:ref:`pxar-format`. :ref:`pxar-format`.
It is inspired by `casync file archive format It is inspired by `casync file archive format
<http://0pointer.net/blog/casync-a-tool-for-distributing-file-system-images.html>`_, <http://0pointer.net/blog/casync-a-tool-for-distributing-file-system-images.html>`_,
which has a similar use-case. which caters to a similar use-case.
The ``.pxar`` format is adapted to fulfill the specific needs of the proxmox The ``.pxar`` format is adapted to fulfill the specific needs of the Proxmox
backup server, for example efficient storage of hardlinks. Backup Server, for example, efficient storage of hardlinks.
The format is designed to reduce storage space needed on the server by achieving The format is designed to reduce storage space needed on the server by achieving
high de-duplication. a high level of de-duplication.
Creating an Archive Creating an Archive
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
@ -20,23 +20,23 @@ Run the following command to create an archive of a folder named ``source``:
# pxar create archive.pxar source # pxar create archive.pxar source
This will create a new archive called ``archive.pxar`` from the contents of the This will create a new archive called ``archive.pxar`` with the contents of the
``source`` folder. ``source`` folder.
.. NOTE:: ``pxar`` will not overwrite any existing archives. If an archive with .. NOTE:: ``pxar`` will not overwrite any existing archives. If an archive with
the same name is already present in the target folder, the creation will the same name is already present in the target folder, the creation will
fail. fail.
By default, ``pxar`` will skip certain mountpoints and not follow device By default, ``pxar`` will skip certain mountpoints and will not follow device
boundaries. This design decision is based on the primary use case of creating boundaries. This design decision is based on the primary use case of creating
archives for backups, where it makes no sense to store the content of certain archives for backups. It is sensible to not back up the contents of certain
temporary or system specific files. temporary or system specific files.
In order to alter this behavior and follow device boundaries, use the To alter this behavior and follow device boundaries, use the
``--all-file-systems`` flag. ``--all-file-systems`` flag.
It is possible to exclude certain files and/or folders from the archive by It is possible to exclude certain files and/or folders from the archive by
passing glob match patterns as additional parameters. Whenever a file is matched passing glob match patterns as additional parameters. Whenever a file is matched
by one of the patterns, you will get a warning saying that this file is skipped by one of the patterns, you will get a warning stating that this file is skipped
and therefore not included in the archive. and therefore not included in the archive.
For example, you can exclude all files ending in ``.txt`` from the archive For example, you can exclude all files ending in ``.txt`` from the archive
@ -50,7 +50,7 @@ Be aware that the shell itself will try to expand all of the glob patterns befor
invoking ``pxar``. invoking ``pxar``.
In order to avoid this, all globs have to be quoted correctly. In order to avoid this, all globs have to be quoted correctly.
It is also possible to pass a list of match pattern to fulfill more complex It is possible to pass a list of match patterns to fulfill more complex
file exclusion/inclusion behavior, although it is recommended to use the file exclusion/inclusion behavior, although it is recommended to use the
``.pxarexclude`` files instead for such cases. ``.pxarexclude`` files instead for such cases.
@ -67,7 +67,7 @@ All the glob pattern are relative to the ``source`` directory.
previous ones. Permutations of the same patterns lead to different results. previous ones. Permutations of the same patterns lead to different results.
``pxar`` will store the list of glob match patterns passed as parameters via the ``pxar`` will store the list of glob match patterns passed as parameters via the
command line in a file called ``.pxarexclude-cli`` and store it at the root of command line in a file called ``.pxarexclude-cli`` and stores it at the root of
the archive. the archive.
If a file with this name is already present in the source folder during archive If a file with this name is already present in the source folder during archive
creation, this file is not included in the archive and the file containing the creation, this file is not included in the archive and the file containing the
@ -79,9 +79,9 @@ It is possible to create and place these files in any directory of the filesyste
tree. tree.
These files must contain one pattern per line, again later patterns win over These files must contain one pattern per line, again later patterns win over
previous ones. previous ones.
The patterns control file exclusion of files present within the given directory The patterns control file exclusions of files present within the given directory
or further below it in the tree. or further below it in the tree.
The behaviour is the same as described in :ref:`creating-backups`. The behavior is the same as described in :ref:`creating-backups`.
Extracting an Archive Extracting an Archive
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^
@ -96,7 +96,7 @@ with the following command:
If no target is provided, the content of the archive is extracted to the current If no target is provided, the content of the archive is extracted to the current
working directory. working directory.
In order to restore only part of an archive or single files and/or folders, In order to restore only parts of an archive, single files and/or folders,
it is possible to pass the corresponding glob match patterns as additional it is possible to pass the corresponding glob match patterns as additional
parameters or use the patterns stored in a file: parameters or use the patterns stored in a file:
@ -109,8 +109,8 @@ sub-folders in the archive ``etc.pxar`` to the target ``/restore/target/etc``.
A path to the file containing match patterns can be specified using the A path to the file containing match patterns can be specified using the
``--files-from`` parameter. ``--files-from`` parameter.
List the Content of an Archive List the Contents of an Archive
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To display the files and directories contained in an archive ``archive.pxar``, To display the files and directories contained in an archive ``archive.pxar``,
run the following command: run the following command:
@ -126,7 +126,7 @@ Mounting an Archive
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
``pxar`` allows you to mount and inspect the contents of an archive via _`FUSE`. ``pxar`` allows you to mount and inspect the contents of an archive via _`FUSE`.
In order to mount an archive named ``archive.pxar`` to the mountpoint ``mnt``, In order to mount an archive named ``archive.pxar`` to the mountpoint ``/mnt``,
run the command: run the command:
.. code-block:: console .. code-block:: console