I looked at some of the other posts, and they mention a few things, but nothing that solved the problem.
My repository is on linux, backup up to a remote linux server using sftp. I’m using restic 0.9.5 compiled from source: v0.9.5-46-g604b18aa-dirty.
I synchronised the clocks between the machines (some posts mentioned this), but it still appears that restic will scan every file in my repo. I expected restic to be able to check the last modified time of the file, and avoid reading it if nothing has changed.
The problem is that my repository is almost 7TB and it takes hours to check it and it blows up the iowait and makes the machine unresponsive.
This is the output of a backup: “restic -v backup -f --one-file-system --exclude-file=/root/excludes.txt /raid/home”
repository 3f87a6f5 opened successfully, password is correct
load index files
start scan on [/raid/home]
start backup on [/raid/home]
scan finished in 222.579s: 4367733 files, 6.766 TiB
uploaded intermediate index e3dbec0e
uploaded intermediate index 7c34632f
Files: 4367782 new, 0 changed, 0 unmodified
Dirs: 2 new, 0 changed, 0 unmodified
Data Blobs: 583 new
Tree Blobs: 3 new
Added to the repo: 186.598 MiB
processed 4367782 files, 6.766 TiB in 4:55:40
snapshot da49f157 saved
And you can see that only a small number of files have changed and a tiny amount of data is transferred, but it still had to read every file.
Is there a way to tell restic to compare timestamps before scanning the file?