aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools
diff options
context:
space:
mode:
authorJohannes Stoelp <johannes.stoelp@gmail.com>2024-05-01 19:33:52 +0200
committerJohannes Stoelp <johannes.stoelp@gmail.com>2024-05-01 19:33:52 +0200
commit7ca41565c4e70b212cb88a4d18c18fa35768df6d (patch)
tree54acf84cb53e9cccb86762e8a0787025a44f21b2 /src/tools
parent39b4e0bf8a3b02f1606a0efeefeb39891242bf99 (diff)
downloadnotes-7ca41565c4e70b212cb88a4d18c18fa35768df6d.tar.gz
notes-7ca41565c4e70b212cb88a4d18c18fa35768df6d.zip
restic: initial notes
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/README.md1
-rw-r--r--src/tools/restic.md48
2 files changed, 49 insertions, 0 deletions
diff --git a/src/tools/README.md b/src/tools/README.md
index d2a45e9..60ee688 100644
--- a/src/tools/README.md
+++ b/src/tools/README.md
@@ -9,3 +9,4 @@
- [dot](./dot.md)
- [ffmpeg](./ffmpeg.md)
- [gnuplot](./gnuplot.md)
+- [restic](./restic.md)
diff --git a/src/tools/restic.md b/src/tools/restic.md
new file mode 100644
index 0000000..600e4f0
--- /dev/null
+++ b/src/tools/restic.md
@@ -0,0 +1,48 @@
+# restic(1)
+
+## Create new snapshot repository
+
+```bash
+# Create a local backup repository.
+restic -r <path> init
+
+# Create a backup repository on a remote host.
+restic -r sftp:user@host:<path> init
+```
+
+## Example: Restore file pattern from `latest` snapshot
+Restore files matching `<file_pattern>` from the `latest` snapshot (pseudo
+snapshot ID) into `<dest>`.
+```bash
+restic -r <repo> restore -i <file_pattern> --target <dest> latest
+```
+
+## Mount snapshots
+Mount snapshots as user filesystem (fuse) to given mount point.
+```bash
+restic -r <repo> mount <mntpoint>
+
+# Mounted snapshots can be limited by host.
+restic -r <repo> mount --host <host> <mntpoint>
+
+# Mounted snapshots can be limited by path (abs path).
+restic -r <repo> mount --path <abspath> <mntpoint>
+```
+
+## Repository maintenance
+Check the repository for errors and report them.
+```bash
+restic -r <repo> check
+```
+
+Check the repository for non-referenced data and remove it.
+```bash
+restic -r <repo> prune
+```
+
+## References
+- [`restic` read the docs][restic]
+- [sftp][restic-sftp]
+
+[restic]: https://restic.readthedocs.io/en/stable/index.html
+[restic-sftp]: https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html#sftp