--checksum-only option? (or equivalent)

When dealing with this other topic, I’m trying to put together a script to force hash check.

Evaluating the available options, I think they are somewhat “overlapping”, and maybe some are missing:

--size-only    - Skip based on size only, not mod-time or checksum    =  checks: size
--ignore-size  - Ignore size when skipping use mod-time or checksum   =  checks: mod-time OR checksum
--ignore-times - Dont skip files that match size and time             =  checks: size, time and hash (last one forced?)
--checksum     - Skip based on checksum & size, not mod-time & size   =  checks: checksum AND size (first one forced?)

As we have three parameters (time, size and checksum/hash), it would not be better if we had something like:

--force_time
--force_size
--force_checksum
--ignore-time
--ignore-size

and the default option would be to evaluate size and time, as it is today (and the last two options above would be to deal with this default option).

(This above is only a suggestion, there are several possible forms, combining 3 elements in pairs, eg.)

It is not clear to me whether the options --ignore-times and/or --checksum actually force the hashing check.

For example, I created a first script with the command:

rclone check [source] [destination]

and it returned:

...
DEBUG : [file 1]: OK
...
DEBUG : [file n]: OK
NOTICE: Encrypted drive 'ioioio': 0 differences found
NOTICE: Encrypted drive 'ioioio': 451 hashes could not be checked           (?!?!)

(Note: There are 451 files in the folder)

Then I created a second one with the option:

rclone check [source] [destination] --checksum

and it returned exactly the same:

...
DEBUG : [file 1]: OK
...
DEBUG : [file n]: OK
NOTICE: Encrypted drive 'ioioio': 0 differences found
NOTICE: Encrypted drive 'ioioio': 451 hashes could not be checked 

Using the --ignore-times option also returned exactly the same result.

If the hashes could not be checked, how can it return that there are no differences?

(Note: Rclone: Version “v1.40-043-gb63ebf47-fix-2191”)

There are 3 main syncing methods

  • no flags - (size, modtime)
  • --size-only (size)
  • --checksum (size, checksum)

Then there are the modifiers

  • --ignore-size makes all of the above skip the size check
  • --ignore-times - uploads unconditionally (no checks)

Just in case you are wondering where these flags came from - they are all from rsync

--ignore-times only works for uploads, it isn’t implemented for check.

I hope that helps!

Kind off…

So from my understanding from what you have explained above, if I use the --checksum option together with the --ignore-size option the hash check should be forced, right?

But I still get:

2018/04/08 19:22:30 DEBUG : rclone: Version "v1.40-043-gb63ebf47-fix-2191" starting with parameters ["rclone" "check" "[local_folder]" "[Dropbox_folder]" "--checksum" "--ignore-size"]

2018/04/08 19:22:36 NOTICE: Encrypted drive 'ioioio': 0 differences found
2018/04/08 19:22:36 NOTICE: Encrypted drive 'ioioio': 451 hashes could not be checked

Not to mention the problem of why hashes are not being checked (probably some cause related to Dropbox).

--ignore-size means don’t take into account the size when deciding whether something is old or not. An rclone check will always caclucate the checksum.

This is because crypt doesn’t support checksums (dropbox stores the checksum of the encrypted file, not the unencrypted file)

If you use rclone cryptcheck you can get an integrity check for crypt remotes.

Oh, sure, my mistake. :roll_eyes:

As I was using the script in the other very large folder (related to the topic mentioned above), when I started doing the tests with this little one I forgot that this one is encrypted.

Everything is OK with cryptcheck:

2018/04/09 12:37:10 NOTICE: Encrypted drive 'ioioio': 0 differences found
2018/04/09 12:37:10 DEBUG : 
Transferred:      0 Bytes (0 Bits/s)
Errors:                 0
Checks:               451
Transferred:            0
Elapsed time:     2m16.9s

Hooray! That is good news :slight_smile:

With my Crypted GSuite file are an problem when i wood like to use “sync”… rclone told me the Remote files are no there… but the files are there…

2018/04/11 22:19:52 ERROR : Æon Flux (2005)/._Æon Flux (2005).mkv: File not in Encrypted drive ‘GSuiteCrypt:Plex Cloud Crypted/x264/’

rclone wood like to upload 678 files new… but i don´t know why…the files are there…

What can i do to fix this without upload all files new?

Open a new topic and in that topic put the command you tried and what it output - thanks!