I noticed that rclone 1.43 now supports Jottacloud, so I signed up for a month to see how it fares against Google Drive. I’m trying to copy my library from GD to Jottacloud using a very simple copy command:
rclone copy gd: jotta:
Now, what I am seeing is that my root partition is filling up, presumably because rclone needs to temporarily download the files from GD before uploading to Jottacloud.
Obviously, my root partition running out of space causes all sorts of issues, including failures in the rclone transfer itself (something about md5 calculations failing because of no free space).
Is there any easy solution to this? Can I change where rclone stores temporary files?
From the documentation for the Jottacloud backend:
Note that Jottacloud requires the MD5 hash before upload so if the source does not have an MD5 checksum then the file will be cached temporarily on disk (wherever the TMPDIR environment variable points to) before it is uploaded. Small files will be cached in memory - see the --jottacloud-md5-memory-limit flag.
You can change the TMPDIR variable to a directory you have more space to avoid your root running full.
You can also reduce the number of parallel transfers.
I did a quick test, copying a single file from GD to Jottacloud, and from what I can see you are correct - Jottacloud backend does find md5 from source and skips the function that temporarily downloads the entire file to disk to calculate md5.
My apologies, I should’ve mentioned that my Google Drive (gd:) remote is actually a crypt remote since my files in GD are encrypted, while my Jottacloud remote (jotta:) is a normal unencrypted remote.
I assume rclone can’t get the md5 hash from a crypt remote?
I don’t think the md5 is stored anywhere so rclone would have to download, decrypt and compute the sum.
The sum might be computed on the fly so in theory you could spare the local space by downloading and computing the sum on the fly then download again and upload at the same time (all the operations on small chunks). Not sure if it’s worth it, be it for 1GB or for 50GB … in most situations if you can afford to transfer that much without trouble multiple times you can spare some temporary space (anyway faster and less wasteful than transferring from “cloud”) as well.
Is there no shortcut or hack somehow that could calculate the MD5 from the source location directly instead of copying / “downloading” it to TMP before doing it?
Only if the source has the MD5. This should include the local disk though. Are you using the latest rclone - see the latest release? If that doesn’t work then please start a new topic - thanks.