Urgent: Restore needed but missing .dlist files. Can I recover from .dblock + .dindex or from local DB?

Hi everyone,
I’m on Windows and I’m trying to recover files from an old backup, but I’m stuck due to missing .dlist files.

Situation

  • I had two Duplicati backups configured to write to two remote destinations.
  • I lost the data on one of the remote destinations entirely.
  • On the other remote destination I still have access to the backup files, but I’m missing the .dlist files for the period I need (year 2023 or earlier).
  • Because of that, I cannot recreate/build the database from the backend for that time range.

What I still have

  • I can access the backend files on the remaining remote destination (I have the .dblock and .dindex files for that period).
  • Locally, under C:\Users\<user>\AppData\Local\Duplicati\, I see multiple .sqlite database files (and related files).
    Some may be from older configurations that were never deleted.
    Based on file timestamps, some DB files have last modified dates in 2023.

Questions

  1. Is it possible to restore/recover backups using only .dblock + .dindex (without .dlist), in a way that preserves original filenames/paths?
    Or is that only possible via a “raw” reconstruction (e.g., reassemble) that loses names?
  2. If I have a local database .sqlite from 2023, can I use it to perform a restore even if the backend is missing .dlist for that time range?

Thanks in advance

Unfortunately no. The dlist files contains the “map” of which files need what data.

Yes, that is possible. The database does contain a “copy” of the dlist file.

It should be a matter of pointing to the database and the remote data and then issuing a restore.

You might also be able to use the “repair” command to make it re-construct the dlist file for you, but there is no direct method to do so. It should be fairly simple to write a small script that creates a .dlist file from the database.

BEWARE: The repair command might try to delete files on the remote if you use an old database, so do not try on the live copy of your backup data.

Actually, I just got AI to write such a script:

It works on my small tests, but it has not been fully tested, so use with caution.

Update: I was able to restore all my data!

thank you so much for the script! I used it to successfully generate all the missing .dlist files, uploaded them to my remote backup location, and after trying a few different versions, I finally found the one that worked and contained the files I needed!

1 Like