cron 中的 mysqldump 不起作用

cron 中的 mysqldump 不起作用

我尝试每 5 分钟执行一次mysqldumpcron但似乎不起作用。我尝试执行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

日志

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 +")

更新

我认为问题出在 中date +"%T",因为如果我用 替换它,date -I现在就可以正常工作了。但是,我需要在文件名上附加日期和时间。

答案1

这应该是 cron 条目的路径问题。

尝试使用/usr/bin/mysqldump代替mysqldump、仅/usr/bin/gzip代替gzip/usr/bin/date代替date。根据您的系统更改路径。使用命令whereis查找命令的路径。

答案2

您应该将命令放在脚本中,即 backupmysql,然后在 cron 中添加此条目:

*/5 * * * * /路径/到/backupmysql

相关内容