Rclone mount, show progress bar on copy / move?

I'm using rclone on Windows 10, and I was wondering if there's a way to make windows explorer (or any other file manager on windows) display a precise progress bar when copying / moving files into a mounted drive.

The way it currently works for me is that whatever file I put into the mounted drive, it just appears there almost instantly, and the actual upload takes place in the background thus I have no idea when it finishes or how fast it's going.

Thanks!

Using OneDrive

Windows 10 18362.113

rclone v1.47.0
- os/arch: windows/amd64
- go version: go1.11

winfsp 1.4.19016

Are you using -vfs-cache-mode writes? That will be the cause of the no progress in explorer. If you stop using it then you'll get progress as you should, but other things may stop working.

without it, it shows a progress bar where a 4GB file gets copied somewhere @ ~500Mbytes/sec (which is not my internet upload speed :slight_smile: ) and then the rclone background upload starts

with it, it shows a progress bar where a 4GB file gets copied somewhere @ ~2Gbytes/sec and then the rclone background upload starts

i'm using the most basic mount command rclone mount OneDrive: O:

just to be clear, I was expecting the explorer progress bar to show the actual internet upload progress, I guess that's not how this works?

Without vfs cache writes there is only a small buffer. How big a file were you testing?

That is what I'd expect!

I would expect it to with --vfs-cache-mode off and not with --vfs-cache-mode writes since it will cache the file to disk first.

I recorded the process with --vfs-cache-mode off, please watch this 48sec screen capture:

Is this buggy behavior then? (the upload only starts after the progress bar has finished)

Edit: please use Copy video URL, or download the video, the embedded resolution is worse than the actual resolution.

What's the rclone.conf for the remote you are using there without any keys/passwords.

Guessing it is how Windows Explore is copying it as I haven't touched a Windows machine in 7-8 years.

[OneDrive]
type = onedrive
token = {"access_token":"*ACCESS TOKEN*"}
drive_id = *DEVICE ID*
drive_type = personal

I just tried it with the same configuration on arch and this one is different, but still pretty bad:

after the progress bar reaches 100% the entire terminal freezes until the upload is finished or until I hit Ctrl-C on the other terminal running rclone. So it technically waits until the transfer is complete, but the progress bar still doesn't reflect the actual upload progress, and you can't abort.

rclone v1.47.0
- os/arch: linux/amd64
- go version: go1.12.3

I don't use any graphical items as that seems to be normal for a file uploading if you aren't writing it locally.

It will wait until the file finishes copying/uploading until returning back. As for the progress bar, not sure how that would work or wouldn't work.

well, sucks to be me I guess... :slight_smile:

What have you got --buffer set to? If that is really big that would explain the symptoms.

I never configured the buffer, it's on default

Ah, I know what is causing this...

If you turn debug on you'll see the message "Target remote doesn't support streaming uploads, creating temporary local FS to spool file"

So you can't upload a file of unknown size to Onedrive so rclone has to stream it to a temporary directory.

If you use rclone mount then it doesn't receive the information about what size the file is at the start so it has to use that streaming to a temporary file.

I see, well then it's not going to work as I imagined it would, but I understand.

May I then suggest a fix for the terminal freezing on linux after the "streaming to a temporary directory" finishes, make it behave more like windows, so you can put the job in the background and continue working in the same terminal?

Thanks for figuring it out!

I'm working on that at the moment so when files have been written then will be queued in an upload queue for a few seconds then uploaded.

1 Like

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