Noções básicas sobre falhas de script init com sysctl

1

Eu fiz meu próprio script de inicialização para iniciar um aplicativo da web Mono no contêiner mod-mono-server2 (não usei AutoHosting , estou ciente disso).

Quando eu tinha o openSUSE 11.4 com init , consegui ler no console exatamente o que deu errado. Agora eu tive que migrar meu aplicativo para um servidor que executa o openSUSE 12.1 que usa systemctl , e é uma confusão descobrir por que ele não inicia.

O comando de inicialização é apenas um típico sudo -u mono-user mod-mono-server2 [params] que grava o PID em um arquivo em /var/run/spambusters/ (para eliminá-lo quando eu quiser parar). Quando tento fazer /etc/init.d/spambusters start , acabei de obter um Job failed. See system logs and 'systemctl status' for details. genérico.

Mas não consigo mais informações ....

spambusters@dom:~/source> sudo systemctl status spambusters.service
spambusters.service - LSB: Spambusters instance (as spambusters)
      Loaded: loaded (/etc/init.d/spambusters)
      Active: failed since Fri, 07 Sep 2012 20:37:56 +0200; 1min 37s ago
     Process: 29731 ExecStart=/etc/init.d/spambusters start (code=exited, status=1/FAILURE)
      CGroup: name=systemd:/system/spambusters.service
          â”” 29744 sudo -u spambusters /usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applicat...
spambusters@dom:~/so

O log do sistema /var/log/messages contém apenas

Sep  7 20:37:56 dom sudo:     root : TTY=console ; PWD=/ ; USER=spambusters ; COMMAND=/usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applications /:/home/spambusters/srv/www/domains/www.burnthespam.info/htdocs

Embora eu entenda que essa questão também pode ser adequada para serverfault.com porque lida com a administração de servidores, minha pergunta direta é

Como posso encontrar mais informações sobre falhas em um script de inicialização quando o processo raiz é systemctl em vez de init?

    
por usr-local-ΕΨΗΕΛΩΝ 07.09.2012 / 20:44

1 resposta

0

Se o sistema operacional usa systemd-journald,

journalctl -a _SYSTEMD_UNIT=spambusters.service

(A versão mais recente do systemd mostra o mesmo em systemctl status , mas o OpenSuSE tem um mais antigo.)

Além disso, não use sudo se você quiser que ele seja executado como um usuário diferente. Use User=spambusters em seu lugar.

    
por 07.09.2012 / 21:43