EC2 linux tutti i lavori di avvio che restituiscono "servizio non riconosciuto"


15

Avere un incubo durante la migrazione di alcuni lavori di avvio da Ubuntu a EC2 Linux (ElasticBeanstalk)

Non riesco a far funzionare anche l'attività più elementare. Sto usando lo script qui sotto che funziona perfettamente su Ubuntu ma restituisce il "servizio non riconosciuto" molto inutile quando provo ad avviarlo in EC2 Linux. Ho letto che questo di solito è un errore di sintassi ma che non segue se questo è sintatticamente OK per Ubuntu. Qualsiasi aiuto apprezzato in modo massiccio, ho solo bisogno di qualsiasi esempio funzionante.

Questo è in /etc/init/test.conf creato come utente root.

Console:

# 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

Risposte:


12

Quindi per qualche ragione piace a initctl e il servizio non ...

sudo initctl start test
test start/running, process 8776

Un bug in EC2 Linux me pensa. Il mio esempio è esattamente conforme alla documentazione, ma non è un grosso problema passare all'utilizzo di initctl

Se ti piace controllare quali servizi sono in esecuzione, puoi anche fare questo:

sudo initctl list

E per verificare dove l'errore di registro legge il file /var/log/messages


Forse avrei dovuto cercare questa risposta prima di passare una giornata a cercare di risolverlo da solo, quindi a installare daemontools ........
Asfand Qazi,

1

Se stai utilizzando l'AMI di AWS Linux invece di Ubuntu, usa:

start on started network

Apprezzo il suggerimento ma nessuna gioia. Mi dà ancora l'errore "servizio non riconosciuto"
Mike Miller,

quale AMI stai usando?
Optichip,

Ultimi EC2 Linux - qualunque cosa Amazon abbia sviluppato con le applicazioni ElasticBeanstalk. Grazie per il vostro aiuto, ho trovato una risposta postata di seguito
Mike Miller il

Fantastico, terrò a mente anche quello.
Optichip,

A seguito del tuo suggerimento, penso che l'equivalente di gambo di fagiolo elastico sarebbestart on started elastic-network-interfaces
Mike Miller,

0

Con upstart, la sintassi dovrebbe essere sudo start teste sudo stop test, piuttosto che la sintassi "service" utilizzata dal sistema init.d.


Amazon Linux utilizza una vecchia versione di Upstart, che non riconosce i lavori in / etc / init
Asfand Qazi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.