# Lots of data upload - even very few data

**URL:** <https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401>\
**Category:** Support\
**Created:** [May 15, 2026, 10:19am UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401 "2026-05-15T10:19:43Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![0x391F](https://forum.duplicati.com/user_avatar/forum.duplicati.com/0x391f/32/12605_2.png) [@0x391F](https://forum.duplicati.com/u/0x391F)\
**Post date:** [May 15, 2026, 10:19am UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/1 "2026-05-15T10:19:44Z")

</div>

I create filter to backup .txt and .md files on my D, E partitions (less than 100MB), but I don’t know why, duplicati uploads quite lots of data (several hundreds MB) on my WebDAV drive, and it trys to uploads .mp4 files, which doesn’t included in filter.

 ![Screenshot 2026-05-15 at 17-11-38 Duplicati ngclient](https://forum.duplicati.com/uploads/default/original/2X/2/226d3dc283111bad9b80aff0e93e9e99dd0a8fe1.png)

 ![Screenshot 2026-05-15 at 17-51-21 Duplicati ngclient](https://forum.duplicati.com/uploads/default/original/2X/e/eb8143b3f7e2dc31fd416c20dbc31021471d6386.png)

 ![Screenshot 2026-05-15 at 17-49-59 Duplicati ngclient](https://forum.duplicati.com/uploads/default/original/2X/3/3ef2e696b31f056764f201e2deb5aaff2528e876.png)

Edit: I test to backup to my another local disk, this bug could reproduce.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [May 17, 2026, 10:48pm UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/2 "2026-05-17T22:48:24Z")

</div>

Welcome to the forum @0x391F

Using a combination of exclude and include filters, intention gets unclear.

> [@0x391F](#):
>
> it trys to uploads .mp4 files, which doesn’t included in filter.

Since it’s not in a filter to include or exclude, Duplicati will include. It’s safer.  
If you use only include filters, Duplicati is willing enough to exclude the rest.  
The current documentation doesn’t detail this, but the old manual describes:

[General concept of filters](https://prev-docs.duplicati.com/en/latest/appendix-d-filters/#general-concept-of-filters)

> Per default, all files and folders will be backed up. That means, if no rule matches, the file or folder will be included. In the special case that all rules are include rules (which does not make sense when all files and folders are included per default) Duplicati assumes that all other files and folders are meant to be excluded (this had to be defined as another rule in Duplicati 1.3 but most people found that confusing so we changed that in Duplicati 2.0).

There is also a forum Article (rather hard to find) suggesting how to solve this:

[Filters in Duplicati](https://forum.duplicati.com/t/filters-in-duplicati/17679)

> **Include some files, exclude others.** …  
> To make the including rule effective an additional rule is required that excludes all files that do not match any of the current rules. The filter must say “exclude this, exclude that, include this but nothing else”. The best rule for “but nothing else” is a regular expression that excludes all files. It is `-[.*[^/]]` on Linux or Mac, and on Windows the rule is `-[.*[^\\]]`. The rule says “exclude everything that is not a folder”.

A useful filter test tool that is also not mentioned in the new filters manual:

[The TEST-FILTERS command](https://prev-docs.duplicati.com/en/latest/04-using-duplicati-from-the-command-line/#the-test-filters-command)

Ignoring gaps, there is a lot in the filters docs that would be worth reading.

[Filters in Duplicati](https://docs.duplicati.com/security-and-secrets/filters-in-duplicati)

---

<div class="post-metadata">

**Author:** ![0x391F](https://forum.duplicati.com/user_avatar/forum.duplicati.com/0x391f/32/12605_2.png) [@0x391F](https://forum.duplicati.com/u/0x391F)\
**Post date:** [May 18, 2026, 10:43am UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/3 "2026-05-18T10:43:54Z")

</div>

Thank you for your reply! It works, now the only problem is how to exclude the empty folders (i.e. folders which don’t have files to backup).

By the way, I think here’re a bug that Duplicati GUI doesn’t properly show which files will be backup. In the first post, it shows that it will only backup \*.txt and \*.md and misleading me. Maybe I need to file a bug on Github issue tracker?

> The filter must say “exclude this, exclude that, include this but nothing else”. The best rule for “but nothing else” is a regular expression that excludes all files. It is `-[.*[^/]]` on Linux or Mac, and on Windows the rule is `-[.*[^\\]]`

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [May 18, 2026, 11:28am UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/4 "2026-05-18T11:28:22Z")

</div>

> [@0x391F](#):
>
> Maybe I need to file a bug on Github issue tracker?

That’s the best way to track any issues. The forum isn’t really suited for that.  
The GUI view has always been an approximation, especially in exotic cases  
such as regular expressions (where JavaScript is slightly different from C#).  
If you can use Settings to see if legacy UI does better, that would be helpful.

---

<div class="post-metadata">

**Author:** ![kenkendk](https://forum.duplicati.com/user_avatar/forum.duplicati.com/kenkendk/32/5305_2.png) [@kenkendk](https://forum.duplicati.com/u/kenkendk)\
**Post date:** [May 20, 2026, 2:48pm UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/5 "2026-05-20T14:48:06Z")

</div>

> [@0x391F](#):
>
> Thank you for your reply! It works, now the only problem is how to exclude the empty folders (i.e. folders which don’t have files to backup).

That is not possible with filters. You can use the advanced option `--exclude-empty-folders=true` to exclude those.

> [@0x391F](#):
>
> By the way, I think here’re a bug that Duplicati GUI doesn’t properly show which files will be backup. In the first post, it shows that it will only backup \*.txt and \*.md and misleading me. Maybe I need to file a bug on Github issue tracker?

Yes, you can create an issue.

We are aware of the issue and it happens because we currently evaluate the filters in the browser (for speed), but there are subtle issues where the browser logic and C# logic differ, causing it to show incorrect inclusion status.

The only real fix is to move the evaluation into the C# code so we loose a bit of speed but get accurate display.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [May 20, 2026, 9:12pm UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/6 "2026-05-20T21:12:16Z")

</div>

> [@kenkendk](#):
>
> We are aware of the issue and it happens because we currently evaluate the filters in the browser (for speed), but there are subtle issues where the browser logic and C# logic differ, causing it to show incorrect inclusion status.

I mentioned the regex differences. Is it possible to summarize others?  
Some of what I’m seeing seems more than subtle, but it’s a judgment.  
I don’t know if parity with old UI JavaScript work would be reasonable.

EDIT 1:

The C# work does seem remarkably complicated. I’m often surprised.  
When in doubt, I use `test-filters`, but the results can surprise me.  
One recent one was the combo of ? and \* in wildcards. Unpredictable.  
It’s also not clear how the slash ending for folder works with wildcards  
or regexes. In testing, a trailing \* seems to be considered a folder rule.

EDIT 2:

It also seems to be considered a file rule, at least in C# `test-filters`.  
Maybe a rule should be thought of in terms of what path it could match,  
but that way works better in C# and legacy GUI than it does in new GUI.

EDIT 3:

… except when it doesn’t. Legacy GUI is better on trailing question mark.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [May 21, 2026, 9:07pm UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/7 "2026-05-21T21:07:05Z")

</div>

> [@0x391F](#):
>
> In the first post, it shows that it will only backup \*.txt and \*.md and misleading me.

See if it looks better under the same conditions if you use an `E:` from GUI click.  
Alternatively edit the (manually typed?) `E:` to `E:\` which old UI says is a folder:

 ![image](https://forum.duplicati.com/uploads/default/original/2X/3/3ee917cf1e93a7c90c6f4dcbec0f0a44140e19c0.png)

New UI seems to not check, and I’m not sure if a rule is documented for Source.  
Backup appears to work either way, but the new UI highlighting works differently.

In other news, new UI wrongly seems to treat a regex as unanchored on its right.

---

<div class="post-metadata">

**Author:** ![0x391F](https://forum.duplicati.com/user_avatar/forum.duplicati.com/0x391f/32/12605_2.png) [@0x391F](https://forum.duplicati.com/u/0x391F)\
**Post date:** [May 22, 2026, 3:30am UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/8 "2026-05-22T03:30:42Z")

</div>

> See if it looks better under the same conditions if you use an `E:` from GUI click.  
> Alternatively edit the (manually typed?) `E:` to `E:\` which old UI says is a folder:

Old UI:  
E:

 ![E](https://forum.duplicati.com/uploads/default/original/2X/e/e7ad0eabafc875497d5e94609cb77720501f88eb.png)  
E:\  
 ![E(2)](https://forum.duplicati.com/uploads/default/original/2X/2/2966564ca69feb91e30b7d933823921a9ac27fec.png)

New UI:  
E:

 ![E(New UI)](https://forum.duplicati.com/uploads/default/original/2X/c/ca4b28bccbfe3c1acf7ca523e881ef68121876dd.png)  
E:\  
 ![E(2)(New UI)](https://forum.duplicati.com/uploads/default/original/2X/3/39aa9b1f29011c96ef5283e30fd08c8f0722f5cf.png)

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [May 22, 2026, 3:20pm UTC](https://forum.duplicati.com/t/lots-of-data-upload-even-very-few-data/22401/9 "2026-05-22T15:20:33Z")

</div>

You changed the test compared to original, because excludes were removed.  
This changes expected behavior according to my first post about the old doc.

FWIW in new UI the `E:` looks right to me, as it uses the implicit exclude rule.  
IMO there shouldn’t be the dramatic highlighting difference that you’re getting.  
Neither backup nor `test-filters` seem to actually care about slash on drive  
which makes me wonder if old UI warning is something historical. Maybe we’ll  
hear an opinion from the developer on history and expected new UI highlights.

Meanwhile, I filed a couple of other ngclient issues:

> <https://github.com/duplicati/ngclient/issues/472>
>
> Source tree with regex filter changes highlight when just left part of regex mat…ches, i.e. it acts like it's lacking an end anchor.
> Anchor isn't documented I think (I wish it were), but AFAIK for both wildcard and regex it's implicitly anchored at both ends:
> 
> 2.3.0.1\_stable\_2026-04-24
> 
> \`\`\`
> Duplicati.CommandLine test-filters C:\\tmp\\folders --exclude="\[.\*2\]"
> Including path as no filters matched: C:\\tmp\\folders\\1\\
> Including path as no filters matched: C:\\tmp\\folders\\12\\
> Including path as no filters matched: C:\\tmp\\folders\\123\\
> Including path as no filters matched: C:\\tmp\\folders\\123\\file.mp4
> Including path as no filters matched: C:\\tmp\\folders\\12\\file.pdf
> Including path as no filters matched: C:\\tmp\\folders\\1\\file.txt
> \`\`\`
> 
> \<img width="542" height="206" alt="Image" src="https://github.com/user-attachments/assets/9a3b5939-3376-4e53-95d0-fbdf1ec40145" /\>
> 
> It matches reality better if I add my own end anchor, but I shouldn't have to:
> 
> \<img width="631" height="205" alt="Image" src="https://github.com/user-attachments/assets/d2b57880-f83d-4ebf-a416-4088fec63759" /\>
> 
> I'm speculating on cause, but just saying how it looks.

> <https://github.com/duplicati/ngclient/issues/473>
>
> Wildcard backslashes on Source screen filter have to be doubled to be recognized… for highlighting change.
> EDIT 1: The need for such doubling appears to be triggered by use of wildcard characters such as \* and ???
> EDIT 2: Other characters too, such as dot, e.g. I use filter as \`-C:\\\\...\\\\folders\\\\1\\\\\` to exclude that folder.
> EDIT 5: A dot seems to act in the regex sense, not as literal period, e.g. \`-C:\\\\t.p\\\\folders\\\\1\\\\\` will match.
> EDIT 7: Other evidence of handling as regex when it should glob is \`-C:\\\\tm{1}p\\\\folders\\\\1\\\\\` will match.
> 
> Here's what I expect:
> 
> \`\`\`
> Duplicati.CommandLine test-filters C:\\tmp\\folders --exclude=\*\\1\\
> Excluding path due to filter: C:\\tmp\\folders\\1\\ =\> (\*\\1\\)
> Including path as no filters matched: C:\\tmp\\folders\\12\\
> Including path as no filters matched: C:\\tmp\\folders\\123\\
> Including path as no filters matched: C:\\tmp\\folders\\123\\file.mp4
> Including path as no filters matched: C:\\tmp\\folders\\12\\file.pdf
> \`\`\`
> 
> Here is ngclient seemingly not understanding it given that way:
> 
> \<img width="558" height="208" alt="Image" src="https://github.com/user-attachments/assets/784c6730-dfd0-4f35-962c-4908065e6e14" /\>
> 
> Here is ngclient doing what I wanted after I double backslashes:
> 
> \<img width="589" height="209" alt="Image" src="https://github.com/user-attachments/assets/50819c82-f496-4a6c-92df-0887f674c11a" /\>
> 
> I'm used to doubling backslashes for regular expression, but wildcards should not need it AFAIK (and per \`test-filters\` results).
> 
> 2.3.0.1\_stable\_2026-04-24

EDIT 1:

Second issue found a bunch of other oddities that might explain original issue.
