你怎么得到运行Node.js脚本的cron作业从.env文件中读取变量?

问题描述 投票:2回答:2

我目前有一个cron作业设置,它运行Node.js脚本。 Node.js脚本使用dotenv包来读取具有一些API密钥的.env文件。

当我从命令行运行Node.js脚本时,可以从.env文件中正确读取变量,并使用我的Node.js脚本。

但是当cron运行Node.js脚本时,我试图设置的变量返回undefined。

00 05 * * * /home/michaellee/.nvm/versions/node/v6.10.0/bin/node /home/michaellee/index.js >> /home/michaellee/output.log

.env文件与index.js文件位于同一级别。

使用来自用户crontab -emichaellee设置cron作业,该用户是在Ubuntu上拥有文件的用户。

javascript node.js ubuntu cron environment-variables
2个回答
4
投票

我只是改变dotenv配置的路径,它对我有用

const dotenv = require('dotenv');    
dotenv.config({ path: __dirname + '/../.env' });

1
投票

我认为从.env文件中取出内容并将它们加载到JSON文件中会不那么令人头疼。然后,您可以只需require JSON文件并加载数据。每个&不需要任何插件,它将无缝地与Cron一起工作。

© www.soinside.com 2019 - 2024. All rights reserved.