Ejecuta el Script en el arranque
Suponemos que tenemos un script bash cualquiera en nuestra carpeta personal: script.sh
Le damos permisos de ejecución.
sudo chmod +x script.sh
rc.localLa forma más fácil y sencilla es editar el fichero rc.local y añadir la instrucción sh, es decir, la encargada de ejecutarlo después de los comentarios, pero antes del 'exit 0′.
sudo nano /etc/rc.local
quedará de la siguiente forma:
#!/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.
sh /home/usuario/script.sh
exit 0
Nótese que hemos añadido el comando sh para indicar que queremos ejecutarlo. Para desinstalarlo, basta con comentar la línea añadida o bien eliminarla.
Nota: hay veces que hay que poner un sleep 100 antes de llamar a la ejecución de un script porque rc.local se suele iniciar antes que otros servicios y así evitamos que no estén iniciados. También es posible que haya que eliminar el parámetro "-e" de !/bin/sh para que no pare la ejecución del script al encontrar posibles errores.
init.dLa otra opción, es ejecutarlo junto con el resto de servicios del sistema, para ello movemos el script a la carpeta init.d, le damos permisos de ejecución y actualizamos el rc.d con configuración por defecto:
sudo mv /home/usuario/script.sh /etc/init.d/
sudo chmod +x /etc/init.d/script.sh
sudo update-rc.d script.sh defaults
Si lo queremos desinstalar, ejecutamos:
sudo update-rc.d -f script.sh remove
y después eliminamos manualmente el script de init.d si no lo vamos a utilizar más:
sudo rm /etc/init.d/script.sh