Ich verwende Ubuntu 12.04 LTS und dieses System verwendet hauptsächlich Upstart-Jobs. Leider hängt mein System auch von einem manuell kompilierten dbmail- Server ab, der nur ein Init-Skript, aber kein Upstart-Skript enthält.
Mit update-rc.d dbmail defaults
Ich habe dbmail für alle Runlevel installiert, aber leider wird es gestartet, bevor MySQL aktiv ist, sodass der Daemon erneut stirbt. Ich habe auch versucht, es auf S90 oder ähnliches zu verschieben, aber MySQL ist immer noch nicht verfügbar, wenn das Skript ausgeführt wird.
Ich habe versucht, dem LSB-Header des Skripts wie folgt eine Abhängigkeit hinzuzufügen:
#!/bin/sh
### BEGIN INIT INFO
# Provides: dbmail
# Required-Start: $local_fs $remote_fs $syslog $network mysql
# Required-Stop: $local_fs $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start dbmail services
# Description: Run network services provided by dbmail such as
# imap-server, pop3-server, lmtp-server, timsieve-server
### END INIT INFO
Leider scheint das Skript noch vor MySQL gestartet zu sein. Ich bin an altmodische Init-Skripte gewöhnt, nicht daran, Jobs neu zu starten, daher bin ich hier etwas verwirrt. Wie kann ich die Abhängigkeit hinzufügen oder wie kann ich den mysql
Job vor dem dbmail
Init-Skript starten lassen ?
Wie kann ich die Startreihenfolge für Jobs + Init-Skripte während des Startvorgangs überprüfen / anzeigen? Gibt es dafür ein Werkzeug?
Das manuelle Starten des Skripts von einer Shell nach dem Start funktioniert einwandfrei, da MySQL dann bereits ausgeführt wird.