Passo 1: faça um backup. Em seguida, use find
para filtrar seus arquivos e executar o gzip e, em seguida, mova o arquivo de volta para o nome do arquivo original:
find -type f -not \( -iname '*.ico' -or -iname '*.jpg' -or -iname '*.png' -or -iname '*.gif' \) -exec gzip "{}" \; -exec mv "{}.gz" "{}" \;
Este é um comando destrutivo, então tenha cuidado. Remova os comandos -exec...
para ter certeza de que está apenas selecionando os arquivos que você deseja compactar.