Starting backup via icon

Is there a way, to make a shortcut to start a backup process e.g. on desktop? I am using it on Windows but solutions for Mac and Linux would also be interesting.

Thank you in advance

You can programmatically control the Duplicati service using a program like this:

With it you can do things like trigger one of the backups you set up using the normal Duplicati web interface. You would write a script or batch file that calls duplicati-client and then put a shortcut to that script on your desktop.

1 Like

Another option would be to export GUI backup As Command-line, then put it in a .bat file or script to click. Note that this runs somewhat independently of GUI work, so it’s probably best to keep the methods apart.

Doing things with the Pectojin duplicati-client uses the server through a lower-level internal web interface, which might make more expected results if you’re going to be going in sometimes through usual Web UI.

Either way, you might want to set up some reporting options or a log file unless you just want the users to read what comes up in a popup-when-clicked window such as you might get if you use a .bat file method.

Thank you for your input. Unfortunately Pectojin íst that sort of FLOSS-githuib-frickelware that drives me crazy every time. So can you guys help me getting it to work?

In the README.md it says:

For installation of the Windows self contained binary package I recommend copying it to C:\Program Files\Duplicati Client and then adding that path to your environment variable path so that you can call duplicati_client from anywhere in your CLI.

So I downloded the content of " GitHub - Pectojin/duplicati-client: A command line client for controlling the Duplicati Server", put it in C:\Program Files\Duplicati Client and added “;C:\Program Files\Duplicati Client\duplicati-client-master” to the Variable value of PATH of System variables in Environment Variables.

However " duc login https://my.duplicati.server" in the Windows cmd just puts out ‘duc’ is not recognized as an internal or external command, operable program or batch file."

what do I do wrong?

Is there anything called duc in your folder? ZIP includes a duplicati_client.exe, so maybe try below:

https://github.com/Pectojin/duplicati-client talks about duc as a symlink you could create for Linux or Mac. mklink in Windows seems like it can do something similar but you might have to name it duc.exe instead.

The download of “GitHub - Pectojin/duplicati-client: A command line client for controlling the Duplicati Server” does not contain any *.exe files (somehow this forum turns url’s into words). There is also nothing called “duc”. The command “duc login https://my.duplicati.server” is listed in thge README.md file for usage, so that’s why I tryed it

See 12 releases link on home page. This is the latest. If you used the green GitHub button, you got source.

As very often on github I downloaded the wrong files at first. However 10 Virus Total engines sayed that “duplicati_client.exe” might be dangerous. So now I am Insecure wheter I sould use this tool outside VM’s.

After a huge amoud of try & error, I managed to run it.
-its “duplicati_client” not “duc” as it sais in the README.md!
-Its not “duc login https://my.duplicati.server” it’s duplicati_client login [THE URL OF THE WEBGUI UNTIL THE NUMBER]"
-Than “duplicati_client list backups” to get the backup ID number
-To run a backup e.g " duplicati_client run 14"

I am not part of Duplicati and Duplicati client project. But is there a way, that e.g. I put a short and easy step by step guide somewhere, so that others don’t have to spend a whole night (or longer), to get this done?

Nothing is perfect, including documentation, but support requests in the forum aren’t tracked, and GitHub issues are needed for that. For Duplicati, Issues shows its big backlog. duplicati-client is an independent project by a Duplicati developer, so the GitHub site you get it from has its own issue tracker that’s Issues.

Its home page, which I cited above explaining duc looks pretty reasonable to me, explaining the duc logic:

If one considers steps to be

1a. Windows self contained binary with path setup to call duplicati_client
or alternatively, for a different OS community
1b. GNU/Linux and macOS self contained binaries with option to create duc to not call duplicati_client
2. Usage which calls duc, made by recommended step in 1b just above, and 1a Windows users fail…

one might say that step 2 should backreference to the as-displayed prior step with sudo that Windows users skipped over, and to say that if one did not do the symlink in 1b, the usage is still duplicati_client.

To me, it’s not asking a huge amount to look one (skipped) step above or search in the page for a word.

Please flesh out documentation for installation & use on Linux was a similar case of different command calling depending on OS. On some, you need to say mono before the .exe’s name but examples did not. Interestingly, my Linux system knows what to do with a .exe that’s a .NET assembly so I don’t need that.

If you want to file a duplicati-client issue on README.md (which looks the same as the web site), text is:

## Windows self contained binary
For installation of the Windows self contained binary package I recommend copying it to `C:\Program Files\Duplicati Client` and then adding that path to your [environment variable path](https://www.computerhope.com/issues/ch000549.htm) so that you can call `duplicati_client` from anywhere in your CLI.

## GNU/Linux and macOS self contained binaries
Self contained binaries are also available for Linux and macOS. 

These are useful if you cannot or will not install the 3rd party dependencies on your system, or if you experience compatibility problems with your current Python installation.

I recommend copying the binary package to `/opt/duplicati_client` on Linux and `/Applications/Duplicati Client` on macOS. Then symlink the duplicati_client binary

    sudo ln -s /location/of/duplicati_client /usr/bin/duc

# Usage
To begin log into a server:

    duc login https://my.duplicati.server

but I suspect the duplicati-client developer has more pressing issues either in duplicati-client or duplicati. Neither project is done yet. Both are in beta, so have room to improve, but there’s still priority to consider.

To be frank, after your quoting the “call duplicati_client” in your post here, me explaining the missed step here, and your still jumping directly to the (admittedly present with no caveats) Usage as seen here, you possibly will have continuing issues with Duplicati. It’s not the easiest thing to run, and sometimes gives problems even when run perfectly. Documentation may also use examples meant to be customized with individual values. The standard convention for such a hint (not just in Duplicati, but in many docs) is “my”.

https://my.duplicati.server therefore means [THE URL OF THE WEBGUI UNTIL THE NUMBER]. Clearly neither way of saying it can give the exact value, but the latter requires explaining what a URL is, while the former shows one. Either way, one could use lots of words explaining the intention for a target user base that needs that, but Duplicati is demanding, and needs more of users. Target audience issue.

A subtle point I see is that the left one is https, which has implications of getting that up. It’s a good setup for remote use over an untrusted network, but local users might use http. Another example of branching into an optional other area. Step-by-step fits single-path, but Duplicati’s flexibility gets in the way of that…

There’s more than one way to do it is a motto for the programming language Perl, but there are parallels with Duplicati and all its options and ways it can be used. In Perl, this tends to produce programs lookiing like what the author is used to, and other readers may have trouble. In Duplicati, it makes support hard…

Having only one OS, one storage type, and few options would be simpler, but some prefer more flexibility. Write once, run anywhere is from the programming language Java but also may be applied to .NET code. Its “Write Once, Debug Everywhere” developer joke also feels all-too-familiar in Duplicati environment. :weary:

Documentation can be hard. I think one approach might be to give a step-by-step example as a warm-up exercise, explain it very deeply, then open up to the near-infinite number of variations one can actually do.

Anyone can file issues (and the more specific the better) but work rate is limited by amount of volunteers. Filing an actual GitHub pull request with changes you desire could possibly be picked up almost instantly.