How Backup Works

This page describes how backups work from a high level perspective

The core backup process is at a high level view:

  • Activate operating system snapshot (if possible)

  • Scan source folder content recursively

  • For each file

    • Read a block at a time

    • Check if the block already exists

      • Ignore if it exists

      • Add to volume if new

    • Process next block

With this core, it is possible to generate the volumes that are uploaded. Each time a block is added to a volume, the size is checked against the maximum volume size. If the limit is reached, a new volume is started, and the previous volume is processed. For a more detailed developer-oriented description, see the forum post on how the backup process works.

The process for a volume file is:

  • Compress file (if not done when adding a block)

  • Encrypt the file

  • Upload the file

At the end of the backup, when all files are processed, and all blocks are uploaded, a file list is uploaded that explains how to recreate all the processed files.

After the upload, a check is made to ensure that the remote storage looks as expected, and a few random volumes are downloaded to ensure the backup data is available.

If there are any retention rules active, Duplicati will then remove old lists, and possibly start to reclaim some remote storage by consolidating remote volumes.

Last updated