-
Notifications
You must be signed in to change notification settings - Fork 25
Command backup (Backup with hardened multipart)
As everyone knows (or may be not) my very first contribute to zpaq was a rudimentary implementation of multipart archives, then merged by Mahoney (with his usual high skill).
Unfortunately, however, zpaq is more an archiver rather than a backup system: there are no realistic ways to check the integrity of multipart archives, zpaq does not handle very well
- the zero length: if you press control-C during compression, a 0-bytes long pippo_00000XX.zpaq is (can) be made
- the "hole" (a missing "piece", pippo001, pippo002, pippo007, pippo008...)
- mixing different backups. You can replace one piece of a zpaq multipart archive with another, and zpaq will joyfully consider it, without noticing the error (!). Since each session is "self-sufficient" zpaq not only does not warn the user, but in the case of encryption (i.e., with -key) nasty thing happens.
- cannot really (quickly) check the archive for missing parts: if a "piece" is lost, it is possible that everything (from those version to the last) is lost too. Even more, if you hold data from third-party clients, for testing an encrypted archive you need the password, which you simply don't have. And 99.9 percent of backups are encrypted, even the one on LAN-connected NASes. speed. If you have a 10.000 "pieces" backup, splitted in 10.000 "chunks", with zpaq you really cannot say if everything is OK, unless you run a (lengthy) full-scale test, this can take hours (ex. virtual machine disks)
There are critical cases where you want to do cloud backups on systems that do NOT allow the --append of rsync (OK, rclone and robocopy, I'm talking about you)
Similarly, computing hashes on inexpensive VPS cloud systems, usually with very slow disks is difficult, already for sizes around ~50GB
This new release creates a text-based index file that keeps the list of multiparts, their size, their MD5 and their quick hash
Multipart backup with zpaqfranz
zpaqfranz backup z:\prova.zpaq *.cpp
Will create automagically create
- a multipart archive starting from prova_00000001.zpaq, prova_00000002.zpaq, prova_00000001.zpaq...
- a textfile index prova_00000000_backup.txt
- a binary index prova_00000000_backup.index
Now you can use the testbackup command to test
Of course NOT Personally, I don't like splitting backups into many different parts at all, the risk of one being lost, garbled or corrupted is high However, in certain cases, there is no alternative. I do not mention one of the most well-known Internet service providers, to avoid publicity (after all... they do not pay me :)
I use both of them I am thinking of an evolution of multipart with error correction (not detect, correction), but the level of priority is modest
Unless now zpaqfranz use XXH3 for this kind of detection (-checktxt)
But, sometimes, you must choose the fastest among "usual" ones (spoiler: some cheap cloud vendors)
Use -backupxxh3 to use XXH3 instead