I’m hoping to purchase and use Duplicacy for a number of computers, but I’m running into one issue that’s pretty problematic.
In all other regards including the CLI, duplicacy is brilliant!
If I want to restore a single file or other subset of a repo, listing files via the GUI to do so takes a prohibitive amount of time. By way of comparison, listing all the files in the revision from the CLI executes in only ~20 seconds.
- I’m running the Duplicacy GUI version 2.0.8 on Windows.
- For now I’m just backing up to another machine on the network over Samba (the repo URL is of the form
samba://U:\backup) - the backups were performed from the Duplicacy GUI.
- I have three revisions so far, spaced an hour apart each (with a very small diff between each of them).
- The storage contains ~152GiB, made from a repo of size ~195GiB.
- The backup contains about 1.1 million files.
Here’s some output that demonstrates how this performs from the CLI (despite the ‘sh’, this is being run on Windows, I’m just using MinGW to run the
time command - the duplicacy binary being run is the Windows PE executable).
sh-4.3$ time duplicacy -background -log list -id [my-snapshot-id] -r 3 -files > file_list.txt real 0m20.892s user 0m0.000s sys 0m0.030s sh-4.3$ wc -l file_list.txt 1149213 file_list.txt sh-4.3$ du -sh file_list.txt 258M file_list.txt
Above I’ve used exactly the command that duplicacy runs from the GUI, as noted by its ‘Running [command]’ dialog.
It looks like the GUI is very slowly receiving the piped output from the CLI tool, which is presumably alive waiting to emit all of its output.
I understand that the GUI has to parse the log output from the CLI to display its tree, but hopefully there’s a path to optimising this (whether this involves changing the CLI’s output format to something more amenable or building the tree in a different way)?
As things stand, restoring from the GUI is almost completely impractical (I’ve not yet been able to wait long enough to see the restore list populate, having given up after 15 minutes or so of waiting, whilst the ‘Running [command]’ GUI displays as an always-on-top window on my machine!).
It would be really good to be able to use the GUI for restores, so I’ll leave it at that and hopefully there’s an answer to this on the near horizon!
Here’s the context on the underlying processes: