这个bash脚本有什么问题(cron + mysql)

时间:2018-02-14 15:52:29

标签: mysql bash shell ubuntu cron

我正在使用cron使用的bash脚本(sync.sh),它应该将文件同步到MySQL数据库。它的工作原理是从自动上传的位置复制文件,通过调用调用其他MySQL内部存储脚本的SQL脚本来解析它,最后通过电子邮件将报告文本文件作为附件发送。

但是,似乎某些东西没有工作,因为MySQL数据库没有任何反应。执行所有其他命令(第一行和最后一行:复制初始文件和电子邮件发送)。 单独运行时的MySQL命令工作正常。 服务器是Ubuntu 16.04。 Cron作业以root用户身份运行,脚本是root用户的crontab的一部分。

这是脚本:

Fruit::find(1, ['id', 'title']);

1 个答案:

答案 0 :(得分:2)

cron将使用非常剥离的环境执行脚本。您可能希望将mysql命令的完整路径添加到cron脚本

您可以通过

找到完整路径
which mysql

在提示符下, 或者您可以添加扩展路径到cron调用

1 2 * * * PATH=/usr/local/bin:$PATH scriptname