Skip to content

Backup Types & Compression โ€‹

Understanding how Just Enough Backups structures data helps you balance backup speed, disk space, and safety.


The Three Backup Types โ€‹

TypeReference PointContentsSpeedDisk Usage
FullNoneEntire world snapshot.SlowerLargest
PartialMost recent compatible backup of any typeFiles changed since that backup.Usually fastestUsually smallest
DifferentialMost recent Full backupFiles changed since that Full backup.FastGrows until the next Full

Visualizing Backup Chains โ€‹

Chain TypeBase ReferenceHow it Works
๐Ÿ“ฆ Full BackupNone (Root)Complete standalone world snapshot. Foundation for subsequent backups.
โšก Partial ChainPreceding backupEach archive records changes since the previous backup: Full #1 โ†’ Partial #1 โ†’ Partial #2
๐Ÿ›ก๏ธ Differential ChainBase Full onlyEach archive records all changes since the base Full: Full #1 โ†’ Differential #1 / Differential #2
Partial chain
Full #1Complete snapshotPartial #1Changes since Full #1Partial #2Changes since Partial #1
Differential
Full #1Complete snapshot
Differential #1Changes since Full #1Differential #2Also since Full #1

Partial backups use the most recent backup of any type as their reference. Differential backups each compare against the most recent Full snapshot.

Which should I use? โ€‹

  • Full: Take these periodically (e.g. once a week or once a month) as solid recovery anchor points.
  • Partial: Ideal for frequent automatic runs (e.g. hourly). They take seconds to create and use minimal disk space.
  • Differential: Great for daily runs. If an intermediate daily backup is ever deleted, subsequent differential backups still restore directly against the Full backup.

Automatic Dependency Protection โ€‹

In basic backup tools, deleting an old Full backup to save space corrupts any incremental backups made after it.

IMPORTANT

JEB protects required bases: JEB tracks the dependency tree of every archive. If a retention rule marks an old Full backup for removal, JEB will keep it protected as long as at least one active Partial or Differential backup depends on it.

The parent backup is only deleted once all dependent child backups have expired or been removed.


Compression Engines: Deflate vs Zstandard โ€‹

Archives use the .zip container with one of two compression methods:

FeatureDEFLATEDZSTANDARD
ZIP MethodMethod 8 (Standard)Method 93
SpeedStandardExtremely Fast
Compression RatioOften goodDepends on the world data; benchmark your own world
Config Level Range1 โ€“ 9 (Default: 6)1 โ€“ 22 (Default: 3)
CompatibilityOpens in any OS toolBuilt into JEB, requires 7-Zip v22+ externally
json
{
  "compressionMethod": "DEFLATED",
  "deflateCompressionLevel": 6
}
json
{
  "compressionMethod": "ZSTANDARD",
  "zstdCompressionLevel": 3
}

Memory Protection โ€‹

For Zstandard compression, JEB uses temporary scratch files for large entries to limit memory use. Ensure the temporary directory has enough free space; this reduces memory pressure but cannot guarantee that an out-of-memory error is impossible.


Free Space Pre-Flight Check โ€‹

Before starting an archive, JEB checks available disk space on the backup drive:

text
Required Free Space โ‰ˆ (estimated archive size * 2) + minimumFreeSpaceReserveMb

JEB estimates archive size from changed files and the last full backup's compression ratio. If temporary and destination directories are on different drives, it checks both. This preflight estimate cannot guarantee that a drive will not fill during a backup.

Just Enough BackupsReliable world backups for Fabric servers.DocumentationGitHubModrinth