26 ago. 2011

Ejecutar un programa al inicio del sistema GNU / Linux (otra forma)




En ocasiones requerimos iniciar algunos servicios, programas o servidores desde el momento en que el sistema arranca, si trabajamos con alguna interfaz tipo Gnome, KDE, etc. suele haber un menú que nos permite realizar esto sin problemas, sin embargo, en algunas ocasiones es necesario especificarle al sistema que ejecute un programa desde la consola, para ello, debemos realizar los siguientes pasos:

1. Crear un script que ejecute el programa.

Primeramente debemos crear un script desde el cual se mande a llamar el o los programas que necesitamos ejecutar, para ello desde la consola hacemos algo parecido a lo siguiente:
# nano /etc/init.d/miScript.sh

Con la instrucción anterior se manda a llamar el editor de textos nano y crea un archivo llamado miScript.sh en la ruta /etc/init.d/ (que es donde el sistema tiene todos los scripts con los programas) en caso de que no exista, si existe simplemente lo abre en modo de edición, para fines de este ejemplo asumamos que dicho archivo no existe.

Una vez hecho lo anterior, la consola se establece en modo de edición de texto, desde ahí escribimos algo parecido a lo siguiente:

# !/bin/sh cd /srv/intranet/zopeHome/bin ./runzope exit

En el ejemplo anterior primeramente me traslado hacia la ruta donde se encuentra el programa que quiero ejecutar (cd ...) y posteriormente lo ejecuto (./runzope). Debes reemplazar estas líneas con aquellas que tú necesites. Para guardar el archivo presionamosCtrl + O y posteriormente Ctrl + X para salir.

2. Dar permisos de ejecución al script.

Ya que creamos el script ahora debemos de darle permisos para que pueda ejecutarse, esto debemos de hacerlo de la siguiente manera:

# chmod 755 /etc/init.d/miScript.sh

Los permisos 755 indican que el usuario root puede leer, escribir y ejecutar el archivo, los demás usuarios solamente pueden leer y ejecutar.

3. Crear enlace simbólico hacia el nivel de ejecución.

Ya que tenemos el script y tiene permisos de ejecución solamente falta crear un enlace simbólico hacia su nivel de ejecución correspondiente (en este caso es el 2), lo anterior lo realizamos de la siguiente manera:

# ln -s /etc/init.d/miScript.sh /etc/rc2.d/S88zope

En este caso ln -s nos sirve para crear un enlace simbólico, posteriormente es la ruta de origen del archivo y después el destino. En esta última parte es muy importante la sintáxis, la primera letra 'S' significa que el script se debe de ejecutar, el número '88' significa el orden de ejecución que puede ir desde 0 hasta 99 y al final una palabra de referencia para saber a qué proceso o programa apunta este enlace.

Una vez hecho esto tendremos nuestro programita ejecutándose cada vez que el sistema arranca.

No hay comentarios:

Publicar un comentario