My directory contains tens of millions of small files. It took 20 minutes before the synchronization even started, and I did not use the check-first option. It seems that the traversal process took a very long time.
The strange thing is that in other scenarios, when there were about 500M of objects in my bucket, the job started very quickly. I didn’t add any extra parameters, and I didn’t encounter any process where it waited for scanning object metadata.
Do you mean that I should first traverse the directory in this way, and then proceed with the transfer?
rclone lsf -R source:bucket | sort > source-sorted
rclone lsf -R dest:bucket | sort > dest-sorted
comm -23 source-sorted dest-sorted > to-transfer
comm -12 source-sorted dest-sorted > to-delete
rclone copy --files-from to-transfer --no-traverse source:bucket dest:bucket
rclone delete --files-from to-delete --no-traverse dest:bucket