After running `rclone sync`, want to `rclone check` only on changed and new files

What is the problem you are having with rclone?

After running rclone sync, I want to run rclone check on only the new and changed files.
Unchanged and deleted files should not be checked.

How to take the output of rclone sync and feed it to rclone check

Please advise, Thanks

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

rclone v1.74.2
- os/version: Microsoft Windows 11 Pro 24H2 24H2 (64 bit)
- os/kernel: 10.0.26100.8039 (x86_64)
- os/type: windows
- os/arch: amd64
- go/version: go1.26.3
- go/linking: static
- go/tags: cmount

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

local

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

rclone sync /path/to/src /path/to/dst

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

No config

A log from the command that you were trying to run with the -vv flag

No log file

You can get data you need using logger-flags:

then do a bit of scripting and run rclone check with filters limiting scope to only files you want.

Hello, Thanks for the reply.

What I asking for, seems like an obvious feature to me?
I searched the forum but could not find anything about

I did see the logger flags, but cannot figure out to get the list of files.

If rclone copies a new file, output that to a text file.
If rclone copies a modified file, output that to the text file.

I can do some simple scripting to massage that the text, but how to feed it back to rclone check

Not that I have done it myself but having list of files I would try to apply something like --files-fromflag:

to rclone check

This way I would limit checks to specific list of files.

Thanks but I am asking how to create that list in the first place.

Something like:

rclone sync src/ dst/ --differ sync.log--missing-on-dst sync.log

This will print to sync.log all new and changed files at source.

For testing might be easier to print everything to stdout:

rclone sync src/ dst/ --differ - --missing-on-dst -

rOne small addition: if you send the changed/new names to a file with and , you can usually feed that same file to with . I would test it first with stdout/dry-run, because the paths in the list need to be relative to the source/dest root, e.g. then . If the command is run from PowerShell/CMD on Windows, also watch the quoting/path separators.

hi, @kapitainsky, i did some testing and i might have found a bug else i do not understand something?

if the dst/ is empty, sync.log has correct filename of test_16.txt
if the dst/ is NOT empty, sync.log has incorrect filename of xt
note: --combined and debug log always outputs correct filename

i wrote a script and the output is below where /dst is NOT empty and thus incorrect filename in sync.log

rclone deletefile sync.log -v 
INFO  : sync.log: Deleted
rclone deletefile combined.log -v 
INFO  : combined.log: Deleted

set /a _rand=(51*10000/32768)+1 
random number=16

rclone delete src/ 
rclone delete dst/ --include=test_*.txt 

rclone test makefile 16b src/test.txt --seed 0 --ascii 
rclone touch src/test_16.txt 

rclone ls src/ 
       16 test.txt
        0 test_16.txt

rclone ls dst/ 
     9980 test.txt


rclone sync  src/ dst/ --missing-on-dst=sync.log --differ=sync.log   --combined=combined.log --inplace -vv 
DEBUG : rclone: Version "v1.74.2" starting with parameters ["rclone" "sync" "src/" "dst/" "--missing-on-dst=sync.log" "--differ=sync.log" "--combined=combined.log" "--inplace" "-vv"]
DEBUG : Creating backend with remote "src/"
DEBUG : Using config file from "C:\\Users\\user01\\AppData\\Roaming\\rclone\\rclone.conf"
DEBUG : fs cache: renaming cache item "src/" to be canonical "//?/C:/test/src"
DEBUG : Creating backend with remote "dst/"
DEBUG : fs cache: renaming cache item "dst/" to be canonical "//?/C:/test/dst"
DEBUG : test.txt: size = 16 (Local file system at //?/C:/test/src)
DEBUG : test.txt: size = 9980 (Local file system at //?/C:/test/dst)
DEBUG : test.txt: Sizes differ
DEBUG : Sync Logger: MissingOnDst: + test_16.txt
DEBUG : test_16.txt: Need to transfer - File not found at Destination
DEBUG : Local file system at //?/C:/test/dst: Waiting for checks to finish
DEBUG : Sync Logger: Differ: * test.txt
DEBUG : Local file system at //?/C:/test/dst: Waiting for transfers to finish
DEBUG : test_16.txt: size = 0 OK
DEBUG : test_16.txt: md5 = d41d8cd98f00b204e9800998ecf8427e OK
INFO  : test_16.txt: Copied (new)
DEBUG : test.txt: size = 16 OK
DEBUG : test.txt: md5 = 3f3d1167e491c3831e6be2a09318fa7e OK
INFO  : test.txt: Copied (replaced existing)
DEBUG : Waiting for deletions to finish
INFO  : 
Transferred:   	         16 B / 16 B, 100%, 0 B/s, ETA -
Checks:                 1 / 1, 100%, Listed 3
Transferred:            2 / 2, 100%
Elapsed time:         0.0s

notice that for sync.log xt should be test_16.txt

rclone cat sync.log 
test.txt
xt

rclone cat combined.log 
+ test_16.txt
* test.txt

so, i ran the script over the last few days, 50+ times and every time, the fiename is not correct.

today, i did a massive windows update and rebooted my laptop for the first time in four months.
now, i cannot replicate the issue