Unix zip command is updating existing archive instead of creating a new one
First note that executing zip
through $(which zip)
is the same as executing it as just zip
. The which
utility locates a program file in the user's path.
Given an existing Zip archive, zip
will add new files, replace existing files, but it will not delete files in the archive if those files have been removed from the file system.
To delete a file from a Zip archive:
$ zip -d archive.zip filename
You may obviously also just remove the archive with rm
before re-creating it.
For your NodeJS script, you could use
rm -f ../data.zip && zip -r ../data.zip .
The -f
flag to rm
makes rm
not fail if the archive does not exist.