dar-backup 0.7.1__tar.gz → 0.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dar_backup-0.7.1/src/dar_backup → dar_backup-0.8.0}/Changelog.md +29 -3
- {dar_backup-0.7.1 → dar_backup-0.8.0}/PKG-INFO +122 -40
- {dar_backup-0.7.1 → dar_backup-0.8.0}/README.md +100 -39
- {dar_backup-0.7.1 → dar_backup-0.8.0}/doc/badges/badge_clones.json +1 -1
- dar_backup-0.8.0/doc/badges/milestone_1000.txt +1 -0
- dar_backup-0.8.0/doc/badges/milestone_500.txt +1 -0
- dar_backup-0.8.0/doc/badges/milestone_badge.json +6 -0
- dar_backup-0.8.0/doc/clones.json +220 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/doc/dev.md +42 -33
- dar_backup-0.8.0/doc/weekly_clones.png +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/pyproject.toml +36 -9
- {dar_backup-0.7.1 → dar_backup-0.8.0/src/dar_backup}/Changelog.md +29 -3
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/README.md +100 -39
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/__about__.py +1 -1
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/clean_log.py +13 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/cleanup.py +11 -6
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/config_settings.py +16 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/dar-backup.conf.j2 +4 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/dar_backup.py +13 -7
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/installer.py +14 -4
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/manager.py +6 -2
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/rich_progress.py +1 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/util.py +83 -8
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/pathvalidate-3.2.3.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/black-25.1.0.dist-info/licenses}/LICENSE +1 -1
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/blib2to3/LICENSE +254 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/tomli_w-1.0.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/charset_normalizer-3.4.2.dist-info/licenses}/LICENSE +1 -1
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/contourpy-1.3.2.dist-info/LICENSE +29 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/cycler-0.12.1.dist-info/LICENSE +27 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/mbstrdecoder-1.1.4.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/fonttools-4.58.2.dist-info/licenses}/LICENSE +1 -1
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/pytablewriter-1.2.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/iniconfig-2.1.0.dist-info/licenses}/LICENSE +7 -7
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/kiwisolver-1.4.8.dist-info/LICENSE +71 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/matplotlib-3.10.3.dist-info/LICENSE +99 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/mypy_extensions-1.1.0.dist-info/licenses/LICENSE +27 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/nh3-0.2.21.dist-info/licenses}/LICENSE +3 -1
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/numpy/ma/LICENSE +24 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/pandas-2.3.0.dist-info/LICENSE +1250 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/pillow-11.2.1.dist-info/licenses/LICENSE +998 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/pyparsing-3.2.3.dist-info/LICENSE +18 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/python_slugify-8.0.4.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/pyproject_hooks-1.2.0.dist-info}/LICENSE +2 -2
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/tzdata-2025.2.dist-info/licenses/LICENSE +15 -0
- dar_backup-0.8.0/venv/lib/python3.12/site-packages/zipp-3.22.0.dist-info/licenses/LICENSE +18 -0
- dar_backup-0.7.1/doc/badges/milestone_badge.json +0 -6
- dar_backup-0.7.1/doc/clones.json +0 -110
- dar_backup-0.7.1/doc/weekly_clones.png +0 -0
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/DataProperty-1.1.0.dist-info/LICENSE +0 -21
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/chardet-5.2.0.dist-info/LICENSE +0 -502
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/charset_normalizer-3.3.2.dist-info/LICENSE +0 -21
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/iniconfig-2.0.0.dist-info/licenses/LICENSE +0 -19
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/prettytable-3.16.0.dist-info/licenses/LICENSE +0 -30
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/LICENSE +0 -166
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/LICENSE +0 -202
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/jaraco.collections-5.1.0.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/licenses/LICENSE +0 -21
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/LICENSE +0 -19
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/LICENSE +0 -3
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools-78.1.0.dist-info/licenses/LICENSE +0 -17
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/tabledata-1.3.4.dist-info/LICENSE +0 -21
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/tcolorpy-0.1.7.dist-info/LICENSE +0 -21
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/typepy-1.3.4.dist-info/LICENSE +0 -21
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/wcwidth-0.2.13.dist-info/LICENSE +0 -27
- dar_backup-0.7.1/venv/lib/python3.12/site-packages/zipp-3.19.2.dist-info/LICENSE +0 -17
- {dar_backup-0.7.1 → dar_backup-0.8.0}/.gitignore +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/doc/badges/README.md +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/doc/doc.md +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/packages/deb/README.md +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/.darrc +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/__init__.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/command_runner.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/dar-backup.conf +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/dar_backup_systemd.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/demo.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/demo_backup_def.j2 +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/src/dar_backup/exceptions.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/SecretStorage-3.3.3.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/anyio-4.4.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/anyio-4.9.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/build-1.2.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/build-1.2.2.post1.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/certifi-2024.7.4.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/certifi-2025.4.26.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/cffi-1.16.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/cffi-1.17.1.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/cryptography-43.0.0.dist-info/license_files → dar_backup-0.8.0/venv/lib/python3.12/site-packages/cryptography-45.0.3.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/dar_backup-0.7.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/dar_backup-0.8.0.dist-info}/licenses/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/filelock-3.15.4.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/filelock-3.18.0.dist-info}/licenses/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/hyperlink-21.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/importlib_metadata-8.2.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/id-1.5.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/jaraco.classes-3.4.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/jaraco.context-5.3.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/jaraco.context-6.0.1.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/jaraco.functools-4.0.2.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/jaraco.functools-4.1.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/jeepney-0.8.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/jeepney-0.9.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/keyring-25.3.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/keyring-25.6.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/markdown_it_py-3.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/mdurl-0.1.2.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/more_itertools-10.3.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/more_itertools-10.7.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/packaging-24.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/packaging-25.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/pathspec-0.12.1.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/pexpect-4.9.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/platformdirs-4.2.2.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/platformdirs-4.3.8.dist-info}/licenses/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/pluggy-1.5.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/pluggy-1.6.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/psutil-7.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/ptyprocess-0.7.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/pycparser-2.22.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/pygments-2.19.1.dist-info/licenses/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/pytest-8.3.2.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/pytest-8.4.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/pytest_cov-6.0.0.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/pytest_cov-6.1.1.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/pytest_timeout-2.3.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/pytest_timeout-2.4.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/python_dateutil-2.9.0.post0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/readme_renderer-44.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/requests-2.32.3.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/requests_toolbelt-1.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/rfc3986-2.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/rich-14.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/shellingham-1.5.4.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/six-1.17.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/sniffio-1.3.1.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/tomli_w-1.2.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/tomlkit-0.13.2.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/trove_classifiers-2024.7.2.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/trove_classifiers-2025.5.9.12.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/twine-6.0.1.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/twine-6.1.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/typing_extensions-4.14.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/virtualenv-20.26.3.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/virtualenv-20.31.2.dist-info}/licenses/LICENSE +0 -0
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.2.dist-info → dar_backup-0.8.0/venv/lib/python3.12/site-packages/wheel/vendored/packaging}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.8.0}/venv/lib/python3.12/site-packages/zstandard-0.23.0.dist-info/LICENSE +0 -0
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
<!-- markdownlint-disable MD024 -->
|
|
2
2
|
# dar-backup Changelog
|
|
3
3
|
|
|
4
|
-
## v2-beta-0.
|
|
4
|
+
## v2-beta-0.8.0 - 2025-06-13
|
|
5
|
+
|
|
6
|
+
Github link: [v2-beta-0.8.0](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.8.0/v2)
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Modified clone dashboard generator to produce easier to read dashboard and be more robust.
|
|
11
|
+
- Dir_traversal sanitation: clean_log.py now only accepts files in configured log directory to `--file` option.
|
|
12
|
+
|
|
13
|
+
## v2-beta-0.7.2 - 2025-06-07
|
|
14
|
+
|
|
15
|
+
Github link: [v2-beta-0.7.2](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.7.2/v2)
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Refactored build system, so all dependencies are kept in `pyproject.toml`. The dependencies are separated into dev, packaging and delivery phases.
|
|
20
|
+
- Use `build.sh` to setup pytest environment in Github workflow.
|
|
21
|
+
|
|
22
|
+
- Do the same to get a development environment going.
|
|
23
|
+
|
|
24
|
+
- Added 2 new optional params to control log file roll.
|
|
25
|
+
- Enrolling into [Snyk code checker](https://snyk.io/code-checker/) and learning how to work with it.
|
|
26
|
+
|
|
27
|
+
- Snyk helped pointing out vulnerable versions of some packages used.
|
|
28
|
+
- Input sanitation started, there is room for improvement.
|
|
29
|
+
|
|
30
|
+
## v2-beta-0.7.1 - 2025-05-22
|
|
5
31
|
|
|
6
32
|
Github link: [v2-beta-0.7.1](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.7.1/v2)
|
|
7
33
|
|
|
@@ -24,9 +50,9 @@ Github link: [v2-beta-0.7.1](https://github.com/per2jensen/dar-backup/tree/v2-be
|
|
|
24
50
|
- Action + program to capture cloning stats and store them in v2/doc directory. Includes a badge.
|
|
25
51
|
|
|
26
52
|
-- annotate new daily max number of clones
|
|
27
|
-
-- Celebration badge when
|
|
53
|
+
-- Celebration badge when certain clones numbers are hit (just for fun)
|
|
28
54
|
|
|
29
|
-
- Action + program to generate
|
|
55
|
+
- Action + program to generate 12 weeks cloning dashboard (a PNG) with annotation
|
|
30
56
|
- Tweaked the auto completion setup in .bashrc, it stopped working for me unknown reasons (needs some looking into)
|
|
31
57
|
- --verbose now affects the startup banner. Now it is printed only if --verbose is given
|
|
32
58
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dar-backup
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: A script to do full, differential and incremental backups using dar. Some files are restored from the backups during verification, after which par2 redundancy files are created. The script also has a cleanup feature to remove old backups and par2 files.
|
|
5
5
|
Project-URL: GPG Public Key, https://keys.openpgp.org/search?q=dar-backup@pm.me
|
|
6
6
|
Project-URL: Homepage, https://github.com/per2jensen/dar-backup/tree/main/v2
|
|
@@ -693,6 +693,27 @@ Requires-Dist: argcomplete>=3.6.2
|
|
|
693
693
|
Requires-Dist: inputimeout>=1.0.4
|
|
694
694
|
Requires-Dist: jinja2>=3.1.6
|
|
695
695
|
Requires-Dist: rich>=13.0.0
|
|
696
|
+
Provides-Extra: dev
|
|
697
|
+
Requires-Dist: anyio>=4.4.0; extra == 'dev'
|
|
698
|
+
Requires-Dist: black>=25.1.0; extra == 'dev'
|
|
699
|
+
Requires-Dist: coverage>=7.8.2; extra == 'dev'
|
|
700
|
+
Requires-Dist: h11>=0.16.0; extra == 'dev'
|
|
701
|
+
Requires-Dist: httpcore>=0.17.3; extra == 'dev'
|
|
702
|
+
Requires-Dist: matplotlib>=3.10.3; extra == 'dev'
|
|
703
|
+
Requires-Dist: pandas>=2.3.0; extra == 'dev'
|
|
704
|
+
Requires-Dist: psutil>=7.0.0; extra == 'dev'
|
|
705
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
706
|
+
Requires-Dist: pytest-cov>=6.1.1; extra == 'dev'
|
|
707
|
+
Requires-Dist: pytest-timeout>=2.4.0; extra == 'dev'
|
|
708
|
+
Requires-Dist: pytest>=8.4.0; extra == 'dev'
|
|
709
|
+
Requires-Dist: requests>=2.32.2; extra == 'dev'
|
|
710
|
+
Requires-Dist: wheel>=0.45.1; extra == 'dev'
|
|
711
|
+
Requires-Dist: zipp>=3.19.1; extra == 'dev'
|
|
712
|
+
Provides-Extra: packaging
|
|
713
|
+
Requires-Dist: build>=1.2.2; extra == 'packaging'
|
|
714
|
+
Requires-Dist: hatch>=1.14.1; extra == 'packaging'
|
|
715
|
+
Requires-Dist: hatchling>=1.27.0; extra == 'packaging'
|
|
716
|
+
Requires-Dist: twine>=6.1.0; extra == 'packaging'
|
|
696
717
|
Description-Content-Type: text/markdown
|
|
697
718
|
|
|
698
719
|
<!-- markdownlint-disable MD024 -->
|
|
@@ -700,15 +721,16 @@ Description-Content-Type: text/markdown
|
|
|
700
721
|
|
|
701
722
|
**Reliable DAR backups, automated in clean Python**
|
|
702
723
|
|
|
703
|
-
[](https://codecov.io/gh/per2jensen/dar-backup)
|
|
725
|
+
[](https://snyk.io/test/github/per2jensen/dar-backup)
|
|
704
726
|

|
|
705
727
|
[](https://pypi.org/project/dar-backup/)
|
|
706
|
-
[](https://pypi.org/project/dar-backup/)
|
|
707
729
|
[](https://github.com/per2jensen/dar-backup/blob/main/v2/doc/weekly_clones.png)
|
|
708
730
|
[](https://github.com/per2jensen/dar-backup/blob/main/v2/doc/weekly_clones.png)
|
|
709
731
|
|
|
710
732
|
The wonderful 'dar' [Disk Archiver](https://github.com/Edrusb/DAR) is used for
|
|
711
|
-
the heavy lifting, together with [parchive](https://github.com/Parchive/par2cmdline) suite in these scripts.
|
|
733
|
+
the heavy lifting, together with the [parchive](https://github.com/Parchive/par2cmdline) suite in these scripts.
|
|
712
734
|
|
|
713
735
|
This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-backup/tree/main/v2) of `dar-backup`.
|
|
714
736
|
|
|
@@ -770,6 +792,7 @@ This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-bac
|
|
|
770
792
|
- [Skipping cache directories](#skipping-cache-directories)
|
|
771
793
|
- [Progress bar + current directory](#progress-bar-and-current-directory)
|
|
772
794
|
- [Shell Autocompletion](#shell-autocompletion)
|
|
795
|
+
- [Easy development setup](#easy-development-setup)
|
|
773
796
|
- [Todo](#todo)
|
|
774
797
|
- [Known Limitations / Edge Cases](#known-limitations--edge-cases)
|
|
775
798
|
- [Reference](#reference)
|
|
@@ -904,17 +927,17 @@ Setup the demo configurations and show a few operations
|
|
|
904
927
|
<br>
|
|
905
928
|
|
|
906
929
|
```bash
|
|
907
|
-
#
|
|
930
|
+
# See reference section for options tweaking the install
|
|
908
931
|
demo --install
|
|
909
932
|
|
|
910
933
|
# create catalog database
|
|
911
934
|
manager --create-db
|
|
912
935
|
|
|
913
|
-
#
|
|
936
|
+
# FULL backup as defined in backup definition `demo`
|
|
914
937
|
dar-backup --full-backup
|
|
915
938
|
|
|
916
|
-
#
|
|
917
|
-
dar-backup --list-contents $(
|
|
939
|
+
# List the contents of the backup
|
|
940
|
+
dar-backup --list-contents demo_FULL_$(date '+%F')
|
|
918
941
|
```
|
|
919
942
|
|
|
920
943
|
<details>
|
|
@@ -956,7 +979,7 @@ Config file: /home/user/.config/dar-backup/dar-backup.conf
|
|
|
956
979
|
|
|
957
980
|
|
|
958
981
|
|
|
959
|
-
(venv) $ dar-backup --list-contents $(
|
|
982
|
+
(venv) $ dar-backup --list-contents demo_FULL_$(date '+%F')
|
|
960
983
|
========== Startup Settings ==========
|
|
961
984
|
dar-backup.py: 0.7.1
|
|
962
985
|
dar path: /home/user/.local/dar/bin/dar
|
|
@@ -984,10 +1007,10 @@ Config file: /home/user/.config/dar-backup/dar-backup.conf
|
|
|
984
1007
|
Perform a restore and show the restored files
|
|
985
1008
|
|
|
986
1009
|
```bash
|
|
987
|
-
#
|
|
988
|
-
dar-backup --restore $(
|
|
1010
|
+
# Restore all files in the backup
|
|
1011
|
+
dar-backup --restore demo_FULL_$(date '+%F') --verbose
|
|
989
1012
|
|
|
990
|
-
#
|
|
1013
|
+
# Prove the files have been restored to directory as configured
|
|
991
1014
|
find $HOME/dar-backup/restore
|
|
992
1015
|
```
|
|
993
1016
|
|
|
@@ -996,7 +1019,7 @@ find $HOME/dar-backup/restore
|
|
|
996
1019
|
<summary>🎯 --restore details</summary>
|
|
997
1020
|
|
|
998
1021
|
```bash
|
|
999
|
-
(venv) $ dar-backup --
|
|
1022
|
+
(venv) $ dar-backup --restore demo_FULL_$(date '+%F') --verbose
|
|
1000
1023
|
========== Startup Settings ==========
|
|
1001
1024
|
dar-backup.py: 0.7.1
|
|
1002
1025
|
dar path: /home/user/.local/dar/bin/dar
|
|
@@ -1034,7 +1057,7 @@ PAR2 enabled: True
|
|
|
1034
1057
|
|
|
1035
1058
|
> ✅ **Next steps**
|
|
1036
1059
|
>
|
|
1037
|
-
>
|
|
1060
|
+
> Play with `demo's` options:
|
|
1038
1061
|
>
|
|
1039
1062
|
> - --root-dir (perhaps $HOME)
|
|
1040
1063
|
> - --dir-to-backup (perhaps Pictures)
|
|
@@ -1169,8 +1192,9 @@ Please review the [Code of Conduct](https://github.com/per2jensen/dar-backup/blo
|
|
|
1169
1192
|
|
|
1170
1193
|
## Requirements
|
|
1171
1194
|
|
|
1195
|
+
- A linux system
|
|
1172
1196
|
- dar
|
|
1173
|
-
- par2
|
|
1197
|
+
- parchive (par2)
|
|
1174
1198
|
- python3
|
|
1175
1199
|
- python3-venv
|
|
1176
1200
|
|
|
@@ -1275,27 +1299,25 @@ See section 15 and section 16 in the supplied "LICENSE" file.
|
|
|
1275
1299
|
|
|
1276
1300
|
### 2 - configuration
|
|
1277
1301
|
|
|
1278
|
-
The dar-backup [
|
|
1279
|
-
It creates
|
|
1302
|
+
The dar-backup [installer](#installer-options) application can be used to setup the needed directories for `dar-backup` to work.
|
|
1303
|
+
It creates necessary directories as prescribed in the config file and optionally creates manager databases.
|
|
1280
1304
|
|
|
1281
|
-
`
|
|
1305
|
+
`installer` can also add configuration of shell auto completion.
|
|
1282
1306
|
|
|
1283
|
-
|
|
1307
|
+
Step 1:
|
|
1284
1308
|
|
|
1285
|
-
|
|
1286
|
-
demo --install
|
|
1287
|
-
```
|
|
1309
|
+
Create a config file - [see details on config file](#config-file))
|
|
1288
1310
|
|
|
1289
|
-
|
|
1311
|
+
Step 2:
|
|
1290
1312
|
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1313
|
+
Create one or more backup definitions - [see details on backup definitions](#backup-definition-example)
|
|
1314
|
+
|
|
1315
|
+
Step 3:
|
|
1316
|
+
|
|
1317
|
+
Run the installer:
|
|
1318
|
+
|
|
1319
|
+
```bash
|
|
1320
|
+
installer --config <path to dar-backup.conf> --install-autocompletion
|
|
1299
1321
|
```
|
|
1300
1322
|
|
|
1301
1323
|
### 3 - generate catalog databases
|
|
@@ -1310,9 +1332,7 @@ manager --create-db
|
|
|
1310
1332
|
|
|
1311
1333
|
### 4 - give dar-backup a spin
|
|
1312
1334
|
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
You are now ready to do backups as configured in the backup definition.
|
|
1335
|
+
You are now ready to do backups as configured in your backup definition(s).
|
|
1316
1336
|
|
|
1317
1337
|
Give `dar-backup`a spin:
|
|
1318
1338
|
|
|
@@ -1322,6 +1342,9 @@ dar-backup --full-backup --verbose
|
|
|
1322
1342
|
# list backups
|
|
1323
1343
|
dar-backup --list
|
|
1324
1344
|
|
|
1345
|
+
# list contents of a dar backup
|
|
1346
|
+
dar-backup --list-contents <TAB>... <choose a backup>
|
|
1347
|
+
|
|
1325
1348
|
# see some examples on usage
|
|
1326
1349
|
dar-backup --examples
|
|
1327
1350
|
|
|
@@ -1360,6 +1383,9 @@ Tilde `~` and environment variables can be used in the paths for various file lo
|
|
|
1360
1383
|
```text
|
|
1361
1384
|
[MISC]
|
|
1362
1385
|
LOGFILE_LOCATION=~/.dar-backup.log
|
|
1386
|
+
# optional parameters
|
|
1387
|
+
# LOGFILE_MAX_BYTES = 26214400 # 25 MB max file size is default, change as neeeded
|
|
1388
|
+
# LOGFILE_BACKUP_COUNT = 5 # 5 backup log files is default, change as needed
|
|
1363
1389
|
MAX_SIZE_VERIFICATION_MB = 20
|
|
1364
1390
|
MIN_SIZE_VERIFICATION_MB = 1
|
|
1365
1391
|
NO_FILES_VERIFICATION = 5
|
|
@@ -1378,6 +1404,8 @@ TEST_RESTORE_DIR = /tmp/dar-backup/restore/
|
|
|
1378
1404
|
|
|
1379
1405
|
[AGE]
|
|
1380
1406
|
# age settings are in days
|
|
1407
|
+
# `cleanup` script removes archives and their .par redundancy files if older than configured.
|
|
1408
|
+
# `cleanup` does not remove FULL archives, unless specifically told to and a "y" is answered to "are you sure?".
|
|
1381
1409
|
DIFF_AGE = 100
|
|
1382
1410
|
INCR_AGE = 40
|
|
1383
1411
|
|
|
@@ -1533,6 +1561,12 @@ The name of the file is the name of the backup definition.
|
|
|
1533
1561
|
|
|
1534
1562
|
You can use as many backup definitions as you need.
|
|
1535
1563
|
|
|
1564
|
+
> Note 👉
|
|
1565
|
+
>
|
|
1566
|
+
> Environment variables and tilde (~) not allowed here. `dar` does not expand them.
|
|
1567
|
+
>
|
|
1568
|
+
> See [TODO](#todo)
|
|
1569
|
+
|
|
1536
1570
|
```text
|
|
1537
1571
|
# Switch to ordered selection mode, which means that the following
|
|
1538
1572
|
# options will be considered top to bottom
|
|
@@ -1906,6 +1940,8 @@ These [.darrc](#darrc) settings make `dar` print the current directory being pro
|
|
|
1906
1940
|
|
|
1907
1941
|
This is very useful in very long running jobs to get an indication that the backup is proceeding normally.
|
|
1908
1942
|
|
|
1943
|
+
The `dar` output is streamed to the `dar-backup-commands.log` file.
|
|
1944
|
+
|
|
1909
1945
|
### Separate log file for command output
|
|
1910
1946
|
|
|
1911
1947
|
Dar-backup's log file is called `dar-backup.log`.
|
|
@@ -2067,8 +2103,54 @@ Then reload Zsh:
|
|
|
2067
2103
|
source ~/.zshrc
|
|
2068
2104
|
```
|
|
2069
2105
|
|
|
2106
|
+
## Easy development setup
|
|
2107
|
+
|
|
2108
|
+
It is very easy to have your own development environment.
|
|
2109
|
+
|
|
2110
|
+
```bash
|
|
2111
|
+
git clone https://github.com/per2jensen/dar-backup.git
|
|
2112
|
+
cd dar-backup/v2
|
|
2113
|
+
./build.py
|
|
2114
|
+
```
|
|
2115
|
+
|
|
2116
|
+
This script:
|
|
2117
|
+
|
|
2118
|
+
- Creates a Python virtual environment called `venv`
|
|
2119
|
+
- pip install `hatch`
|
|
2120
|
+
- pip install the development environment as setup in pyproject.toml
|
|
2121
|
+
|
|
2122
|
+
--
|
|
2123
|
+
|
|
2124
|
+
```text
|
|
2125
|
+
dev = [
|
|
2126
|
+
"pytest",
|
|
2127
|
+
"wheel>=0.45.1",
|
|
2128
|
+
"requests>=2.32.2",
|
|
2129
|
+
"coverage>=7.8.2",
|
|
2130
|
+
"pytest>=8.4.0",
|
|
2131
|
+
"pytest-cov>=6.1.1",
|
|
2132
|
+
"psutil>=7.0.0",
|
|
2133
|
+
"pytest-timeout>=2.4.0",
|
|
2134
|
+
"httpcore>=0.17.3",
|
|
2135
|
+
"h11>=0.16.0",
|
|
2136
|
+
"zipp>=3.19.1",
|
|
2137
|
+
"anyio>=4.4.0",
|
|
2138
|
+
"black>=25.1.0"]
|
|
2139
|
+
```
|
|
2140
|
+
|
|
2141
|
+
✅ Your environment is now ready to activate and test!
|
|
2142
|
+
|
|
2143
|
+
Activate and run the test suite:
|
|
2144
|
+
|
|
2145
|
+
```bash
|
|
2146
|
+
source venv/bin/activate # activate the virtual env
|
|
2147
|
+
pytest # run the test suite
|
|
2148
|
+
```
|
|
2149
|
+
|
|
2070
2150
|
## Todo
|
|
2071
2151
|
|
|
2152
|
+
- Perhaps look into pre-processing backup definitions. As `dar` does not expand env vars
|
|
2153
|
+
`dar-backup` could do so and feed the result to `dar`.
|
|
2072
2154
|
- When run interactively, a progress bar during test and par2 generation would be nice.
|
|
2073
2155
|
- Look into a way to move the .par2 files away from the `dar` slices, to maximize chance of good redundancy.
|
|
2074
2156
|
- Add option to dar-backup to use the `dar` option `--fsa-scope none`
|
|
@@ -2233,12 +2315,12 @@ Sets up `dar-backup` according to provided config file.
|
|
|
2233
2315
|
The installer creates the necessary backup catalog databases if `--create-db` is given.
|
|
2234
2316
|
|
|
2235
2317
|
```bash
|
|
2236
|
-
--config
|
|
2237
|
-
--create-db Create backup catalog databases.
|
|
2238
|
-
--install-autocompletion Add bash or zsh auto completion - idempotent
|
|
2239
|
-
--remove-autocompletion Remove the auto completion from bash or zsh
|
|
2318
|
+
--config Path to a config file. The configured directories will be created.
|
|
2319
|
+
--create-db Create backup catalog databases. Use this option with `--config`.
|
|
2320
|
+
--install-autocompletion Add bash or zsh auto completion - idempotent.
|
|
2321
|
+
--remove-autocompletion Remove the auto completion from bash or zsh.
|
|
2240
2322
|
-v, --version Display version and licensing information.
|
|
2241
|
-
-h, --help Displays usage info
|
|
2323
|
+
-h, --help Displays usage info.
|
|
2242
2324
|
```
|
|
2243
2325
|
|
|
2244
2326
|
### Demo options
|
|
@@ -2258,7 +2340,7 @@ Create directories:
|
|
|
2258
2340
|
Sets up demo config files:
|
|
2259
2341
|
|
|
2260
2342
|
- ~/.config/dar-backup/dar-backup.conf
|
|
2261
|
-
- ~/.config/dar-backup/backup.d/
|
|
2343
|
+
- ~/.config/dar-backup/backup.d/demo
|
|
2262
2344
|
|
|
2263
2345
|
```bash
|
|
2264
2346
|
-i, --install Sets up `dar-backup`.
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
**Reliable DAR backups, automated in clean Python**
|
|
5
5
|
|
|
6
|
-
[](https://codecov.io/gh/per2jensen/dar-backup)
|
|
7
|
+
[](https://snyk.io/test/github/per2jensen/dar-backup)
|
|
7
8
|

|
|
8
9
|
[](https://pypi.org/project/dar-backup/)
|
|
9
|
-
[](https://pypi.org/project/dar-backup/)
|
|
10
11
|
[](https://github.com/per2jensen/dar-backup/blob/main/v2/doc/weekly_clones.png)
|
|
11
12
|
[](https://github.com/per2jensen/dar-backup/blob/main/v2/doc/weekly_clones.png)
|
|
12
13
|
|
|
13
14
|
The wonderful 'dar' [Disk Archiver](https://github.com/Edrusb/DAR) is used for
|
|
14
|
-
the heavy lifting, together with [parchive](https://github.com/Parchive/par2cmdline) suite in these scripts.
|
|
15
|
+
the heavy lifting, together with the [parchive](https://github.com/Parchive/par2cmdline) suite in these scripts.
|
|
15
16
|
|
|
16
17
|
This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-backup/tree/main/v2) of `dar-backup`.
|
|
17
18
|
|
|
@@ -73,6 +74,7 @@ This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-bac
|
|
|
73
74
|
- [Skipping cache directories](#skipping-cache-directories)
|
|
74
75
|
- [Progress bar + current directory](#progress-bar-and-current-directory)
|
|
75
76
|
- [Shell Autocompletion](#shell-autocompletion)
|
|
77
|
+
- [Easy development setup](#easy-development-setup)
|
|
76
78
|
- [Todo](#todo)
|
|
77
79
|
- [Known Limitations / Edge Cases](#known-limitations--edge-cases)
|
|
78
80
|
- [Reference](#reference)
|
|
@@ -207,17 +209,17 @@ Setup the demo configurations and show a few operations
|
|
|
207
209
|
<br>
|
|
208
210
|
|
|
209
211
|
```bash
|
|
210
|
-
#
|
|
212
|
+
# See reference section for options tweaking the install
|
|
211
213
|
demo --install
|
|
212
214
|
|
|
213
215
|
# create catalog database
|
|
214
216
|
manager --create-db
|
|
215
217
|
|
|
216
|
-
#
|
|
218
|
+
# FULL backup as defined in backup definition `demo`
|
|
217
219
|
dar-backup --full-backup
|
|
218
220
|
|
|
219
|
-
#
|
|
220
|
-
dar-backup --list-contents $(
|
|
221
|
+
# List the contents of the backup
|
|
222
|
+
dar-backup --list-contents demo_FULL_$(date '+%F')
|
|
221
223
|
```
|
|
222
224
|
|
|
223
225
|
<details>
|
|
@@ -259,7 +261,7 @@ Config file: /home/user/.config/dar-backup/dar-backup.conf
|
|
|
259
261
|
|
|
260
262
|
|
|
261
263
|
|
|
262
|
-
(venv) $ dar-backup --list-contents $(
|
|
264
|
+
(venv) $ dar-backup --list-contents demo_FULL_$(date '+%F')
|
|
263
265
|
========== Startup Settings ==========
|
|
264
266
|
dar-backup.py: 0.7.1
|
|
265
267
|
dar path: /home/user/.local/dar/bin/dar
|
|
@@ -287,10 +289,10 @@ Config file: /home/user/.config/dar-backup/dar-backup.conf
|
|
|
287
289
|
Perform a restore and show the restored files
|
|
288
290
|
|
|
289
291
|
```bash
|
|
290
|
-
#
|
|
291
|
-
dar-backup --restore $(
|
|
292
|
+
# Restore all files in the backup
|
|
293
|
+
dar-backup --restore demo_FULL_$(date '+%F') --verbose
|
|
292
294
|
|
|
293
|
-
#
|
|
295
|
+
# Prove the files have been restored to directory as configured
|
|
294
296
|
find $HOME/dar-backup/restore
|
|
295
297
|
```
|
|
296
298
|
|
|
@@ -299,7 +301,7 @@ find $HOME/dar-backup/restore
|
|
|
299
301
|
<summary>🎯 --restore details</summary>
|
|
300
302
|
|
|
301
303
|
```bash
|
|
302
|
-
(venv) $ dar-backup --
|
|
304
|
+
(venv) $ dar-backup --restore demo_FULL_$(date '+%F') --verbose
|
|
303
305
|
========== Startup Settings ==========
|
|
304
306
|
dar-backup.py: 0.7.1
|
|
305
307
|
dar path: /home/user/.local/dar/bin/dar
|
|
@@ -337,7 +339,7 @@ PAR2 enabled: True
|
|
|
337
339
|
|
|
338
340
|
> ✅ **Next steps**
|
|
339
341
|
>
|
|
340
|
-
>
|
|
342
|
+
> Play with `demo's` options:
|
|
341
343
|
>
|
|
342
344
|
> - --root-dir (perhaps $HOME)
|
|
343
345
|
> - --dir-to-backup (perhaps Pictures)
|
|
@@ -472,8 +474,9 @@ Please review the [Code of Conduct](https://github.com/per2jensen/dar-backup/blo
|
|
|
472
474
|
|
|
473
475
|
## Requirements
|
|
474
476
|
|
|
477
|
+
- A linux system
|
|
475
478
|
- dar
|
|
476
|
-
- par2
|
|
479
|
+
- parchive (par2)
|
|
477
480
|
- python3
|
|
478
481
|
- python3-venv
|
|
479
482
|
|
|
@@ -578,27 +581,25 @@ See section 15 and section 16 in the supplied "LICENSE" file.
|
|
|
578
581
|
|
|
579
582
|
### 2 - configuration
|
|
580
583
|
|
|
581
|
-
The dar-backup [
|
|
582
|
-
It creates
|
|
584
|
+
The dar-backup [installer](#installer-options) application can be used to setup the needed directories for `dar-backup` to work.
|
|
585
|
+
It creates necessary directories as prescribed in the config file and optionally creates manager databases.
|
|
583
586
|
|
|
584
|
-
`
|
|
587
|
+
`installer` can also add configuration of shell auto completion.
|
|
585
588
|
|
|
586
|
-
|
|
589
|
+
Step 1:
|
|
587
590
|
|
|
588
|
-
|
|
589
|
-
demo --install
|
|
590
|
-
```
|
|
591
|
+
Create a config file - [see details on config file](#config-file))
|
|
591
592
|
|
|
592
|
-
|
|
593
|
+
Step 2:
|
|
593
594
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
595
|
+
Create one or more backup definitions - [see details on backup definitions](#backup-definition-example)
|
|
596
|
+
|
|
597
|
+
Step 3:
|
|
598
|
+
|
|
599
|
+
Run the installer:
|
|
600
|
+
|
|
601
|
+
```bash
|
|
602
|
+
installer --config <path to dar-backup.conf> --install-autocompletion
|
|
602
603
|
```
|
|
603
604
|
|
|
604
605
|
### 3 - generate catalog databases
|
|
@@ -613,9 +614,7 @@ manager --create-db
|
|
|
613
614
|
|
|
614
615
|
### 4 - give dar-backup a spin
|
|
615
616
|
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
You are now ready to do backups as configured in the backup definition.
|
|
617
|
+
You are now ready to do backups as configured in your backup definition(s).
|
|
619
618
|
|
|
620
619
|
Give `dar-backup`a spin:
|
|
621
620
|
|
|
@@ -625,6 +624,9 @@ dar-backup --full-backup --verbose
|
|
|
625
624
|
# list backups
|
|
626
625
|
dar-backup --list
|
|
627
626
|
|
|
627
|
+
# list contents of a dar backup
|
|
628
|
+
dar-backup --list-contents <TAB>... <choose a backup>
|
|
629
|
+
|
|
628
630
|
# see some examples on usage
|
|
629
631
|
dar-backup --examples
|
|
630
632
|
|
|
@@ -663,6 +665,9 @@ Tilde `~` and environment variables can be used in the paths for various file lo
|
|
|
663
665
|
```text
|
|
664
666
|
[MISC]
|
|
665
667
|
LOGFILE_LOCATION=~/.dar-backup.log
|
|
668
|
+
# optional parameters
|
|
669
|
+
# LOGFILE_MAX_BYTES = 26214400 # 25 MB max file size is default, change as neeeded
|
|
670
|
+
# LOGFILE_BACKUP_COUNT = 5 # 5 backup log files is default, change as needed
|
|
666
671
|
MAX_SIZE_VERIFICATION_MB = 20
|
|
667
672
|
MIN_SIZE_VERIFICATION_MB = 1
|
|
668
673
|
NO_FILES_VERIFICATION = 5
|
|
@@ -681,6 +686,8 @@ TEST_RESTORE_DIR = /tmp/dar-backup/restore/
|
|
|
681
686
|
|
|
682
687
|
[AGE]
|
|
683
688
|
# age settings are in days
|
|
689
|
+
# `cleanup` script removes archives and their .par redundancy files if older than configured.
|
|
690
|
+
# `cleanup` does not remove FULL archives, unless specifically told to and a "y" is answered to "are you sure?".
|
|
684
691
|
DIFF_AGE = 100
|
|
685
692
|
INCR_AGE = 40
|
|
686
693
|
|
|
@@ -836,6 +843,12 @@ The name of the file is the name of the backup definition.
|
|
|
836
843
|
|
|
837
844
|
You can use as many backup definitions as you need.
|
|
838
845
|
|
|
846
|
+
> Note 👉
|
|
847
|
+
>
|
|
848
|
+
> Environment variables and tilde (~) not allowed here. `dar` does not expand them.
|
|
849
|
+
>
|
|
850
|
+
> See [TODO](#todo)
|
|
851
|
+
|
|
839
852
|
```text
|
|
840
853
|
# Switch to ordered selection mode, which means that the following
|
|
841
854
|
# options will be considered top to bottom
|
|
@@ -1209,6 +1222,8 @@ These [.darrc](#darrc) settings make `dar` print the current directory being pro
|
|
|
1209
1222
|
|
|
1210
1223
|
This is very useful in very long running jobs to get an indication that the backup is proceeding normally.
|
|
1211
1224
|
|
|
1225
|
+
The `dar` output is streamed to the `dar-backup-commands.log` file.
|
|
1226
|
+
|
|
1212
1227
|
### Separate log file for command output
|
|
1213
1228
|
|
|
1214
1229
|
Dar-backup's log file is called `dar-backup.log`.
|
|
@@ -1370,8 +1385,54 @@ Then reload Zsh:
|
|
|
1370
1385
|
source ~/.zshrc
|
|
1371
1386
|
```
|
|
1372
1387
|
|
|
1388
|
+
## Easy development setup
|
|
1389
|
+
|
|
1390
|
+
It is very easy to have your own development environment.
|
|
1391
|
+
|
|
1392
|
+
```bash
|
|
1393
|
+
git clone https://github.com/per2jensen/dar-backup.git
|
|
1394
|
+
cd dar-backup/v2
|
|
1395
|
+
./build.py
|
|
1396
|
+
```
|
|
1397
|
+
|
|
1398
|
+
This script:
|
|
1399
|
+
|
|
1400
|
+
- Creates a Python virtual environment called `venv`
|
|
1401
|
+
- pip install `hatch`
|
|
1402
|
+
- pip install the development environment as setup in pyproject.toml
|
|
1403
|
+
|
|
1404
|
+
--
|
|
1405
|
+
|
|
1406
|
+
```text
|
|
1407
|
+
dev = [
|
|
1408
|
+
"pytest",
|
|
1409
|
+
"wheel>=0.45.1",
|
|
1410
|
+
"requests>=2.32.2",
|
|
1411
|
+
"coverage>=7.8.2",
|
|
1412
|
+
"pytest>=8.4.0",
|
|
1413
|
+
"pytest-cov>=6.1.1",
|
|
1414
|
+
"psutil>=7.0.0",
|
|
1415
|
+
"pytest-timeout>=2.4.0",
|
|
1416
|
+
"httpcore>=0.17.3",
|
|
1417
|
+
"h11>=0.16.0",
|
|
1418
|
+
"zipp>=3.19.1",
|
|
1419
|
+
"anyio>=4.4.0",
|
|
1420
|
+
"black>=25.1.0"]
|
|
1421
|
+
```
|
|
1422
|
+
|
|
1423
|
+
✅ Your environment is now ready to activate and test!
|
|
1424
|
+
|
|
1425
|
+
Activate and run the test suite:
|
|
1426
|
+
|
|
1427
|
+
```bash
|
|
1428
|
+
source venv/bin/activate # activate the virtual env
|
|
1429
|
+
pytest # run the test suite
|
|
1430
|
+
```
|
|
1431
|
+
|
|
1373
1432
|
## Todo
|
|
1374
1433
|
|
|
1434
|
+
- Perhaps look into pre-processing backup definitions. As `dar` does not expand env vars
|
|
1435
|
+
`dar-backup` could do so and feed the result to `dar`.
|
|
1375
1436
|
- When run interactively, a progress bar during test and par2 generation would be nice.
|
|
1376
1437
|
- Look into a way to move the .par2 files away from the `dar` slices, to maximize chance of good redundancy.
|
|
1377
1438
|
- Add option to dar-backup to use the `dar` option `--fsa-scope none`
|
|
@@ -1536,12 +1597,12 @@ Sets up `dar-backup` according to provided config file.
|
|
|
1536
1597
|
The installer creates the necessary backup catalog databases if `--create-db` is given.
|
|
1537
1598
|
|
|
1538
1599
|
```bash
|
|
1539
|
-
--config
|
|
1540
|
-
--create-db Create backup catalog databases.
|
|
1541
|
-
--install-autocompletion Add bash or zsh auto completion - idempotent
|
|
1542
|
-
--remove-autocompletion Remove the auto completion from bash or zsh
|
|
1600
|
+
--config Path to a config file. The configured directories will be created.
|
|
1601
|
+
--create-db Create backup catalog databases. Use this option with `--config`.
|
|
1602
|
+
--install-autocompletion Add bash or zsh auto completion - idempotent.
|
|
1603
|
+
--remove-autocompletion Remove the auto completion from bash or zsh.
|
|
1543
1604
|
-v, --version Display version and licensing information.
|
|
1544
|
-
-h, --help Displays usage info
|
|
1605
|
+
-h, --help Displays usage info.
|
|
1545
1606
|
```
|
|
1546
1607
|
|
|
1547
1608
|
### Demo options
|
|
@@ -1561,7 +1622,7 @@ Create directories:
|
|
|
1561
1622
|
Sets up demo config files:
|
|
1562
1623
|
|
|
1563
1624
|
- ~/.config/dar-backup/dar-backup.conf
|
|
1564
|
-
- ~/.config/dar-backup/backup.d/
|
|
1625
|
+
- ~/.config/dar-backup/backup.d/demo
|
|
1565
1626
|
|
|
1566
1627
|
```bash
|
|
1567
1628
|
-i, --install Sets up `dar-backup`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Reached 1000 clones on 2025-06-13T02:51:59.728578+00:00Z
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Reached 500 clones on 2025-05-25T06:40:03.355466+00:00Z
|