在已启动实例上使用EC2用户数据的MongoDB启动脚本
我们在r4.xLarge EC2实例中运行了一个MongoDb。我只是发现,每当我们的实例关闭(出于任何原因)并重新启动时,mongo也不会启动 我们在EC2实例的用户数据部分添加了如下启动脚本在已启动实例上使用EC2用户数据的MongoDB启动脚本,mongodb,amazon-ec2,user-data,Mongodb,Amazon Ec2,User Data,我们在r4.xLarge EC2实例中运行了一个MongoDb。我只是发现,每当我们的实例关闭(出于任何原因)并重新启动时,mongo也不会启动 我们在EC2实例的用户数据部分添加了如下启动脚本 #!/bin/bash service mongod restart service mongod status 我们仍然看到与以前相同的行为,即命令没有执行,需要SSH到实例中来启动重启 有人能指出脚本中存在的任何问题,或提供有关这方面的任何具体见解吗 谢谢所以经过一点研究后,我发现由于我们在第
#!/bin/bash
service mongod restart
service mongod status
我们仍然看到与以前相同的行为,即命令没有执行,需要SSH到实例中来启动重启
有人能指出脚本中存在的任何问题,或提供有关这方面的任何具体见解吗
谢谢所以经过一点研究后,我发现由于我们在第一次启动实例时没有添加用户数据脚本,所以我不得不在#上方添加一个多部分脚本/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
这是因为:
- AWS使用
附加用户数据文件mime multipart
- 它还使用
脚本用户,始终
运行文件
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
- 它还使用
脚本用户,始终
运行文件