Crontab en Linux: EJEMPLOS de programación de trabajos
¿Qué es crontab?
Cron lleva el nombre de la palabra griega "Chronos" que se usa para tiempo. Es un proceso del sistema que realizará tareas automáticamente según el cronograma específico. Es un conjunto de comandos que se utilizan para ejecutar tareas de programación habituales. Crontab significa "tabla cron". Permite utilizar el programador de trabajos, conocido como cron, para ejecutar tareas.
Crontab es también el nombre del programa que se utiliza para editar ese horario. Está controlado por un archivo crontab, un archivo de configuración que indica que los comandos del shell se ejecutarán periódicamente según una programación específica.
¿Por qué utilizar Cronjobs?
Estas son las razones para usar Cronjobs en Linux:
- Ayuda al sistema operativo a realizar una copia de seguridad programada de los archivos de registro o la base de datos.
- Eliminar archivos de registro antiguos
- Archive y purga tablas de bases de datos
- Enviar cualquier correo electrónico de notificación, como boletines informativos o correo electrónico de vencimiento de contraseña.
- Limpieza periódica de datos almacenados en caché
- Crontab es una opción ideal para automatizar trabajos de Unix.
- Se utiliza para automatizar el mantenimiento del sistema.
¿Cómo usar cron en Linux?
Sistema Linux pack tiene un útil programador de tareas llamado crontab. Crontab es popular porque se puede programar para ejecutar un proceso automatizado como root. Por lo tanto, tener un proceso automatizado ejecutándose como root facilita los cambios en el sistema. Sólo necesita cambiar la tarea y luego esperar hasta que se reinicie.
Formato crontab de Linux
Crontab de Linux tiene seis campos. Los primeros cinco campos definen la hora y la fecha de ejecución, y el sexto campo se utiliza para la ejecución del comando.
Sintaxis de crontab:
[Minute] [hour] [Day_of_the_Month] [Month_of_the_Year] [Day_of_the_Week] [command]
- Ástricas (*): Usar para emparejar
- Definir rango: Le permite definir un rango con la ayuda de un guión como 1-10 o 30-40 o enero-marzo, lunes-miércoles.
- Definir múltiples rangos: Le permite definir varios rangos con comandos separados como abr-jun, oct-dic.
Cómo agregar/modificar Crontab
El usuario puede editar sus trabajos crontab con la ayuda del siguiente comando crontab:
$ crontab -u -e
El comando anterior abrirá la configuración crontab personal de su sistema informático, que puede editarse utilizando su editor de texto predeterminado.
No es necesario reiniciar su crontab ya que recogerá sus cambios automáticamente cuando utilice el siguiente comando.
$ crontab -l
Para eliminar las tareas crontab, utilice el siguiente comando.
$ crontab -r
Para agregar o actualizar un trabajo en crontab, use el comando que se proporciona a continuación.
crontab -e
Comando para editar el crontab de otro usuario
crontab -u username -e
Cómo listar Crontab
Comando para ver las entradas de crontab del usuario actual
crontab -l
Comando para ver las entradas de crontab de un usuario específico:
crontab -u username -l
Ejemplos importantes de Crontab
Aquí hay algunos ejemplos importantes de Crontab.
Descripciones | Comando |
---|---|
Comando cron para realizar los distintos trabajos de programación. El siguiente comando se ejecuta a las 7 a. m. y a las 5 p. m. todos los días. |
0 7,17 * * * /scripts/script.sh |
Comando para ejecutar un cron cada 5 minutos. |
*/5* * * * * /scripts/script.sh |
El comando del programador cron le ayuda a ejecutar la tarea en cada Monday a las 5 a.m. Este comando es útil para realizar tareas semanales como la limpieza del sistema. |
0 5 * * mon /scripts/script.sh |
El comando ejecuta su script en un intervalo de 3 minutos. |
*/3 * * * * /scripts/monitor.sh |
Comando para programar un cron que se ejecuta durante un mes específico. Este comando para ejecutar tareas se ejecuta en los meses de febrero, junio y septiembre. A veces necesitamos programar una tarea para ejecutar una tarea mensual seleccionada. |
* * * feb,jun,sep * /script/script.sh |
Comando a ejecutar en los días seleccionados. Este ejemplo ejecutará cada Monday y miércoles a las 5 h. |
0 17 * * mon,wed /script/script.sh |
Este comando permite que cron se ejecute el primer sábado de cada mes. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Comando para ejecutar un script durante un intervalo de 6 horas para que pueda configurarse como se muestra a continuación. |
0 */6 * * * /scripts/script.sh |
Este comando programa una tarea para ejecutarla dos veces el Monday y martes. Utilice la siguiente configuración para hacerlo. |
0 4,17 * * mon,tue /scripts/script.sh |
El comando programa un cron para que se ejecute cada 15 segundos. |
* * * * * /scripts/script.sh * * * * * sleep 15; /scripts/script.sh |
Comando para programar tareas anualmente. @la marca de tiempo anual es = "0 0 5 1 *". Este ejecuta la tarea en el quinto minuto de cada año. Puedes usarlo para enviar saludos de año nuevo. |
@yearly /scripts/script.sh |
Tareas de mando a ejecutar mensualmente. La marca de tiempo @mensual es similar a “0 0 1 * *”. Esta expresión de comando permite la ejecución de una tarea en el primer minuto del mes. |
@monthly /scripts/script.sh |
Comando para ejecutar múltiples tareas usando un solo cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
Comando para programar tareas a ejecutar semanalmente. La marca de tiempo @weekly es similar a “0 0 4 * sol”. Esto se utiliza para realizar las tareas semanales como la limpieza del sistema, etc. |
@weekly /bin/script.sh |
La tarea se programará para ejecutarse diariamente. La marca de tiempo @daily es similar a “0 2 * * *”. Ejecuta la tarea en el segundo minuto de cada día. |
@daily /scripts/script.sh |
Permite que las tareas se ejecuten cada hora. La marca de tiempo @hourly es similar a “0 * * * *”. Este comando ejecuta una tarea en el primer minuto de cada hora. |
@hourly /scripts/script.sh |
Permite que las tareas se ejecuten al reiniciar el sistema. La expresión @reboot es útil para aquellas tareas que el sistema desea ejecutar al iniciar el sistema. Esto es útil para iniciar tareas en segundo plano automáticamente. |
@reboot /scripts/script.sh |
Resumen:
- Cron lleva el nombre de la palabra griega "Chronos" que se usa para tiempo.
- Los cronjobs ayudan al sistema operativo a realizar una copia de seguridad programada de los archivos de registro o la base de datos.
- El paquete del sistema Linux tiene un útil programador de tareas llamado crontab que se puede programar para ejecutar un proceso automatizado como root.
- Crontab de Linux tiene seis campos. Los primeros cinco campos definen la hora y la fecha de ejecución, y el sexto campo se utiliza para la ejecución del comando.