How to compare files between Dropbox and Google Drive

Hello,

I want to move all my files from Dropbox to Google Drive, but I need some sort of check if none of my files got corrupted.

I know that Dropbox and Google Drive use different hash methods, and I also saw two threads where the --download flag was mentioned as a workaround:

  1. How does the --download flag help comparing the files?
  2. Which command do I need to use?
  3. Can the files just be compared in memory without storing everything locally?

Thanks in advance.

welcome to the forum,

both the links that you shared explain that. maybe you can explain what is not clear?


to minimize the effects of --download, could do the following:

  1. rent a cheap cloud vm from google
  2. run rclone in the vm

  1. install rclone
  2. create remote for dropbox and test
  3. create remote for gdrive and test
  4. as for the command, something like rclone copy dropbox: gdrive: --vv ---dry-run

that is how rclone works with dropbox and gdrive.
rclone will not use local storage for the transfer.


there is a hard limit of uploads to gdrive at 750GiB/24Hours
there are ways to deal with that.

To copy the files, I used:
rclone copy dropbox: google: --checkers 8 --transfers 8 --drive-server-side-across-configs --progress

And to check them I tried:
rclone check dropbox: google: --one-way --fast-list

I just don't understand where I would need to set the --download flag.
Is it at the copy command itself?
And what is afterwards being checked when the --download flag is set?

fwiw, use --vv --dry-run to see what rclone is doing, without actually copying any files.
for testing, rclone copy a single file and see what happens.


here is a comment from @left1000

in your case, there is a third variation - rclone cannot compare different hash types.
dropbox uses DBHASH and gdrive uses MD5


can remove that flag.
only works when both, the source and the dest are gdrive.

1 Like

Alright, understood, now I got it. :raised_hands:

rclone check dropbox: google: --download --progress
2025/03/22 19:27:37 NOTICE: Google drive root '': 0 differences found
2025/03/22 19:27:37 NOTICE: Google drive root '': 1 matching files
Transferred:            6 GiB / 6 GiB, 100%, 34.092 MiB/s, ETA 0s
Checks:                 1 / 1, 100%
Transferred:            1 / 1, 100%
Elapsed time:      2m59.9s

nice!
to see the difference, try

  1. rclone check dropbox: google: -vv
  2. rclone check dropbox: google: -vv --download
1 Like

When I try -vv I get an error:

NOTICE: Fatal error: unknown flag: --vv

1 Like

oops, that should be -vv

Okay, now it worked.

But when I read the output, I don't really get what was actually compared.
How did rclone now verify that both files are the same?

D:\rclone>rclone check dropbox: google: -vv --download
2025/03/23 00:00:36 DEBUG : rclone: Version "v1.69.1" starting with parameters ["rclone" "check" "dropbox:" "google:" "-vv" "--download"]
2025/03/23 00:00:36 DEBUG : Creating backend with remote "dropbox:"
2025/03/23 00:00:36 DEBUG : Using config file from "rclone.conf"
2025/03/23 00:00:36 DEBUG : Creating backend with remote "google:"
2025/03/23 00:00:36 DEBUG : Google drive root '': Waiting for checks to finish
2025/03/23 00:01:36 INFO  :
Transferred:        1.943 GiB / 3.972 GiB, 49%, 34.594 MiB/s, ETA 1m
Checks:                 0 / 1, 0%
Transferred:            0 / 1, 0%
Elapsed time:        59.1s
Checking:

Transferring:
 *                                     two/test3: 32% /3Gi, 17.442Mi/s, 1m59s

2025/03/23 00:02:36 INFO  :
Transferred:        3.836 GiB / 4.918 GiB, 78%, 31.037 MiB/s, ETA 35s
Checks:                 0 / 1, 0%
Transferred:            0 / 1, 0%
Elapsed time:      1m59.1s
Checking:

Transferring:
 *                                     two/test3: 63% /3Gi, 15.528Mi/s, 1m11s

2025/03/23 00:03:36 INFO  :
Transferred:        5.832 GiB / 5.916 GiB, 99%, 34.403 MiB/s, ETA 2s
Checks:                 0 / 1, 0%
Transferred:            0 / 1, 0%
Elapsed time:      2m59.1s
Checking:

Transferring:
 *                                     two/test3: 97% /3Gi, 17.201Mi/s, 4s

2025/03/23 00:03:41 DEBUG : two/test3: OK
2025/03/23 00:03:41 NOTICE: Google drive root '': 0 differences found
2025/03/23 00:03:41 NOTICE: Google drive root '': 1 matching files
2025/03/23 00:03:41 INFO  :
Transferred:            6 GiB / 6 GiB, 100%, 34.872 MiB/s, ETA 0s
Checks:                 1 / 1, 100%
Transferred:            1 / 1, 100%
Elapsed time:       3m3.8s

2025/03/23 00:03:41 DEBUG : 9 go routines active
2025/03/23 00:03:41 INFO  : Dropbox root '': Committing uploads - please wait...

D:\rclone>

DEBUG : two/test3: OK


for a summary of all checks, use --combined

Using --combined (rclone check dropbox: google: -vv --download --combined) gives me again an error:

Error: flag needs an argument: --combined

But I guess I found my answer already, the --downlaod flag is performing a Byte-by-Byte comparison, correct?

I just wanted to know what parameters rclone is checking with the --download flag.

if the rclone docs are not clear, let me know.


correct

In the docs, it is written:
--combined string Make a combined report of changes to this file

What do I need to add for "string"?

Do I need to specify the report's output path, or I just use the command like this:

rclone check dropbox: google: -vv --download --combined string

--combined=/path/to/file

1 Like