Using Restic 0.12.1 on Debian. The backup is sent via sftp to a server with gigabit network on the route.
Most of the data should already be on the target backup system, since the last backup was not very long ago. The screenshot shows the backup source on the left and the backup destination system on the right. Right. On the left the source, on the right the destination. As you can see here, the traffic goes from the destination to the source. It feels like the whole repository is fetched from resitc.
I have been using restic for a very long time and I have a feeling that it was faster in older versions as well, which unfortunately I cannot determine. But that the whole repository has to be transferred over the net for a backup to the source system seems like a bug to me.
Thanks! As you can see in the output, restic only sent 168.182 MiB of data to the repository. Presumably that isn’t your entire repository
It seems a lot of files changed though, is it realistic that there are 71725 changed files? If not this might be due to metadata changes and if so you might want to investigate if you need to use either of the --ignore-ctime or --ignore-inode options to the backup command.
Also note that if the file list in the include file changed since last time and isn’t identical to an existing snapshot’s path list, restic won’t be able to find a snapshot to use as the “parent” when scanning the files. In that case it will simply scan all the files again (but still only upload the actual blocks that changed in the files). This might take a bit longer than when it can find a parent snapshot (which you can set manually with the --parent option).
The total runtime and the number of files just don’t add up. Based on the amount of data added to the repository the whole backup should take only a few minutes. What is odd is that one third of the files are detected as changed, which consequently causes restic to read those again. Based on the high network usage I’d assume that you’re backing up a network mount which somehow causes restic to think the files have changed.
You can use backup -vvv to let restic print which files were detected as changed. It might be necessary to add --ignore-ctime or --ignore-inode to the backup command.