Muitas vezes precisamos trabalhar com arquivos temporários em ambiente de produção e é muito complicado definir onde estes arquivos deverão ser armazenados, visto que dependendo da pasta escolhida você terá que entrar no servidor e dar permissão de escrita e leitura nesta pasta.
Para quem trabalha com o tomcat isto fica mais fácil, pois ele disponibiliza um diretório especificamente para trabalharmos com estes arquivos. O diretório é este:
$TOMCAT_HOME/work/Catalina/
Dentro da pasta Catalina haverá uma pasta para cada war implantado no seu servidor.
Um detalhe importante é que quando o servidor é reiniciado tudo que está no diretório work é removido, visto que ele é especificamente para arquivos temporários.
Para acessar este diretório a partir de uma aplicação grails basta obter o objeto File do diretório temporário:
def grailsApplication
...
File tempDir = grailsApplication.parentContext.servletContext.getAttribute('javax.servlet.context.tempdir')
Se seu war se chamar bacon, por exemplo, quando você utilizar: tempDir.absolutePath
será retornado: $TOMCAT_HOME/work/Catalina/bacon