crontab无法运行调用凭证文件的程序

新创build的crontab作业失败,因为程序无法读取包含相同目录中的凭据的.json文件。 这两个文件都包含在/home/deploy/app/文件夹中。 Crontab执行/home/deploy/app/app ,需要读取home/deploy/app/config.json来执行。 该程序运行良好的deploy用户,但由crontab运行时失败。

我相信这是程序失败的原因,因为我指示crontab作业logging其输出,我可以看到程序无法读取config.json文件。 该app具有以下权限-rwxr-xr-x 1 deploy deployconfig.json具有-rw-rw-r-- 1 deploy deploy

crontab条目是:

 10 0,6,9,12,15,18 * * * /home/deploy/gocode/bin/BuoyBot > /home/deploy/buoybot.log 2>&1 

cron日志logging了应用程序中的错误,这表明它无法载入与应用程序保存在同一文件夹中的config.json文件。

 error loading config.json: invalid argument 

/home/deploy/gocode/bin/文件夹手动运行程序时,不会发生此错误。

更新:如下build议的解决scheme是引用应用程序中的config.json文件的完整path( /home/user/app/config.json ),而不是引用本地目录( config.json ) 。

在没有看到代码的情况下,我的猜测是,当您尝试打开数据文件时,没有提供完整的数据文件path。

你可以尝试启动cron,因为用户部署如下:

 10 0,6,9,12,15,18 * * * deploy /home/deploy/gocode/bin/BuoyBot > /home/deploy/buoybot.log 2>&1 

另外,你也可以尝试如下:

 10 0,6,9,12,15,18 * * * deploy cd /home/deploy/gocode/bin/ && ./BuoyBot > /home/deploy/buoybot.log 2>&1 

希望能帮助到你。