【问题标题】:mysqldump is not working in cronmysqldump 在 cron 中不起作用
【发布时间】:2017-07-09 16:27:25
【问题描述】:

首先,我使用以下文本创建了.my.cnf in /home/username/

[client] user = sample_user password = sample_password host = localhost

然后,我执行了下面的命令,成功了:

/usr/bin/mysqldump sample_table > home/username/backup_db/$(date +%F)_full.sql

但是,当我在 crontabs 中输入它时,它不起作用:

0 0 * * * /usr/bin/mysqldump sample_table > /home/username/backup_db/$(date +%F)_full.sql

我什至尝试更改分钟和小时部分,但仍然无法正常工作。

【问题讨论】:

  • 您在系统日志中看到什么错误信息?
  • @ray,如何查看系统日志中的错误?
  • 你可以从less命令开始读取/var/log/syslog,基于你的ubuntu标签。
  • 为了避免与 crontab 条目有关的问题,不如将此行替换为一个简单的 shell 脚本,在该脚本中进行文件名替换并执行 mysqldump 命令。 0 0 * * * /usr/local/bin/backup_mysql.sh 您可以调试 shell 脚本,一旦您对它的工作感到满意,您就可以从 cron 调度 shell 脚本。您还可以在电子邮件中执行诸如日志持续时间之类的操作。这将有助于避免其中一些 cron 陷阱
  • @LynnellEmmanuelNeri 我知道这需要一点时间,虽然我知道已经有一个很好的答案,但每当你遇到问题时,你必须学习/这样做。 Cron 肯定在某处留下了信息。您可以使用一些命令进行搜索,例如终端中 less 命令中的 /word_to_search

标签: mysql ubuntu cron


【解决方案1】:

您需要转义百分号 (%),因为它在 crontab 条目中具有特殊含义,请改用 \%。

【讨论】:

  • 抱歉耽搁了一段时间,但这解决了问题。
  • 是的,调试 cron 问题总是意味着稍等;)
  • 是的,我只是提前几分钟编辑时间以提前运行它,呵呵
猜你喜欢
  • 2013-11-12
  • 1970-01-01
  • 2011-04-23
  • 2018-11-14
  • 2015-10-20
  • 2018-05-24
  • 2018-09-04
  • 2018-11-13
相关资源
最近更新 更多