Как изменить файл systemctl с помощью сценария оболочки или boto в aws

У меня есть следующий файл systemctl.

[Unit] Description=Airflow celery worker daemon After=network.target postgresql.service mysql.service redis.service rabbitmq-server.service Wants=postgresql.service mysql.service redis.service rabbitmq-server.service [Service] EnvironmentFile=/etc/sysconfig/airflow User=airflow Group=airflow Type=simple ExecStart=/bin/airflow worker Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target 

который работает нормально. Тем не менее, я должен предоставить другое имя, например, для запуска машин, например

 ExecStart=/bin/airflow worker -q "nameOfWorker" 

Однако «nameOfWorker» определяется, когда я запускаю экземпляр в зависимости от требования. Я начинаю экземпляр с изображения, у которого уже есть файл systemctl.

Я могу использовать ssh в машине, используя

 ssh -i "opencpu-fin.pem" ubuntu@***-**-***-***-***.**-****-2.compute.amazonaws.com in shell script. 

Что я должен делать дальше? Любые указания будут изучены

  • Как система использует /etc/init.d скрипты?
  • Как настроить Systemd Timer для запуска службы в последний день месяца
  • Как включить Bluetooth * автоматически при загрузке * для последних чипсетов Intel и Broadcom, полагающихся на btattach?
  • Очистка списка coredumpctl
  • Почему расширение параметра bash не работает внутри системных файлов systemd?
  • socat: вызов из скрипта, bashrc или systemd?
  • Именование сетей в Arch Linux
  • Автоматически включать службы systemd, установленные с помощью deb?
  • One Solution collect form web for “Как изменить файл systemctl с помощью сценария оболочки или boto в aws”

    Может быть и так. По мере развертывания этих файлов вы можете редактировать их с помощью sed . Таким образом, ваш базовый файл конфигурации может иметь следующие строки:

     ... Type=simple ExecStart=/bin/airflow worker -q "nameOfWorker" Restart=on-failure ... 

    И у вас может быть скрипт, который выдает строку «nameOfWorker» для предполагаемого имени:

     sed 's/nameOfWorker/${intendedName}/' YourBaseSystemd.service > NewlyMade.service 

    Таким образом, вы можете запустить эту строку кода, поскольку вы предоставляете новые машины.

    Linux и Unix - лучшая ОС в мире.