![cron 中的 mysqldump 不起作用](https://linux22.com/image/801638/cron%20%E4%B8%AD%E7%9A%84%20mysqldump%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我尝试每 5 分钟执行一次mysqldump
,cron
但似乎不起作用。我尝试执行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