Añadir un servicio al inicio del sistema – Centos

Para arrancar una aplicación con el inicio del sistema, lo primero que debemos hacer es crear un archivo con la lógica para el programa en cuestión en la carpeta /etc/init.d/

El siguiente ejemplo es el archivo de servicio para Glassfish

#!/bin/bash
#
# glassfish: Startup script for Glassfish Application Server.
#
# chkconfig: 3 80 05
# description: Startup script for domain1 of Glassfish Application Server.

GLASSFISH_HOME=/home/glassfish/glassfish3/glassfish;
export GLASSFISH_HOME
GLASSFISH_OWNER=glassfish;
export GLASSFISH_OWNER

start() {
   echo -n "Starting Glassfish: "
   echo "Starting Glassfish at `date`" >> $GLASSFISH_HOME/domains/domain1/logs/startup.log
   su $GLASSFISH_OWNER -c "$GLASSFISH_HOME/bin/asadmin start-domain domain1" >> $GLASSFISH_HOME/domains/domain1/logs/startup.log
   sleep 2
   echo "done"
   }

stop() {
   echo -n "Stopping Glassfish: "
   echo "Stopping Glassfish at `date`" >> $GLASSFISH_HOME/domains/domain1/logs/startup.log
   su $GLASSFISH_OWNER -c "$GLASSFISH_HOME/bin/asadmin stop-domain domain1" >> $GLASSFISH_HOME/domains/domain1/logs/startup.log
   echo "done"
   }

# See how we were called.

case "$1" in
start)
   start
;;
stop)
   stop
;;
restart)
   stop
   start
;;
*)
   echo $"Usage: glassfish {start|stop|restart}"
exit

esac

Una vez creado este archivo, le cambiamos los permisos para hacerlo ejecutable, lo damos de alta como servicio y lo añadimos al nivel de ejecución deseado con el comando  chkconfig.

chmod +x /etc/init.d/glassfish
chkconfig --add glassfish
chkconfig --level 3 glassfish on

Listo.

Sigue un resumen de los niveles de ejecución como recordatorio:

Generally, Red Hat Linux operates in runlevel 3 — full multi-user mode. The following runlevels are defined in Red Hat Linux:

  • 0 — Halt
  • 1 — Single-user mode
  • 2 — Not used (user-definable)
  • 3 — Full multi-user mode
  • 4 — Not used (user-definable)
  • 5 — Full multi-user mode (with an X-based login screen)
  • 6 — Reboot

Reparar filesystem en Linux.

En la primera modificación del archivo fstab para añadir un punto de montaje nuevo, cometi el error de invertir los campos de punto de montaje origen y destino, con lo que al reinicio, el sistema respondio con un error en la lectura del mismo.

Dispuesto a arreglar el archivo, me percado de que el filesystem esta en solo lectura con l oque ha y que ponerlo primero en escritura y posteriromente modificar el fstab.

El comando en cuestión a ejecutar en la consola de recuperació es el siguiente:

mount -w -o remount /

Y esta es la fuente.