Commit Graph
25 Commits
Author SHA1 Message Date
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Carl Johnsen 8116eaa438 Added remote synchronization results to the main backup results. 2026-03-23 09:01:38 +01:00
Carl Johnsen e575d0db0f Removed whitespace 2026-03-23 08:59:27 +01:00
Kenneth Skovhede 0f81b42146 Add support for remote locks
This PR adds support for locking files if the backend supports it.

To activate locking, set the option `--file-lock-duration=30D` and the backup will lock the files.

If the database is rebuilt with the intention of continuing the backups, use the option `--repair-refresh-lock-info` which will update lock information in the database after recreating the database.

The locking works by asking the backend to lock files after a backup has completed.

The implementation keeps track of which files are currently assigned a lock and prevents attempting to delete the files that are currently locked.

Note that the bucket should not have a default lock policy as Duplicati needs to finish the backup before the locking is applied.

In this initial version, Azure Blob Storage, B2, S3 and iDrive are supported with locking.

The CLI is updated to allow setting locks on a specific version. The backend tool is updated to allow setting locks on specific files.
2025-12-14 17:17:48 +01:00
Kenneth Skovhede a3bc9b80ca Implemented 4 new list methods that are optimized for a single operation 2025-04-29 10:03:57 +02:00
Kenneth SkovhedeandGitHub d99f74ed94 Rewrite the backend manager. (#5896)
* Rewrite the backend manager.

This creates a new more logic backend manager that handles all backend operations.

For each top-level operation, there is now a single backend manager instance that is passed to sub-commands.

The internals of the backend manager are now rewritten to use async logic instead of threading.

The design uses a single task runner that dispatches operations and honors concurrent settings and limits from one place.

The logic for each operation has been moved into a separate files/classes to make it easier to understand each operation.

This fixes #5804

* Fixed a few issues with not awaiting tasks

* Fixed not creating empty databases

* Fixed an issue with hashes not being recorded on download

* Reworked the download logic to avoid attempting to decrypt the file if it has been modified.

* Review fixes

* Renamed db collector to better reflect the purpose.

* Review fixes
2025-01-28 08:54:50 +01:00
Kenneth SkovhedeandGitHub 9464caf622 Feature/update license 2025 (#5851)
* Fixed some minor whitespace issues

* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01:00
Kenneth Hsu 83ac03843d Fix spelling errors in comments.
In doing so, we also normalized some line endings.
2019-12-14 09:52:55 -08:00
Dan Stahr 8c2280c86c Issue #2578: Removed all direct calls to VACUUM and added a command to run VACUUM manually 2017-08-04 11:24:18 +01:00
Kenneth Skovhede 6bb1579aa9 Updated MailKit, fixed a bug with DnsLite, added backward compatible tls support from MailKit.
This fixes #1540.
This fixes #1948.
This fixes #2060
This fixes #2225
2017-01-09 23:21:00 +01:00
Kenneth Skovhede 1108d51d7f Implemented a new new list-broken-files and purge-broken-files command for the commandline to assist with handling remote file loss. 2017-01-05 16:46:01 +01:00
Kenneth Skovhede 4bf4871427 Added commandline operation to purge select files from filesets.
This fixes #1009.
This paves the way for #1337.
2016-12-29 22:41:13 +01:00
Kenneth SkovhedeandGitHub 17e2a3dab4 Feature/add delete dialog (#2008)
Added a delete page with options to delete the local database, as well as the remote files.
Added a captcha to protect against automated attacks that would attempt to delete the remote files.

This fixes #1201
2016-10-13 21:45:31 +02:00
Kenneth Skovhede 473763fa27 Extended the reported system info, and made it available from the commandline. 2015-09-11 11:21:12 +02:00
Kenneth Skovhede ff49884777 Removed unused enum value 2014-08-19 20:27:29 +02:00
Kenneth Skovhede f97bdedac9 Implemented commandline method for listing affected files 2014-08-19 20:27:14 +02:00
Kenneth Skovhede 47bc010b3c Added test-filters command 2013-12-07 15:22:51 +01:00
Kenneth Skovhede c92dcbfff5 Pruned the OperationMode enum 2013-08-24 14:03:28 +02:00
Kenneth Skovhede 4e7ed3458f Added auto-rename logic to work around faulty Apache WebDAV backends 2013-07-23 18:56:01 +02:00
Kenneth Skovhede f0d0dfb586 Implemented the test command 2013-06-26 21:59:01 +02:00
Kenneth Skovhede e36fa0c441 Implemented list-changes 2013-06-20 20:17:10 +02:00
Kenneth Skovhede d696670598 Reworked the result reporting to support type safe values 2013-05-25 16:40:15 +02:00
Kenneth Skovhede 23744d8915 More refactoring and cleanup 2013-05-08 21:29:59 +02:00
Kenneth Skovhede 8f704d9445 Moved stuff around and dropped the ForestHash namespace 2013-05-08 20:17:07 +02:00