Commit Graph
69 Commits
Author SHA1 Message Date
Kenneth Skovhede 3741d46e3d Corrected hash calculation 2025-05-20 22:22:01 +02:00
Kenneth Skovhede 78aa14554b Reduce synctool memory usage
This PR updates the file copy to use a temporary stream, instead of a memorystream to preserve memory.

It also fixes two places where rewinds were needed, and replaces the compare of streams with a hash compare.
2025-05-20 19:45:21 +02:00
Kenneth Skovhede ef631a1199 Added feature to suppress warnings
This PR adds the option to suppress warnings by their log id. Warning IDs that are supplied to `--suppress-warnings` will be converted to information messages before being logged.

If a specific warning is disabled, such as `CompressionReadErrorFallback`, this will then no longer count as a warning for the job, and the log file will see the warning as an information message.

This PR also adds two simpler filter options that makes it possible to filter log messages by supplying the log IDs. This can already be achieved with log filters, but the ID filter is a bit simpler to apply, as you only need to know the ID.

Finally, this PR also adds common logging for errors in the categories:
- Permission denied, id = `PermissionDenied`
- File locked, id = `FileLocked`
- Path not found, id = `PathNotFound`
- Path too long, id = `PathTooLong`

These new log ids makes it simpler to ignore warnings about locked or inaccesible files.
2025-05-20 14:26:10 +02:00
Carl Johnsen 750ef90e14 Clarified file overwrite conditions in the help text of the Remote Synchronization tool. 2025-03-10 13:26:15 +01:00
Kenneth Skovhede 0f9669b273 Final conversion to async backends
This PR is the final change, where all backends are now purely implemented with async interfaces.

The code changes here replace the LIST call with an async version. This affect all backends (and then some) but the changes are mostly mechanical rewrites of the code.

In many places, the backeds were already prepared for async output, in other some glue was needed.

To reduce the scope of this change, some backends simply report a synchronous result as an async list.
2025-02-17 16:45:51 +01:00
Carl Johnsen 728a75a902 One stopwatch wasn't ensured always stopped in a try block 2025-02-07 10:30:39 +01:00
Carl Johnsen 4144b3a25e Changed to the log timer instead of stopwatch where applicable 2025-02-07 10:29:33 +01:00
Carl Johnsen 2e134cffeb Changed to UTC time for timestamps 2025-02-07 09:56:54 +01:00
Carl Johnsen bb60db47f0 Reformatted long logging lines 2025-02-07 09:55:13 +01:00
Carl Johnsen 4d4b6cf122 Human readable formatting of elapsed milliseconds 2025-02-07 09:51:24 +01:00
Carl Johnsen 2887fa7058 Made logged byte sizes human readable using duplicati utility function 2025-02-07 09:46:22 +01:00
Carl Johnsen c54056ca96 Await Task.Delay instead of Thread.Sleep 2025-02-07 09:41:26 +01:00
Carl Johnsen 8254a71d78 Unsupported backends now throw a more meaningful error message 2025-02-07 09:40:08 +01:00
Carl Johnsen 7f9d5c8372 Added default values to the descriptions of the options where it isn't printed in the help text. 2025-02-07 09:14:05 +01:00
Carl Johnsen ed7d9e1836 Fixed incorrect options precedence. [src|dst] options override global options 2025-02-07 09:09:16 +01:00
Carl Johnsen d9d427e276 With the new parser, the options are no longer nullable 2025-02-07 09:08:38 +01:00
Carl Johnsen 83ddef691f Added more aliases to some of the options to mimic other commandline tools 2025-02-07 09:07:49 +01:00
Carl Johnsen edb9f53ea8 Added default value to the multitoken options 2025-02-07 09:07:11 +01:00
Carl Johnsen 53a3ca1996 Reordered options alphabetically 2025-02-07 09:06:54 +01:00
Carl Johnsen e1b9d8ec97 Changed argument parsing to use NamingConventionBinder for the optional arguments 2025-02-07 08:51:41 +01:00
Carl Johnsen ec4c0f80a4 Renaming should be with prefix, not suffix, as duplicati picks them up otherwise 2025-02-03 19:19:53 +01:00
Carl Johnsen 3b356446df Added more verbose logging 2025-02-03 13:58:30 +01:00
Carl Johnsen b5d53bb741 Found a progress print that wasn't properly guarded by the commandline option 2025-02-03 13:53:06 +01:00
Carl Johnsen 1d6774b5d3 Log file was being created incorrectly 2025-02-03 10:32:18 +01:00
Carl Johnsen 3cedaead78 Added additional help text to the multi token arguments 2025-02-03 10:06:02 +01:00
Carl Johnsen 0856483699 Added an option to only parse the commandline options 2025-02-03 09:11:35 +01:00
Carl Johnsen 7c7f58bdaf Added profiling logging 2025-02-03 08:38:37 +01:00
Carl Johnsen 686ab0338b Replaced a \n that should have been a \r 2025-02-03 08:38:18 +01:00
Carl Johnsen f2cd4f5641 Added docstrings to the global configuration class 2025-01-31 14:42:03 +01:00
Carl Johnsen 3b94cd8039 Split the verify option into two separate options 2025-01-31 14:40:09 +01:00
Carl Johnsen 94a19f9abc Added logging a status report towards the end of remote synchronization 2025-01-31 14:32:54 +01:00
Carl Johnsen 733e20d77c Added the progress option 2025-01-31 14:19:53 +01:00
Carl Johnsen 31f506c6a1 Moved configuration handling to use a global config class to simplify method signatures 2025-01-31 13:57:45 +01:00
Carl Johnsen 22252d48ab Implemented proper Duplicati logging in the remote synchronization tool 2025-01-30 13:23:48 +01:00
Carl Johnsen 40271166ee Push before changing machine 2025-01-30 07:12:36 +01:00
Carl Johnsen bf08084662 Added additonal TODOs 2025-01-30 06:54:25 +01:00
Carl Johnsen de9ebfa010 RenameAsync now calls the backends rename functionality, if it supports it. 2025-01-30 06:54:00 +01:00
Carl Johnsen 36f809460b Updated the Remote Synchronization tool to do proper logging. 2025-01-28 15:41:03 +01:00
Carl Johnsen ba4a67a9ea Add docstrings in the Remote Synchronization tool 2025-01-28 15:17:26 +01:00
Carl Johnsen 97b6ed88b6 More descriptive wording in descriptions. 2025-01-28 15:06:42 +01:00
Carl Johnsen dd6e250087 Verification should be before copy, as it verifies the files that are already there. 2025-01-28 15:06:17 +01:00
Carl Johnsen 186a1659db Add global options to the Remote Synchronization tool 2025-01-28 14:47:46 +01:00
Carl Johnsen 3d194e8da5 Reworded confirm commandline option description 2025-01-28 14:39:29 +01:00
Carl Johnsen ae94cc6a73 Remote synchronization flavortext 2025-01-28 14:31:40 +01:00
Carl Johnsen 1c8985b7e9 Add confirmation option to Remote Synchronization Tool 2025-01-28 14:31:20 +01:00
Carl Johnsen 2c727ab132 Add retention option to Remote Synchronization Tool 2025-01-28 14:23:00 +01:00
Carl Johnsen ae58d65de3 Add force option to Remote Synchronization Tool 2025-01-28 13:25:51 +01:00
Carl Johnsen bcdc9f0af8 Add retry option to Remote Synchronization Tool 2025-01-28 11:23:16 +01:00
Carl Johnsen 5939f033a6 Set default values for dry run and verify options 2025-01-28 11:18:32 +01:00
Carl Johnsen f169e145f4 Add verify option to Remote Synchronization Tool for post-copy validation 2025-01-28 11:17:59 +01:00