New switch -tmp (now enabled by default for backups) that names archives with the .tmp extension during compression before renaming them to .zpaq. This helps handle cases of shutdown or zpaqfranz crash during archiving
One of the issues with the zpaq storage format is its fragility when dealing with the creation of corrupted archives. This typically occurs due to an unexpected system shutdown or a forced termination of the process. In these cases, an incomplete transaction is added, which generally causes a series of problems. In the worst-case scenario, it may become impossible to restore data from that point onward.
This issue can also affect multipart archives, which consist of a series of .zpaq files (e.g., 01, 02, 03...). Both zpaq and zpaqfranz, for reasons of historical compatibility, provide only very limited information when encountering incomplete transactions. Now, zpaqfranz displays a prominent warning to alert the user.
If the interrupted transaction is the last one, zpaqfranz now automatically (unless the -notrim switch is used) attempts to correct the archive. If successful, it continues; otherwise, it halts. In this more severe case, users can try using the consolidate command (for multipart backups) or trim (for single files). The purpose of these commands is to "cut off" corrupted parts, theoretically enabling data extraction and the creation of a new, correct archive.
Due to the seriousness of this issue, starting from version 60.10, the default behavior of the backup command has changed. Temporary files with a .tmp extension are now created and renamed to .zpaq only if everything is correct. This ensures that a potential interruption during the process will not corrupt the backup. On the next run, any existing .tmp files will be "parked," and the procedure will (hopefully) complete successfully.
For more details, refer to the GitHub issues section. If you have any questions or suggestions, feel free to share them.
New flag -notrim that disables the auto-correction mechanism for incomplete transactions when they are in the last transaction
Restoring zpaq's 7.15 behayviour
New switch -destination in the consolidate command to rename zpaq backup files
The consolidate command has two functions.
_With the -to switch, it merges multiple .zpaq files into a single file (labeled 01).
With the -destination switch, it renames a backup, for example, from pippo to pluto. _
In the future, a new switch will allow converting "normal" .zpaq archives directly into backups.
WARNING: When using the consolidate command, always use FULL paths. For example, c:\zpaqfranz\pippo.zpaq
is correct, while pluto.zpaq
is not.