【问题标题】:Automatic backup set in ubuntu for mysql database在ubuntu中为mysql数据库设置自动备份
【发布时间】:2019-08-02 13:31:18
【问题描述】:

我目前使用的是 ubuntu 16.04 LTS。在我的/etc/crontab 中,我为我的 mysql 数据库备份添加了一些脚本。

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
 17 *  *   *   *  root  cd / && run-parts --report /etc/cron.hourly
 25 6  *   *   *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
 47 6  *   *   7  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
 52 6  1   *   *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

# this is my custom script for database backup daily
15 2   *   *   *  root  /opt/lampp/bin/mysqldump -u root database_name > /home/backup_$(date +%Y%m%d).sql 
#

当我从终端运行它时,它运行良好。它应该每天在 2:15 AM 备份我的数据库,但它并没有从 crontab 做任何事情。

【问题讨论】:

  • 您需要使用 -p 选项提供密码才能使 cron 运行。
  • @balakrishnan 我的数据库没有密码,这个命令可以从终端运行。

标签: mysql ubuntu cron


【解决方案1】:

我遇到过这个问题,一般和cron环境变量有关。由于 cron 不是 shell 用户,因此它具有与控制台用户不同的环境变量。您可以通过运行类似这样的东西与 cron 和您的用户进行比较:

usr/bin/env | sort > /tmp/cronEnv.out

这将允许您比较两个输出。如果我必须打赌,它应该是由于 PATH 不同而无法找到的时区、语言或二进制文件。 请在此处发布 cron 日志以防万一。通常可以在这里找到它们,具体取决于 dristro:

/var/log/cron //could also be syslog or something else.

有一篇关于here.的文章

与您的问题没有直接关系:我还为 Mysql 和其他东西编写了 a backups 脚本,仍在进行中,但可以为您的环境工作,到目前为止只有大约 50 或 60 个服务器使用它,但是您如果需要帮助,可以尝试并 ping 我。

除了这可能是其他问题,但如果脚本有效,那么 env 由于某种原因应该是不同的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多