¿Alguna vez ha querido ejecutar un script al inicio con privilegios de root? Si tiene un servidor doméstico, o tal vez incluso solo un escritorio Linux, esto podría haber pasado por su mente. Esto suena dudoso, pero si comprende los riesgos, la recompensa por hacerlo puede ser bastante buena.
Las razones principales son que ya no sería necesario iniciar el servidor, iniciar sesión a través de ssh, ingresar una contraseña, obtener un shell raíz y luego ejecutar manualmente un script tras otro. ¡En su lugar, aproveche el poder de cron y configure su sistema para ejecutar automáticamente estos scripts al inicio! Aquí está cómo hacerlo.
Configurando Cron
La mayoría de las distribuciones de Linux vienen con la capacidad de acceder a cron con solo ingresar crontab -e
. Sin embargo, si ingresó este comando y no sucedió nada, está en una distribución de Linux que no tiene forma de interactuar con cron. Esto significa que deberá instalar una herramienta para continuar. La herramienta más popular para usar en esta situación es un demonio conocido como «amigo». Es una herramienta muy popular y reside en los repositorios de distribución de Linux más populares.
Abra una terminal e instale cronie con su administrador de paquetes. Alternativamente, dirígete a este página y descarga un paquete para tu distribución.
Configurando el script con Cron
Abrir un crontab es muy fácil. Para comenzar, abra una ventana de terminal e ingrese el siguiente comando:
Nota: la sudo
es importante si desea ejecutar el script como root. Puede omitir el sudo
si solo desea ejecutar el script como un usuario normal.
Si el sistema no ha usado crontab antes, el usuario deberá especificar un editor con el que trabajar. Aunque todos los editores son buenos a su manera, elija «nano», ya que es el editor de texto más simple y no requiere mucho esfuerzo. Con el editor seleccionado, cron cargará un archivo predeterminado con instrucciones detalladas sobre cómo funciona todo.
Dentro del editor nano en la terminal, desplácese hasta el final y comience escribiendo «@reboot». los reboot
El comando es clave aquí, ya que le dice al cron que reinicie este comando para que se ejecute cada vez. Inmediatamente después de reiniciar, agregue la ruta completa del archivo al script bash.
@reboot /home/derrik/startupscript.sh
Ahora que el comando está configurado, se puede guardar el crontab. Presione «Ctrl + o» en el teclado. Esto le pedirá al usuario que «escriba el archivo». Por defecto, cron nombra el crontab, así que no cambies nada. Pulse la tecla Intro para guardar el crontab.
Eliminar el script del inicio
De la misma manera que se agregó el comando al crontab, se puede eliminar. Para hacer esto, abra una terminal e ingrese sudo crontab -e
. Esto cargará el archivo crontab. Simplemente elimine el comando que se agregó, guárdelo y reinicie la computadora (o el servidor).
Solución de problemas de Cron
A veces, cron no ejecuta comandos y eso puede ser un problema. La forma más fácil de solucionar cualquier problema con cron (si hay alguno) es mirar el registro del sistema. Para hacer eso, abra la ventana del terminal e ingrese este comando:
grep CRON /var/log/syslog
El syslog muestra todos los eventos del sistema, y al usar el grep
comando, es posible filtrar lo que hace cron y crontag. Esto debería permitir a los usuarios solucionar y solucionar fácilmente cualquier problema que pueda salir mal.
Conclusión
Bash scripting es una cosa maravillosa, y es una de las grandes fortalezas de Linux. Hace que la administración de servidores e incluso las computadoras Linux regulares sea más fácil debido a la capacidad de tomar grandes cantidades de comandos y automatizarlos. Al agregar cron a la imagen, estos scripts tienen el poder de volverse aún más útiles. No más retoques después de que se inicie su caja de Linux. ¡Solo configúralo y olvídalo!
¿Qué scripts raíz ejecutaría al inicio en su caja de Linux? ¡Cuéntanos a continuación!