Why not just restore the same way the backup is made? Rsync it, and use the --delete option to delete only the files that aren't part of the backup. There's no reason to orphan files on the web server when restoring from a backup.
I'm not even sure it should be called 'restore backup' if it doesn't restore the previous state..... More like 'restore missing and changed files from a backup state' or something like that.