what is lacking with rclone copy to copy the missing files from cloud to local
or rclone check with one of these flags
--missing-on-dst string Report all files missing from the destination to this file
--missing-on-src string Report all files missing from the source to this file
HI - yes nothing is "missing" per si but I need to run rclone check to see what files need to be copied...
using rclone check C:\Users\Tony\sum2.txt remote:/ --checkfile=md5 --filter-from "C:\Program Files (x86)\rclone\filter-file.txt" --missing-on-src C:\Users\Tony\missing_on_src.txt
there's an entry in the missing_on_src.txt file called: My Pictures/Tony/Automatic Upload/Tony’s iPhone/2021-02-02 08-53-03.heic
and in my sum file: 1dce89040d9ac5e3bc07d813d7a4eacb Pictures/2021-02-02 08-53-03.heic
if the goal is to find missing files, why take the time to rclone hashum to create a static, point in time, sum2.txt
this would be a real-time and quicker check. rclone check remote: --filter-from "C:\Program Files (x86)\rclone\filter-file.txt" --missing-on-src C:\Users\Tony\missing_on_src.txt
yes that's what I'm doing but I haven't been able to get it to successfully FIND anything it keeps giving the sum file errors per the above. Which is why I generated a sum file directly from rclone for a few to ensure the syntax was correct - but if that produces the same errors!
2021/08/24 17:06:15 NOTICE: sum2.txt: improperly formatted checksum line 1
not sure what you mean?
the last command i shared does not use a sum file, so there would not be checksum errors in the log such as you just posted.
if you want to find missing files, what is the purpose of taking the time to create a checksum file?
i noticed that to create the sum file, you use rclone md5sum and i use rclone hashsum
rclone check and rclone checksum against the sum files works for me.
including folders and files with space characters in the sum file, no need to quote them....
Windows prohibited reading contents of NTUSER.DAT and two more files. As rclone could not sum up the contents, it produced the word ERROR instead of the sum. The SUM file writer in rclone blindly streamed the word into output file.
It's a deficiency in my code. I will fix it by rclone 1.57. For the time being please remove ERROR lines manually.
If I now use that file to try and run rclone check it complains that there's invalid lines??
rclone encountered the line with ERROR and noticed it loudly. Valid sum files cannot have ERROR in the sum field. It's a consequence of the above blunder.
Additionally I can see that reported line number is zero based which is inconvenient for humans. Actually errors appeared in lines 2,4,5 (for NTUSER.DAT et al).
I will fix it by rclone 1.57.
2021/08/24 17:06:16 ERROR : My Videos/100_1324.MOV: sum not found
2021/08/24 17:06:16 ERROR : My Videos/100_1325.MOV: sum not found
Checker noticed a brand new file which wasn't in sum file. That's ok.
This workaround will make rclone skip the file without read attempts (Windows will reject it as the file contains secrets and can be read only by system processes) so you can avoid the ERROR lines in the sum file and misleading notice later.
@ivandeex noticed another odd thing that the sum file check is case-sensitive not sure if that's necessary? in that the checkSums need to be lowercase as that's what rclone checks against.
$ touch empty
$ echo "d41d8cd98f00b204e9800998ecf8427e empty" > ok
$ rclone md5sum -C ok empty
= empty
2021/10/11 10:51:43 NOTICE: Local file system at /tmp: 0 differences found
2021/10/11 10:51:43 NOTICE: Local file system at /tmp: 1 matching files
$ echo "D41D8CD98F00B204E9800998ECF8427E empty" > bad
$ rclone md5sum -C bad empty
2021/10/11 10:52:48 ERROR : empty: files differ
* empty
2021/10/11 10:52:48 NOTICE: Local file system at /tmp: 1 differences found
2021/10/11 10:52:48 NOTICE: Local file system at /tmp: 1 errors while checking
2021/10/11 10:52:48 Failed to md5sum: 1 differences found
tl;dr I admit the problem but I don't have an immediate solution.
Hex-based checksums (md5, sha1, sha256) are in fact case-insensitive.
But Base64 aren't.
A general-case checksum is an opaque string and we must preserve it.
If it will be fixed, the fix will need case sensitivity info for each particular hash type.