Only run restore point / archive tasks if server is online

I’ve just noticed that a couple of servers that have been offline have continued to create restore points, with the result that there are thousands created identically.

Do you have cronjobs scheduled for those servers?

If so, you can either disable or delete them.

Strangely, if the files themselves aren’t ever changing, it shouldn’t really have any affect on the HDD used, as nothing is changing, but I guess rdiff-backup thinks a new increment is still required (since it still is “what that server was at that point at time”)

Well, yes, I can… But I was more thinking it seemed like a logical thing to integrate into the scheduler itself.

Also, it’s not really a space issue, it’s more to do with usability. I’ve noticed that when first opening the webUI, some servers can take an absolute age to be displayed, and this seems to be linked to (among other things, probably) number of snapshots/archives.

Upon deleting about 2,000 snapshots from one server in particular, it went from taking 10-15 seconds to load, to about 3.

But I guess what I’m getting at is: is it following the “principle of least astonishment” to to no longer make backups simply because the server is off?

If somebody set up an Archive every 24 hours at 05:00 and the server crashed at 01:50, would the admin (who didn’t wake up in time to bring the server up at 05:00) want no archive to be made, and for the next available archive to be the following day at 05:00?

For backups, it seems less drastic, since people might be making hourlies, and backups would be available from 01:00 to when the admin woke up, e.g., 07:30, but what I guess I’m saying is: what would an admin expect the behavior to be.

Brainstorming a bit, I think maybe a perfectly good indicator would be in the webui when the server is DOWN, perhaps the dashboard/server-at-a-glance might have an indicator “The server is down, but you have cronjobs running!”.

That or maybe creating a separate function that only backs up/archives while the server is running (so, two new options in the cronjob dropdown). These might provide the function you’re looking for without behaving unexpectedly.

Keep in mind, as the designer, I tend to choose UI options that err on the side of caution. I’d rather hear “why is there not-useful backups being made while the server is down” over hearing "why don’t I have the backups my schedule is set to?" since progress-loss is one of the angrier complaints I personally have to cope with.

I tried at one point setting the functionality of auto-pruning restore points after X backups, but it started behaving erratically, so I couldn’t pull it into the master. Perhaps I’ll look into that again, so that there’s never a 10-15 second delay, since that is…way to much.

Ok, valid point. Makes sense.

How about: Only run backup if server has been started since the last one was made?

Backup auto-pruning would be pretty handy as well, though I imagine more work than the above.

Just coming back to this, as I logged into MineOS for the first time in a month or so today. I left the webUI for over five minutes, and all the servers didn’t populate. Refreshed the list a couple of times and they all showed up eventually.

Cleared out a bunch of snapshots from the main servers, came back to it a while later, and the webUI loaded in a few seconds.

Would something like backing up if a user has logged in since last backup, work? (At least on a vanilla server) it’s not possible for anything to happen if a user isn’t there. This should solve the issue of a server crashing at 01.00am preventing a backup at 05.00am, and should drastically cut down on the number of backups.

I don’t know about others, but myself and friends only really place MC in spurts these days. Usually when a new update shows up. We’ll play it for a few weeks, get bored of it and come back to it later on. I like to leave the servers up all the time, because, well, they’re servers, serving things, and this would stop thousands of backups being made when nothing is happening.

One other thing: An indicator of this on the main screen would be really nice. A “Chron-jobs” column with ([running] / [total]) for example. I have quite a few servers, each with restore points and archives. Some are older worlds I leave up for people to reference previous designs, and won’t be updated. Would be nice to have an at-a-glance indicator of if they’re still running snapshots, given the performance impact on the UI.

Any thoughts on the above?