Comprender las fallas del script de inicio con sysctl


1

Hice mi propio script de inicio para iniciar una aplicación web Mono dentro del mod-mono-server2contenedor (no lo usé AutoHosting, lo sé).

Cuando tuve openSUSE 11.4 con initpude leer en la consola exactamente lo que salió mal. Ahora tenía que migrar mi aplicación a un servidor que ejecuta openSUSE 12.1 que usa systemctl, y es un desastre descubrir por qué no se inicia.

El comando de inicio es solo un típico sudo -u mono-user mod-mono-server2 [params]que escribe el PID en un archivo /var/run/spambusters/(para matarlo cuando quiero detenerlo). Cuando trato de hacerlo /etc/init.d/spambusters start, solo obtengo un genérico Job failed. See system logs and 'systemctl status' for details..

Pero no puedo obtener más información .........

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

El registro del sistema /var/log/messagessolo contiene

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

Si bien entiendo que esta pregunta también podría ser adecuada para serverfault.com porque trata con la administración del servidor, mi pregunta directa es

¿Cómo encuentro más información sobre el fallo en un script de inicio cuando el proceso raíz es systemctl en lugar de init?

Respuestas:


0

Si el sistema operativo usa systemd-journald,

journalctl -a _SYSTEMD_UNIT=spambusters.service

(La última versión de systemd muestra lo mismo systemctl status, pero OpenSuSE tiene una más antigua).


Además, no lo usesudo si solo desea que se ejecute como un usuario diferente. Usar en suUser=spambusters lugar.


¿Puedes explicar mejor la parte del sudo? ¿Dónde uso User = spambusters?
usr-local-ΕΨΗΕΛΩΝ

@djechelon: En la spambusters.serviceunidad, por supuesto. Consulte la página del manual systemd.exec (5) , donde User=se describe.
Grawity

Quizás me estoy perdiendo algo. Mi script (heredado de un sistema donde estaba usando init) es /etc/init.d/spambusters y está escrito de acuerdo con el formato init, exactamente como sshd, mysql, scripts apache2. Todos ellos están presentes en mi sistema openSUSE 12.1 que usa systemd en lugar de init, y apache2 también me dio dolores de cabeza porque no podía saber fácilmente por qué a veces no se iniciaba (pero logré solucionarlo ...). Así que básicamente no tengo ningún archivo spambusters.service
usr-local-ΕΨΗΕΛΩΝ
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.