"check -files" command ignores "-r" command option

check -files command doesn’t take “-r” command option

I’m using Duplicacy-Web 1.3.0 in @saspus’ docker container on a Synology NAS and recently decided to verify the file integrity for my most recent snapshot id 100.

So I created a job in the web interfact and added a check step with the command options
-id DiskStation-Personal -r 100 -files

When I terminated the job after about 32 hours, this was the log:

Running check command from /cache/localhost/all
Options: [-log check -storage Google_Drive-Personal -id DiskStation-Personal -r 100 -files -a -tabular]
2020-04-18 01:54:58.060 INFO STORAGE_SET Storage set to gcd://Backup/Duplicacy/Personal
2020-04-18 01:55:00.756 INFO SNAPSHOT_CHECK Listing all chunks
2020-04-18 01:59:44.095 INFO SNAPSHOT_CHECK 1 snapshots and 98 revisions
2020-04-18 01:59:44.096 INFO SNAPSHOT_CHECK Total chunk size is 36,435M in 34210 chunks
2020-04-18 16:57:22.073 INFO SNAPSHOT_VERIFY All files in snapshot DiskStation-Personal at revision 3 have been successfully verified
2020-04-19 07:43:27.090 INFO SNAPSHOT_VERIFY All files in snapshot DiskStation-Personal at revision 4 have been successfully verified
Duplicacy was aborted

So apparently Duplicacy ignored the -r parameter, even though it was specified. How can I get this to work to check my desired revision only.

As an aside, the it also appended the “-a” parameter, even though an “-id” was specified. Not sure, if that is proper. Not an issue in my case, since I only have a single id, but perhaps for others.

And as a final aside I did notice that clicking to show a log would just show an empty page, even several hours into the job. Not sure, if that is an issue with the container and/or the Synology NAS or happens on all platforms.

This is a bug. If you specify -id it should not add -a. I’ll fix it in the next release.

That is because the log output is buffered and there isn’t too much to show. You can add the global option -d and the log will be updated more frequently.

Thank you @gchen for your quick response.

My main problem however isn’t with the -id vs -a parameter, but with the fact that the -r parameter apparently is ignored. That makes the use of the -files option pretty much impossible.

I believe the reason -r is ignored is because the -a option specifies all IDs and all revisions. The proposed fix should allow -files to function as you want it to.

I believe the reason -r is ignored is because the -a option specifies all IDs and all revisions. The proposed fix should allow -files to function as you want it to.

Ah, yes, that would make sense. Would be great, if @gchen could confirm this.

From the documentation, -a option applies only to id's

Let’s wait for @gchen confirmation.

I might have commented on some other thread on the same topic. But to keep it in one place: why not force flush the buffer after every (log line) write as opposed to indirectly causing flush by flooding the log with (mostly useless due to being too verbose) data? Is this browser issue or stream output/pipe on Duplicacy side?

1 Like

This is a good idea. I’ll try it out.

1 Like

-r alone is a bit ambiguous since there could be multiple backup ids – it should be used together with an -id option. In this sense, the proposed behavior is exactly what you wanted, if you specify both -r and -id.

1 Like

But from what I understood he tried exactly this format (with -id and -r):