我们在r4.xLarge EC2实例中运行了一个MongoDb。我只是发现,每次我们的实例关闭(由于任何原因)并重新启动时,mongo也不会启动。
我们在EC2实例的用户数据部分添加了一个启动脚本,如下所示。
#!/bin/bash
service mongod restart
service mongod status
我们仍然看到与以前一样的行为,即命令不会执行,并且需要通过SSH进入实例来启动重启。
有人能指出脚本中的任何问题或提供关于这方面的任何具体见解吗?
谢谢
发布于 2018-06-05 05:31:39
因此,经过一些研究后,我发现,因为我们在第一次启动实例时没有添加用户数据脚本,所以我必须在#!/bin/bash上添加一个多部分的片段
脚本现在看起来如下所示:
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上添加该片段
这是因为:
mime-multipart
追加用户数据文件。scripts-user, always
运行该文件。https://stackoverflow.com/questions/50685911
复制相似问题