Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I made my own init script for starting a Mono web application within mod-mono-server2 container (I didn't use AutoHosting, I'm aware of it).

When I had openSUSE 11.4 with init I was able to read on console exactly what went wrong. Now I had to migrate my app to a server running openSUSE 12.1 that uses systemctl, and it's a mess to figure out why it fails to start.

The startup command is just a typical sudo -u mono-user mod-mono-server2 [params] that writes the PID to a file in /var/run/spambusters/ (to kill it when I want to stop). When I try to do /etc/init.d/spambusters start I just get a generic Job failed. See system logs and 'systemctl status' for details..

But I can't get more information.........

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

System log /var/log/messages only contains

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

While I understand that this question could also be suitable for serverfault.com because deals with server administration, my straight question is

How do I find more information about failure in an init script when root process is systemctl instead of init?

share|improve this question

1 Answer 1

If the OS uses systemd-journald,

journalctl -a _SYSTEMD_UNIT=spambusters.service

(Latest systemd version shows the same in systemctl status, but OpenSuSE has an older one.)


Also, do not use sudo if you only want it to run as a different user. Use User=spambusters instead.

share|improve this answer
    
Can you explain the sudo part better? Where do I use User=spambusters? –  djechelon Sep 28 '12 at 11:47
    
@djechelon: In the spambusters.service unit, of course. See the systemd.exec(5) manual page, where User= is described. –  grawity Sep 28 '12 at 12:35
    
Perhaps I'm missing something. My script (inherited from a system where I was using init) is /etc/init.d/spambusters and is written according to init format, exactly like sshd, mysql, apache2 scripts. All of them are present in my openSUSE 12.1 system that uses systemd instead of init, and apache2 gave me headaches too because I couldn't easily know why sometimes it didn't start (but I managed to fix...). So I basically have no spambusters.service file –  djechelon Sep 28 '12 at 12:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.