在cron mysqldump不工作

我正在尝试每5分钟在cron上执行一个mysqldump ,但似乎它不工作。 我尝试执行mysqldump ,它工作正常。

mysqldump

 mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +"%T"`.sql.gz 

cron

 */5 * * * * mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +"%T"`.sql.gz 

LOG

 May 17 04:35:42 CentOS-63-64-minimal crontab[5605]: (root) LIST (root) May 17 04:40:01 CentOS-63-64-minimal CROND[5626]: (root) CMD (mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +") 

UPDATE

我想我find了问题,它是在date +"%T" ,因为如果我用date -Ireplace它date -I现在它的工作。 不过,我需要在文件名上添加date和时间。

这应该是cron条目的path问题。

尝试使用/usr/bin/mysqldump而不是mysqldump/usr/bin/gzip而不是gzip ,而使用/usr/bin/date而不是date 。 相应地更改path到您的系统。 使用命令whereis查找命令的path。

你应该把你的命令放在一个脚本中,例如backupmysql,然后在cron中添加这个条目:

* / 5 * * * * / path / to / backupmysql