MysqlDump命令在cron中不起作用

时间:2018-08-04 11:49:40

标签: mysql cron

我正在使用此命令通过mysqldump进行备份:

sudo su
mysqldump  --defaults-file=/.confile.cnf -u USER  --all-databases | gzip > /backups/$(date +%Y-%m-%d).sql.gz

但是我想使其自动化,所以我将其添加到cron中:

29 3 * * *  root  mysqldump  --defaults-file=/.confile.cnf -u USER  --all-databases | gzip > /backups/$(date +%Y-%m-%d).sql.gz

但是问题是,当我执行命令时它起作用了。但是,当我将其添加到cron时,什么也没发生。

我写错了吗?我应该用其他方式吗?

我在其他帖子中进行了搜索,但找不到适用于该案例的解决方案。

有cron日志:

Aug  4 13:15:01 ip-172-31-46-159 CRON[31590]: (root) CMD ( mysqldump  --defaults-file=/...
Aug  4 13:15:01 ip-172-31-46-159 CRON[31589]: (CRON) info (No MTA installed, discarding output)

2 个答案:

答案 0 :(得分:1)

我终于找到了解决方法:

我在脚本上添加了mysqldump命令,没有任何更改:

#!/bin/bash
mysqldump  --defaults-file=/.confile.cnf -u USER  --all-databases | gzip > /backups/$(date +%Y-%m-%d).sql.gz

然后我从cron的下一行调用此脚本:

29 3 * * *  root /home/ubuntu/script.sh

它可以正常工作。

注意:script.sh和confile.cnf应该具有600个权限(chmod 600 /PATH

答案 1 :(得分:0)

crontab值应为

29 3 * * * mysqldump --defaults-file = /。confile.cnf -u UserNameGoesHereIfNotInDefaultsFile --all-databases | gzip> / backups / $(date +%Y-%m-%d).sql.gz