使用nohup在EC2用户数据中执行的脚本只有在手动SSH进入后才能运行

时间:2019-11-01 10:20:10

标签: bash amazon-ec2 user-data

我的EC2用户数据中有以下命令:

setsid nohup /root/go/src/prometheus-to-cloudwatch-master/dist/bin/prometheus-to-cloudwatch --cloudwatch_namespace TestBox/Prometheus --cloudwatch_region eu-west-1 --cloudwatch_publish_timeout 5 --prometheus_scrape_interval 30 --prometheus_scrape_url MyScrapeUrl &

此脚本将采用在prometheus_scrape_url发布的指标并将其推送到CloudWatch。默认情况下,此脚本在前台运行,并且每30秒将输出推送到CloudWatch的指标数量。我添加了setsid nohup,以便在新会话中在后台运行脚本。

这里的问题是,直到我在初始化后通过SSH进入框并向根用户su SSH之前,该脚本似乎都无法运行(就像我下次以SSH身份作为根用户时排队等待运行)。

我的预期行为是该脚本作为用户数据的一部分运行,并且我永远不需要通过SSH进入该框中。

有问题的脚本是:https://github.com/cloudposse/prometheus-to-cloudwatch

0 个答案:

没有答案