I noticed that when I do kopia sync-to rclone
, the spawned rclone command is actually acting as a webdav server, and files being copied one by one via http. As a result, it is very slow and it always hangs forever after all files are copied.
I did some search here and found Jarek’s comment here: How does kopia repo sync-to works? - #2 by jkowalski . If all Kopia does in that command is copying missing files, why go through the complicated process of creating some certificates and keys to setup webdav, while rclone sync
exists to have the same effect? What can the existing method do and rclone sync
can’t?
Originally I thought kopia sync-to is capable of selectively copying some blobs. For example, imagine it has a --latest
switch that only copies the latest snapshot over. Also, Kopia’s switches such as --parallel
, --dry-run
, --delete
exist in parallel in rclone.
After switching to pure rclone command, I can see clear performance difference and no issue of hang at end.
For the record,
The spawned parent rclone process from kopia sync-to:
rclone serve webdav <rclone_dest> --addr 127.0.0.1:0 --cert C:\Users\CrendKing\AppData\Local\Temp\\webdav.cert --key C:\Users\CrendKing\AppData\Local\Temp\kopia-rclone069218207\webdav.key --htpasswd C:\Users\CrendKing\AppData\Local\Temp\kopia-rclone069218207\htpasswd
Child process:
rclone serve webdav <rclone_dest> --addr 127.0.0.1:0 --cert C:\Users\CrendKing\AppData\Local\Temp\kopia-rclone069218207\webdav.cert --key C:\Users\CrendKing\AppData\Local\Temp\kopia-rclone069218207\webdav.key --htpasswd C:\Users\CrendKing\AppData\Local\Temp\kopia-rclone069218207\htpasswd
My replacement command for dry-run check:
rclone check <kopia_repo> <rclone_dest> --size-only --one-way
For actual syncing:
rclone sync <kopia_repo> <rclone_dest>