Cómo programar crontab para ejecutar en el tiempo de arranque del sistema
Los sistemas de Linux y Unix vienen preinstalados con el cron Utility, un programador de trabajo que facilita la programación de trabajos en el archivo CRONTAB. La misma utilidad está disponible para macOS. La sintaxis para programar trabajos a intervalos dados se proporciona a continuación:
Min Hora Día del Mes Mes día de semana [Comando]
Por ejemplo, puede usar el siguiente comando si necesita ejecutar un script de copia de seguridad cada 20 minutos desde las 3:00 p.metro. a 4:00 p.metro. a diario.
*/20 15-16 * * */ruta/a/copia de seguridad.mierda
El comando anterior funciona cuando necesita ejecutar un trabajo en un momento particular, pero ¿qué pasa si necesita el mismo comando para ejecutar después de cada arranque??
Para establecer el mismo comando para ejecutarse cuando el sistema se reinicie, reemplace los campos de fecha y hora con @reboot. El nuevo comando sería:
@reboot/rath/to/backup.mierda
En el comando anterior, el @reiniciar Especifica que CRON debe ejecutar el comando especificado después de cada arranque. Nuevamente, debemos agregar el comando al archivo CRONTAB.
Use el siguiente comando para abrir el archivo CRONTAB y editarlo para agregar nuestro nuevo trabajo.
crontab -e
Tenga en cuenta que estamos creando el trabajo para el usuario actual. Si necesita programar la tarea para un usuario diferente, por ejemplo, un usuario nombrado Linuxhint1, El siguiente comando sería:
crontab -e -u linuxhint1
Una vez que se abra el archivo CRONTAB, agregue el comando en el resultado final. Guarda el archivo y cierra.
Además, tenga en cuenta que estamos usando un nano editor, su editor puede ser diferente, pero el comando es el mismo.
Si el trabajo se programa correctamente, debe recibir un mensaje como el que se muestra en la siguiente imagen para indicar una instalación exitosa del nuevo CRONTAB:
Aún así, puede usar el siguiente comando para enumerar los trabajos programados.
crontab -l
Si ya no desea ejecutar el comando en el momento del arranque, puede eliminarlo editando el archivo CRONTAB o utilizando el comando proporcionado a continuación. Tenga en cuenta que el siguiente comando elimina todos los trabajos programados. Si eso no es lo que desea lograr, desplácese hacia abajo en el Crontab y elimine manualmente el trabajo usando un editor.
crontab -r
El @Rboot ejecuta un comando inmediatamente después del tiempo de arranque. Sin embargo, puede especificar un período de sueño antes de que se ejecute el comando. Por ejemplo, si necesita el comando para ejecutar 10 minutos después del arranque, debe establecer el tiempo en segundos.
El comando sería.
@Rboot Sleep 600/Path/to/Backup.mierda
600 representa los 10 minutos expresados en segundos y dormir es la opción de usar al especificar el tiempo antes de la ejecución.
Nuestro nuevo archivo CRONTAB se establecería, como se muestra a continuación:
La próxima vez que reinicie su servidor, el script de copia de seguridad o el comando set se ejecutará después de 10 minutos.
Por último, podemos verificar que el trabajo programado se ejecutará revisando el estado para servicio crond. Debería ser activo. Use el siguiente comando para verificar su estado:
sudo systemctl status cron.servicio
Está listo para ir si obtiene una salida como la siguiente salida:
Si el estado de Crond no está activo, puede habilitarlo usando el siguiente comando, luego verifique el estado:
sudo systemctl habilitar cron.servicio
Eso es todo. Su comando se ejecutará en el momento del arranque.
Conclusión
Saber cómo programar trabajos en el momento del arranque es esencial para los administradores de Linux. Afortunadamente, esta guía cubrió una guía práctica completa sobre cómo hacerlo usando la utilidad de Linux Cron. Además, discutimos cómo podría establecer un tiempo de sueño antes de que se ejecute el comando.