【问题标题】:How to start system services like init.d in linux on AWS using userdata如何使用 userdata 在 AWS 上的 linux 中启动 init.d 等系统服务
【发布时间】:2019-06-04 02:22:46
【问题描述】:

我将每天早上启动服务器(ubuntu),晚上停止,这是一项日常任务。我想做的只是在第二天早上服务器重新启动后启动服务。 我曾经将脚本添加到aws中的“用户数据”,但它对我没有帮助。如果我需要使用用户数据运行不同的命令,请告诉我。脚本会是什么样子。 我用了'

#!/bin/bash
sudo service <service name> start

【问题讨论】:

  • 有什么理由不简单地在 Ubuntu 中配置服务以在启动时启动? askubuntu.com/questions/9382/…
  • 服务器已经配置好了,我只想启动服务,第二天服务器重启。这样我就不用进去手动重启服务了。
  • 如果服务器在启动时没有启动关键服务,这听起来好像服务器没有完全“配置”。
  • 服务器在init.d中有一个服务,通常当我们向它部署新代码时,我们会停止服务,并复制代码,然后我们会手动重新启动服务。但是由于每天早上服务器都会重新启动,因此需要有人启动服务。所以想看看能不能在每次服务器重启的时候启动服务
  • 我看不出这与您可以将服务配置为在启动时自动启动这一事实有什么关系,它会完全按照您的意愿工作,而不是试图一起破解一些带有用户数据的服务启动脚本。

标签: linux bash amazon-web-services amazon-ec2 ubuntu-16.04


【解决方案1】:

默认情况下,用户数据在实例第一次启动时执行一次。这是一个类似的问题:https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/

如果您需要自动重启服务但实例已配置。您可以使用mime-multipart 将新脚本附加到用户数据并将 cloud_final_modules 设置为[scripts-user, always] 以每次运行启动脚本。您可以将以下设置为您的用户数据,然后启动实例:

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 abc DEV start
--//

【讨论】:

  • 我对这个 Mime-multipart 没有任何想法,如果你不介意你能给我简要介绍一下这段代码在做什么,就像我看到的 cloud-config.txt 和 userdata.txt 一样,我也应该使用相同的东西还是应该编辑您提供的任何代码
  • 你可以编辑最后第二行/bin/echo "sudo service abc DEV start" &gt;&gt; /etc/rc.local,或者你可以尝试改成sudo service abc DEV start,看看重启后是否总是运行命令。
  • 我只需要使用最后两行代码,还是您提供的整个代码。我问这个是因为我不了解 mime-multipart。也想知道我在代码中看到的两个.txt是什么,谢谢
  • 刚刚编辑了我的答案。你需要一切。 [scripts-user, always] 是始终运行您的脚本。
  • 嗨,谢谢它确实有效,但如果您能给我简要介绍一下这段代码是如何工作的,那将会更有帮助。所以我可以在未来实现类似的事情。
猜你喜欢
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 2015-07-26
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多