I’m confused about how I’m supposed to know when my scheduled backups encounter some sort of problem.
I know there’s a “send email after completion” checkbox, but, first of all, I don’t understand it. What is a “server”? Do I type “gmail” into that box? And why does Duplicacy need to know my email’s password simply to send an email to it? But anyway, the main problem is that it will spam my email every day. I only want to know if there’s a problem.
There’s also a “Send report after completion” checkbox in the Backups tab. But this is equally confusing. The only prompt is to enter a URL. …What? URL to what? Does it mean email?
I searched for solutions, and gchen mentioned something about putting {{status}} as the subject line for the scheduler report? Is that true? I just put {{status}} in the subject line and it will only email me failures?
Other search results mentioned other applications like healthchecks.io, which… yeah, no, I’m not using another program (one which is clearly designed for people way above my technical abilities) just to be told what Duplicacy should be telling me.
I’m honestly kind of surprised this isn’t something other people have talked about much. Does everyone just get in the habit of checking their Duplicacy dashboard every few days to make sure things are going smoothly?
There is really no other way to be notified of failures; by necessity it has to be something separate from duplicacy: if duplicacy itself catastrophically failed (e.g. someone deleted duplicacy executable) – it won’t be able to notify you that something happened, because it’s gone. Completely. Or if it failed to connect to the internet to complete backup – in this case it won’t be able to notify you either – because it can’t connect to the internet.
What you want in this scenario is to be notified of the negative – lack of successful backups. So, you’d setup a third party service – such as healthchecks.io, that creates and monitors a special URL duplicacy is supposed to call after a successfull backup. You would then configure heathchecks to notify you when it duplicacy missed to check-in a specific amount of times within a specified period.
For example, if you configured daily backup, you may want to tell healthchecks to notify you after 3 days of no check-ins.
Duplicacy has two places where you can configure notifications – at the backup level (the URL to monitoring service – preferred way IMO, since it allows to catch silent failures) and on the schedule level – email (fairly useless, IMO, including for all the reasons you’ve listed).
Answering your other questions:
Email server to use to send an email. Duplicacy could have provided their own built-in one to absolve users from needing to configure their own – but they did not.
Whichever service you want to use. I would advise against using gmail – you don’t want to give duplicacy access to your google account. You can use MailGun, or Amazon SES, but I agree, this is way beyond the level average user should be required to go: all the domain configuration that will need to be done is woefully unnecessary.
This is not a program, but rather a service. It’s very easy to use, much easier than configuring the backup in duplicacy, so I highly suggest to take time to figure it out.
Of course, duplicacy.com could have hosted similar service, to absolve users from reinventing the wheel, but they don’t.
Most people configure healthchecks.io (or Uptime Kuma, or UptimeRobot, or any other similar service) that notifies when success notifications cease coming.
Thanks for the helpful and very thorough response!
Yeah, you’re right, healthchecks.io is pretty simple, at least for just this narrow use. I guess I got intimidated at first glance. Anyway, I got it to work with Duplicacy’s “Send report after completion” checkbox under the Backup tab by pasting the URL healthchecks provided. But a couple questions/concerns:
Can I not do this for Duplicacy’s scheduler? The schedule tab only has the email checkbox, which seems to require setting up a server and all sorts of stuff I really don’t think I understand or want to deal with. This is important because the scheduler is how I make a copy to my Backblaze B2.
This seems like it’ll work great for notifying me if a backup doesn’t happen, but what if the backup happens but there’s a problem with it?
You can create a post-copy script where you can ping that URL instead with, e.g. curl. Personally I would not bother and instead backup to b2 directly, instead of a via copy.
This might help: New Feature: JSON backup report. I think health checks can parse the data and extract the success value from there.
God, this is way too complicated. The more I learn about Duplicacy the more it looks like it was designed for people with programming knowledge, with user-friendliness (e.g., GUI) added as an afterthought at best. Everything from setting up healthchecks.io and your own email server, this JSON stuff, unintuitive include/exclude filters, most of the documentation being written only for the CLI, having to use command line options even in the GUI (e.g., -dry-run)… Reminds me of my brief foray into Linux (“Oh it’s fine, it has a GUI!” Heh…)
This is spot on. You have captured and expressed the essence of the problem here perfectly.
Duplicacy CLI is an excellent command line backup tool: flexible, reliable, and performant.
The UI on the other hand absolutely is an afterthought; is based on the off the shelf free “control panel” web based component and I strongly believe it will benefit from complete rewrite, preferrably using native on each platform GUI frameworks. Arq7 is a perfect example of how backup tool UI can be implemented.
Oh don’t get me started on filters… I understand that the power and flexibility often comes at the expense of complexity but the whole point of UI is to hide that complexity and make it easy to use in most common scenarios. And yet, today it’s impossible to succeed in configuring filters inside web ui. even in a simple scenarios like “exclude this 2-folder deep path”. It actively fights you and you still are expected to know intricacies of implementation (such as need to explicitly specify all sub paths manually when adding a specific path) or the filters won’t work. But if I still have to do know all that (including what additional flags to specify to make backup efficient or even work in the first place (-vss, -threads, -fossils) — utility of the webUI reduces to that of a scheduler.
But every OS already comes with a scheduler. Native one. With a GUI. And more flexible than webGUI can accomplish (things like waking the machine to do a backup, CPU throttling, and preventing sleep for the duration of a backup — crucial features for laptop users — are missing)
I believe today the web ui only serves to damage reputation of the CLI tool.
Ironically, today modern Linux is quite usable. Fedora/RHEL/Oracle/CentOS family and Ubuntu can be used by most people for most tasks with zero learning curve. It went a long way. (i’m macOS/FreeBSD user today, and earlier I’ve used and developed on Windows and Linux; I feel this gives me a good vantage point: I would definitely recommend Fedora desktop to my non-tech extended family members over windows today (had macOS not exist of course).