EC2 linux все безусловные рабочие места, возвращающие «неопознанную услугу»

15

Кошмарная миграция некоторых новых заданий из Ubuntu в EC2 Linux (ElasticBeanstalk)

Я не могу выполнить даже самую простую задачу. Я использую приведенный ниже скрипт, который отлично работает на Ubuntu, но возвращает очень бесполезный «нераспознанный сервис», когда я пытаюсь запустить его в EC2 Linux. Я читал, что это обычно синтаксическая ошибка, но это не следует, если это синтаксически нормально для Ubuntu. Любая помощь высоко ценится, мне просто нужен любой рабочий пример.

Это в /etc/init/test.conf, созданном от имени пользователя root.

Приставка:

# sudo service test start
# test: unrecognized service

/etc/init/test.conf:

description "test"

start on startup

script
  echo $(ping -c 1 serverfault.com) > /var/log/testjob.log
end script
Майк Миллер
источник

Ответы:

12

Так что почему-то initctl это нравится, а сервис - нет ...

sudo initctl start test
test start/running, process 8776

Баг в EC2 Linux мне кажется. Мой пример точно соответствует документации, но нет ничего сложного, чтобы перейти на использование initctl

Если вы хотите проверить, какие службы запущены, вы также можете сделать это:

sudo initctl list

И чтобы проверить, где ошибка журнала, прочитайте файл в /var/log/messages

Майк Миллер
источник
Возможно, мне следовало искать этот ответ, прежде чем провести день, пытаясь исправить его самостоятельно, а затем попытаться установить daemontools ........
Asfand Qazi
1

Если вы используете AWS Linux AMI вместо Ubuntu, используйте:

start on started network
Optichip
источник
Ценю предложение, но не радость. Все еще выдает мне ошибку «неопознанный сервис»
Майк Миллер,
какой AMI вы используете?
Optichip
Новейшая версия EC2 Linux - все, что Amazon раскручивает с приложениями ElasticBeanstalk. Спасибо за вашу помощь, нашел ответ размещен ниже
Майк Миллер
Отлично, я тоже запомню это.
Optichip
В дополнение к вашему предложению я думаю, что эквивалент эластичного стебля будетstart on started elastic-network-interfaces
Майк Миллер
0

При использовании upstart синтаксис должен быть sudo start testи sudo stop test, а не синтаксис «service», используемый системой init.d.

грант
источник
Amazon Linux использует старую версию Upstart, которая не распознает задания в / etc / init
Asfand Qazi