【问题标题】:Make a Linux 'service' start automatically on server reboot在服务器重新启动时自动启动 Linux“服务”
【发布时间】:2019-08-23 02:55:46
【问题描述】:
我们有一些在 RHEL EC2 实例上运行的自定义容器服务。想知道如何让这些服务在实例重启或我停止和启动实例时自动启动?
我有一个脚本可以检查服务的状态并在它没有运行时启动它们,但我想让它们在实例启动后自动启动。
#!/bin/bash
declare -a service=("SERVICE_1" "SERVICE_2" "SERVICE_3")
for i in "${service[@]}"
do
if (( $(docker ps | grep -v grep | grep $i | wc -l) > 0 ))
then
echo "$i is running!!!"
else
docker start $i
fi
done
【问题讨论】:
标签:
linux
amazon-ec2
service
rhel
【解决方案1】:
您需要使用 cloud-init、afaik - 请参阅 here 和 here - 然后您可以创建这样的脚本:
Content-Type: multipart/mixed; boundary="==BOUNDARY=="
MIME-Version: 1.0
--==BOUNDARY==
Content-Type: text/cloud-boothook; charset="us-ascii"
# Install nfs-utils
cloud-init-per once yum_update yum update -y
cloud-init-per once install_nfs_utils yum install -y nfs-utils
# Create /efs folder
cloud-init-per once mkdir_efs mkdir /efs
--==BOUNDARY==
Content-Type: text/x-shellscript; charset="us-ascii"
# Create jenkins_home
mkdir /tmp/test