Il motivo più tipico per "funziona nella shell ma non in cron" è che i comandi che si tenta di eseguire non sono in PATH. La shell invocata da cron non sta caricando gli stessi file della shell di login.
Correzione: aggiungere il percorso assoluto a ciascun comando che si tenta di eseguire.
Seconda cosa che noto nel tuo comando. La sintassi per l'esecuzione del comando date sembra non molto portabile. Cambiamento che essere in backtick, o eseguire mettere tutto il tuo comando per shellscript (anche, lo si può utilizzare per impostare il percorso troppo) ed eseguire lo script da cron ..
EDIT:
Durante la mia scrittura risposta originale il layout della mia tastiera non aveva i backtick quindi controlla cosa ha scritto Pascal.
E esempio di quello che si potrebbe fare con uno shellscript:
Copia seguente per /usr/local/bin/dumptable.sh
#!/bin/sh
/usr/bin/mysqldump --host=HOST --user=USER --password=PASSWORD DATABASE TABLE | /bin/gzip > /tmp/table.`/bin/date +"\%Y-\%m-\%d"`.gz
e poi mettere la directory/usr/local/bin /dumptable.sh in cron ..
Come nota a margine: utilizzo quasi sempre le opzioni lunghe, quindi il comando è più facile da capire/modificare da qualcuno che non usa spesso gli strumenti da riga di comando –
Per qualsiasi motivo, ho dovuto rimuovere le barre per la mia istanza. Grazie per questo però. : 3 – r109