Linux 是否有一种方法可以在.bashrc文件中的google cloud(GCP)VM实例中设置环境变量,就像我处理其他VM一样?

Linux 是否有一种方法可以在.bashrc文件中的google cloud(GCP)VM实例中设置环境变量,就像我处理其他VM一样?,linux,google-cloud-platform,cron,environment-variables,ubuntu-18.04,Linux,Google Cloud Platform,Cron,Environment Variables,Ubuntu 18.04,我在公司工作,特别是在他们的产品方面。我正在Ubuntu 18.04上工作。我有一个.bashrc文件,其中包含许多用于创建环境变量的导出,类似于我在本地运行的环境 export ALPHAVANTAGE_API_KEY="XXXXXXXXX" export BASE_URL="https://www.alphavantage.co/query?" export TWILLIO_ACCOUNT_SID=XXXXXXXX 这在mac上的终端上运行良好,命令printenv将所有这些打印出来。但是

我在公司工作,特别是在他们的产品方面。我正在Ubuntu 18.04上工作。我有一个.bashrc文件,其中包含许多用于创建环境变量的导出,类似于我在本地运行的环境

export ALPHAVANTAGE_API_KEY="XXXXXXXXX"
export BASE_URL="https://www.alphavantage.co/query?"
export TWILLIO_ACCOUNT_SID=XXXXXXXX
这在mac上的终端上运行良好,命令
printenv
将所有这些打印出来。但是,当我从crontab运行使用环境变量的作业时,会出现错误,表明它们缺少环境变量

我不是从crontab运行作业,它似乎工作正常,在crontab中运行它们的方式与从终端运行它们的方式相同

crontab定义

*/15 * * * * python3 /path/to/file/check_eth_balance.py >> /path/to/logs/cron.log 2>&1
如何从终端运行:

python3 /path/to/file/check_eth_balance.py >> /path/to/logs/cron.log 2>&1
我还运行了来自的建议


我必须这样做,而不是我认为的“正常”方式吗?

您可以通过实例/项目元数据来管理这一点

gcloud compute instances create example-instance --tags http-server \
--metadata startup-script='#! /bin/bash
# set env vars
apt-get update
export bar=foo
EOF'
有关更多信息,请参阅链接:


如果需要在更大范围内执行此操作,可以设置项目元数据并在实例级别覆盖它。

Howdy。。。你的问题重复了。。。。这是一个crontab故事,而不是GCP故事。是的,抱歉,我想补充的是,我也尝试过,但他们仍然没有找到环境变量。我会修正的。同样相关的:你应该在回答时提供信息,而不是提供非现场链接。这篇文章没有回答如何设置
环境
变量的问题。这个答案是针对
元数据的
,这不是一回事。谢谢你的提醒。修正了:)
gcloud compute instances create example-instance --tags http-server \
--metadata startup-script='#! /bin/bash
# set env vars
apt-get update
export bar=foo
EOF'