I am trying to copy a directory as fast as possible, and since it contains both very big files, and a lot of them, rclone seems the obvious choice.
Both cp and rsync solve my problem, but they are slow.
I seem to be having issues replicating their behaviour using rclone however.
The invoking process has just set up a tmpfs mountpoint at .., however it has not changed the directory yet meaning the cwd is still pointing at the old directory which I intend to copy into that tmpfs mountpoint.
This poses a problem for rclone right away which trips and errs with Nothing to do as source and destination are the same.
In the source this seems to stem from all copy-esque operations having the allowOverlap flag set to false (it's the last parameter).
Great start, with the check being seemingly hardcoded and no way to override it, but don't fret, Linux has me covered.
So now I try to run rclone /proc/$$/cwd/ $PWD which satisfies rclone's check and also avoids any potential bugs in which rclone might attempt to access a "canonical" path (which is not a thing, please don't attempt that, ever).
Now I run into the symlink issue described below.
What is the problem you are having with rclone?
Symlinks are either not copied (without --links) or rclone err's out entirely presumably (I haven't checked) because it is not allowed to write to a nearby file (lots of assumptions here).
See the full command below.
This errs out with
2026/06/09 08:12:30 CRITICAL: Failed to create file system for "/proc/15469/cwd/": need ".rclonelink" suffix to refer to symlink when using -l/--links
My best guess is that rclone tries to create /proc/15469/cwd.rclonelink to which Linux says "no".
Note also that /proc/15469/cwd/ itself is a symlink, but it's a special symlink because $(readlink /proc/15469/cwd) is $PWD, but cd /proc/15469/cwd will put you in . which is distinct from $PWD in this case.
(just to be clear, by $PWD I mean the directory which you get by traversing from / to where . would be)
Small PoC:
mkdir src
echo foo > src/bar
ln -s baz src/quux
cd src
sudo mount none -t tmpfs ..
# <-- how to copy `.` to `../dst` here, including the symlink?
Run the command 'rclone version' and share the full output of the command.
rclone v1.74.1
- os/version: debian 11.11 (64 bit)
- os/kernel: 7.0.11 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.26.3
- go/linking: dynamic
- go/tags: cmount
Which cloud storage system are you using? (eg Google Drive)
None. Just local to local.
The command you were trying to run (eg rclone copy /tmp remote:tmp)
rclone copy \
--progress \
--inplace --ignore-checksum \
--multi-thread-streams 16 --transfers 16 \
--metadata --links \
/proc/$$/cwd/ "$PWD"
Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.
; empty config
A log from the command that you were trying to run with the -vv flag
2026/06/09 08:14:20 DEBUG : rclone: Version "v1.74.1" starting with parameters ["/opt/static-rclone/bin/rclone" "copy" "-vv" "--progress" "--inplace" "--ignore-checksum" "--multi-thread-streams" "16" "--transfers" "16" "--metadata" "--links" "/proc/15631/cwd/" "/some/directory"]
2026/06/09 08:14:20 DEBUG : Creating backend with remote "/proc/15631/cwd/"
2026/06/09 08:14:20 NOTICE: Config file "[…]/rclone/rclone.conf" not found - using defaults
2026/06/09 08:14:20 CRITICAL: Failed to create file system for "/proc/15631/cwd/": need ".rclonelink" suffix to refer to symlink when using -l/--links