Rclone MOVE: Google to Box migration leaving files behind?

What is the problem you are having with rclone?

Transfers from Google to Box are not moving all files. Some are being left behind. Empty directories annoying but probably expected behaviour?

Run the command 'rclone version' and share the full output of the command.

rclone v1.62.2

  • os/version: ubuntu 18.04 (64 bit)
  • os/kernel: 5.4.0-150-generic (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.20.2
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Google Drive
Box

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone --config="/opt/rclone.conf" move tcrypt:tv box:tv --progress --buffer-size 256M --drive-chunk-size=256M --transfers=6 --checkers=4

The rclone config contents with secrets removed.

# rClone.config created over rclone
#------------------------------------------
[gdrive]
client_id = SNIP
client_secret = SNIP
type = drive
server_side_across_configs = true
token = SNIP
[gcrypt]
type = crypt
remote = gdrive:/encrypt
filename_encryption = standard
directory_name_encryption = true
password = SNIP
password2 = SNIP

[tdrive]
client_id = SNIP
client_secret = SNIP
type = drive
server_side_across_configs = true
token = SNIP
team_drive = SNIP

[tcrypt]
type = crypt
remote = tdrive:/encrypt
filename_encryption = standard
directory_name_encryption = true
password = SNIP
password2 = SNIP

[GDSA01]
SNIPPED IRRELEVANT S/As AS ONLY DOWNLOADING FROM GOOGLE

[pgunion]
type = union
remotes = gdrive: tdrive: gcrypt: tcrypt: /mnt/move

[box]
type = box
token = SNIP

A log from the command with the -vv flag

NOT USED VV YET

Maybe someone can see an obvious error before I stop and re-do with -vv option (as I suspect stopping and re-starting may have something to do with it and don't want to unless absolutely necessary.

--delete-empty-src-dirs Delete empty source dirs after move

unless you have some specific output from the instance of rclone currently running, need re-run rclone with debug output
or better yet use a log file --log-level=DEBUG --log-level=/path/rclone.log

1 Like

Thanks, I worked out you meant --log-file on the last bit :slight_smile:

2023/06/14 17:06:47 DEBUG : rclone: Version "v1.62.2" starting with parameters ["rclone" "--config=/opt/appdata/rclone.conf" "move" "tcrypt:tv" "box:tv" "-P" "-I" "--buffer-size" "256M" "--drive-chunk-size=256M" "--transfers=6" "--checkers=4" "--delete-empty-src-dirs" "--log-level=DEBUG" "--log-file=/home/james/rclone.log"]
2023/06/14 17:06:47 DEBUG : Creating backend with remote "tcrypt:tv"
2023/06/14 17:06:47 DEBUG : Using config file from "/opt/appdata/rclone.conf"
2023/06/14 17:06:47 DEBUG : Creating backend with remote "tdrive:/encrypt/2rg7dc6et3jefgh3km0aor2k40/5mc1j82tekueh9nauukrob8c10"
2023/06/14 17:06:47 DEBUG : tdrive: detected overridden config - adding "{A6J6b}" suffix to name
2023/06/14 17:06:48 DEBUG : fs cache: renaming cache item "tdrive:/encrypt/2rg7dc6et3jefgh3km0aor2k40/5mc1j82tekueh9nauukrob8c10" to be canonical "tdrive{A6J6b}:encrypt/2rg7dc6et3jefgh3km0aor2k40/5mc1j82tekueh9nauukrob8c10"
2023/06/14 17:06:48 DEBUG : fs cache: switching user supplied name "tdrive:/encrypt/2rg7dc6et3jefgh3km0aor2k40/5mc1j82tekueh9nauukrob8c10" for canonical name "tdrive{A6J6b}:encrypt/2rg7dc6et3jefgh3km0aor2k40/5mc1j82tekueh9nauukrob8c10"
2023/06/14 17:06:48 DEBUG : Creating backend with remote "box:tv"
2023/06/14 17:06:52 NOTICE: tv_shows/Taken: Duplicate directory found in source - ignoring
2023/06/14 17:07:01 DEBUG : tv_shows/Manimal/Manimal.S01E03.Night.of.the.Scorpion.DVD.[SlipperyJim].mkv: Multipart upload session started for 25 parts of size 32Mi

Still doesnt explain why it skipped the files from directories earlier in alphabet like Lucifer (which was transferring before I stopped to add -vv or DEBUG) and folder called How******

I stopped and checked I had -vv on and realised -vv is DEBUG and now it skips the Manimal directory.

I have tried de-dupe before. I had added -I in case file creation time was confusing matters... but no joy.

imho, need to fix all problems with source before migrating.

Thats a red herring.. as the odd one of those has never been related to the other directories it skips

BUT to make it 100% clear it was a red herring, I deduped the source Google drive and ran again. And again it skips directories that alphabetically come before the one it starts on.

@ncw sorry to tag you but I'm stumped

Not sure why you are tagging him. The order of operations are completely random unless you do something to influence that so it's operating as expected.

If you have a question, share the command and a full debug log.

Did you dedupe the source?

Yes, as posted above

Really? All evidence points to otherwise..... I've moved several TB and it has (apart from those folders it randomly starts and then never resumes) consistently chosen to process the folders in alpha order. Believe me I have checked. It also considers capitals and lower case same when choosing that order (unlike, say, midnight commander which sorts capitalized filenames/foldernames differently to what I'd have expected).

I did share the debug log... I cut the thousands of lines of rest of it which showed NOTHING other than successful files. My question is why it skips those earlier (alpha listed) folders if I have to start and restart the command (to add debug logs for example).

Please post the full debug log.

Thanks.

Yes, you are incorrect unfortunately.

That's anecdotal. You can see:

Documentation to get perfect ordering.

There's only a snippet of a log. A full debug log would be required to fully analyze the issue.

As noted above, it's not ordered. Need the full debug log to see why it is skipped as your last error had duplicates in the source.

So without a new, full debug log, it's really guessing.

if you want to test out, add something like this:
--order-by size,mixed,75

Yes, empty directories being left behind during a transfer with Rclone is expected behavior. Rclone only transfers files that match the specified criteria, and it does not automatically delete empty directories that are left behind after the transfer.

If you want to delete empty directories after the transfer, you can use the "--delete-empty-src-dirs" flag when running the Rclone command. This flag tells Rclone to delete any empty source directories after the transfer is complete.

Here's an example Rclone command that uses the "--delete-empty-src-dirs" flag:

rclone copy source: destination: --delete-empty-src-dirs

In this command, "source" and "destination" are the names of the Google and Box remotes, respectively. The "--delete-empty-src-dirs" flag tells Rclone to delete any empty source directories after the transfer is complete.

Keep in mind that deleting empty directories can be risky, as there may be other files or directories in the same directory that you want to keep. So, be sure to review the contents of the directories before deleting them.

Also, take a look at some alternatives that can handle and solve this issue like ShareGate and Gs Richcopy 360

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.