dar-backup 0.7.1__tar.gz → 0.7.2__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.7.2}/Changelog.md +20 -3
- {dar_backup-0.7.1 → dar_backup-0.7.2}/PKG-INFO +120 -40
- {dar_backup-0.7.1 → dar_backup-0.7.2}/README.md +100 -39
- {dar_backup-0.7.1 → dar_backup-0.7.2}/doc/badges/badge_clones.json +1 -1
- dar_backup-0.7.2/doc/badges/milestone_500.txt +1 -0
- dar_backup-0.7.2/doc/badges/milestone_badge.json +6 -0
- dar_backup-0.7.2/doc/clones.json +190 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/doc/dev.md +42 -33
- dar_backup-0.7.2/doc/weekly_clones.png +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/pyproject.toml +34 -9
- {dar_backup-0.7.1 → dar_backup-0.7.2/src/dar_backup}/Changelog.md +20 -3
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/README.md +100 -39
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/__about__.py +1 -1
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/clean_log.py +1 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/cleanup.py +11 -6
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/config_settings.py +16 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/dar-backup.conf.j2 +4 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/dar_backup.py +13 -7
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/installer.py +14 -4
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/manager.py +6 -2
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/rich_progress.py +1 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/venv/lib/python3.12/site-packages/black-25.1.0.dist-info/licenses}/LICENSE +1 -1
- dar_backup-0.7.2/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.7.2/venv/lib/python3.12/site-packages/charset_normalizer-3.4.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.7.2/venv/lib/python3.12/site-packages/iniconfig-2.1.0.dist-info/licenses}/LICENSE +7 -7
- dar_backup-0.7.2/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.7.2/venv/lib/python3.12/site-packages/nh3-0.2.21.dist-info/licenses}/LICENSE +3 -1
- {dar_backup-0.7.1/venv/lib/python3.12/site-packages/python_slugify-8.0.4.dist-info → dar_backup-0.7.2/venv/lib/python3.12/site-packages/pyproject_hooks-1.2.0.dist-info}/LICENSE +2 -2
- dar_backup-0.7.2/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/mbstrdecoder-1.1.4.dist-info/LICENSE +0 -21
- 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/python_dateutil-2.9.0.post0.dist-info/LICENSE +0 -54
- 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/six-1.17.0.dist-info/LICENSE +0 -18
- 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.7.2}/.gitignore +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/doc/badges/README.md +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/doc/doc.md +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/packages/deb/README.md +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/.darrc +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/__init__.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/command_runner.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/dar-backup.conf +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/dar_backup_systemd.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/demo.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/demo_backup_def.j2 +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/src/dar_backup/exceptions.py +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/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.7.2/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.7.2/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.7.2/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.7.2/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.7.2/venv/lib/python3.12/site-packages/dar_backup-0.7.2.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.7.2/venv/lib/python3.12/site-packages/filelock-3.18.0.dist-info}/licenses/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/venv/lib/python3.12/site-packages/id-1.5.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/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.7.2/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.7.2/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.7.2/venv/lib/python3.12/site-packages/keyring-25.6.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2}/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.7.2/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.7.2/venv/lib/python3.12/site-packages/packaging-25.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/pathspec-0.12.1.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/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.7.2/venv/lib/python3.12/site-packages/pluggy-1.6.0.dist-info/licenses}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/psutil-7.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/ptyprocess-0.7.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/pycparser-2.22.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/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.7.2/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.7.2/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.7.2}/venv/lib/python3.12/site-packages/readme_renderer-44.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/requests-2.32.3.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/requests_toolbelt-1.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/rfc3986-2.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/rich-14.0.0.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/shellingham-1.5.4.dist-info/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/venv/lib/python3.12/site-packages/tomli_w-1.2.0.dist-info}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/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.7.2/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.7.2/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.7.2/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.7.2/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.7.2/venv/lib/python3.12/site-packages/wheel/vendored/packaging}/LICENSE +0 -0
- {dar_backup-0.7.1 → dar_backup-0.7.2}/venv/lib/python3.12/site-packages/zstandard-0.23.0.dist-info/LICENSE +0 -0
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
<!-- markdownlint-disable MD024 -->
|
|
2
2
|
# dar-backup Changelog
|
|
3
3
|
|
|
4
|
-
## v2-beta-0.
|
|
4
|
+
## v2-beta-0.7.2 - 2025-06-07
|
|
5
|
+
|
|
6
|
+
Github link: [v2-beta-0.7.2](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.7.2/v2)
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Refactored build system, so all dependencies are kept in `pyproject.toml`. The dependencies are separated into dev, packaging and delivery phases.
|
|
11
|
+
- Use `build.sh` to setup pytest environment in Github workflow.
|
|
12
|
+
|
|
13
|
+
- Do the same to get a development environment going.
|
|
14
|
+
|
|
15
|
+
- Added 2 new optional params to control log file roll.
|
|
16
|
+
- Enrolling into [Snyk code checker](https://snyk.io/code-checker/) and learning how to work with it.
|
|
17
|
+
|
|
18
|
+
- Snyk helped pointing out vulnerable versions of some packages used.
|
|
19
|
+
- Input sanitization started, there is room for improvement.
|
|
20
|
+
|
|
21
|
+
## v2-beta-0.7.1 - 2025-05-22
|
|
5
22
|
|
|
6
23
|
Github link: [v2-beta-0.7.1](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.7.1/v2)
|
|
7
24
|
|
|
@@ -24,9 +41,9 @@ Github link: [v2-beta-0.7.1](https://github.com/per2jensen/dar-backup/tree/v2-be
|
|
|
24
41
|
- Action + program to capture cloning stats and store them in v2/doc directory. Includes a badge.
|
|
25
42
|
|
|
26
43
|
-- annotate new daily max number of clones
|
|
27
|
-
-- Celebration badge when
|
|
44
|
+
-- Celebration badge when certain clones numbers are hit (just for fun)
|
|
28
45
|
|
|
29
|
-
- Action + program to generate
|
|
46
|
+
- Action + program to generate 12 weeks cloning dashboard (a PNG) with annotation
|
|
30
47
|
- Tweaked the auto completion setup in .bashrc, it stopped working for me unknown reasons (needs some looking into)
|
|
31
48
|
- --verbose now affects the startup banner. Now it is printed only if --verbose is given
|
|
32
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dar-backup
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
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,25 @@ 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: psutil>=7.0.0; extra == 'dev'
|
|
703
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
704
|
+
Requires-Dist: pytest-cov>=6.1.1; extra == 'dev'
|
|
705
|
+
Requires-Dist: pytest-timeout>=2.4.0; extra == 'dev'
|
|
706
|
+
Requires-Dist: pytest>=8.4.0; extra == 'dev'
|
|
707
|
+
Requires-Dist: requests>=2.32.2; extra == 'dev'
|
|
708
|
+
Requires-Dist: wheel>=0.45.1; extra == 'dev'
|
|
709
|
+
Requires-Dist: zipp>=3.19.1; extra == 'dev'
|
|
710
|
+
Provides-Extra: packaging
|
|
711
|
+
Requires-Dist: build>=1.2.2; extra == 'packaging'
|
|
712
|
+
Requires-Dist: hatch>=1.14.1; extra == 'packaging'
|
|
713
|
+
Requires-Dist: hatchling>=1.27.0; extra == 'packaging'
|
|
714
|
+
Requires-Dist: twine>=6.1.0; extra == 'packaging'
|
|
696
715
|
Description-Content-Type: text/markdown
|
|
697
716
|
|
|
698
717
|
<!-- markdownlint-disable MD024 -->
|
|
@@ -700,15 +719,16 @@ Description-Content-Type: text/markdown
|
|
|
700
719
|
|
|
701
720
|
**Reliable DAR backups, automated in clean Python**
|
|
702
721
|
|
|
703
|
-
[](https://codecov.io/gh/per2jensen/dar-backup)
|
|
723
|
+
[](https://snyk.io/test/github/per2jensen/dar-backup)
|
|
704
724
|

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