What is the problem you are having with rclone?
When doing an rc copy (see command below) it fails on the PROPFIND of the src webdav backend. The issue is that the src webdav service (running at a host with a path: https://app.cs3mesh-iop.k8s.surfsara.nl/iop
, which in this case is a particular server setup) returns the resource items with a href starting from that path: eg. /remote.php/webdav/home/folder1/test1.txt
Now the rclone webdav backend implementation compares the returned items' paths with the path of the base url which reads /iop/remote.php/webdav/home/folder1/test1.txt
(ie. including the /iop
part). And thus it fails to recognize the path (see debug output below).
Shifting the /iop
part to the path (url=\"https://app.cs3mesh-iop.k8s.surfsara.nl\":/iop/remote.php/webdav/home/folder1"
) gives the same result.
So, I tried to use the _root
special value to specify a backend root as follows:
rclone -vv copy ":webdav,headers=\"x-access-token,...token...\",url=\"https://app.cs3mesh-iop.k8s.surfsara.nl\",_root=/iop:/remote.php/webdav/home/folder1" /tmp/folder2
but that does not seem to do anything. The root part is missing in the PROPFIND request.
Two questions:
- How do I use
_root
in the connection string syntax, or is_root
actually meant for this? - What's the rational behind the comparison at rclone/webdav.go at a9c49c50a06ebf7cea0aaa3329dd0fb3b9fcef9a · rclone/rclone · GitHub ? (to me it seems that when I'm asking for a path (
:/remote.php/webdav/...
) and PROPFIND returns items that have that have exactly then that would be correct).
Run the command 'rclone version' and share the full output of the command.
rclone v1.58.1
- os/version: centos 8.5.2111 (64 bit)
- os/kernel: 5.10.102.1-microsoft-standard-WSL2 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.17.9
- go/linking: static
- go/tags: none
Which cloud storage system are you using? (eg Google Drive)
owncloud
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
rclone -vv copy ":webdav,headers=\"x-access-token,...token...\",url=\"https://app.cs3mesh-iop.k8s.surfsara.nl/iop\":/remote.php/webdav/home/folder1" /tmp/folder2
The rclone config contents with secrets removed.
using connection strings syntax; see command above
A log from the command with the -vv
flag
2022/06/02 14:03:11 DEBUG : rclone: Version "v1.58.1" starting with parameters ["rclone" "-vv" "copy" ":webdav,headers=\"x-access-token,...token...\",url=\"https://app.cs3mesh-iop.k8s.surfsara.nl/iop\":/remote.php/webdav/home/folder1" "/tmp/folder2"]
2022/06/02 14:03:11 DEBUG : Creating backend with remote ":webdav,headers=\"x-access-token,...token...\",url=\"https://app.cs3mesh-iop.k8s.surfsara.nl/iop\":/remote.php/webdav/home/folder1"
2022/06/02 14:03:11 DEBUG : :webdav: detected overridden config - adding "{kKeur}" suffix to name
2022/06/02 14:03:11 DEBUG : Using config file from "/config/rclone/rclone.conf"
2022/06/02 14:03:11 DEBUG : found headers: x-access-token,...token...
2022/06/02 14:03:11 DEBUG : fs cache: renaming cache item ":webdav,headers=\"x-access-token,...token...\",url=\"https://app.cs3mesh-iop.k8s.surfsara.nl/iop\":/remote.php/webdav/home/folder1" to be canonical ":webdav{kKeur}:remote.php/webdav/home/folder1"
2022/06/02 14:03:11 DEBUG : Creating backend with remote "/tmp/folder2"
2022/06/02 14:03:11 DEBUG : Item with unknown path received: "/remote.php/webdav/home/folder1/", "/iop/remote.php/webdav/home/folder1/"
2022/06/02 14:03:11 DEBUG : Item with unknown path received: "/remote.php/webdav/home/folder1/test1.txt", "/iop/remote.php/webdav/home/folder1/"
2022/06/02 14:03:11 DEBUG : Local file system at /tmp/folder2: Waiting for checks to finish
2022/06/02 14:03:11 DEBUG : Local file system at /tmp/folder2: Waiting for transfers to finish
2022/06/02 14:03:11 INFO : There was nothing to transfer
2022/06/02 14:03:11 INFO :
Transferred: 0 B / 0 B, -, 0 B/s, ETA -
Elapsed time: 0.1s
2022/06/02 14:03:11 DEBUG : 4 go routines active