A veces puede surgir la necesidad de ejecutar un comando o scripts al reiniciar o cada vez que iniciamos nuestro sistema. Entonces, ¿cómo podemos hacer eso? En este tutorial vamos a hablar sobre ello. Veremos cómo podemos hacer que nuestros sistemas con CentOS/RHEL y Ubuntu ejecuten un comando o scripts al reiniciar o al inicio del sistema usando dos métodos diferentes. Ambos métodos son probados y funcionan bien.
Método 1: utilizando rc.local
Con este método, utilizaremos el archivo ‘rc.local‘ ubicado en ‘/etc/’ para ejecutar nuestros scripts y comandos al inicio. Haremos una entrada para ejecutar el script en el archivo y cada vez que se inicie nuestro sistema, se ejecutará.
Pero primero proporcionaremos los permisos para hacer que el archivo /etc/rc.local sea ejecutable,
$ sudo chmod +x /etc/rc.local
A continuación agregaremos el script para que se ejecute en el archivo,
$ sudo nano /etc/rc.local
En la parte inferior del archivo, agrega la entrada:
sh /root/script.sh &
Ahora guarda el archivo (Ctrl+o/Ctrl + x) y sal. De manera similar, podemos ejecutar un comando usando el archivo rc.local, pero debemos asegurarnos de que mencionamos la ruta completa del comando. Para ubicar la ruta de comando completa, ejecuta:
$ which command
Por ejemplo,
$ which shutter
/usr/bin/shutter
Para CentOS, utilizamos el archivo ‘/etc/rc.d/rc.local‘ en lugar de ‘/etc/rc.local‘. También debemos hacer que este archivo sea ejecutable antes de agregar cualquier script o comando al archivo.
Nota: Al ejecutar un script al inicio, asegúrate de que el script finalice con ‘exit 0’.
Método 2: Crontab
Este método es el más fácil de los dos. Vamos a crear un trabajo cron que comenzará 90 segundos después del inicio del sistema y luego ejecutará el comando o script en el sistema.
Para crear un trabajo cron, abre el terminal y ejecuta:
$ crontab -e
Introduce la línea siguiente ,
@reboot ( sleep 90 ; sh \location\script.sh )
Donde \location\script.sh es la ubicación del script que se va a ejecutar.