Carl Johnsen
fbbea78aeb
Moved options parsing to its own method, which now includes double checking by trying to reconstruct the parsed option.
2025-07-08 08:29:09 +02:00
Carl Johnsen
d98e1096e3
Fixed case where the arguments passed to the remote synchronization tool might emit everything past the second equals sign
2025-07-08 07:50:39 +02:00
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