borgbackup 1.4.0rc1__tar.gz → 1.4.1__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.
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/CHANGES.rst +104 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/LICENSE +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/PKG-INFO +5 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/SECURITY.md +6 -6
- borgbackup-1.4.1/docs/_templates/layout.html +173 -0
- borgbackup-1.4.1/docs/binaries/00_README.txt +87 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/changes.rst +104 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/conf.py +4 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment/automated-local.rst +6 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment/central-backup-server.rst +4 -4
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/development.rst +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/faq.rst +61 -59
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/global.rst.inc +1 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/installation.rst +34 -46
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/data-structures.rst +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-benchmark-crud.1 +3 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-benchmark.1 +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-break-lock.1 +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-check.1 +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-common.1 +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-compact.1 +7 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-compression.1 +25 -18
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-config.1 +5 -7
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-create.1 +9 -15
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-delete.1 +4 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-diff.1 +4 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-export-tar.1 +4 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-extract.1 +4 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-import-tar.1 +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-info.1 +4 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-init.1 +11 -18
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-key-change-passphrase.1 +5 -9
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-key-export.1 +4 -6
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-key-import.1 +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-key-migrate-to-repokey.1 +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-key.1 +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-list.1 +8 -11
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-mount.1 +27 -8
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-patterns.1 +27 -28
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-placeholders.1 +9 -11
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-prune.1 +19 -10
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-recreate.1 +5 -7
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-rename.1 +3 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-serve.1 +10 -15
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-umount.1 +12 -9
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-upgrade.1 +7 -11
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-version.1 +3 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-with-lock.1 +3 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg.1 +75 -93
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borgfs.1 +27 -8
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/prune-example.txt +24 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/quickstart.rst +17 -22
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/check.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/compact.rst.inc +7 -4
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/config.rst.inc +3 -3
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/create.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/delete.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/diff.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/export-tar.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/extract.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/environment.rst.inc +3 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/repository-urls.rst.inc +12 -12
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/return-codes.rst.inc +2 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/help.rst.inc +21 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/import-tar.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/info.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/init.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/key_export.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/key_import.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/list.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/mount.rst +7 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/mount.rst.inc +23 -8
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/prune.rst.inc +15 -5
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/recreate.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/serve.rst +2 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/serve.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/upgrade.rst.inc +2 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/pyproject.toml +1 -0
- borgbackup-1.4.1/requirements.d/development.lock.txt +12 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/requirements.d/docs.txt +1 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/fetch-binaries +6 -4
- borgbackup-1.4.1/src/borg/_version.py +1 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/algorithms/checksums.c +882 -879
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/archive.py +55 -22
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/archiver.py +99 -25
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/cache.py +30 -9
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/chunker.c +1415 -1413
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/compress.c +2178 -1345
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/compress.pyx +19 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/key.py +2 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/keymanager.py +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/low_level.c +1076 -1057
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/hashindex.c +733 -698
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/misc.py +55 -9
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/parseformat.py +1 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/yes.py +8 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/item.c +564 -537
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/logger.py +6 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/__init__.py +13 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/darwin.c +1941 -1338
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/darwin.pyx +38 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/freebsd.c +734 -731
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/freebsd.pyx +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/linux.c +1036 -1019
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/posix.c +488 -478
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/syncfilerange.c +423 -428
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/windows.c +634 -642
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/remote.py +25 -12
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/__init__.py +3 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/archiver.py +181 -13
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/compress.py +31 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/conftest.py +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/helpers.py +28 -17
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/xattr.py +1 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borgbackup.egg-info/PKG-INFO +5 -2
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borgbackup.egg-info/SOURCES.txt +2 -3
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/tox.ini +1 -1
- borgbackup-1.4.0rc1/docs/3rd_party/README +0 -5
- borgbackup-1.4.0rc1/docs/3rd_party/lz4/LICENSE +0 -24
- borgbackup-1.4.0rc1/docs/3rd_party/zstd/LICENSE +0 -30
- borgbackup-1.4.0rc1/requirements.d/development.lock.txt +0 -12
- borgbackup-1.4.0rc1/src/borg/_version.py +0 -1
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/.coveragerc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/.pre-commit-config.yaml +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/.readthedocs.yaml +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/AUTHORS +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/Brewfile +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/MANIFEST.in +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/README.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/README_WINDOWS.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/Makefile +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_static/Makefile +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_static/favicon.ico +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_static/logo.pdf +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_static/logo.png +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_static/logo.svg +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_static/logo_font.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_templates/globaltoc.html +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/_templates/logo-text.html +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/authors.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/book.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/borg_theme/css/borg.css +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment/hosting-repositories.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment/image-backup.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment/non-root-user.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment/pull-backup.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/deployment.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/index.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/compaction.png +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/compaction.vsd +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/encryption.png +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/encryption.vsd +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/frontends.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/object-graph.png +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/object-graph.vsd +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/security.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/structure.png +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals/structure.vsd +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/internals.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/introduction.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man/borg-change-passphrase.1 +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/man_intro.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/README +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/Vagrantfile +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/advanced.json +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/advanced.tcl +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/basic.json +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/basic.tcl +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/install.json +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/install.tcl +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/benchmark-crud.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/borg-data-flow.png +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/borg-data-flow.vsd +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/create_chunker-params.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/internals-picture.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/misc/logging.conf +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/quickstart_example.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/support.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/benchmark.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/benchmark_crud.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/borgfs.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/borgfs.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/break-lock.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/change-passphrase.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/check.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/common-options.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/compact.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/config.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/create.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/debug.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/delete.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/diff.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/extract.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/date-time.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/file-metadata.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/file-systems.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/logging.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/positional-arguments.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/repository-locations.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/resources.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general/units.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/general.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/help.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/info.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/init.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/key.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/key_change-passphrase.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/key_migrate-to-repokey.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/list.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/lock.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/notes.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/prune.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/recreate.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/rename.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/rename.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/tar.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/umount.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/upgrade.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/usage_general.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/version.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/version.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage/with-lock.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage.rst +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/docs/usage_general.rst.inc +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/requirements.d/development.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/borg.exe.spec +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/errorlist.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/fuzz-cache-sync/HOWTO +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/fuzz-cache-sync/main.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/fuzz-cache-sync/testcase_dir/test_simple +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/glibc_check.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/hash_sizes.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/make.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/msys2-build +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/msys2-install-deps +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/sdist-sign +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/shell_completions/bash/borg +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/shell_completions/fish/borg.fish +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/shell_completions/zsh/_borg +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/sign-binaries +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/scripts/upload-pypi +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/setup.cfg +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/setup.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/__init__.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/__main__.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/_chunker.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/_endian.h +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/_hashindex.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/_item.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/algorithms/__init__.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/algorithms/checksums.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/algorithms/crc32_clmul.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/algorithms/crc32_dispatch.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/algorithms/crc32_slice_by_8.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/cache_sync/cache_sync.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/cache_sync/sysdep.h +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/cache_sync/unpack.h +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/cache_sync/unpack_define.h +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/cache_sync/unpack_template.h +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/chunker.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/constants.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/__init__.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/_crypto_helpers.c +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/_crypto_helpers.h +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/file_integrity.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/low_level.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/crypto/nonces.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/fuse.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/fuse_impl.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/hashindex.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/__init__.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/checks.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/datastruct.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/errors.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/fs.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/manifest.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/msgpack.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/process.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/progress.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/helpers/time.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/item.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/locking.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/lrucache.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/nanorst.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/paperkey.html +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/patterns.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/base.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/linux.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/posix.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/syncfilerange.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/windows.pyx +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platform/xattr.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/platformflags.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/repository.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/selftest.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/shellpattern.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/archive.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/attic.tar.gz +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/benchmark.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/cache.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/checksums.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/chunker.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/chunker_pytest.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/chunker_slow.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/crypto.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/efficient_collection_queue.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/file_integrity.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/hashindex.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/hashindex_stress.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/item.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/key.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/locking.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/logger.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/lrucache.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/nanorst.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/nonces.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/patterns.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/platform.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/remote.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/repository.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/shellpattern.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/upgrader.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/testsuite/version.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/upgrader.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/version.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borg/xattr.py +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borgbackup.egg-info/dependency_links.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borgbackup.egg-info/entry_points.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borgbackup.egg-info/requires.txt +0 -0
- {borgbackup-1.4.0rc1 → borgbackup-1.4.1}/src/borgbackup.egg-info/top_level.txt +0 -0
@@ -311,8 +311,11 @@ Upgrade Notes
|
|
311
311
|
borg 1.2.x to 1.4.x
|
312
312
|
-------------------
|
313
313
|
|
314
|
-
|
315
|
-
|
314
|
+
If you currently use borg 1.2.5+: no upgrade steps needed (if you already did
|
315
|
+
them when upgrading to that version, otherwise see below).
|
316
|
+
|
317
|
+
If you currently use borg 1.2.0 .. 1.2.4, read and follow "Pre-1.2.5 archives
|
318
|
+
spoofing vulnerability (CVE-2023-36811)" section, see the top of this changelog.
|
316
319
|
|
317
320
|
Compatibility notes:
|
318
321
|
|
@@ -411,13 +414,109 @@ Compatibility notes:
|
|
411
414
|
Change Log
|
412
415
|
==========
|
413
416
|
|
414
|
-
|
415
|
-
|
416
|
-
-----------------------------
|
417
|
+
Version 1.4.1 (2025-04-19)
|
418
|
+
--------------------------
|
417
419
|
|
418
420
|
For upgrade and compatibility hints, please also read the section "Upgrade Notes"
|
419
421
|
above.
|
420
422
|
|
423
|
+
New features:
|
424
|
+
|
425
|
+
- prune: add 13weekly and 3monthly quarterly pruning strategies, #8337
|
426
|
+
- add BORG_USE_CHUNKS_ARCHIVE env var as a cleaner way to control whether
|
427
|
+
borg shall use chunks.archive.d/ cache directory. the previous "hack" to
|
428
|
+
create a non-directory file at that place is still supported.
|
429
|
+
- compact: support --dry-run (do nothing) to simplify scripting, #8300
|
430
|
+
- add {unixtime} placeholder, #8522
|
431
|
+
- macOS: retrieve birthtime in nanosecond precision via system call, #8724
|
432
|
+
- implement padme chunk size obfuscation (SPEC 250), #8705
|
433
|
+
|
434
|
+
Fixes:
|
435
|
+
|
436
|
+
- borg exits when assertions are disabled with Python optimizations, #8649
|
437
|
+
- fix remote repository exception handling / modern exit codes, #8631
|
438
|
+
- config: fix acceptance of storage_quota 0, #8499
|
439
|
+
- config: reject additional_free_space < 10M (but accept 0), #6066
|
440
|
+
- check: more consistent messaging considering --repair, #8533
|
441
|
+
- yes: deal with UnicodeDecodeError in input(), #6984
|
442
|
+
- fix WORKAROUNDS=authenticated_no_key support for archive TAM authentication,
|
443
|
+
#8400
|
444
|
+
- diff: do not assert on diff if hard link sources are not found due to
|
445
|
+
exclusions, #8344
|
446
|
+
- diff:
|
447
|
+
|
448
|
+
- suppress modified changes for files which weren't actually modified in JSON
|
449
|
+
output, #8334
|
450
|
+
- ensure that 0B changes are hidden from text diffs, too.
|
451
|
+
- remove 0-added,0-removed modified entries from JSON output.
|
452
|
+
- try to rebuild cache if an exception is raised, #5213
|
453
|
+
- freebsd: fix nfs4 acl processing, #8756.
|
454
|
+
This issue only affected borg extract --numeric-ids when processing NFS4
|
455
|
+
ACLs, it didn't affect POSIX ACL processing.
|
456
|
+
|
457
|
+
Other changes:
|
458
|
+
|
459
|
+
- support and test on Python 3.13
|
460
|
+
- use Cython 3.0.12
|
461
|
+
- filter LibreSSL related warnings on OpenBSD
|
462
|
+
- docs:
|
463
|
+
|
464
|
+
- update install docs, nothing bundled anymore, #8342
|
465
|
+
- clarify excluded and included flags for dry-run, #8556
|
466
|
+
- small changes regarding compression, #8542
|
467
|
+
- clean up entries regarding SSH settings, link to recommended ones, #8542
|
468
|
+
- borg/borgfs detects internally under which name it was invoked, #8207
|
469
|
+
- binary: using the directory build is faster, #8008
|
470
|
+
- add readme of the binaries
|
471
|
+
- mount: document on-demand loading, perf tips, #7173
|
472
|
+
- better link modern return codes, #8370
|
473
|
+
- update repository URLs in docs to use new syntax, #8361
|
474
|
+
- align /etc/backups path references in automated backups deployment guide
|
475
|
+
- mount docs: apply jdchristensen's suggestion, better phrasing.
|
476
|
+
- FAQ: Why is backing up an unmodified FAT filesystem slow on Linux?
|
477
|
+
- FAQ: Why are backups slow on a Linux server that is a member of a windows domain?
|
478
|
+
- FAQ: add entry about pure-python msgpack warning, #8323
|
479
|
+
- modify docs for automated backup to append to SYSTEMD_WANTS rather than overwrite, #8641
|
480
|
+
- fix udev rule priority in automated-local.rst, #8639
|
481
|
+
- clarify requirements when using command line options with special characters within a shell, #8628
|
482
|
+
- work around sudden failure of sphinx ini lexer
|
483
|
+
- readthedocs theme fixes
|
484
|
+
|
485
|
+
- bring back highlighted content preview in search results.
|
486
|
+
- fix erroneous warning about missing javascript support.
|
487
|
+
- tests:
|
488
|
+
|
489
|
+
- github CI: windows msys2 build: broken, disable it for now, #8264
|
490
|
+
- improve borg check --repair healing tests, #8302
|
491
|
+
- fix hourly prune test failure due to local timezone
|
492
|
+
- ignore `com.apple.provenance` xattr (macOS specific)
|
493
|
+
- vagrant:
|
494
|
+
|
495
|
+
- pyenv: only use Python 3.11.12, use this for binary build
|
496
|
+
- macos: give more memory
|
497
|
+
- install rust on BSD
|
498
|
+
- add FreeBSD 13 box, for #8266
|
499
|
+
- fix OpenBSD box, #8506
|
500
|
+
- use a bento/ubuntu-24.04 box for now
|
501
|
+
|
502
|
+
|
503
|
+
Version 1.4.0 (2024-07-03)
|
504
|
+
--------------------------
|
505
|
+
|
506
|
+
Other changes:
|
507
|
+
|
508
|
+
- vagrant: revive the buster64 box, RHEL8 has same glibc
|
509
|
+
- tests: fix pytest_report_header, #8232
|
510
|
+
- docs:
|
511
|
+
|
512
|
+
- mount: add examples using :: positional argument, #8255
|
513
|
+
- Installation: update Arch Linux repo name
|
514
|
+
- update standalone binary section
|
515
|
+
|
516
|
+
|
517
|
+
Version 1.4.0rc1 (2024-05-26)
|
518
|
+
-----------------------------
|
519
|
+
|
421
520
|
Fixes:
|
422
521
|
|
423
522
|
- setup.py: fix import error reporting for cythonize import, #8208
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: borgbackup
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.1
|
4
4
|
Summary: Deduplicated, encrypted, authenticated and compressed backups
|
5
5
|
Author: The Borg Collective (see AUTHORS file)
|
6
6
|
Maintainer-email: Thomas Waldmann <tw@waldmann-edv.de>
|
@@ -26,6 +26,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
26
26
|
Classifier: Programming Language :: Python :: 3.10
|
27
27
|
Classifier: Programming Language :: Python :: 3.11
|
28
28
|
Classifier: Programming Language :: Python :: 3.12
|
29
|
+
Classifier: Programming Language :: Python :: 3.13
|
29
30
|
Classifier: Topic :: Security :: Cryptography
|
30
31
|
Classifier: Topic :: System :: Archiving :: Backup
|
31
32
|
Requires-Python: >=3.9
|
@@ -38,6 +39,8 @@ Requires-Dist: llfuse>=1.3.8; extra == "llfuse"
|
|
38
39
|
Provides-Extra: pyfuse3
|
39
40
|
Requires-Dist: pyfuse3>=3.1.1; extra == "pyfuse3"
|
40
41
|
Provides-Extra: nofuse
|
42
|
+
Dynamic: description
|
43
|
+
Dynamic: license-file
|
41
44
|
|
42
45
|
|
43
46
|
What is BorgBackup?
|
@@ -4,12 +4,12 @@
|
|
4
4
|
|
5
5
|
These borg releases are currently supported with security updates.
|
6
6
|
|
7
|
-
| Version | Supported
|
8
|
-
|
9
|
-
| 1.4.x | :
|
10
|
-
| 1.2.x | :white_check_mark:
|
11
|
-
| 1.1.x | :x:
|
12
|
-
| < 1.1 | :x:
|
7
|
+
| Version | Supported |
|
8
|
+
|---------|--------------------|
|
9
|
+
| 1.4.x | :white_check_mark: |
|
10
|
+
| 1.2.x | :white_check_mark: |
|
11
|
+
| 1.1.x | :x: |
|
12
|
+
| < 1.1 | :x: |
|
13
13
|
|
14
14
|
## Reporting a Vulnerability
|
15
15
|
|
@@ -0,0 +1,173 @@
|
|
1
|
+
{%- extends "basic/layout.html" %}
|
2
|
+
|
3
|
+
{# Do this so that bootstrap is included before the main css file #}
|
4
|
+
{%- block htmltitle %}
|
5
|
+
{% set script_files = script_files + ["_static/myscript.js"] %}
|
6
|
+
<!-- Licensed under the Apache 2.0 License -->
|
7
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/fonts/open-sans/stylesheet.css', 1) }}" />
|
8
|
+
<!-- Licensed under the SIL Open Font License -->
|
9
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/fonts/source-serif-pro/source-serif-pro.css', 1) }}" />
|
10
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/bootstrap.min.css', 1) }}" />
|
11
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/bootstrap-theme.min.css', 1) }}" />
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
13
|
+
{{ super() }}
|
14
|
+
{%- endblock %}
|
15
|
+
|
16
|
+
{%- block extrahead %}
|
17
|
+
{% if theme_touch_icon %}
|
18
|
+
<link rel="apple-touch-icon" href="{{ pathto('_static/' ~ theme_touch_icon, 1) }}" />
|
19
|
+
{% endif %}
|
20
|
+
{{ super() }}
|
21
|
+
{% endblock %}
|
22
|
+
|
23
|
+
{# Displays the URL for the homepage if it's set or the master_doc if it is not #}
|
24
|
+
{% macro homepage() -%}
|
25
|
+
{%- if theme_homepage %}
|
26
|
+
{%- if hasdoc(theme_homepage) %}
|
27
|
+
{{ pathto(theme_homepage) }}
|
28
|
+
{%- else %}
|
29
|
+
{{ theme_homepage }}
|
30
|
+
{%- endif %}
|
31
|
+
{%- else %}
|
32
|
+
{{ pathto(master_doc) }}
|
33
|
+
{%- endif %}
|
34
|
+
{%- endmacro %}
|
35
|
+
|
36
|
+
{# Displays the URL for the tospage if it's set or falls back to homepage macro #}
|
37
|
+
{% macro tospage() -%}
|
38
|
+
{%- if theme_tospage %}
|
39
|
+
{%- if hasdoc(theme_tospage) %}
|
40
|
+
{{ pathto(theme_tospage) }}
|
41
|
+
{%- else %}
|
42
|
+
{{ theme_tospage }}
|
43
|
+
{%- endif %}
|
44
|
+
{%- else %}
|
45
|
+
{{ homepage() }}
|
46
|
+
{%- endif %}
|
47
|
+
{%- endmacro %}
|
48
|
+
|
49
|
+
{# Displays the URL for the projectpage if it's set or falls back to homepage macro #}
|
50
|
+
{% macro projectlink() -%}
|
51
|
+
{%- if theme_projectlink %}
|
52
|
+
{%- if hasdoc(theme_projectlink) %}
|
53
|
+
{{ pathto(theme_projectlink) }}
|
54
|
+
{%- else %}
|
55
|
+
{{ theme_projectlink }}
|
56
|
+
{%- endif %}
|
57
|
+
{%- else %}
|
58
|
+
{{ homepage() }}
|
59
|
+
{%- endif %}
|
60
|
+
{%- endmacro %}
|
61
|
+
|
62
|
+
{# Displays the next and previous links both before and after content #}
|
63
|
+
{% macro render_relations() -%}
|
64
|
+
{% if prev or next %}
|
65
|
+
<div class="footer-relations">
|
66
|
+
{% if prev %}
|
67
|
+
<div class="pull-left">
|
68
|
+
<a class="btn btn-default" href="{{ prev.link|e }}" title="{{ _('previous chapter')}} (use the left arrow)">{{ prev.title }}</a>
|
69
|
+
</div>
|
70
|
+
{% endif %}
|
71
|
+
{%- if next and next.title != '<no title>' %}
|
72
|
+
<div class="pull-right">
|
73
|
+
<a class="btn btn-default" href="{{ next.link|e }}" title="{{ _('next chapter')}} (use the right arrow)">{{ next.title }}</a>
|
74
|
+
</div>
|
75
|
+
{%- endif %}
|
76
|
+
</div>
|
77
|
+
<div class="clearer"></div>
|
78
|
+
{% endif %}
|
79
|
+
{%- endmacro %}
|
80
|
+
|
81
|
+
{%- macro guzzle_sidebar() %}
|
82
|
+
<div id="left-column">
|
83
|
+
<div class="sphinxsidebar">
|
84
|
+
{%- if sidebars != None %}
|
85
|
+
{#- new style sidebar: explicitly include/exclude templates #}
|
86
|
+
{%- for sidebartemplate in sidebars %}
|
87
|
+
{%- include sidebartemplate %}
|
88
|
+
{%- endfor %}
|
89
|
+
{% else %}
|
90
|
+
{% include "logo-text.html" %}
|
91
|
+
{% include "globaltoc.html" %}
|
92
|
+
{% include "searchbox.html" %}
|
93
|
+
{%- endif %}
|
94
|
+
</div>
|
95
|
+
</div>
|
96
|
+
{%- endmacro %}
|
97
|
+
|
98
|
+
{%- block content %}
|
99
|
+
|
100
|
+
{%- if pagename == 'index' and theme_index_template %}
|
101
|
+
{% include theme_index_template %}
|
102
|
+
{%- else %}
|
103
|
+
<div class="container-wrapper">
|
104
|
+
|
105
|
+
<div id="mobile-toggle">
|
106
|
+
<a href="#"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></a>
|
107
|
+
</div>
|
108
|
+
|
109
|
+
{%- block sidebar1 %}{{ guzzle_sidebar() }}{% endblock %}
|
110
|
+
|
111
|
+
{%- block document_wrapper %}
|
112
|
+
{%- block document %}
|
113
|
+
<div id="right-column">
|
114
|
+
{% block breadcrumbs %}
|
115
|
+
<div role="navigation" aria-label="breadcrumbs navigation">
|
116
|
+
<ol class="breadcrumb">
|
117
|
+
<li><a href="{{ pathto(master_doc) }}">Docs</a></li>
|
118
|
+
{% for doc in parents %}
|
119
|
+
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a></li>
|
120
|
+
{% endfor %}
|
121
|
+
<li>{{ title }}</li>
|
122
|
+
</ol>
|
123
|
+
</div>
|
124
|
+
{% endblock %}
|
125
|
+
<div class="document clearer body" role="main">
|
126
|
+
{% block body %} {% endblock %}
|
127
|
+
</div>
|
128
|
+
{%- block bottom_rel_links %}
|
129
|
+
{{ render_relations() }}
|
130
|
+
{%- endblock %}
|
131
|
+
</div>
|
132
|
+
<div class="clearfix"></div>
|
133
|
+
{%- endblock %}
|
134
|
+
{%- endblock %}
|
135
|
+
|
136
|
+
{%- block comments -%}
|
137
|
+
{% if theme_disqus_comments_shortname %}
|
138
|
+
<div class="container comment-container">
|
139
|
+
{% include "comments.html" %}
|
140
|
+
</div>
|
141
|
+
{% endif %}
|
142
|
+
{%- endblock %}
|
143
|
+
</div>
|
144
|
+
{%- endif %}
|
145
|
+
{%- endblock %}
|
146
|
+
|
147
|
+
{%- block footer %}
|
148
|
+
<script type="text/javascript">
|
149
|
+
$("#mobile-toggle a").click(function () {
|
150
|
+
$("#left-column").toggle();
|
151
|
+
});
|
152
|
+
</script>
|
153
|
+
<script type="text/javascript" src="{{ pathto('_static/js/bootstrap.js', 1)}}"></script>
|
154
|
+
{%- block footer_wrapper %}
|
155
|
+
<div class="footer">
|
156
|
+
© Copyright {{ copyright }}. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
|
157
|
+
</div>
|
158
|
+
{%- endblock %}
|
159
|
+
{%- block ga %}
|
160
|
+
{%- if theme_google_analytics_account %}
|
161
|
+
<script type="text/javascript">
|
162
|
+
var _gaq = _gaq || [];
|
163
|
+
_gaq.push(['_setAccount', '{{ theme_google_analytics_account }}']);
|
164
|
+
_gaq.push(['_trackPageview']);
|
165
|
+
(function() {
|
166
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
167
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
168
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
169
|
+
})();
|
170
|
+
</script>
|
171
|
+
{%- endif %}
|
172
|
+
{%- endblock %}
|
173
|
+
{%- endblock %}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
Binary BorgBackup builds
|
2
|
+
========================
|
3
|
+
|
4
|
+
The binaries are supposed to work on the specified platform without installing
|
5
|
+
any dependencies.
|
6
|
+
|
7
|
+
|
8
|
+
Download the correct files
|
9
|
+
--------------------------
|
10
|
+
|
11
|
+
amd64 / x86_64 architecture
|
12
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
13
|
+
|
14
|
+
borg-linux-glibc236 Linux (built on Debian 12 "Bookworm" with glibc 2.36)
|
15
|
+
borg-linux-glibc231 Linux (built on Debian 11 "Bullseye" with glibc 2.31)
|
16
|
+
borg-linux-glibc228 Linux (built on Debian 10 "Buster" with glibc 2.28)
|
17
|
+
Note: you can also try them on other Linuxes with other glibc
|
18
|
+
versions - as long as the glibc is compatible, they will work.
|
19
|
+
If it doesn't work, try a borg 1.2.x binary.
|
20
|
+
|
21
|
+
borg-macos1012 macOS (built on macOS Sierra 10.12 with latest macFUSE from brew)
|
22
|
+
To avoid signing issues download the file via command line OR
|
23
|
+
remove the "quarantine" attribute after downloading:
|
24
|
+
$ xattr -dr com.apple.quarantine borg-macos.tgz
|
25
|
+
|
26
|
+
borg-freebsd13 FreeBSD (built on FreeBSD 13)
|
27
|
+
borg-freebsd14 FreeBSD (built on FreeBSD 14)
|
28
|
+
|
29
|
+
*.tgz similar to above, but built as a directory with files,
|
30
|
+
not as a single self-extracting binary. using the directory
|
31
|
+
build is faster and doesn't need as much space in the temp
|
32
|
+
directory as the one-file build.
|
33
|
+
*.asc GnuPG signatures for *
|
34
|
+
|
35
|
+
|
36
|
+
Verifying your download
|
37
|
+
-----------------------
|
38
|
+
|
39
|
+
Please check the GPG signature to make sure you received the binary as I have
|
40
|
+
built it.
|
41
|
+
|
42
|
+
To check the GPG signature, download both the binary and the corresponding
|
43
|
+
*.asc file and then (on the shell) type, e.g.:
|
44
|
+
|
45
|
+
gpg --recv-keys 9F88FB52FAF7B393
|
46
|
+
gpg --verify borg-freebsd.asc borg-freebsd
|
47
|
+
|
48
|
+
The files are signed by:
|
49
|
+
|
50
|
+
Thomas Waldmann <tw@waldmann-edv.de>
|
51
|
+
GPG key fingerprint: 6D5B EF9A DD20 7580 5747 B70F 9F88 FB52 FAF7 B393
|
52
|
+
|
53
|
+
My fingerprint is also in the footer of all my borgbackup mailing list posts.
|
54
|
+
|
55
|
+
|
56
|
+
Installing
|
57
|
+
----------
|
58
|
+
|
59
|
+
It is suggested that you rename or symlink the binary to just "borg".
|
60
|
+
If you need "borgfs", just also symlink it to the same binary, it will
|
61
|
+
detect internally under which name it was invoked.
|
62
|
+
|
63
|
+
On UNIX-like platforms, /usr/local/bin/ or ~/bin/ is a nice place for it,
|
64
|
+
but you can invoke it from every place by giving a full path to it.
|
65
|
+
|
66
|
+
Make sure the file is readable and executable (chmod +rx borg on UNIX-like
|
67
|
+
platforms).
|
68
|
+
|
69
|
+
|
70
|
+
Reporting issues
|
71
|
+
----------------
|
72
|
+
|
73
|
+
Please first check the FAQ and whether a github issue already exists.
|
74
|
+
|
75
|
+
If you find a NEW issue, please open a ticket on our issue tracker:
|
76
|
+
|
77
|
+
https://github.com/borgbackup/borg/issues/
|
78
|
+
|
79
|
+
There, please give:
|
80
|
+
- the version number (it is displayed if you invoke borg -V)
|
81
|
+
- the sha256sum of the binary
|
82
|
+
- a good description of what the issue is
|
83
|
+
- a good description of how to reproduce your issue
|
84
|
+
- a traceback with system info (if you have one)
|
85
|
+
- your precise platform (CPU, 32/64bit?), OS, distribution, release
|
86
|
+
- your python and (g)libc version
|
87
|
+
|
@@ -311,8 +311,11 @@ Upgrade Notes
|
|
311
311
|
borg 1.2.x to 1.4.x
|
312
312
|
-------------------
|
313
313
|
|
314
|
-
|
315
|
-
|
314
|
+
If you currently use borg 1.2.5+: no upgrade steps needed (if you already did
|
315
|
+
them when upgrading to that version, otherwise see below).
|
316
|
+
|
317
|
+
If you currently use borg 1.2.0 .. 1.2.4, read and follow "Pre-1.2.5 archives
|
318
|
+
spoofing vulnerability (CVE-2023-36811)" section, see the top of this changelog.
|
316
319
|
|
317
320
|
Compatibility notes:
|
318
321
|
|
@@ -411,13 +414,109 @@ Compatibility notes:
|
|
411
414
|
Change Log
|
412
415
|
==========
|
413
416
|
|
414
|
-
|
415
|
-
|
416
|
-
-----------------------------
|
417
|
+
Version 1.4.1 (2025-04-19)
|
418
|
+
--------------------------
|
417
419
|
|
418
420
|
For upgrade and compatibility hints, please also read the section "Upgrade Notes"
|
419
421
|
above.
|
420
422
|
|
423
|
+
New features:
|
424
|
+
|
425
|
+
- prune: add 13weekly and 3monthly quarterly pruning strategies, #8337
|
426
|
+
- add BORG_USE_CHUNKS_ARCHIVE env var as a cleaner way to control whether
|
427
|
+
borg shall use chunks.archive.d/ cache directory. the previous "hack" to
|
428
|
+
create a non-directory file at that place is still supported.
|
429
|
+
- compact: support --dry-run (do nothing) to simplify scripting, #8300
|
430
|
+
- add {unixtime} placeholder, #8522
|
431
|
+
- macOS: retrieve birthtime in nanosecond precision via system call, #8724
|
432
|
+
- implement padme chunk size obfuscation (SPEC 250), #8705
|
433
|
+
|
434
|
+
Fixes:
|
435
|
+
|
436
|
+
- borg exits when assertions are disabled with Python optimizations, #8649
|
437
|
+
- fix remote repository exception handling / modern exit codes, #8631
|
438
|
+
- config: fix acceptance of storage_quota 0, #8499
|
439
|
+
- config: reject additional_free_space < 10M (but accept 0), #6066
|
440
|
+
- check: more consistent messaging considering --repair, #8533
|
441
|
+
- yes: deal with UnicodeDecodeError in input(), #6984
|
442
|
+
- fix WORKAROUNDS=authenticated_no_key support for archive TAM authentication,
|
443
|
+
#8400
|
444
|
+
- diff: do not assert on diff if hard link sources are not found due to
|
445
|
+
exclusions, #8344
|
446
|
+
- diff:
|
447
|
+
|
448
|
+
- suppress modified changes for files which weren't actually modified in JSON
|
449
|
+
output, #8334
|
450
|
+
- ensure that 0B changes are hidden from text diffs, too.
|
451
|
+
- remove 0-added,0-removed modified entries from JSON output.
|
452
|
+
- try to rebuild cache if an exception is raised, #5213
|
453
|
+
- freebsd: fix nfs4 acl processing, #8756.
|
454
|
+
This issue only affected borg extract --numeric-ids when processing NFS4
|
455
|
+
ACLs, it didn't affect POSIX ACL processing.
|
456
|
+
|
457
|
+
Other changes:
|
458
|
+
|
459
|
+
- support and test on Python 3.13
|
460
|
+
- use Cython 3.0.12
|
461
|
+
- filter LibreSSL related warnings on OpenBSD
|
462
|
+
- docs:
|
463
|
+
|
464
|
+
- update install docs, nothing bundled anymore, #8342
|
465
|
+
- clarify excluded and included flags for dry-run, #8556
|
466
|
+
- small changes regarding compression, #8542
|
467
|
+
- clean up entries regarding SSH settings, link to recommended ones, #8542
|
468
|
+
- borg/borgfs detects internally under which name it was invoked, #8207
|
469
|
+
- binary: using the directory build is faster, #8008
|
470
|
+
- add readme of the binaries
|
471
|
+
- mount: document on-demand loading, perf tips, #7173
|
472
|
+
- better link modern return codes, #8370
|
473
|
+
- update repository URLs in docs to use new syntax, #8361
|
474
|
+
- align /etc/backups path references in automated backups deployment guide
|
475
|
+
- mount docs: apply jdchristensen's suggestion, better phrasing.
|
476
|
+
- FAQ: Why is backing up an unmodified FAT filesystem slow on Linux?
|
477
|
+
- FAQ: Why are backups slow on a Linux server that is a member of a windows domain?
|
478
|
+
- FAQ: add entry about pure-python msgpack warning, #8323
|
479
|
+
- modify docs for automated backup to append to SYSTEMD_WANTS rather than overwrite, #8641
|
480
|
+
- fix udev rule priority in automated-local.rst, #8639
|
481
|
+
- clarify requirements when using command line options with special characters within a shell, #8628
|
482
|
+
- work around sudden failure of sphinx ini lexer
|
483
|
+
- readthedocs theme fixes
|
484
|
+
|
485
|
+
- bring back highlighted content preview in search results.
|
486
|
+
- fix erroneous warning about missing javascript support.
|
487
|
+
- tests:
|
488
|
+
|
489
|
+
- github CI: windows msys2 build: broken, disable it for now, #8264
|
490
|
+
- improve borg check --repair healing tests, #8302
|
491
|
+
- fix hourly prune test failure due to local timezone
|
492
|
+
- ignore `com.apple.provenance` xattr (macOS specific)
|
493
|
+
- vagrant:
|
494
|
+
|
495
|
+
- pyenv: only use Python 3.11.12, use this for binary build
|
496
|
+
- macos: give more memory
|
497
|
+
- install rust on BSD
|
498
|
+
- add FreeBSD 13 box, for #8266
|
499
|
+
- fix OpenBSD box, #8506
|
500
|
+
- use a bento/ubuntu-24.04 box for now
|
501
|
+
|
502
|
+
|
503
|
+
Version 1.4.0 (2024-07-03)
|
504
|
+
--------------------------
|
505
|
+
|
506
|
+
Other changes:
|
507
|
+
|
508
|
+
- vagrant: revive the buster64 box, RHEL8 has same glibc
|
509
|
+
- tests: fix pytest_report_header, #8232
|
510
|
+
- docs:
|
511
|
+
|
512
|
+
- mount: add examples using :: positional argument, #8255
|
513
|
+
- Installation: update Arch Linux repo name
|
514
|
+
- update standalone binary section
|
515
|
+
|
516
|
+
|
517
|
+
Version 1.4.0rc1 (2024-05-26)
|
518
|
+
-----------------------------
|
519
|
+
|
421
520
|
Fixes:
|
422
521
|
|
423
522
|
- setup.py: fix import error reporting for cythonize import, #8208
|
@@ -42,7 +42,7 @@ master_doc = 'index'
|
|
42
42
|
|
43
43
|
# General information about the project.
|
44
44
|
project = 'Borg - Deduplicating Archiver'
|
45
|
-
copyright = '2010-2014 Jonas Borgström, 2015-
|
45
|
+
copyright = '2010-2014 Jonas Borgström, 2015-2025 The Borg Collective (see AUTHORS file)'
|
46
46
|
|
47
47
|
# The version info for the project you're documenting, acts as replacement for
|
48
48
|
# |version| and |release|, also used in various other places throughout the
|
@@ -113,6 +113,7 @@ def set_rst_settings(app):
|
|
113
113
|
|
114
114
|
|
115
115
|
def setup(app):
|
116
|
+
app.setup_extension('sphinxcontrib.jquery')
|
116
117
|
app.add_css_file('css/borg.css')
|
117
118
|
app.connect('builder-inited', set_rst_settings)
|
118
119
|
|
@@ -258,6 +259,8 @@ extensions = [
|
|
258
259
|
'sphinx.ext.todo',
|
259
260
|
'sphinx.ext.coverage',
|
260
261
|
'sphinx.ext.viewcode',
|
262
|
+
'sphinxcontrib.jquery', # jquery is not included anymore by default
|
263
|
+
'guzzle_sphinx_theme', # register the theme as an extension to generate a sitemap.xml
|
261
264
|
]
|
262
265
|
|
263
266
|
extlinks = {
|
@@ -32,9 +32,9 @@ All configuration goes into this directory.
|
|
32
32
|
Find out the ID of the partition table of your backup disk (here assumed to be /dev/sdz):
|
33
33
|
lsblk --fs -o +PTUUID /dev/sdz
|
34
34
|
|
35
|
-
Then, create ``/etc/backups/
|
35
|
+
Then, create ``/etc/backups/80-backup.rules`` with the following content (all on one line)::
|
36
36
|
|
37
|
-
ACTION=="add", SUBSYSTEM=="block", ENV{ID_PART_TABLE_UUID}=="<the PTUUID you just noted>", TAG+="systemd", ENV{SYSTEMD_WANTS}
|
37
|
+
ACTION=="add", SUBSYSTEM=="block", ENV{ID_PART_TABLE_UUID}=="<the PTUUID you just noted>", TAG+="systemd", ENV{SYSTEMD_WANTS}+="automatic-backup.service"
|
38
38
|
|
39
39
|
The "systemd" tag in conjunction with the SYSTEMD_WANTS environment variable has systemd
|
40
40
|
launch the "automatic-backup" service, which we will create next, as the
|
@@ -150,7 +150,7 @@ modify it to suit your needs (e.g. more backup sets, dumping databases etc.).
|
|
150
150
|
fi
|
151
151
|
|
152
152
|
Create the ``/etc/backups/autoeject`` file to have the script automatically eject the drive
|
153
|
-
after creating the backup. Rename the file to something else (e.g. ``/etc/
|
153
|
+
after creating the backup. Rename the file to something else (e.g. ``/etc/backups/autoeject-no``)
|
154
154
|
when you want to do something with the drive after creating backups (e.g running check).
|
155
155
|
|
156
156
|
Create the ``/etc/backups/backup-suspend`` file if the machine should suspend after completing
|
@@ -164,7 +164,7 @@ The last part is to actually enable the udev rules and services:
|
|
164
164
|
|
165
165
|
.. code-block:: bash
|
166
166
|
|
167
|
-
ln -s /etc/backups/
|
167
|
+
ln -s /etc/backups/80-backup.rules /etc/udev/rules.d/80-backup.rules
|
168
168
|
ln -s /etc/backups/automatic-backup.service /etc/systemd/system/automatic-backup.service
|
169
169
|
systemctl daemon-reload
|
170
170
|
udevadm control --reload
|
@@ -177,7 +177,7 @@ Find the UUID of the file system that backups should be stored on::
|
|
177
177
|
|
178
178
|
lsblk -o+uuid,label
|
179
179
|
|
180
|
-
Note the UUID into the ``/etc/
|
180
|
+
Note the UUID into the ``/etc/backups/backup.disks`` file.
|
181
181
|
|
182
182
|
Mount the drive to /mnt/backup.
|
183
183
|
|
@@ -198,7 +198,7 @@ Security considerations
|
|
198
198
|
-----------------------
|
199
199
|
|
200
200
|
The script as shown above will mount any file system with an UUID listed in
|
201
|
-
``/etc/
|
201
|
+
``/etc/backups/backup.disks``. The UUID check is a safety / annoyance-reduction
|
202
202
|
mechanism to keep the script from blowing up whenever a random USB thumb drive is connected.
|
203
203
|
It is not meant as a security mechanism. Mounting file systems and reading repository
|
204
204
|
data exposes additional attack surfaces (kernel file system drivers,
|
@@ -81,7 +81,7 @@ The options which are added to the key will perform the following:
|
|
81
81
|
Due to the ``cd`` command we use, the server automatically changes the current
|
82
82
|
working directory. Then client doesn't need to have knowledge of the absolute
|
83
83
|
or relative remote repository path and can directly access the repositories at
|
84
|
-
|
84
|
+
``ssh://<user>@<host>/./<repo>``.
|
85
85
|
|
86
86
|
.. note:: The setup above ignores all client given commandline parameters
|
87
87
|
which are normally appended to the `borg serve` command.
|
@@ -93,21 +93,21 @@ The client needs to initialize the `pictures` repository like this:
|
|
93
93
|
|
94
94
|
::
|
95
95
|
|
96
|
-
borg init backup@backup01.srv.local
|
96
|
+
borg init ssh://backup@backup01.srv.local/./pictures
|
97
97
|
|
98
98
|
Or with the full path (should actually never be used, as only for demonstrational purposes).
|
99
99
|
The server should automatically change the current working directory to the `<client fqdn>` folder.
|
100
100
|
|
101
101
|
::
|
102
102
|
|
103
|
-
borg init backup@backup01.srv.local
|
103
|
+
borg init ssh://backup@backup01.srv.local/home/backup/repos/johndoe.clnt.local/pictures
|
104
104
|
|
105
105
|
When `johndoe.clnt.local` tries to access a not restricted path the following error is raised.
|
106
106
|
John Doe tries to backup into the Web 01 path:
|
107
107
|
|
108
108
|
::
|
109
109
|
|
110
|
-
borg init backup@backup01.srv.local
|
110
|
+
borg init ssh://backup@backup01.srv.local/home/backup/repos/web01.srv.local/pictures
|
111
111
|
|
112
112
|
::
|
113
113
|
|