mysqldump在crontab中不起作用

xsp*_*ial 20 mysql cron mysqldump crontab

我正在尝试在crontab(ubuntu服务器)中添加一个备份mysql数据库的cronjob.

以root身份在终端中执行脚本效果很好,但是在crontab中插入没有任何反应.我尝试每分钟运行一次,但文件夹/ var/db_backups中没有文件出现.

(其他cronjobs运作良好)

这是cronjob:

*****mysqldump -u root -pHERE我的密码是--all-databases | gzip>/var/db_backups/database_`date +%d%m%y`.sql.gz

可能是什么问题?

The*_*Guy 67

您需要使用\来转义%字符

mysqldump -u 'username' -p'password' DBNAME > /home/eric/db_backup/liveDB_`date +\%Y\%m\%d_\%H\%M`.sql
Run Code Online (Sandbox Code Playgroud)

  • 我想投票+10!没有其他来源(许多谷歌搜索结果,网站,论坛帖子)给了我这个结果,这是我的解决方案.没有这个答案,我会搜索几个小时...... (6认同)
  • 我犯的一个错误是在 -p 和我的密码之间留了一个空格,应该没有空格,即 -pPASSWORD (3认同)

Kru*_*tel 9

我正在尝试相同的方法,但我发现转储是用 0KB 创建的。因此,我了解了节省时间的解决方案。

命令 :

0 0 * * * mysqldump -u 'USERNAME' -p'PASSWORD' DATEBASE > /root/liveDB_`date +\%Y\%m\%d_\%H\%M\%S`.sql
Run Code Online (Sandbox Code Playgroud)

注意: 1) 您可以根据需要更改时间设置。我每天都在上面的命令中设置。

2) 确保在单引号 (') 内输入您的用户名、密码和数据库。

3) 在 Crontab 中写下上面的命令。

我希望这可以帮助别人。


ada*_*187 5

检查cron日志(应该在/ var/log/syslog中)您可以使用grep将它们过滤掉.

grep CRON/var/log/syslog

您也可以查看当地的邮箱,看看是否有任何cron邮件

在/ var /邮件/用户名

您还可以在crontab文件中设置其他接收邮件

MAILTO=your@mail.com