Duplicati Filters and Wildcards: Why Your Source Paths Still Need to Be Set Separately

Duplicati treats an all-include filter list as an explicit allow-list — and it breaks backups silently

If you added an include filter in Duplicati and your other source drives stopped being backed up, two separate behaviors caused it. Both are documented somewhere, and neither is obvious at first.

Source paths and filter patterns do different jobs

The source path — the folder you select in the file tree or type into the path field — tells Duplicati where to look. A filter tells it what to pick up from inside those folders. These are configured independently, and neither one substitutes for the other.

That is why writing /usr/share/applications/wine*.desktop directly into the path field does not work. Path fields expect a real directory. Not a glob. Wildcards have to go into a filter rule instead. And even a filter with a full path like /usr/share/applications/wine*.desktop still requires the parent folder listed as a source — if /usr/share/applications/ is not in your source list, none of its contents ever reach the filter evaluation at all.

Two steps, every time: add the folder as a source, then add the wildcard as a filter.

The all-include-rules flip

By default, Duplicati backs up everything it finds in your source paths. Exclude filters carve out exceptions. Include filters can punch specific files back in. That is the normal model.

There is a special case buried in the documentation that surprises almost everyone. If every filter in your list is an include rule (prefixed with +), Duplicati switches its default from open to closed. Instead of including everything and removing exceptions, it shifts to including only what the rules explicitly match. Anything not covered by an include rule gets excluded — no warning, no log entry that flags the change.

That is exactly what happened in the thread this post is based on. Before the wine desktop filter was added, Home and Data were backed up because the default was to include everything under the source paths. The moment one include filter appeared, Duplicati treated the entire filter list as an allow-list. Home and Data had no matching include rule, so their files were skipped. The familiar lost+found permission warnings still appeared because Duplicati did traverse those paths — it just did not back up any of the actual content inside them.

The fix: cover every source when you use include filters

Once you are using include filters, every source path needs an explicit include rule, even if you want to back up its contents in full. A broad rule like +/home/ tells Duplicati to include everything under /home/.

A working setup looks like this:

Source paths:
  /home/
  /Data_Linux/
  /usr/share/applications/

Include filters:
  + /home/
  + /Data_Linux/
  + /usr/share/applications/wine*.desktop

The first two rules open the Home and Data directories in full. The third narrows the applications folder to only wine desktop files. All three sources are now explicitly inside the allow-list and nothing falls through.

The simpler alternative: stay in exclude-only territory

If you do not need to restrict what gets backed up from your main drives, keeping your filter list in exclude-only mode avoids the flip entirely. Select Home and Data as sources with no filters attached. Add /usr/share/applications/ as a separate additional source, then write an exclude filter that drops everything in that folder except the files you want.

Exclude filters do not change the default inclusion behavior, so your other sources stay unaffected regardless of what you add later. It is the lower-risk approach when your main goal is tacking a narrow extra selection onto an otherwise full-drive backup.

Two rules worth keeping in mind

  • Wildcards go in filter rules, not in source path fields. The path field needs a real directory.
  • The moment every filter in your list is an include rule, Duplicati excludes anything not explicitly matched. Either cover all source paths with include rules, or use exclude-only filters to stay in the safe default.

Sources


Similar Posts