Backup scheduling for a randomly available machine?

So… I power down my main machine that runs duplicacy when I am not using it. That ranges from overnight to several days. (Please, no arguments about when one should shutdown their machine.)
This machine runs the backup on two external NAS machines. Those machines hold data that changes (on average) maybe once a week.
Currently, the schedule to backup the NAS happens hourly when the computer is on. Which seems WAY overkill, since the vast majority of the time it runs it will find no change.
I’d like to schedule it weekly… but there is no easy way to guarantee the computer will be on at the scheduled day and time.
Ideally, there would be a backup setting like: “run once every 7 days at the first available opportunity”.
Is there a hidden way to configure something like this?

A computer should be shut down when… :nerd_face:

So your main machine is using Duplicacy to upload its data onto a pair of external NAS boxes, or is it something else? The part about “Currently, the schedule to backup the NAS […]” sounds like you’re uploading the contents of the NAS somewhere.

Not that I’m aware of.

FWIW, I use the CLI version of Duplicacy on my father’s computer so that the backups can be run by Task Scheduler in Microsoft Windows.

While he frequently uses his computer, it’s not every single day and also not guaranteed to be on at a particular time. So the backup schedule is 4pm every day, but if the computer is asleep and/or powered down, it’ll run the backup at the next opportunity.

I have Duplicacy tag the backups with “WTS” if it’s run by Windows Task Scheduler and “manual” if I launch the batch script so that I can monitor how well it’s working via the snapshot history (the script also pings Healthchecks.io for extra measure.)

I’ve seen the backups run at 4pm most of the time with occasional runs at 6:06am, 6:51am, 7:47am, etc., indicating that missed backups are taken care of the next morning if the computer is on.

So your main machine is using Duplicacy to upload its data onto a pair of external NAS boxes, or is it something else?

The computer has the NAS mounted as a drive, and backs up the NAS to B2 backblaze. I could run duplicacy directly on the NAS… that might be the best solution but I was hoping to just adjust my existing settings.

So the backup schedule is 4pm every day, but if the computer is asleep and/or powered down, it’ll run the backup at the next opportunity.

This is how I’d like the web gui to perform!

Ah, thanks for the clarification. I’m assuming that your NAS is likely powered on 24x7x365, so for sure it would be the best overall option in terms of resource usage and reliability.

Running Duplicacy on the NAS means you won’t have to worry about whether your main computer is powered on.

Another point of concern is that there’s a chance of data corruption as files are downloaded via the network drive. The larger the file, the greater the chance. (Someone reading this is likely to point to TCP/IP as a reason why errors will be automatically resolved. While it’s mostly true for the network transfer itself, when the storage medium and/or RAM in the NAS becomes faulty, Duplicacy won’t know that because to it the files from the network drive are the official versions.)

One caveat I must mention is that having a backup scheduler run a missed backup is not without potential problems:

  • Let’s assume that the backup schedule is to run once a week every Sunday at 12 noon. You go on vacation starting on a Saturday and return 9 days later on a Monday – what should Duplicacy do about the two missed backups?
  • Care must be taken to avoid a missed backup overlapping the next scheduled backup, corrupting the backup storage.

My father’s backup consists of less than 8,000 files totaling just over 1GB, so the 30 seconds or so it might take to run has a minuscule risk of colliding with another running backup. (I separately image the system drive at least once a year.)