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

时间:2017-05-24 18:05:20

标签: javascript node.js ubuntu cron environment-variables

我目前有一个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的{​​{1}}来设置cron作业,该用户是在Ubuntu上拥有文件的用户。

2 个答案:

答案 0 :(得分:4)

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

tst3 %>%
  group_by(ID) %>%
  # arrange(Time) %>% # uncomment if needed
  mutate(
    Type = factor(Type),
    dragonID = cumsum(dplyr::lag(TeamObj == 'bDragons', default = 1))) %>%
  group_by(ID, dragonID) %>%
  summarize(
    dragonType = last(Type),
    Time = last(Time),
    tmp =  list(as.data.frame(table(Type)))) %>%
  unnest() %>%
  spread(Type, Freq, fill = 0) %>%
  # select(-ends_with("DRAGON")) %>%
  group_by(ID) %>%
  mutate_at(vars(BARON_NASHOR:OUTER_TURRET), cumsum) %>%
  filter(str_detect( dragonType, "DRAGON"))

答案 1 :(得分:1)

我认为将内容从require文件中取出并加载到JSON文件中会让您头痛不已。然后,您只需/dev/ JSON文件并加载数据即可。每个&不需要任何插件,&它可以无缝地与Cron一起工作。