我目前有一个运行Node.js脚本的cron作业设置。Node.js脚本使用dotenv包读取具有一些API键的.env
文件。
当我从命令行运行Node.js脚本时,可以正确地从.env
文件中读取变量,并且可以使用我的Node.js脚本。
但是当cron运行Node.js脚本时,我试图设置的变量返回未定义的。
00 05 * * * /home/michaellee/.nvm/versions/node/v6.10.0/bin/node /home/michaellee/index.js >> /home/michaellee/output.log
.env
文件与index.js
文件位于同一级别。
cron作业是从用户michaellee
使用crontab -e
设置的,该用户拥有Ubuntu上的文件。
发布于 2018-06-19 04:20:23
我只是在dotenv config上更改了路径,这对我很有效。
const dotenv = require('dotenv');
dotenv.config({ path: __dirname + '/../.env' });
发布于 2017-05-25 02:08:47
我认为从.env
文件中取出内容并将其加载到JSON文件中不会那么麻烦。然后,您只需require
该JSON文件并加载数据即可。很多每个&都不需要任何插件,它可以无缝地与Cron一起工作。
https://stackoverflow.com/questions/44165640
复制相似问题