You may not use
.*, because that shell glob will also match
.. (current and parent directory), causing the behaviour you described.
But it isn't necessary anyway, you can just use the
zip -r option on its own. Let me quote the manual page
Travel the directory structure recursively; for example:
zip -r foo.zip foo
or more concisely
zip -r foo foo
In this case, all the files and directories in foo are saved in
a zip archive named foo.zip, including files with names starting
with ".", since the recursion does not use the shell's file-name
substitution mechanism. If you wish to include only a specific
subset of the files in directory foo and its subdirectories, use
the -i option to specify the pattern of files to be included.
You should not use -r with the name ".*", since that matches
".." which will attempt to zip up the parent directory (proba‐
bly not what was intended).
Multiple source directories are allowed as in
zip -r foo foo1 foo2
which first zips up foo1 and then foo2, going down each direc‐
So you just specify the folder you want to zip, like:
zip -r yourfile.zip /var/app/current
Or if your current directory already is
zip -r yourfile.zip .