首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在启动的实例上使用EC2用户数据的MongoDB启动脚本

在启动的实例上使用EC2用户数据的MongoDB启动脚本
EN

Stack Overflow用户
提问于 2018-06-05 01:33:50
回答 1查看 368关注 0票数 0

我们在r4.xLarge EC2实例中运行了一个MongoDb。我只是发现,每次我们的实例关闭(由于任何原因)并重新启动时,mongo也不会启动。

我们在EC2实例的用户数据部分添加了一个启动脚本,如下所示。

代码语言:javascript
复制
#!/bin/bash

service mongod restart

service mongod status

我们仍然看到与以前一样的行为,即命令不会执行,并且需要通过SSH进入实例来启动重启。

有人能指出脚本中的任何问题或提供关于这方面的任何具体见解吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 05:31:39

因此,经过一些研究后,我发现,因为我们在第一次启动实例时没有添加用户数据脚本,所以我必须在#!/bin/bash上添加一个多部分的片段

脚本现在看起来如下所示:

代码语言:javascript
复制
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
sudo service mongod restart
sudo service mongod status

这个故事的寓意是,如果您在实例启动期间忘记添加实例用户数据脚本,并且在启动之后才添加,请在#!/bin/bash上添加该片段

这是因为:

  • AWS使用mime-multipart追加用户数据文件。
  • 它还使用scripts-user, always运行该文件。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50685911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档