I’m using an mysqldump for years an never failed once. What it does is dumping all databases, zip it and send it over ftp to the backup server. That your file is empty is comes probably because something wrong with your parameters given to the mysqldump command (you need to use the full path). Then when it is not working should be looking in console and see which errors are shown there.
For instance when you’re using parameters with special characters like an password you should use parameter expansion or quote your parameters on the command line. Most common mistake is made here.