zip itself can freshen an archive to reflect the current filesystem (e.g. -FS). It only updates zip entries with outdated timestamps.

Is there a tool that updates a 2.zip file so that it becomes identical to 1.zip, as far as the underlying contents, with minimal I/O? It should ignore entries that have up-to-date timestamps.

Of course, rsync can do this, at the cost of actually reading both archives entirely (which could be gigabytes), even if most corresponding entries have identical timestamps -- plus rsync wouldn't recognize identical entries compressed differently.

Alternatively, are there other archive formats / tools that would facilitate incremental backups in the way I'm describing?

NOTE: another obvious solution that I'm aware of is to mount 1.zip using some FUSE-based filesystem, and run something like zip -r -FS 2.zip /mnt/zip/.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.