Uno de los grandes cambios que introdujo CentOS en la versión 7 fue la falta de ejecución nativa para que los scripts personalizados arranquen desde el archivo /etc/rc.d/rc.local.
/etc/rc.d/rc.local fue una de las formas más clásicas de agregar secuencias de comandos personalizadas para que se iniciaran automáticamente después de que se iniciaron todas las secuencias de comandos init.d en las versiones antiguas de CentOS 5 y CentOS 6.
Sin embargo, muchas cosas cambiaron en el nuevo CentOS 7.x, eso incluye la forma en que maneja los servicios debido al nuevo sistema de administración de servicios.
En CentOS 7, ese archivo ya no se ejecuta de forma predeterminada (como ocurría en versiones anteriores de CentOS) debido a la adopción de systemd.
¿Cómo ejecutar scripts automáticamente en el momento del arranque en CentOS 7?
Para ejecutar / ejecutar scripts automáticamente desde el archivo rc.local (/etc/rc.d/rc.local), debe aplicar permisos de ejecución a ese archivo
Hagámoslo ejecutable ejecutando este comando como root:
chmod +x /etc/rc.d/rc.local
si eso no funciona intente
chmod u+x /etc/rc.d/rc.local
Este comando chmod activa el nuevo rc-local que depende del servicio Systemd.
Una vez hecho esto, puede ejecutar secuencias de comandos automáticamente editando /etc/rc.local, que es un enlace simbólico al archivo /etc/rc.d/rc.local.
Ahora simplemente agregue sus secuencias de comandos al final de ese archivo y eso es todo, en este punto, debe ejecutar automáticamente las secuencias de comandos en el momento del arranque en CentOS 7.
¿Cómo puedo probar que mis scripts se ejecuten automáticamente después del arranque en CentOS 7?
Fácil. Pruebe el servicio rc-local ejecutando:
systemctl start rc-local
Otra forma de probarlo es reiniciar su servidor:
shutdow now -rf
Lectura adicional:
- Notas de la versión de CentOS 7