Issues when backing up multiple disks/drives with the Minarca client for Windows
First of all, thank you for the amazing work on Minarca.
I have given the minarca-client for Windows a try, but it seems to consistently run into problems when backup up from multiple drives. The typical order of events is that data is successfully backed up from one logical disk/drive, but when proceeding to the next one, rdiff-backup exits with a fatal error:
Fatal Error: Fatal Error: The file specification 'b'C:/tmp'' cannot match any files in the base directory 'b'D:/''
Useful file specifications begin with the base directory or some pattern (such as '**') which matches the base directory.
In the example mentioned above, the file %localappdata%\minarca\patterns
contains the following:
+C:/tmp
+D:/tmp
Here is an excerpt from minarca.log
(on the Windows client):
2023-07-03 00:00:12,203 [7884][INFO ][MainThread ] backup START
2023-07-03 00:00:12,206 [7884][DEBUG][MainThread ] executing command: -v 5 --remote-schema "C:\PROGRA~1\Minarca\MINARC~1\core\openssh\WIN_AM~1\ssh.exe -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='C:\Users\user\AppData\Local\minarca\known_hosts' -oIdentitiesOnly=yes -i 'C:\Users\user\AppData\Local\minarca\id_rsa' %s 'minarca/4.5.0 rdiff-backup/2.0.5 (Windows 10 AMD64)'" --no-hard-links --exclude-symbolic-links --create-full-path --no-compression --include C:/tmp --exclude "C:/**" C:/ minarca@server.home.arpa::CLIENTNAME/C
2023-07-03 00:00:12,206 [7884][DEBUG][MainThread ] local:Using rdiff-backup version 2.0.5
2023-07-03 00:00:12,207 [7884][DEBUG][MainThread ] local: with cpython C:\Program Files\Minarca\minarcaw.exe version 3.7.9
2023-07-03 00:00:12,207 [7884][DEBUG][MainThread ] local: on Windows-10-10.0.19041-SP0, fs encoding utf-8
2023-07-03 00:00:12,208 [7884][DEBUG][MainThread ] local:Executing C:\PROGRA~1\Minarca\MINARC~1\core\openssh\WIN_AM~1\ssh.exe -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='C:\Users\user\AppData\Local\minarca\known_hosts' -oIdentitiesOnly=yes -i 'C:\Users\user\AppData\Local\minarca\id_rsa' minarca@server.home.arpa 'minarca/4.5.0 rdiff-backup/2.0.5 (Windows 10 AMD64)'
...
2023-07-03 00:00:14,251 [7884][DEBUG][MainThread ] local:Starting mirror C:/ to CLIENTNAME/C
...
2023-07-03 00:00:14,566 [7884][DEBUG][Thread-2 ] remote: Processing changed file .
2023-07-03 00:00:14,566 [7884][DEBUG][Thread-2 ] remote: Processing changed file tmp
2023-07-03 00:00:14,566 [7884][DEBUG][Thread-2 ] remote: Processing changed file tmp/ctmp_dir1
2023-07-03 00:00:14,566 [7884][DEBUG][Thread-2 ] remote: Processing changed file tmp/ctmp_dir1/ctmp_dir1_file1.txt
2023-07-03 00:00:14,566 [7884][DEBUG][Thread-2 ] remote: Processing changed file tmp/ctmp_file1.txt
2023-07-03 00:00:14,597 [7884][DEBUG][MainThread ] executing command: -v 5 --remote-schema "C:\PROGRA~1\Minarca\MINARC~1\core\openssh\WIN_AM~1\ssh.exe -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='C:\Users\user\AppData\Local\minarca\known_hosts' -oIdentitiesOnly=yes -i 'C:\Users\user\AppData\Local\minarca\id_rsa' %s 'minarca/4.5.0 rdiff-backup/2.0.5 (Windows 10 AMD64)'" --no-hard-links --exclude-symbolic-links --create-full-path --no-compression --include D:/tmp --exclude "D:/**" D:/ minarca@server.home.arpa::CLIENTNAME/D
2023-07-03 00:00:14,598 [7884][DEBUG][MainThread ] local:Using rdiff-backup version 2.0.5
...
2023-07-03 00:00:14,599 [7884][DEBUG][MainThread ] local:Executing C:\PROGRA~1\Minarca\MINARC~1\core\openssh\WIN_AM~1\ssh.exe -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='C:\Users\user\AppData\Local\minarca\known_hosts' -oIdentitiesOnly=yes -i 'C:\Users\user\AppData\Local\minarca\id_rsa' minarca@server.home.arpa 'minarca/4.5.0 rdiff-backup/2.0.5 (Windows 10 AMD64)'
...
2023-07-03 00:00:16,906 [7884][DEBUG][MainThread ] local:Fatal Error: Fatal Error: The file specification
2023-07-03 00:00:16,906 [7884][DEBUG][MainThread ] local: 'b'C:/tmp''
2023-07-03 00:00:16,906 [7884][DEBUG][MainThread ] local:cannot match any files in the base directory
2023-07-03 00:00:16,906 [7884][DEBUG][MainThread ] local: 'b'D:/''
2023-07-03 00:00:16,906 [7884][DEBUG][MainThread ] local:Useful file specifications begin with the base directory or some
2023-07-03 00:00:16,906 [7884][DEBUG][MainThread ] local:pattern (such as '**') which matches the base directory.
2023-07-03 00:00:21,906 [7884][ERROR][MainThread ] rdiff-backup exit with non-zero code
2023-07-03 00:00:22,220 [7884][ERROR][MainThread ] backup FAILED: backup process returned non-zero exit status, check logs for more details
The server is running Debian 11 and is on the same LAN.
I have tried with various constellations of source directory selections, and made this simplified test (with c:\tmp and d:\tmp) just to simplify things a little. I know that rdiff-backup on Windows can be somewhat fragile. What I fail to understand here is why the "C:/tmp" include selection is processed when rdiff-backup is run with a base directory of "D:/". According to my understanding, the Minarca client runs one rdiff-backup session for each drive.
Naturally, I am willing to put in an effort to contribute to investigate and solve the issue (or at least make an honorable attempt). Any pointers or tips would be greatly appreciated.