On Tue, Mar 11, 2014 at 04:34:13PM +0100, Thomas Schwinge wrote:

Alternatively, wouldn't it make sense to change to, or at least have available, a mode where verify works not based on the data in the backup, but instead of the actual user data? Wouldn't doing it in this way build a yet greater confidence that obnam has backed up everything alright? That is, instead of traversing the data in the backup and verifying against the corresponding user data, it'd traverse the user data (as when doing a backup) and verify against the data in the backup.

I think you're right. I think we should have "obnam verify" traverse through both the backup generation and the live data, and report as follows:

  • if a file exists only in the backup, but not in the live data
  • if a file exists only in the live data, but not in the backup
    • also indicate whether the file matches (current) exclusion rules, since that matters: a file that is in live data but is not excluded is different from an excluded one
  • if a file exists in both the backup and the live data, but is different in any way

I don't have time to work on this at the moment, but I'll add it to the list of bugs in http://liw.fi/obnam/bugs/ and would be happy to review and merge a patch for this.

--liw

This is best done by using diff(1) on a FUSE mounted backup-repository, I think. Don't want to duplicate all basic command line tools in Obnam. done --liw