Logo de TuX - Linux Kernel

rc.local: Ejecutar un script o programa al iniciar linux

 
 

Introducción
El archivo /etc/rc.local nos permite ejecutar un comando o script cada vez que se inicia un sistema tipo Unix/Linux.
Todo comando o script que ejecutemos por medio de rc.local será ejecutado tras el arranque, una vez se hayan ejecutado los comando o scripts del runlevel o nivel de ejecución con el que arranca nuestro sistema.

En este micro tutorial veremos como lanzar un comando o script con rc.local.
 
Manos a la obra
Si editamos el archivo /etc/rc.local, normalmente, encontraremos algo similar.

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
exit 0

Pues bien, para ejecutar un comando o script desde rc.local tendremos que editarlo y añadir el comando o script a ejecutar, antes de la línea exit 0.

Para hacerlo, editamos el archivo con nuestro editor preferido, en nuestro ejemplo utilizaremos nano:

sudo nano /etc/rc.local

Y a continuación añadimos el comando o script a ejecutar:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
# Lanzamos aquí un escript de ejemplo:
ejemplo.sh
 
# Lanzamos aquí un comando para sincronizar la hora del sistema con el servidor de hora hora.roa.es:
ntpdate -u hora.roa.es
 
exit 0

En nuestro ejemplo, hemos añadido un comando (ntpdate) y un script (ejemplo.sh).

NOTA: Es importante que tengamos claro que cuando se trate de un script, no debemos incluir el contenido del script en rc.local. Primero crearemos el script y luego lo referenciamos en rc.local.

Si os habéis encontrado en la situación de tener que añadir algunas líneas al archivo /etc/rc.local, y estáis utilizando la distribución Debian 9 Stretch o superior, habréis podido comprobar que Debian ya no utiliza dicho archivo, ha quedado en desuso. Sin embargo, seguimos encontrando soluciones o mejoras para nuestro sistema que necesitan utilizar el archivo /etc/rc.local.

En ZeppelinuX hemos publicado el artículo Cómo habilitar rc.local en Debian 9 Stretch, también válido para sistemas que utilicen systemd.
rc.local
 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.