我正在尝试在console.aws.amazon.com上将内存使用情况监视添加到实例的监视选项卡。这是一个运行Amazon Linux AMI 2013.09.2的实例,我发现了Amazon CloudWatch Monitoring Scripts for Linux,尤其是mon-put-instance-data.pl,它让我收集内存统计信息并将其作为自定义指标报告给CloudWatch。

为了使此工作正常进行,我需要将环境变量AWS_CREDENTIAL_FILE设置为指向包含我的AWSAccessKeyId和AWSSecretKey的文件。我通过键入以下内容来执行此操作:

export AWS_CREDENTIAL_FILE=/home/ec2-user/aws-scripts-mon/awscreds.template


为了避免重复输入此内容,我正在寻找一种在启动时设置环境变量的方法。我尝试将代码添加到这些文件中:

/etc/rc.local file
/etc/profile
/home/ec2-user/.bash_profile


当切换到root用户时,在这两个文件中添加代码行似乎都可以,应该放在哪里?如果我在/home/ec2-user/.bash_profile中设置了变量,则该变量是为ec2-user而不是root设置的。如果我然后sudo -E su可以工作,但是我不知道这是否是解决问题的最佳方法?

最佳答案

创建一个sh文件,并将代码放入其中。然后将此sh文件放在/etc/profile.d/文件夹中。

注意:使用root用户创建此sh文件。

创建实例后,该sh文件将自动运行并为您创建环境变量,并且所有用户均可访问该环境变量。

07-24 09:39
查看更多