How Restore Works

This page describes how the restore process works from a high level

The core restore process is from a high level perspective:

  • Figure out what files should be restored

  • For each file

    • Locate each block required

    • For each block

      • Locate the block volume

      • Download block volume

      • Decrypt and decompress block

      • Append block to file

    • After file is restored, verify the content matches the original

This description is a bit simplified, as it would be incredibly slow to execute in the basic form shown here. For a more developer oriented description, see the forum post on how the restore process works.

The part about "figuring out what files should be restored" can be described in more parts:

  • Find the full list of files in the version to restore from

  • Apply filters to only restore the requested files

  • Skip files that exists and contains the correct content

If there is a local database, many of the steps can be reduced to a database query, and for this reason, Duplicati will build a temporary database during restore, if there is not already a local database.

Last updated