Duplicati.Commandline.Backendtool Problem GET file:// after Update to 2.0.6.3_beta_2021-06-17

I am on a Windows 10 machine in a cmd box.

I have a job where the target is a share in the local windows network.

If I have Duplicati 2.0.5.1 and I execute

Duplicati.CommandLine.BackendTool.exe GET "file://\\hulk\backup_rw\duplicati\local-03_hulk_data" duplicati-b4d2dfe9739124b1292308bcf3e0016d4.dblock.zip.aes

the file is correctly dowloaded

If I execute the same command on the same machine in the directory of Duplicati 2.0.6.3 I get this error

Command failed: Die Datei "\\?\duplicati-b4d2dfe9739124b1292308bcf3e0016d4.dblock.zip.aes" konnte nicht gefunden werden.
System.IO.FileNotFoundException: Die Datei "\\?\duplicati-b4d2dfe9739124b1292308bcf3e0016d4.dblock.zip.aes" konnte nicht gefunden werden.
Dateiname: "\\?\duplicati-b4d2dfe9739124b1292308bcf3e0016d4.dblock.zip.aes"
   bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   bei System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   bei Duplicati.CommandLine.BackendTool.Program.RealMain(String[] _args)

[Englisch: The file ... could not be found. Filename: "\\?\..."]

I read the “file://\\…” part from the Duplicati database (table Backup, column TargetURL) and the filename is from the job db.

With google:-, dropbox:-, webdav:-URLs everything is working. I just have problems with file:-URLs.

Also tried the “normal windows style” \\hulk\backup_rw\… with double backslash at the beginning and single backslashes.

The backup itself is also executed from the command line of this machine and works without any problem.

"C:\Program Files\Duplicati 2\Duplicati.CommandLine.exe"
backup
"file://\\hulk\backup_rw\duplicati\local-15_hulk_sitwork"
"\\hulk\fulldata_r\......\\"  and so on

Is there a bug in the Backendtool with file-URLs or do I make any mistake in the usage?

Possibly a bug was added in this Canary before 2.0.6.3 Beta. I see some possibly related changes below.

2.0.5.109_canary_2020-08-07

Test results using set AUTOUPDATER_Duplicati_SKIP_UPDATE=true to avoid going into a newer release:

C:\ProgramData\Duplicati\duplicati-2.0.5.109_canary_2020-08-07>Duplicati.CommandLine.BackendTool.exe get "file://\\192.168.0.114\Shared" test.txt
Command failed: Could not find file '\\?\test.txt'.
System.IO.FileNotFoundException: Could not find file '\\?\test.txt'.
File name: '\\?\test.txt'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at Duplicati.CommandLine.BackendTool.Program.RealMain(String[] _args)

C:\ProgramData\Duplicati\duplicati-2.0.5.109_canary_2020-08-07>cd ..\*108_*

C:\ProgramData\Duplicati\duplicati-2.0.5.108_canary_2020-07-09>Duplicati.CommandLine.BackendTool.exe get "file://\\192.168.0.114\Shared" test.txt

C:\ProgramData\Duplicati\duplicati-2.0.5.108_canary_2020-07-09>del test.txt

C:\ProgramData\Duplicati\duplicati-2.0.5.108_canary_2020-07-09>

and it looks like a UNC path is not required. What’s unknown is whether Linux can be made to do this.

C:\ProgramData\Duplicati\duplicati-2.0.5.109_canary_2020-08-07>Duplicati.CommandLine.BackendTool.exe get "file://C:\tmp" A.txt
Command failed: Could not find file '\\?\A.txt'.
System.IO.FileNotFoundException: Could not find file '\\?\A.txt'.
File name: '\\?\A.txt'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at Duplicati.CommandLine.BackendTool.Program.RealMain(String[] _args)

C:\ProgramData\Duplicati\duplicati-2.0.5.109_canary_2020-08-07>cd ..\*108_*

C:\ProgramData\Duplicati\duplicati-2.0.5.108_canary_2020-07-09>Duplicati.CommandLine.BackendTool.exe get "file://C:\tmp" A.txt

C:\ProgramData\Duplicati\duplicati-2.0.5.108_canary_2020-07-09>del A.txt

C:\ProgramData\Duplicati\duplicati-2.0.5.108_canary_2020-07-09>

You could file an Issue, and maybe get a response from a developer with Linux. You can link to this topic.

1 Like

Thank you for the confirmation.

I opend an issue there.