Commit Graph
33 Commits
Author SHA1 Message Date
Kenneth Skovhede 1523f730e3 Added support for storing metadata in the database 2026-01-14 10:01:20 +01:00
Kenneth Skovhede 625c56b5c1 Updated new column to be not null, for consistency with other columns 2025-12-17 23:04:47 +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 531664cb23 Added missing index for blocksetentry 2025-05-16 15:36:24 +02:00
Kenneth Skovhede 424ef6c5bf Rolled in index from #4706
This closes #4706
2025-05-10 22:30:05 +02:00
Kenneth Skovhede 2f12473398 Added missing index on remotevolume name 2025-05-10 10:02:08 +02:00
Kenneth Skovhede ebaf725598 Fixed a case where ArchiveTime could be created as nullable 2025-04-24 21:26:24 +02:00
Kenneth Skovhede 46f5efd178 Merge branch 'master' into feature/support-glacier-style-non-readable-files 2025-04-23 22:37:31 +02:00
Kenneth Skovhede d593398779 Fixed merge issue 2025-04-01 22:07:51 +02:00
Kenneth Skovhede f5061476c0 Merge remote-tracking branch 'origin/master' into feature/improve-block-reuse 2025-04-01 22:02:58 +02:00
Kenneth Skovhede 71b3152f71 Implemented support for not testing archived files 2025-01-29 11:36:45 +01:00
Kenneth Skovhede 73dd7d7554 Added index on DeletedBlock 2024-11-01 16:29:28 +01:00
Kenneth Skovhede db517a300b Implemented a fix for compaction issues that could cause inconsistent views of the remote storage. 2024-11-01 14:50:26 +01:00
tariandeath 396119aa40 Add indexes to improve backup query performance. 2022-02-26 20:24:14 -07:00
Kenneth Skovhede 9eef0a92f7 Updated the schema to include DB version 11 changes. 2020-05-10 21:30:15 +02:00
BlueBlock 08e2c18185 add handling of a partial backup
- add backup state to DB table 'fileset' (job database upgrade to version 10)
- modify the Restore page dropdown to display if a backup is "partial"
- modify retention logic to remove partial backups only when the next recent full-backup has been removed
2019-08-05 20:14:05 -04:00
Kenneth Skovhede 69cc889eb2 Fixed creating the USN table on a clean database 2018-06-14 10:56:15 +02:00
Kenneth Skovhede cbc18970d5 Re-applied the path-storage fix as the merge failed somehow 2018-06-14 10:12:24 +02:00
Kenneth Skovhede c5de213635 Added the unique constraint.
This fixes #2302
This fixes #2537
2017-06-15 10:07:58 +02:00
Carlo "zED" Caputo 3e0447f342 Faster database recreation 2017-04-11 16:20:42 -03:00
FootStark 568cc60856 Fixed lookup of a file's last entry during backup
- Fixed SQL to create temp table for lookup of last backup's file
entries
- Removed temp table by writing directly to internal lookup struct.
- Direct lookup of single file entries from DB
2016-05-06 00:14:03 +02:00
FootStark 7656e891ce Prepocessor for schema, Optimized RemoveRemoteVolume
Added a preprocessor for schema supporting sqlite_version-dependent
Statements
RemoveRemoteVolume deletes volumes in batch.
2016-03-16 00:49:28 +01:00
FootStark f0525d8ed5 Improved DB schema (version 5) for BlockSetEntry 2016-03-14 23:35:54 +01:00
FootStark 5320a0af13 Mitigate slow vol-deletion by caching slow subquery. 2016-03-13 13:23:06 +01:00
Kenneth Skovhede 50743b06ed Implemented indexes as suggested in #1481 and #1391 2015-11-16 12:57:34 +01:00
Kenneth Skovhede 0de9adc606 Added grace-period for incomplete uploads to avoid backups stopping due to the Apache WebDAV issues.
This fixes #1243.
2015-04-05 14:33:13 +02:00
Kenneth Skovhede 4846ffa103 Now using the file modification timestamp and the filesize as indicators that trigger file scanning.
This fixes #1099.
2015-01-24 21:59:53 +01:00
Kenneth Skovhede d05f6f1324 Improved performance when running with all in-memory caches disabled by a factor of 16.
On a smaller dataset, the performance is now only a little more than twice as slow with a low memory footprint compared to the default with all memory caches enabled.
2014-10-30 23:45:36 +01:00
Kenneth Skovhede 7e1ea91760 Added rolling checks to ensure equal testing of all files. 2013-07-30 22:42:59 +02:00
Kenneth Skovhede f0f465160f Changed the remaining DateTime columns to epoch seconds 2013-07-24 17:21:38 +02:00
Kenneth Skovhede 5c110162ea Changed the time format of times used programmatically to use EPOCH seconds, as it is faster to parse and more reliable 2013-07-23 21:28:01 +02:00
Kenneth Skovhede a1ef4dbe96 Rewrote the way the database is recreated to ensure greater stability when recovering from a damaged backup.
The restore now correctly works with missing index files and full index files.
2013-07-22 16:54:19 +02:00
Kenneth Skovhede 8f704d9445 Moved stuff around and dropped the ForestHash namespace 2013-05-08 20:17:07 +02:00