This adds back the missing `run-script-example.bat`.
It also makes the output conditional, so the Windows builds get the `.bat` and others get the `.sh` version.
With this interface it is possible to wrap the current support for snapshots and USN and simplify the enumeration.
This makes a number of assumptions into fields such as `IsMetaEntry` and `IsRootEntry` that removes code that was checking for various properties.
This first commit has support for VSS and USN as well as "naked" files, keeping feature parity.
There is also an experimental support for loading a backend-as-a-source. The support for this is currently limited as the backends need to be extended to support a folder concept.
This adds support for TopicID as specified in parameter "send-telegram-topid-id" which allows the messages to be organized in topics on a group.
Finding out your topic ID in a group can be rather tricky the easiest way is to use curl to create it.
```bash
export CHAT_ID="-99999999"
export TOPIC_NAME="Your Topic"
export BOT_TOKEN="7777777777:AAAAAAAAA-4WwwwwwwwwwwwwwwwwwwwwwwQ"
curl -X POST \
-H "Content-Type: application/json" \
-d "{\"chat_id\":\"$CHAT_ID\",\"name\":\"$TOPIC_NAME\"}" \
https://api.telegram.org/bot$BOT_TOKEN/createForumTopic
```
Which will response with a json where message_thread_id is the Topic ID
```bash
{"ok":true,"result":{"message_thread_id":33,"name":.....
```
This changes the encoding that broke because the encoding function was changed.
The new logic is to not encode the parameters, but just use them as provided.
Any escaping needs to then be applied to the input by the user/caller.
This fixes#5900
Added support for `--portable-mode` and `--server-datafolder` for the CLI, ServerUtil, and Agent.
Fixed a few places where file reads were not cached properly.
Moved some responsibilities of UpdaterManager into DataFolderManager.
This now supports storing `machineid.txt` and `installation.txt` inside the path pointed to by `--server-datafolder` or alternatively with `--portable-mode`.
It is possible that some fringe backwards compatibility is lost with this update.
Fixed an issue with AutoUpdater crashing on check/download.
This fixes#5902
* Updated reporting values.
The reporter module can now emit the following extra values:
- operating-system
- installation-type
- destination-type
- next-scheduled-run
When running from the built-in scheduler, it will automatically set `--next-scheduled-run` so it is applied to the reporting data.
* Implemented an improved machine name reader.
This fixes#5907
* Added a guard against sending too much of the destination url as the destination.
* Fixed reading Windows Machine name
* Removed extra Windows logic as it has no effect
* Fixed nullability warnings in `Utility.cs`
* Fixed a number of nullability issues and warnings
* More nullable fixes
* Fixed the overwrite issue
* Fixed additional nullability issues
* Removed additional nullability issues
* More nullability fixes and added some xmldoc
* Added more xmldocs and removed an unused argument
* Removed more warnings
* Simplified task control by having all logic in a single class and using async control mechanism
* Fixed the tests
* Made the marking of a backup partial explicitly communicated if the enumeration process is stopped.
* Added support for pausing active transfers
* Introduced transfer token to abort operations.
* Updated the way LiveControl is emitting events.
* Retains the paused state of the server across reboots, this fixes#5760.
* Reworked the way throttle speeds are propagated through LiveControls.
* Added option to pause transfers in the UI.
* Removed throttle settings from the LiveControls class so it is exclusively handled by the ApplicationSettings.
* Removed `thread-priority` as it does not work at all when tasks are used.
* Fixed the stop dialog and API to only support stop and abort.
* Removed unused variables
This works by parsing the stdout stream, line by line, looking for lines that start with the prefixes LOG:WARN, LOG:ERROR, LOG:INFO and forwarding them to the Log/Report.
In a script that could be used with a simple echo "LOG:WARN Some warning" or even if its an executable application, if it outputs to sdtout lines with the prefix, it will of course also be captured.
Fixes the Telegram notification to use the correct API URL and to send the message in chunks if it is too long.
Will add this to the documentation.
First create your telegram bot by messaging the @BotFather
For more information https://core.telegram.org/bots
Once you have created your bot you will have a bot token.
Now on the bot channel, send one message, “Hello”. This is important because the bot cannot initiate a conversation, it can only respond, so therefore that is the only way to obtain the chatId which needs to be configured on Duplicati.
Now on a browser or curl, access:
https://api.telegram.org/botYOURBOTTOKEN/getUpdates
Look for the property
"chat":{"id”:111122233,
One way to get that with curl is:
BOT_TOKEN="YOURBOTTOKEN" curl -s "https://api.telegram.org/bot$BOT_TOKEN/getUpdates" | grep -o '"id":[0-9]*' | head -1 | cut -d':' -f2