Oops, you actually explicitly asked why it wouldn't work. Hmm..
Firstly you have "&>" which will background the process and send the stdout to the file /home/devin/Desktop/bla.log (Perhaps you wanted ">&" or "2>&1" which will send stderr to stdout). Next you have a pipe, "|" to "exec /bin/gzip"... there a number of issues here. Why the "exec"? And gzip will only take stdin as input if given "-" as the input file etc, and you've already redirected the output of your script to bla.log.