【问题标题】:backup of database using shellscript using crontab fails?使用 crontab 使用 shellscript 备份数据库失败?
【发布时间】:2014-10-31 13:49:40
【问题描述】:

我用于备份数据库的 shellscript 工作正常。 但是当我尝试通过 crontab 运行时,没有备份。

这是 mycrontab

* * * * * /home/mohan/sohan/backuptest.sh

backuptest.sh 的内容是

#!/bin/bash
name=`date +%Y%m%d`.sql
#echo $name
mysqldump -u abc --password=abc my_db > $name

backup.sh 在正常运行时工作正常。但是通过 crontab 运行时无法生成备份

【问题讨论】:

  • 我认为是因为 date 命令
  • mysqldump 是在默认路径中(/bin 或 /usr/bin 或 /usr/local/bin)还是在不同的位置?也许您需要在脚本中添加 PATH=.... 行...

标签: database shell backup crontab database-backups


【解决方案1】:

有几种可能...首先是从cron 运行时找不到您的程序/命令,其次是从cron 运行时找不到您的数据库。

所以,首先是程序。您使用的是date 和mysqldump,因此在您的终端提示符下,您需要找到它们的位置,如下所示:

which date
which mysqldump

然后,您可以将上面作为输出获得的完整路径放入脚本中,或者在包含两个路径的第二行添加 PATH= 语句。

其次,您的数据库。它位于哪里?例如,如果它在/home/mohan/sohan/ 中,您将需要像这样更改您的脚本:

#!/bin/bash
name=`/bin/date +%Y%m%d`.sql
cd /home/mohan/sohan
/usr/local/bin/mysqldump -u abc --password=abc my_db > $name

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多