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 version
  • zpaqfranz h β€” list of commands and switches
  • zpaqfranz 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 folder1
  • a β€” Add or append files to archive
  • autotest β€” Autotest for hidden errors after compiling from source
  • b β€” CPU benchmark, speed index in (yes!) franzomips
  • backup β€” Backup with hardened multipart
  • c β€” Compare one master dir against one or more slave dir(s)
  • consolidatebackup β€” Consolidate multipart backup
  • cp β€” Friendly file copy with ETA (resumable)
  • d β€” Deduplicate files inside a single folder WITHOUT MERCY
  • dir β€” A better dir (yes, Windows' dir)
  • dirsize β€” Show cumulative folder(s) size
  • e β€” Extract file(s) on current folder
  • f β€” Free disk space fill (=reliability test) or wipe (privacy)
  • find β€” Search file(s) with wildcards
  • fzf β€” List archive filenames 'plain-and-dirty'
  • i β€” File (archive) information
  • isopen β€” Check if a file isopen (by other software)
  • k β€” Kill (delete) everything not in archive (RISKY!)
  • l β€” List file(s)
  • last β€” Get last multipart filename
  • last2 β€” Compare last2 rows
  • m β€” Merge (consolidate) multipart archive into one
  • n β€” Decimate (keeping the newer X) older files
  • p β€” Paranoid test (slow, lot of RAM needed)
  • password β€” Change/remove password of single archive (no multipart)
  • pause β€” Halt script execution until time or keypress
  • r β€” Robocopy one master to multiple slave folders
  • rd β€” Remove hard-to-delete Windows' folder (ex. path too long)
  • rsync β€” Delete rsync's dangling temporary files
  • s β€” Get dir(s) size, return free disk space
  • sum β€” Calc hash/checksums, find duplicated files
  • t β€” Test archive integrity
  • testbackup β€” Multipart hardening
  • trim β€” Trim .zpaq archive from incomplete transaction
  • utf β€” Convert filenames to latin, fix too long filenames etc
  • v β€” Verify archive (against filesystem)
  • versum β€” Hashdeep-like double check of hashes
  • w β€” Chunked extraction/test of very big files
  • x β€” Extract file(s)
  • z β€” Remove empty directories
  • zfsadd β€” Freeze zfs' snapshots inside archive
  • zfsbackup β€” Backup of zfs' streams
  • zfslist β€” List zfs' snapshots with wildcard
  • zfsproxbackup β€” Backup of proxmox on zfs
  • zfsproxrestore β€” Restore of proxmox on zfs
  • zfspurge β€” Purge snapshots with wildcards
  • zfsreceive β€” Restore (with zfs) from zpaq archive
  • zfsrestore β€” Restore from extracted .zfs stream

πŸŽ€ OPTIONS πŸŽ€

Embbedded help on optional switches (yes, "Embbedded", she said what she said πŸ’€)

  • zpaqfranz h main β€” main switches
  • zpaqfranz h franz β€” zpaqfranz's switches
  • zpaqfranz h normal β€” 2nd line switches
  • zpaqfranz 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