`rclone bisync --resync` : discrepency in keeping updated/modified files

What is the problem you are having with rclone?

I would like to clarify what happens when running rclone bisync --resync, regarding keeping the most up-to-date files.

The offical docs say:
"
When using --resync, a newer version of a file either on Path1 or Path2 filesystem, will overwrite the file on the other path (only the last version will be kept). Carefully evaluate deltas using --dry-run.
"
ref: Bisync

This makes sense to me, and is what should happen. However, a forum post says:
"
Mostly correct. However, during a --resync run:

Warning: Path1 files may overwrite Path2 versions.

In other words, if a different versions of a file exist on both paths, only the path1 version will survive.
"
ref: Is bisync ready for prime time? - #8 by cjnaz
and in my actual usage, this is what I find actually happens.

Shouldn't it be that the first scenario is what happens : that the most up-to-date file is kept during --resync (so that whether it is on Path1 or Path2 it is copied to the other path)?

Run the command 'rclone version' and share the full output of the command.

rclone v1.62.2

  • os/version: debian bookworm/sid (64 bit)
  • os/kernel: 6.2.6-76060206-generic (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.20.2
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

onedrive for business

The command you were trying to run (eg rclone copy /tmp remote:tmp)

(see above)

The rclone config contents with secrets removed.

?

I have tried to use it in the past and indeed it is how it works. I ended up making sure that both paths are identical for initial --resync run. (rclone copy dir1 dir2 --update; rclone copy dir2 dir1 --update)

Despite that docs are IMHO misleading:

says:

When using --resync, a newer version of a file either on Path1 or Path2 filesystem, will overwrite the file on the other path (only the last version will be kept).

but then:

$ rclone bisync --help
  -1, --resync                  Performs the resync run.
                                Warning: Path1 files may overwrite Path2 versions.
                                Consider using `--verbose` or `--dry-run` first.

and this is what actually happens when I test. If the same file is newer in Path2 it is overwritten by older version from Path1

subsequent bisync runs (without --resync) behave as expected. Newer file version is preserved regardless from which path.

At the end as my goal was to keep two folders on two computers in sync I ended up using different open source software SyncThing

"I have tried to use it in the past and indeed it is how it works. I ended up making sure that both paths are identical for initial --resync run. (rclone copy dir1 dir2 --update; rclone copy dir2 dir1 --update)"

  • This makes good sense to me..that will make sure the latest files are on both directories. Then can do --resync. Thanks!

  • I've ended up going off bisync for now, just a bit scared at having to run -resync quite often and how to handles keeping the most updated files. (I guess your suggestion above would fix it but I'd prefer that to be default behaviour of --resync). I'm just doing rclone sync now and I have to remember to sync at the start and end of every work session!

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