Meu primeiro palpite é que o comando mysqldump não está no caminho quando o script é executado pelo cron. Experimente:
which mysqldump
Pegue a saída disso e substitua o caminho inteiro pelo nome do comando. Por exemplo:
/usr/bin/mysqldump
em vez de mysqldump
Ou adicione algo a uma variável PATH local. Por exemplo:
PATH=$PATH:/usr/bin
Isso também resolverá problemas se tar
, chown
ou outros comandos não estiverem no caminho padrão.