Estoy usando Ubuntu 12.04 LTS y este sistema utiliza principalmente trabajos de arranque. Lamentablemente, mi sistema también depende de un servidor dbmail compilado manualmente , que solo tiene un script de inicio, pero no un script de inicio.
Utilizando update-rc.d dbmail defaults
instalé dbmail para todos los niveles de ejecución, pero desafortunadamente se inició antes de que MySQL esté activo, por lo que el demonio muere nuevamente. También intenté moverlo a S90 o similar, todavía MySQL no está disponible cuando se ejecuta el script.
Intenté agregar una dependencia al encabezado LSB del script, de la siguiente manera:
#!/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
Lamentablemente, la secuencia de comandos todavía parece iniciarse antes que MySQL. Estoy acostumbrado a las secuencias de comandos de inicio antiguas, no a las tareas iniciales, por lo que estoy un poco confundido aquí. ¿Cómo puedo agregar la dependencia o cómo puedo iniciar el mysql
trabajo antes del dbmail
script de inicio?
¿Cómo puedo verificar / ver el orden de inicio tomado para los trabajos + scripts de inicio durante el arranque? ¿Hay alguna herramienta para esto?
Iniciar el script manualmente desde un shell después del inicio funciona bien, ya que MySQL ya se está ejecutando.
fuente
Respuestas:
Creo que si ejecuta
/etc/init.d/dbmail start
desde/etc/rc.local
, comenzará después de todos sus trabajos de arranque / otros scripts de inicio.Sin embargo, probablemente solucionaría esto agregando un nuevo trabajo de inicio en
/etc/init/dbmail.conf
. Por lo general, los scripts init.d tienen mucho código para verificar el estado, etc., que se encarga de usted. Puede ser tan simple como:O bien, probablemente pueda usar el script de inicio existente como este:
fuente