mirror of
https://github.com/restic/restic.git
synced 2025-08-23 16:17:53 +00:00
Merge branch 'master' into windows-securitydesc
This commit is contained in:
@@ -77,8 +77,7 @@ avoid any conflicts:
|
||||
macOS
|
||||
=====
|
||||
|
||||
If you are using macOS, you can install restic using the
|
||||
`homebrew <https://brew.sh/>`__ package manager:
|
||||
If you are using macOS, you can install restic using `Homebrew <https://brew.sh/>`__:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -363,3 +362,18 @@ Example for using sudo to write a zsh completion script directly to the system-w
|
||||
the operating system used, e.g. ``/usr/share/bash-completion/completions/restic``
|
||||
in Debian and derivatives. Please look up the correct path in the appropriate
|
||||
documentation.
|
||||
|
||||
Example for setting up a powershell completion script for the local user's profile:
|
||||
|
||||
.. code-block:: pwsh-session
|
||||
|
||||
# Create profile if one does not exist
|
||||
PS> If (!(Test-Path $PROFILE.CurrentUserAllHosts)) {New-Item -Path $PROFILE.CurrentUserAllHosts -Force}
|
||||
|
||||
PS> $ProfileDir = (Get-Item $PROFILE.CurrentUserAllHosts).Directory
|
||||
|
||||
# Generate Restic completions in the same directory as the profile
|
||||
PS> restic generate --powershell-completion "$ProfileDir\restic-completion.ps1"
|
||||
|
||||
# Append to the profile file the command to load Restic completions
|
||||
PS> Add-Content -Path $PROFILE.CurrentUserAllHosts -Value "`r`nImport-Module $ProfileDir\restic-completion.ps1"
|
||||
|
@@ -201,15 +201,16 @@ scheme like this:
|
||||
$ restic -r rest:http://host:8000/ init
|
||||
|
||||
Depending on your REST server setup, you can use HTTPS protocol,
|
||||
password protection, multiple repositories or any combination of
|
||||
those features. The TCP/IP port is also configurable. Here
|
||||
are some more examples:
|
||||
unix socket, password protection, multiple repositories or any
|
||||
combination of those features. The TCP/IP port is also configurable.
|
||||
Here are some more examples:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ restic -r rest:https://host:8000/ init
|
||||
$ restic -r rest:https://user:pass@host:8000/ init
|
||||
$ restic -r rest:https://user:pass@host:8000/my_backup_repo/ init
|
||||
$ restic -r rest:http+unix:///tmp/rest.socket:/my_backup_repo/ init
|
||||
|
||||
The server username and password can be specified using environment
|
||||
variables as well:
|
||||
|
@@ -56,6 +56,39 @@ snapshot for each volume that contains files to backup. Files are read from the
|
||||
VSS snapshot instead of the regular filesystem. This allows to backup files that are
|
||||
exclusively locked by another process during the backup.
|
||||
|
||||
You can use additional options to change VSS behaviour:
|
||||
|
||||
* ``-o vss.timeout`` specifies timeout for VSS snapshot creation, the default value is 120 seconds
|
||||
* ``-o vss.exclude-all-mount-points`` disable auto snapshotting of all volume mount points
|
||||
* ``-o vss.exclude-volumes`` allows excluding specific volumes or volume mount points from snapshotting
|
||||
* ``-o vss.provider`` specifies VSS provider used for snapshotting
|
||||
|
||||
For example a 2.5 minutes timeout with snapshotting of mount points disabled can be specified as
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
-o vss.timeout=2m30s -o vss.exclude-all-mount-points=true
|
||||
|
||||
and excluding drive ``d:\``, mount point ``c:\mnt`` and volume ``\\?\Volume{04ce0545-3391-11e0-ba2f-806e6f6e6963}\`` as
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
-o vss.exclude-volumes="d:;c:\mnt\;\\?\volume{04ce0545-3391-11e0-ba2f-806e6f6e6963}"
|
||||
|
||||
VSS provider can be specified by GUID
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
-o vss.provider={3f900f90-00e9-440e-873a-96ca5eb079e5}
|
||||
|
||||
or by name
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
-o vss.provider="Hyper-V IC Software Shadow Copy Provider"
|
||||
|
||||
Also ``MS`` can be used as alias for ``Microsoft Software Shadow Copy provider 1.0``.
|
||||
|
||||
By default VSS ignores Outlook OST files. This is not a restriction of restic
|
||||
but the default Windows VSS configuration. The files not to snapshot are
|
||||
configured in the Windows registry under the following key:
|
||||
|
@@ -18,19 +18,21 @@ Working with repositories
|
||||
Listing all snapshots
|
||||
=====================
|
||||
|
||||
Now, you can list all the snapshots stored in the repository:
|
||||
Now, you can list all the snapshots stored in the repository. The size column
|
||||
only exists for snapshots created using restic 0.17.0 or later. It reflects the
|
||||
size of the contained files at the time when the snapshot was created.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ restic -r /srv/restic-repo snapshots
|
||||
enter password for repository:
|
||||
ID Date Host Tags Directory
|
||||
----------------------------------------------------------------------
|
||||
40dc1520 2015-05-08 21:38:30 kasimir /home/user/work
|
||||
79766175 2015-05-08 21:40:19 kasimir /home/user/work
|
||||
bdbd3439 2015-05-08 21:45:17 luigi /home/art
|
||||
590c8fc8 2015-05-08 21:47:38 kazik /srv
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv
|
||||
ID Date Host Tags Directory Size
|
||||
-------------------------------------------------------------------------
|
||||
40dc1520 2015-05-08 21:38:30 kasimir /home/user/work 20.643GiB
|
||||
79766175 2015-05-08 21:40:19 kasimir /home/user/work 20.645GiB
|
||||
bdbd3439 2015-05-08 21:45:17 luigi /home/art 3.141GiB
|
||||
590c8fc8 2015-05-08 21:47:38 kazik /srv 580.200MiB
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv 572.180MiB
|
||||
|
||||
You can filter the listing by directory path:
|
||||
|
||||
@@ -38,10 +40,10 @@ You can filter the listing by directory path:
|
||||
|
||||
$ restic -r /srv/restic-repo snapshots --path="/srv"
|
||||
enter password for repository:
|
||||
ID Date Host Tags Directory
|
||||
----------------------------------------------------------------------
|
||||
590c8fc8 2015-05-08 21:47:38 kazik /srv
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv
|
||||
ID Date Host Tags Directory Size
|
||||
-------------------------------------------------------------------
|
||||
590c8fc8 2015-05-08 21:47:38 kazik /srv 580.200MiB
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv 572.180MiB
|
||||
|
||||
Or filter by host:
|
||||
|
||||
@@ -49,10 +51,10 @@ Or filter by host:
|
||||
|
||||
$ restic -r /srv/restic-repo snapshots --host luigi
|
||||
enter password for repository:
|
||||
ID Date Host Tags Directory
|
||||
----------------------------------------------------------------------
|
||||
bdbd3439 2015-05-08 21:45:17 luigi /home/art
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv
|
||||
ID Date Host Tags Directory Size
|
||||
-------------------------------------------------------------------
|
||||
bdbd3439 2015-05-08 21:45:17 luigi /home/art 3.141GiB
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv 572.180MiB
|
||||
|
||||
Combining filters is also possible.
|
||||
|
||||
@@ -64,21 +66,21 @@ Furthermore you can group the output by the same filters (host, paths, tags):
|
||||
|
||||
enter password for repository:
|
||||
snapshots for (host [kasimir])
|
||||
ID Date Host Tags Directory
|
||||
----------------------------------------------------------------------
|
||||
40dc1520 2015-05-08 21:38:30 kasimir /home/user/work
|
||||
79766175 2015-05-08 21:40:19 kasimir /home/user/work
|
||||
ID Date Host Tags Directory Size
|
||||
------------------------------------------------------------------------
|
||||
40dc1520 2015-05-08 21:38:30 kasimir /home/user/work 20.643GiB
|
||||
79766175 2015-05-08 21:40:19 kasimir /home/user/work 20.645GiB
|
||||
2 snapshots
|
||||
snapshots for (host [luigi])
|
||||
ID Date Host Tags Directory
|
||||
----------------------------------------------------------------------
|
||||
bdbd3439 2015-05-08 21:45:17 luigi /home/art
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv
|
||||
ID Date Host Tags Directory Size
|
||||
-------------------------------------------------------------------
|
||||
bdbd3439 2015-05-08 21:45:17 luigi /home/art 3.141GiB
|
||||
9f0bc19e 2015-05-08 21:46:11 luigi /srv 572.180MiB
|
||||
2 snapshots
|
||||
snapshots for (host [kazik])
|
||||
ID Date Host Tags Directory
|
||||
----------------------------------------------------------------------
|
||||
590c8fc8 2015-05-08 21:47:38 kazik /srv
|
||||
ID Date Host Tags Directory Size
|
||||
-------------------------------------------------------------------
|
||||
590c8fc8 2015-05-08 21:47:38 kazik /srv 580.200MiB
|
||||
1 snapshots
|
||||
|
||||
|
||||
|
@@ -26,7 +26,8 @@ When you start a backup, restic will concurrently count the number of files and
|
||||
their total size, which is used to estimate how long it will take. This will
|
||||
cause some extra I/O, which can slow down backups of network file systems or
|
||||
FUSE mounts. To avoid this overhead at the cost of not seeing a progress
|
||||
estimate, use the ``--no-scan`` option which disables this file scanning.
|
||||
estimate, use the ``--no-scan`` option of the ``backup`` command which disables
|
||||
this file scanning.
|
||||
|
||||
Backend Connections
|
||||
===================
|
||||
@@ -111,3 +112,28 @@ to disk. An operating system usually caches file write operations in memory and
|
||||
them to disk after a short delay. As larger pack files take longer to upload, this
|
||||
increases the chance of these files being written to disk. This can increase disk wear
|
||||
for SSDs.
|
||||
|
||||
|
||||
Feature Flags
|
||||
=============
|
||||
|
||||
Feature flags allow disabling or enabling certain experimental restic features. The flags
|
||||
can be specified via the ``RESTIC_FEATURES`` environment variable. The variable expects a
|
||||
comma-separated list of ``key[=value],key2[=value2]`` pairs. The key is the name of a feature
|
||||
flag. The value is optional and can contain either the value ``true`` (default if omitted)
|
||||
or ``false``. The list of currently available feature flags is shown by the ``features``
|
||||
command.
|
||||
|
||||
Restic will return an error if an invalid feature flag is specified. No longer relevant
|
||||
feature flags may be removed in a future restic release. Thus, make sure to no longer
|
||||
specify these flags.
|
||||
|
||||
A feature can either be in alpha, beta, stable or deprecated state.
|
||||
|
||||
- An _alpha_ feature is disabled by default and may change in arbitrary ways between restic
|
||||
versions or be removed.
|
||||
- A _beta_ feature is enabled by default, but still can change in minor ways or be removed.
|
||||
- A _stable_ feature is always enabled and cannot be disabled. This allows for a transition
|
||||
period after which the flag will be removed in a future restic version.
|
||||
- A _deprecated_ feature is always disabled and cannot be enabled. The flag will be removed
|
||||
in a future restic version.
|
||||
|
@@ -163,7 +163,9 @@ Summary is the last output line in a successful backup.
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``tree_blobs`` | Number of tree blobs |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``data_added`` | Amount of data added, in bytes |
|
||||
| ``data_added`` | Amount of (uncompressed) data added, in bytes |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``data_added_packed`` | Amount of data added (after compression), in bytes |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``total_files_processed`` | Total number of files processed |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
@@ -365,13 +367,13 @@ Snapshot object
|
||||
|
||||
Reason object
|
||||
|
||||
+----------------+---------------------------------------------------------+
|
||||
| ``snapshot`` | Snapshot object, without ``id`` and ``short_id`` fields |
|
||||
+----------------+---------------------------------------------------------+
|
||||
| ``matches`` | Array containing descriptions of the matching criteria |
|
||||
+----------------+---------------------------------------------------------+
|
||||
| ``counters`` | Object containing counters used by the policies |
|
||||
+----------------+---------------------------------------------------------+
|
||||
+----------------+-----------------------------------------------------------+
|
||||
| ``snapshot`` | Snapshot object, including ``id`` and ``short_id`` fields |
|
||||
+----------------+-----------------------------------------------------------+
|
||||
| ``matches`` | Array containing descriptions of the matching criteria |
|
||||
+----------------+-----------------------------------------------------------+
|
||||
| ``counters`` | Object containing counters used by the policies |
|
||||
+----------------+-----------------------------------------------------------+
|
||||
|
||||
|
||||
init
|
||||
@@ -551,11 +553,48 @@ The snapshots command returns a single JSON object, an array with objects of the
|
||||
+---------------------+--------------------------------------------------+
|
||||
| ``program_version`` | restic version used to create snapshot |
|
||||
+---------------------+--------------------------------------------------+
|
||||
| ``summary`` | Snapshot statistics, see "Summary object" |
|
||||
+---------------------+--------------------------------------------------+
|
||||
| ``id`` | Snapshot ID |
|
||||
+---------------------+--------------------------------------------------+
|
||||
| ``short_id`` | Snapshot ID, short form |
|
||||
+---------------------+--------------------------------------------------+
|
||||
|
||||
Summary object
|
||||
|
||||
The contained statistics reflect the information at the point in time when the snapshot
|
||||
was created.
|
||||
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``backup_start`` | Time at which the backup was started |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``backup_end`` | Time at which the backup was completed |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``files_new`` | Number of new files |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``files_changed`` | Number of files that changed |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``files_unmodified`` | Number of files that did not change |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``dirs_new`` | Number of new directories |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``dirs_changed`` | Number of directories that changed |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``dirs_unmodified`` | Number of directories that did not change |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``data_blobs`` | Number of data blobs |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``tree_blobs`` | Number of tree blobs |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``data_added`` | Amount of (uncompressed) data added, in bytes |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``data_added_packed`` | Amount of data added (after compression), in bytes |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``total_files_processed`` | Total number of files processed |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
| ``total_bytes_processed`` | Total number of bytes processed |
|
||||
+---------------------------+---------------------------------------------------------+
|
||||
|
||||
|
||||
stats
|
||||
-----
|
||||
|
@@ -74,7 +74,7 @@ $ restic backup --exclude "~/documents" ~
|
||||
This command will result in a complete backup of the current logged in user's home directory and it won't exclude the folder ``~/documents/`` - which is not what the user wanted to achieve.
|
||||
The problem is how the path to ``~/documents`` is passed to restic.
|
||||
|
||||
In order to spot an issue like this, you can make use of the following ruby command preceeding your restic command.
|
||||
In order to spot an issue like this, you can make use of the following ruby command preceding your restic command.
|
||||
|
||||
::
|
||||
|
||||
|
Reference in New Issue
Block a user