Puede surgir la necesidad de ejecutar un comando o script al reiniciar o cada vez que iniciamos nuestro sistema. Así que, ¿cómo podemos hacer eso? En este tutorial vamos a verlo. Discutiremos cómo podemos hacer que nuestros sistemas CentOS/RHEL y Ubuntu ejecuten un comando o script al reiniciar o al iniciar el sistema usando dos métodos diferentes. Ambos métodos han sido probados y funcionan perfectamente.
Método 1 – Usando rc.local
En este método, usaremos 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á el script.
Pero primero le daremos los permisos para hacer el archivo /etc/rc.local ejecutable,
$ sudo chmod +x /etc/rc.local
A continuación añadiremos el script a ejecutar en el archivo,
$ sudo vi /etc/rc.local
& en la parte inferior del archivo, añade la entrada,
sh /root/script.sh &
Ahora guarda el archivo y sal. Del mismo modo podemos ejecutar un comando usando el archivo rc.local pero necesitamos asegurarnos de que mencionamos la ruta completa del comando. Para localizar la ruta de comandos completa, ejecuta,
$ which command
Por ejemplo,
$ which shutter
/usr/bin/shutter
Para CentOS, usamos el archivo ‘/etc/rc.d/rc.local’ en lugar de “ /etc/rc.local’. También necesitamos hacer este archivo ejecutable antes de añadir cualquier script o comando al archivo.
Nota:- Cuando ejecutes un script al iniciar, asegúrate de que el script termina con ‘exit 0’.
Método 2 – Crontab
Este método es el más fácil de los dos métodos. Crearemos un trabajo cron que esperará 90 segundos después del inicio del sistema y luego ejecutará el comando o script en el sistema.
Para crear una tarea cron, abre el terminal y ejecuta,
$ crontab -e
y escribe la siguiente línea ,
@reboot ( sleep 90 ; sh /ruta/script.sh )
donde /ruta/script.sh es la ubicación del script a ejecutar.