Необходимо остановить службу в экземпляре aws ec2 непосредственно перед перезагрузкой - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно написать скрипт на python, который останавливает службу, запущенную в экземпляре EC2, непосредственно перед перезагрузкой.Какой подход должен быть здесь?

Предположим, имя службы abc.

, чтобы вручную остановить эту службу, я выполняю:

  service abc stop

Я хочу автоматизировать это перед экземпляромидет на перезагрузку.

Помогите мне с этим

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Предоставлено: https://opensource.com/life/16/11/running-commands-shutdown-linux

См. Ссылку, в которой очень подробно объясняется, Как отключить службы в linux перед выключением для SysVinit и Systemd?

0 голосов
/ 19 ноября 2018

Планировщик cron позволяет использовать @reboot вместо строки расписания. Итак, напишите свой сценарий, а затем crontab -e и добавьте следующее:

@reboot /path/to/python /path/to/reboot_script.py

Для сценария перезагрузки python на самом деле не лучший выбор. Я написал бы это с помощью bash-скрипта, который выглядел примерно так:

#!/bin/bash

service abc stop

Если вы должны использовать python, вы можете использовать invoke:

from invoke import run
run('service abc stop', hide=True, warn=True)

Edit:

Чтобы выполнить эту ПЕРЕД перезагрузкой, создайте сценарий оболочки с именем K99kill_service и добавьте его в каталог /etc/rc6.d. Эти сценарии выполняются перед перезагрузкой или выключением. Важно, чтобы он назывался как указано выше, чтобы убедиться, что он работает в нужное время и не мешает другим сценариям завершения работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...