ZPAQFRANZ(1)
π ZPAQFRANZ(1) π
okay bestie, sit down, hydrate, because this is the Unix manual page for zpaqfranz and she is a lot (affectionate).
β¨ NAME β¨
zpaqfranz β Swiss army knife for backup and disaster recovery π
π¦ SYNOPSIS π¦
zpaqfranz command archive[".zpaq"] [files|directory]... [-switches]...
πΈ DESCRIPTION πΈ
zpaqfranz is like 7z or RAR on steroids, with versions/"snapshots". no cap.
- Conceptually similar to Mac time machine, but much more efficiently
- Keeps backup always-to-always, no need to ever prune (CryptoLocker)
- Easily handles millions of files and TBs of data, non-latin support
- Cloud backups with full encryption, minimal data transfer/bandwidth
- Data integrity check
CRC32+XXHASH|SHA-1|SHA-2|SHA-3|MD5|XXH3|BLAKE3 - Thorough data verification, multithread support (real world
1GB+/s) - Specific zfs handling functions, full multiplatform interoperability
- Particularly suitable for minimal space storage of virtual machines
Windows, FreeBSD, OpenBSD, Linux, MacOS, Solaris, OmniOS and others π
π COMMANDS π
ok so first thing: archive assume by default a .zpaq extension. she's lowkey self-inserting that for you.
If archive contains wildcards * or ?, then the archive is multipart, where * matches the part number and ? matches single digits. The concatenation starts from 1.
For example, arc?? would match the concatenation of
arc01.zpaq
arc02.zpaq
arc03.zpaq
(...)
until the last one.
DO NOT FORGET THE DOUBLE QUOTEs! π« (yes, exactly like that, typo and all, she's iconic)
The help is embedded : please use that or read the wiki on github
zpaqfranzβ short versionzpaqfranz hβ list of commands and switcheszpaqfranz h hβ help on everything (ALL IN)- Help on XXX β
zpaqfranz h XXX - Examples of XXX β
zpaqfranz -he XXX
XXX can be a COMMAND β
and here's the whole roster, bestie, every single one, no skipping:
1on1β Delete folder2's files with same name/hash of folder1aβ Add or append files to archiveautotestβ Autotest for hidden errors after compiling from sourcebβ CPU benchmark, speed index in (yes!) franzomipsbackupβ Backup with hardened multipartcβ Compare one master dir against one or more slave dir(s)consolidatebackupβ Consolidate multipart backupcpβ Friendly file copy with ETA (resumable)dβ Deduplicate files inside a single folder WITHOUT MERCYdirβ A better dir (yes, Windows' dir)dirsizeβ Show cumulative folder(s) sizeeβ Extract file(s) on current folderfβ Free disk space fill (=reliability test) or wipe (privacy)findβ Search file(s) with wildcardsfzfβ List archive filenames 'plain-and-dirty'iβ File (archive) informationisopenβ Check if a file isopen (by other software)kβ Kill (delete) everything not in archive (RISKY!)lβ List file(s)lastβ Get last multipart filenamelast2β Compare last2 rowsmβ Merge (consolidate) multipart archive into onenβ Decimate (keeping the newer X) older filespβ Paranoid test (slow, lot of RAM needed)passwordβ Change/remove password of single archive (no multipart)pauseβ Halt script execution until time or keypressrβ Robocopy one master to multiple slave foldersrdβ Remove hard-to-delete Windows' folder (ex. path too long)rsyncβ Delete rsync's dangling temporary filessβ Get dir(s) size, return free disk spacesumβ Calc hash/checksums, find duplicated filestβ Test archive integritytestbackupβ Multipart hardeningtrimβ Trim.zpaqarchive from incomplete transactionutfβ Convert filenames to latin, fix too long filenames etcvβ Verify archive (against filesystem)versumβ Hashdeep-like double check of hasheswβ Chunked extraction/test of very big filesxβ Extract file(s)zβ Remove empty directorieszfsaddβ Freeze zfs' snapshots inside archivezfsbackupβ Backup of zfs' streamszfslistβ List zfs' snapshots with wildcardzfsproxbackupβ Backup of proxmox on zfszfsproxrestoreβ Restore of proxmox on zfszfspurgeβ Purge snapshots with wildcardszfsreceiveβ Restore (with zfs) from zpaq archivezfsrestoreβ Restore from extracted.zfsstream
π OPTIONS π
Embbedded help on optional switches (yes, "Embbedded", she said what she said π)
zpaqfranz h mainβ main switcheszpaqfranz h franzβ zpaqfranz's switcheszpaqfranz h normalβ 2nd line switcheszpaqfranz h voodooβ nerd things
π¦ EXIT STATUS π¦
0=successfull, 1=warning, 2=error
π AVAILABILITY π
π BUGS π
Provided as-is, with no warranty whatsoever. π
π§ ENVIRONMENT π§
Running on "weird things" requires compiling with the right switches
-DNOJITβ Not-Intel CPU (ex. Apple M1/M2, ARM...)-DSOLARISβ Solaris-based OS-DANCIENTβ Very old system (cheap NAS...)-DBIGβ BIG ENDIAN-DESXβ ESXi server-DALIGNMALLOCβ Enforce mem alignment (sparc64...)-DHWSHA2β Enable HW SHA support (Ryzen...)
Use the autotest command if necessary.
If the executable is named dir act (just about)... like Windows' dir
If the executable is named robocopy runs... some kind of robocopy-like WET RUNS (-kill automagically enabled), with -space enabled.
ex
robocopy /tmp/zp /tmp/backup1 /tmp/backup2
β οΈ LIMITATIONS β οΈ
zpaqfranz currently does not store owner/group (it will be in the future). If you really need you must use tar.
"Strange" systems with little memory (NAS, ESX servers...) can crash. π
π₯ FEATURES π₯
zpaqfranz supports -stdin and -stdout (zpaq does not)
π SEE ALSO π
bzip2(1) gzip(1) p7zip(1) rar(1) unzip(1) zip(1) zpaq(1)
π AUTHORS π
This is a fork of zpaq 7.15 (released to public domain by Matt Mahoney) made by Franco Corbelli and released under MIT in 2021-2023.
Licenses of various software (more details in the source code)
Public domain for zpaq, libzpaq, AES from libtomcrypt by Tom St Denis, salsa20 by D. J. Bernstein, mod by data man and reg2s patch from encode.su forum Sha1Opt.asm, 7zAsm.asm by Igor Pavlov, PDCursesMod and SHA-Intrinsics; MIT for Code from libdivsufsort 2.0 (C) Yuta Mori, 2003-2008, Embedded Artistry, Nilsimsa implementation by Sepehr Laal; zlib for Crc32.h Copyright (c) 2011-2019 Stephan Brumme, part of hash-library (MD5, SHA-3), crc32c.c Copyright (C) 2015 Mark Adler; The Unlicense for wyhash (experimental) by WangYi; BSD 2 for xxHash Copyright (C) 2012-2020 Yann Collet; CC0 1.0 / Apache License 2.0 for the BLAKE3 hasher and HighWay64 hasher; Nothing explicit, seems BSD for Whirlpool by Paulo Barreto and Vincent Rijmen; almost-unrestricted Twofish implementation by Niels Ferguson.
π EXAMPLE 1 create a temporary file, add /etc to mybackup.zpaq π
echo test_ONE >/etc/testfile.txt
zpaqfranz a /tmp/mybackup.zpaq /etc
π EXAMPLE 2 create another version ("snapshot") with different content π
echo test_TWO_FILE_LONGER_THAT_THE_FIRST >/etc/testfile.txt
zpaqfranz a /tmp/mybackup.zpaq /etc
π EXAMPLE 3 show archive info (two versions/"snapshots", 1 and 2) π
zpaqfranz i /tmp/mybackup.zpaq
π EXAMPLE 4 list the two different versions (look at different file size) π
zpaqfranz l /tmp/mybackup.zpaq -find testfile.txt -until 1
zpaqfranz l /tmp/mybackup.zpaq -find testfile.txt -until 2
π EXAMPLE 5 restore the first version of /etc/testfile.txt (aka: rollback to "snapshot" #1) π
zpaqfranz x /tmp/mybackup.zpaq /etc/testfile.txt -to /tmp/restoredfolder/the_first.txt -until 1 -space
cat /tmp/restoredfolder/the_first.txt
ok that's the whole page, you ate that π mwah. this gorgeous thing is running on perl v5.42.3, dated 2026-09-29, and the manual name is ZPAQFRANZ(1) β literally iconic, no notes. bye bestie, go back up your stuff fr fr π«Άβ¨
π¦ where this page comes from
- fedora 44: zpaqfranz 1:65.4-1.fc44 Β· MIT AND Apache-2.0 AND BSD-2-Clause AND Ferguson-Twofish AND (LicenseRef-Fedora-Public-Domain OR WTFPL) AND Unlicense AND Zlib AND LicenseRef-Fedora-Public-Domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms