Zipping Product Archives For Backup When Your Asset Library Outgrows Your Disk
Description and use
Backing up digital products: zip each finished product, store a checksum, verify integrity, and perform monthly restore tests.
Problem
Disk full during product packaging caused corrupt zip and loss of raw previews, highlighting the need for reliable backup of finished product archives.
Outcome
The new routine reduced disk usage, prevented corrupt archives, and enabled quick verification and restoration of product backups.
Workflow
- 1. Run pack_product.py to generate my-product.zip, cover, and thumbnail in _system.
- 2. Immediately compute checksum: sha256sum _system/my-product.zip >> manifests/my-product.sha256.
- 3. Copy zip and checksum to backup drive (USB or cloud).
- 4. Verify backup: sha256sum -c manifests/*.sha256 on each drive.
- 5. Monthly: randomly select a zip, copy back, run sha256sum -c, unzip into scratch folder to confirm integrity.
Evidence
My disk hit 100% full on a Tuesday night while pack_product.py was writing the 39th product zip. The script died mid-write, the zip was corrupt, and I had to delete 2 GB of raw render previews just to get the shell back.
The fix was to zip each finished product folder before it leaves the machine.
I used to cp -r packs/ /mnt/usb/ and call it done. Then I found a pack folder that had been copied while pack_product.py was still writing it. The zip inside was fine, the cover was a zero-byte file.
Verifying a backup is then one command per drive, not a manual hunt.
The whole pipeline runs on 1 vCPU and 2 GB RAM, no GPU, so compression settings matter.
Every month I pick one zip at random, copy it back, run sha256sum -c on the manifest, and unzip it into a scratch folder. Takes two minutes.
- Record date: 2026-10-22T19:26:06.727Z