如何从cron脚本查询mysql?

如何从cron脚本查询mysql?

我的脚本中有以下代码:

mapfile results < <(mysql --batch -u $DB_USERNAME -p$DB_PASSWORD $DB_DATABASE < query.sql)

如果从命令行运行它工作正常。但如果从/var/spool/cron/rootthen变量运行,则$results变量不包含任何内容。

为什么以及如何解决?

答案1

由于行command的部分crontab是用 解释的/bin/sh,它支持更简单的语法,因此您必须将命令包装在bash脚本中,并从command部分调用该脚本。

此外,您的环境变量(DB_*PATH)和mysql设置必须小心地手动传播到您的cron环境。

相关内容