-
Notifications
You must be signed in to change notification settings - Fork 873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0-byte files are not restored with RecoveryTool #4884
Comments
Even though I agree this is an issue, backupping databases from the filesystem is generally a bad idea™. Decent databases provide data backup facilities, either through an SQL dump or through a specific tool. (I'm not part of the duplicati team) |
Edit: Thanks for making the .zip format so simple! It was easy to read all backups in Rust instead of C# 😄 |
As a wild guess, I wonder if this fell through the cracks when empty files were made a special case instead of usual case but with actual empty block stored in the destination dblock file. This apparently caused trouble, so was changed, which caused trouble... Fixed empty block handling. Empty source file can make Recreate download all dblock files fruitlessly with huge delay #3747 was previous regression noticed.
Regular restore and backup (and more) use lots of temporary files. Temporary folder is configured by
Thanks for that addition to the tool chest. There's also a Python script, and now I wonder whether that tool restores empty files... |
This issue has been mentioned on Duplicati. There might be relevant details there: https://forum.duplicati.com/t/timespan-to-rebuild-a-database/15654/22 |
This issue has been mentioned on Duplicati. There might be relevant details there: https://forum.duplicati.com/t/ftp-delete-not-atomic-verified-transactional/12936/57 |
On Linux, paths were created with \ instead of / separators if backup was originally from Windows (duplicati#4884). Also fix bug that created one unnecessary level of directories in the restore path.
The tool
Duplicati.CommandLine.RecoveryTool.exe
is faulty.It does not restore empty (0 byte) files properly.
I tried it on:
All these systems did not restore the 0-size files.
These files are critical in database operation.
*Linux is buggy
Backslash path separator is wrong:
\
. It should be/
Restoring Windows backup of file
file.jpg
in directorymyDirectory
is buggy on Linux because:Windows path is
myDirectory\file.jpg
RecoveryTool then restores it as:
$ ls -la 'myDirectory\file.jpg'
❌ Which does not create
myDirectory
, but a file named with a windows slash path 🤦✅ It should create a directory:
myDirectory
and thenfile.jpg
- with linux pathmyDirectory/file.jpg
https://forum.duplicati.com/t/recoverytool-error/8673/5
Environment info
Description
Zero-byte files are not restored with the
Duplicati.CommandLine.RecoveryTool.exe
program.Steps to reproduce
Duplicati.CommandLine.RecoveryTool.exe restore
⛔ Exception is thrown and file not created
✅ File being created
Debug log
The text was updated successfully, but these errors were encountered: