Korzystam z usługi upstart dla usług na moich serwerach. Napisanie pliku conf i umieszczenie go /etc/init
jest dość łatwe, ale wydaje się, że nie można go całkowicie zainstalować. Po pierwsze, service --status-all
nie wyświetla mojej nowej usługi. Sprawdziłem i jeśli utworzę link /etc/init.d
do /lib/init/ubstart-job
niego, pojawi się w statusie. Ale zrobienie tego ręcznie sprawia, że myślę, że nie robię tego dobrze, i mogą istnieć inne etapy konfiguracji, które nie są wykonywane.
Jaki jest prawidłowy sposób zainstalowania usługi upstart, tak aby została poprawnie zarejestrowana we wszystkich narzędziach do obsługi usług?
/lib/init/upstart-job
?Odpowiedzi:
Kiedy początkowo kopiujesz nowy plik conf do folderu / etc / init, musisz wywołać:
W ten sposób Twój upstart powinien zostać poprawnie zarejestrowany.
źródło
start
Istop
pracę), ale nie powoduje, że zadanie pokazuje się jako status wszystkich. Nadal musiałem to ręcznie dodać, aby/etc/init.d/
tak się stało.initctl list
komendę sudo:sudo initctl list
. W ten sposób zobaczysz pełną listę usług.I still had to manually add it to /etc/init.d
. Nadal musiałeś co dodać? Oznacza to, że opróczX.conf
dodanego pliku/etc/init
konieczne jest również dodanie pliku/etc/init.d
?Zapoznaj się z instrukcją obsługi:
(podkreślenie dodane)
Dlatego dodanie go do /etc/init.d (gdzie znajdują się zadania sysvinit) sprawiło, że zadziałało. Więc: spróbuj zamiast tego uruchomić listę initctl :).
źródło
That's why adding it
Dodanie co? Opróczmy_service.conf
pliku w/etc/init
, trzeba również mieć/etc/init.d
plik?Dla usług SysV
Upewnij się, że wykonujesz poniższe kroki podczas dodawania / tworzenia nowej usługi w Ubuntu.
/etc/init.d/<service name>
chmod 700 /etc/init.d/<service name>
update-rc.d <service name> defaults
update-rc.d <service name> enable
Teraz do zobaczenia w serwisie
źródło
Odkryłem, że błąd w pliku .conf może sprawić, że zadanie nie będzie rozpoznawane przez initctl. na przykład posiadanie
setuid
linii w wersji Upstart 1.3 lub wcześniejszej.źródło
Chociaż aktualnie wybrana odpowiedź jest poprawna do dodania nowej usługi do uruchomienia, nie jest szczególnie pomocna w ustaleniu DLACZEGO konfiguracja w / etc / init / nie ładuje się - brakująca część używa najpierw init-checkconf, aby upewnić się Twoja konfiguracja jest poprawna, a następnie przy użyciu Reload-Configuration:
źródło