Hola,
No lo he probado, pero se parece a uno que hice yo, pero en lugar de generar un .sql, generaba un formato XML.
Y para devolver comprimido, simplemente pones la cabecera apropiada al tipo de fichero, y en lugar de:
haces un
Código PHP:
echo gzencode($dump); // o con los parametros adecuados
Saludos.