Algunas observaciones:
En cuanto a porqué le falla no estoy seguro, pero me parece que no se puede concatenar la salida de mysqldump (o de ningún comando para tal caso) con gzip. Habría primero que crear el archivo de salida:
Código:
mysqldump --opt -h $dbhost -u $dbuser -p$dbpass $dbname > backup.sql
y luego pasarlo a gzip:
Cada cosa con system o shell_exec.
LineComment Saludos