What is the problem you are having with rclone?
rclone bisync
runs in the background every 5 minutes between local (Linux) and Google Drive. One of the directories it syncs has a bunch of Markdown files which I'm regularly updating. Often I'm changing one file at the exact same moment that rclone bisync
runs, and it fails with:
2024/04/20 23:18:12 INFO : Validating listings for Path1 "Archive{YRXYK}:/" vs Path2 "/home/user/Archive/"
2024/04/20 23:18:12 ERROR : - Size not equal in listing. Path1: 1883, Path2: 1569 - Notes/rclone-debug.md
2024/04/20 23:18:12 ERROR : - Modtime not equal in listing. Path1: 2024-04-20 21:18:06.447 +0000 UTC, Path2: 2024-04-20 21:17:54.330635919 +0000 UTC - Notes/rclone-debug.md
2024/04/20 23:18:12 ERROR : Bisync critical error: path1 and path2 are out of sync, run --resync to recover
2024/04/20 23:18:12 ERROR : Bisync aborted. Must run --resync to recover.
I've tried a few things with no success:
- Tried the exact command under
--check-access
in the docs and got the same error. - Read the concurrent modifications section in the docs and learned that with v1.66.0 there were some improvements done, but it doesn't solve this problem. I believe this problem falls under this sentence:
note that an error can still occur if a file happens to change at the exact moment it's being read/written by bisync
- Compiled a custom version where I got rid of this check. The first run works and then, as it's now obvious to me, the second run finds a conflict in the file since both files have slightly different contents.
I tried to go through Github to see if there were relevant discussions about this, but I couldn't find them (maybe because I didn't know what to search).
So my question is: is there a way to workaround this and still have a valid workflow? I wouldn't mind doing syncs without checks every 5 minutes, and then doing a global check every couple hours.
And, if there is no workaround, are there any on-going or past discussions about this issue and how it could be hypothetically solved?
Run the command 'rclone version' and share the full output of the command.
rclone v1.66.0
- os/version: arch (64 bit)
- os/kernel: 6.8.5-arch1-1 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.22.1
- go/linking: dynamic
- go/tags: none
Which cloud storage system are you using? (eg Google Drive)
Google Drive
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
rclone bisync Archive: ~/Archive \
--verbose \
--metadata \
--checksum \
--ignore-listing-checksum \
--check-access \
--no-cleanup \
--resilient \
--drive-skip-gdocs
Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.
[Archive]
type = drive
client_id = XXX
client_secret = XXX
scope = drive
token = XXX
team_drive =
A log from the command that you were trying to run with the -vv
flag
2024/04/20 23:17:51 NOTICE: bisync is IN BETA. Don't use in production!
2024/04/20 23:17:51 NOTICE: WARNING: Checksum compare was requested but at least one remote does not support checksums (or checksums are being ignored) and --ignore-listing-checksum is set.
Ignoring Checksums globally and falling back to --compare modtime,size for sync. (Use --compare size or --size-only to ignore modtime). Path1 (Google drive root ''): none, Path2 (Local file system at /home/user/Archive): none
2024/04/20 23:17:51 INFO : Bisyncing with Comparison Settings:
{
"Modtime": true,
"Size": true,
"Checksum": false,
"HashType1": 0,
"HashType2": 0,
"NoSlowHash": false,
"SlowHashSyncOnly": false,
"SlowHashDetected": true,
"DownloadHash": false
}
2024/04/20 23:17:51 INFO : Synching Path1 "Archive{YRXYK}:/" with Path2 "/home/user/Archive/"
2024/04/20 23:17:51 INFO : Building Path1 and Path2 listings
2024/04/20 23:18:04 INFO : Path1 checking for diffs
2024/04/20 23:18:04 INFO : Path2 checking for diffs
2024/04/20 23:18:04 INFO : - Path2 File changed: size (larger), time (newer) - Notes/.obsidian/workspace.json
2024/04/20 23:18:04 INFO : - Path2 File changed: size (larger), time (newer) - Notes/rclone-debug.md
2024/04/20 23:18:04 INFO : Path2: 2 changes: 0 new, 2 modified, 0 deleted
2024/04/20 23:18:04 INFO : (Modified: 2 newer, 0 older, 2 larger, 0 smaller)
2024/04/20 23:18:04 INFO : Checking access health
2024/04/20 23:18:04 INFO : Found 1 matching "RCLONE_TEST" files on both paths
2024/04/20 23:18:04 INFO : Applying changes
2024/04/20 23:18:04 INFO : - Path2 Queue copy to Path1 - Archive{YRXYK}:/Notes/.obsidian/workspace.json
2024/04/20 23:18:04 INFO : - Path2 Queue copy to Path1 - Archive{YRXYK}:/Notes/rclone-debug.md
2024/04/20 23:18:04 INFO : - Path2 Do queued copies to - Path1
2024/04/20 23:18:12 INFO : Notes/rclone-debug.md: Copied (replaced existing)
2024/04/20 23:18:12 INFO : Notes/.obsidian/workspace.json: Copied (replaced existing)
2024/04/20 23:18:12 INFO : Updating listings
2024/04/20 23:18:12 INFO : Validating listings for Path1 "Archive{YRXYK}:/" vs Path2 "/home/user/Archive/"
2024/04/20 23:18:12 ERROR : - Size not equal in listing. Path1: 1883, Path2: 1569 - Notes/rclone-debug.md
2024/04/20 23:18:12 ERROR : - Modtime not equal in listing. Path1: 2024-04-20 21:18:06.447 +0000 UTC, Path2: 2024-04-20 21:17:54.330635919 +0000 UTC - Notes/rclone-debug.md
2024/04/20 23:18:12 ERROR : Bisync critical error: path1 and path2 are out of sync, run --resync to recover
2024/04/20 23:18:12 ERROR : Bisync aborted. Must run --resync to recover.