Se você pode usar o bzip2:
for file in /serv/test/*; do
bzip2 -k $file
done
A opção -k mantém o arquivo original.
Com compressa, o loop seria muito próximo.
Se você puder usar tar , ele criará um único arquivo morto em vez de vários arquivos.
EDIT: como apontado por gman, o utilitário find pode ser usado para compactar em vez de fazer um loop for:
find /serv/test/ -type f -exec bzip2 -k {} \;