Every admin hits the gzip vs xz debate when disk is cheap but transfer time is not. gzip is fastest and universal; bzip2 sits in the middle; xz (LZMA2) wins size at CPU cost — common for release tarballs and long-term log archives.
Basics: tar & gzip,
rsync,
split.
gzip — default for logs and pipes
Nearly every distro ships it; gzip/gunzip and .gz in tar czf.
bashgzip
gzip -9 access.log
tar -czf logs.tar.gz /var/log/nginx/

bzip2 — better ratio, more CPU
Smaller than gzip on text; slower. Still seen in legacy .tar.bz2 mirrors.
bashbzip2
bzip2 -k large.sql
tar -cjf backup.tar.bz2 /data/

xz — smallest common tar format
Use for off-site archives you rarely decompress; avoid on hot paths.
bashxz
xz -9 -T0 kernel-source.tar
tar -cJf image.tar.xz release/

Quick comparison
Speed: gzip > bzip2 > xz. Ratio: often xz > bzip2 > gzip on text. Parallel: pigz, pbzip2, xz -T0.
TipFor live log rotation, keep
gzip. For quarterly cold storage, test xz -3 vs gzip -9 on a sample before committing.
Quick Reference
- Fast:
gzip/tar czf - Medium:
bzip2/tar cjf - Small:
xz/tar cJf
Related tutorials
Diagrams are original illustrations by Gnome IT Solutions. Tutorial text © Gnome IT Solutions.