【发布时间】: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。