Сделайте так, чтобы Linux-служба запускалась автоматически при перезагрузке сервера - PullRequest
0 голосов
/ 02 апреля 2019

У нас есть несколько пользовательских контейнерных сервисов, работающих на экземплярах 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

1 Ответ

0 голосов
/ 02 апреля 2019

Вам нужно использовать cloud-init, afaik - см. здесь и здесь - тогда вы можете создать такой скрипт:

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
...