What are disadvantages of using --no-traverse with large nr of files

From docs

The --no-traverse flag controls whether the destination file system is traversed when using the copy or move commands.

If you are only copying a small number of files and/or have a large number of files on the destination then --no-traverse will stop rclone listing the destination and save time.

However if you are copying a large number of files, escpecially if you are doing a copy where lots of the files haven’t changed and won’t need copying then you shouldn’t use --no-traverse.

It can also be used to reduce the memory usage of rclone when copying - rclone --no-traverse copy src dst won’t load either the source or destination listings into memory so will use the minimum amount of memory.

What are the disadvantages of using it. For example Iam atm copying from 1 google drive to another one, however without using --no-traverse I will get my google drives locked due to many api request.

@ncw I just wonder whats the actual impact when copying large number of files where most already exist on source and destination.

If you have lots of files in the source, then you shouldn’t use --no-traverse.

rclone can generally list a whole remote using a small number of API calls.

When you are using --no-traverse rclone will do a list API call for each file you upload.

When increasing the number of files you are copying, at some point --no-traverse will become less efficient.

In general if the source is more or less identical to the destination then definitely don’t use --no-traverse.

1 Like