Mysql Dump Taking longer time
Not a solution, but an improvement:

mysqldump ... | gzip &gt;$DEST/$DATE.$db.sql.gz


This would avoid the I/O due to the write and reread of the .sql file.

You could also consider having N connections -- N-1 doing the biggest databases, 1 doing all the rest.  N=4 might be reasonable; there is no use making it too high -- once the I/O is saturated, no further speedup can be had.

A minor note:  Since you are invoking date more than once, there is a chance of getting a different value somewhere in the middle of the script.  Recommend capturing it in a variable.

Does the du show a significant difference from one time to the next?