Something all full-service backup systems should have
Having spent much of today wrestling with this very question, I have a small suggestion for people designing full-service backup systems (by which I mean ones that have individual file indexes and an environment for restoring single files):
Please provide a command that summarizes all of the versions of a file that you know about.
Most full-service backup systems can go back in time, so you can ask for things like 'the version of the file on January 28th'. But what I really want is some way to ask the backup system for a rundown of when the file was changed, created, or deleted, because this usually is what I actually want. What tends to happen, at least around here, is not that a user deletes a file and immediately wants it back, but that they notice that they have a damaged or deleted file now and need to get back the last good version, whenever that was.
For serious bonus points, support this for directories too, with filtering so I can look only at deleted or added files. That would make it easy to deal with the situation when a user tells us that they've accidentally deleted some files from a directory, but they're not sure exactly what they deleted (after all, it was an accident).
(Note that 'restore the directory as of <X>' is not a really good solution. Users don't necessarily notice the accidental deletion right away, and so they may have new or updated files in the directory that they don't want to lose; they don't want the old version of the directory back, they just want the old files back.)