Re-ordering Backup Jobs on Duplicati Landing Page

Yep. If the skipped job launching was controllable then I would be happy enough.

I read a nother topic with this request (but can’t find it back right now). But it suggested to also make it possible to force priority backups to stop current backups (after “upload”). I would prefer to included that in this function.

That way smaller more important backups will keep their planning and you can minimize the risk of loosing changed/new data.

I know this can be “painful” for those that have many backup jobs, but until the feature is added to the codebase this workaround might, um, work.

Basically, you can export all your jobs to files, delete them (DO NOT “Delete local database” or “Delete remote files”), then re-import them in the desired order.

To replicate what I did for testing this, you could:


Export jobs

  • Open up the job menu and select “Export…” (you can also export from the Delete page, if you prefer)
  • Make sure “To File” is selected and click the “Export” button
  • When prompted to save the file, prefix the file with the position you’d like it to eventually be in (so if you want it to be the 2nd job add “2-” to the beginning of the file name) and click the Save button
  • Click the “Done” button
  • Repeat as necessary

Delete jobs (CAREFULLY)

  • Open up the job menu and select “Delete…”
  • If shown, make sure “Delete the local database” and “Delete remote files” are UN-CHECKED (if the backup hasn’t been run, you may not see them)
  • Click the “Delete backup >” button
  • Click the “Yes” button in the “Confirm delete” modal that appears. NOTE: If your “Confirm delete” button includes a “captcha” form for confirmation, click cancel and start over!!! (You most likely forgot to uncheck the “Delete remote files” box)
  • Repeat as necessary

Import jobs

  • Select “Add backup” from the main menu
  • Select “Import from a file” and click the “Next >” button
  • Click the “Choose File” button, select the appropriately numbered #-xxxx-config.json file, and click the “Open” button
  • Check the “Save immediately” box
  • Click the “Import” button
  • Repeat as necessary

Finally, if you didn’t use encryption for your exported configes, delete the files (so any passowrds or hashes aren’t left lying around).

(Note that after a job import certain tasks, such as Compare, may report having NO backups even though the UI shows backups exist. This issue should go away after the first post-import run of the job.)

3 Likes

I think this is a fantastic idea and would love to see it implemented in the future

Will this ever be implemented as a drag/drop interface? I need to have backups run in a certain order which I do using the scheduler setting, and i’d like to (manually) reorder the jobs so they make sense to me.

I probably could be if somebody wanted to implement it, however I don’t know of anybody working on it at the moment.

If you were able to manually re-order the backup jobs with a simple drag and drop, would you expect anything else from the interface change like buttons to automatically order by name or run time?

I’m asking this (and explaining more below) because if somebody were to post an issue at Issues · duplicati/duplicati · GitHub describing (in some detail) what was expected it might get more traction.

Consider adding a bounty to it at Bountysource and get some others to donate and it’s even more likely to happen.


Keep in mind that “order by run time” could mean different things to different people . For example, some might expect it to have “what’s running next” be at the top while others might expect “the first job of the day” to be at the top (whether or not it’s already run).

Additionally, how should ordering happen for jobs that aren’t part of the same time period? For example, if I have a daily job that runs at 2 AM, and hourly job that starts at 9 AM, and Sunday only job that starts at 7 AM then in what order should they appear?

I’d love to see this feature too! For me it’s only about being able to rearrange the list so it makes more sense to me.
My list of backup jobs are getting longer and longer, and it would be easier to keep track of it if I could rearrange it freely.

Hi @ZaphyR, welcome to the forum and thanks for sharing your interest in this potential enhancement!

At the moment, most developers are busy trying to speed things up and make Duplicati more stable so niceties like user experience improvements have mostly been put on hold.

Note that as an open source project, anybody is free to work on the code so if you want to give it a try yourself or perhaps try to get somebody else to volunteer to work on it you might be able to get the feature sooner. :slight_smile:

Is there any update on this issue?
The suggestion of JonMikeIV (export jobs, delete, reimport in different order) works of course, but this is very inconvenient.

There’s still no easy way, AFAIK. Volunteers to help would help, otherwise code focus is mainly on bugs, which is kind of what the post above yours said. There might also be some specifalized skills required…

@PeteM I agree with ts678. It sounds simple but it can involve quite a bit to do something like that depending on what and how much needs to be rearranged. Bugs, testing, other issues could be possible.

Haven’t looked at it but there’s definitely more important things to do. Though can understand if you really want a backup to run and the remote system may go offline before the others finish but otherwise I don’t see much point.

If there are backups that take a long time then any file changes after that will probably be toast anyway. Run first or last makes no difference.

I wonder though if Duplicati treats other connections as different queue eg run both at same time. It sounds like it definitely won’t run multiple of same connection type at same time. Imagine it doesn’t have code for that either but that would be a good alternative.

I think the common solution with manageable effort would be here to implement drag & drop (without any sorting!) on the Home screen. This feature would be (de)activated on the Settings screen.

10 aug 2021 and I dont see any news about order by

Drag and Drop it’s easy to implement using SortableJS I tried it some years ago on a “test” page QooL Portfolio.

In the meantime sort by name would be the most easy stuff, I think it requires just a couple of minutes.

1 Like

If it’s so easy, could you please make this optional feature and commit to git fork?

Sortable it’s easy to use but I dont know DUPLICATI project and I don’t know how to fork and share changes…

Here a basic draggable tastlist using the SortableJS plugin.

Example of tasklist sortable => click me

My changes on index.html

  1. <body class="theme-{{active_theme}}" onload="QooLDrag()">
  2. <script src="https://sortablejs.github.io/Sortable/Sortable.js"></script>
    <script> function QooLDrag(){
    var el = document.getElementsByClassName('tasklist');
    var sortable = Sortable.create(el[0]);
    }
    </script>

and here an usable version code that allow to save the state of task order (when enter it will remember your drags order)

Duplicati - SortedJS for Index.html

Please, let me know if you know how fork and if u can give me some basic information about it.

3 Likes

I don’t actually do this sort of thing, but here’s seemingly helpful information from Google search.

6.2 GitHub - Contributing to a Project starts with the fork. If you need an account, hit Prev button.

Contributing to GitHub Projects (Git Pull Requests for Dummies) works with command line tools.
If you use a favorite current GUI tool, you could check whether or not it can integrate with GitHub.

Basic GitHub fork question is a Duplicati forum topic among non-experts on how to update a fork.
You can sometimes ask Developer questions, and get a developer, but this is more a user forum.

Duplicati code is here. Pull requests are here. You can look at closed ones to view their handling.
Branches in Duplicati are mostly pretty simple. Eventually things go to master, then get released.
There’s not a specific schedule. It might depend on whether there’s enough change to be worth it.

Thank you for your interest in contributing code. That’s how Duplicati slowly gets better over time.

I did have a question about persistence, which seems from your site to use browser local storage.
I suppose this makes it somewhat possible to lose, and also to vary depending on browser in use.
Might be a fair tradeoff though. Another question was how well it agrees with Duplicati URL usage.

Duplicati confuses some tools by using a fixed host address (often localhost) for various usage.
Making that worse is that its URL tends to stay the same across pages, except for the fragment id.
This confused password autofill terribly until it was disabled. Can SortableJS deal with all this OK?

This also seems to be a view thing, and could interfere with setting up run order via creation order.
Could there be a way to let the internal ordering show through, for those using it as a setup guide?
If not, then I guess whoever handles the pull request will have to guess at the gain versus the loss.

Best case may be if it can someday help a C# developer attach deeper semantics to the ordering.
But it does make a nice visual upgrade, which is possibly more meaningful to people. I don’t know.

Thanks again!

Thanks so much for all details on your reply.

Just to be clear what I have done is add a couple of JS e CSS that cannot interfere with settings:
it’ not a change of priority or other stuff, it’s a simple reorder of html elements after Duplicati generated them.
I added that codes in the index.html (it is only layout) of 2 separated installation of duplicati:

  • Windows 10
  • Linux Ubuntu Server 20.04
    Atm, I can loose that changes when a new update of Duplicati will be installed: just copy and paste the code in the new index.html and it will word again.
    I will create a request in the main project to ask if they can include my codes.
    Did you test my changes in your installation?

Somewhat. Results so far are below. Hit many snags, some seemingly not related to this though.

I don’t worry all that much about a Duplicati without the change. The loss I’m worrying about is this:

as mentioned in a similar issue below which uses browser cookies rather than browser local storage.

every time I set it and move to a new machine or browser, the theme selection is reset because it’s stored in a cookie instead of server-side.

Log in in another browser or incognito.

Any of them lost the order for me, and an unexpected way to lose the order is to refresh after a minute.
One can also lose the order by clearing browser local storage (sometimes near its cookie clearing UI).
I see some discussion of more robust saving in the Issues for SortableJS, but can’t easily follow them.

I started testing this yesterday, and got sidetracked in a Firefox issue where “Duplicate tab” hangs GUI.
That doesn’t seem to be from the new code though. Even very old Duplicati on recent Firefox do that…

I sort of recall hearing of such an empty blue box reported, but I can’t find it in a “Duplicate tab” context…

Back to my testing effort, I think I’m somewhat stuck because the one-minute loss is sometimes sooner.
My hope had been to test backup add and delete, but after timing myself, I’m not sure I can beat the loss.

I thought possibly it was related to a long poll coming in every 60 seconds, but it doesn’t “appear” to be…
I tried quieting the polling down by running Duplicati.Server.exe instead of Duplicati.GUI.TrayIcon.exe, but
it “seemed” like the refresh button used before seeing the next poll in the F12 browser tools may still fail.

On the “Duplicate tab” side-issue, I tried right-click → Inspect on that box, and I think it might be trying to communicate a perceived connection failure to server. I was also seeing better-said (imagined?) reports.
I am not a web developer, so I don’t really know my way around how to debug problems like I’m seeing…

Another observation is that my normally first backup decided to become my last without me moving it.
I think I’ve seen that before, but I didn’t mention it because it might have been related to another issue.

What I noticed for the first time trying to drag the item back up is that overall page scroll didn’t happen.
Dragging down, mouse pointer nearing screen bottom makes unseen screen below it scroll into view.
Dragging up, the mouse pointer just runs off display area. I need to use the scroll bar, then drag more.