你怎么得到运行Node.js脚本的cron作业从.env文件中读取变量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你怎么得到运行Node.js脚本的cron作业从.env文件中读取变量?相关的知识,希望对你有一定的参考价值。
我目前有一个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 -e
的michaellee
设置cron作业,该用户是在Ubuntu上拥有文件的用户。
答案
我只是改变dotenv配置的路径,它对我有用
const dotenv = require('dotenv');
dotenv.config({ path: __dirname + '/../.env' });
另一答案
我认为从.env
文件中取出内容并将它们加载到JSON文件中会不那么令人头疼。然后,您可以只需require
JSON文件并加载数据。每个&不需要任何插件,它将无缝地与Cron一起工作。
以上是关于你怎么得到运行Node.js脚本的cron作业从.env文件中读取变量?的主要内容,如果未能解决你的问题,请参考以下文章
运行 cron 作业 (Node.js) 时如何在 Amazon Elastic Beanstalk 中设置环境变量?