Rsnapshot is a great tool, and I've been using it for years.
I have discovered that my backups now take a very long time: 80 minutes. And I repeat that every 4 hours. After looking in the log, most of this time is spent removing the last hourly level ("hourly.6") and copying the new hourly.1 to the new hourly.0. The rsync itself is not the slow part.
I see my data has evolved to a place where the hourly deltas are quite small compared to the overall size/count of files in the backup. I think this is the root cause of the problem.
Instead of removing hourly.6 and copying hourly.1, can't it move/rename hourly.6 to hourly.0, and do the rsync from there? It will require repeating the sync of all the data that changed since hourly.6. But it seems like that would be much more efficient in my situation.
Unfortunately (for me), rsnapshot is in perl, and I am unlikely to decipher its code. Does there happen to be a flag for this already (man page says no), or is this an easy change?
If I can't get there myself, does my suggestion make enough sense to make a feature request?