‘crontab’ en Linux con ejemplos

El crontab es una lista de comandos que desea ejecutar en un horario regular, y también el nombre del comando utilizado para administrar esa lista. Crontab significa «tabla cron», porque utiliza el programador de trabajos cron para ejecutar tareas; cron en sí mismo lleva el nombre de «chronos», la palabra griega para tiempo. cron es el proceso del sistema que automáticamente realizará tareas para usted de acuerdo con un programa establecido. El horario se llama crontab, que también es el nombre del programa utilizado para editar ese horario. Formato Crontab de Linux

MIN HOUR DOM MON DOW CMD

Campos de crontab y rangos permitidos (sintaxis de crontab de Linux)

Field    Description    Allowed Value
MIN      Minute field    0 to 59
HOUR     Hour field      0 to 23
DOM      Day of Month    1-31
MON      Month field     1-12
DOW      Day Of Week     0-6
CMD      Command         Any command to be executed.

Ejemplos de trabajos cron 1. Programación de un trabajo para un tiempo específico El uso básico de cron es ejecutar un trabajo en un tiempo específico como se muestra a continuación. Esto ejecutará el script de shell de copia de seguridad completa (copia de seguridad completa) el 10 de junio a las 08:30 a. m. El campo de hora utiliza el formato de 24 horas. Entonces, para las 8 a.m. use 8 y para las 8 p.m. use 20.

30 08 10 06 * /home/maverick/full-backup

30 – 30 Minuto 08 – 08 AM 10 – 10 Día 06 – 6 Mes (Junio) * – Todos los días de la semana 2. Para ver las entradas Crontab

  • Ver las entradas de Crontab del usuario que ha iniciado sesión actualmente: Para ver sus entradas de crontab, escriba crontab -l desde su cuenta de Unix.
  • Ver las entradas de Root Crontab: Inicie sesión como usuario root (su – root) y ejecute crontab -l.
  • Para ver las entradas de crontab de otros usuarios de Linux: inicie sesión en la raíz y use -u {nombre de usuario} -l.

3. Para editar las entradas de Crontab Edite las entradas de Crontab del usuario que ha iniciado sesión actualmente. Para editar las entradas de Crontab, use crontab -e. De forma predeterminada, esto editará el crontab actual de los usuarios que iniciaron sesión. 4. Para programar un trabajo por cada minuto usando Cron. Idealmente, es posible que no tenga el requisito de programar un trabajo cada minuto. Pero entender este ejemplo te ayudará a entender los otros ejemplos.

* * * * * CMD

El * significa todas las unidades posibles, es decir, cada minuto de cada hora durante todo el año. Más que usar este * directamente, te resultará muy útil en los siguientes casos. Cuando especifica */5 en el campo de minutos significa cada 5 minutos. Cuando especifica 0-10/2 en el campo de minutos significa cada 2 minutos en los primeros 10 minutos. Por lo tanto, la convención anterior se puede utilizar para todos los otros 4 campos. 5.Para programar un trabajo para más de una vez (por ejemplo, dos veces al día) El siguiente script realiza una copia de seguridad incremental dos veces al día todos los días. Este ejemplo ejecuta la secuencia de comandos de shell de copia de seguridad incremental especificada (copia de seguridad incremental) a las 11:00 y a las 16:00 todos los días. El valor separado por comas en un campo especifica que el comando debe ejecutarse en todo el tiempo mencionado.

00 11, 16 * * * /home/maverick/bin/incremental-backup

00 – Minuto 0 (parte superior de la hora) 11, 16 – 11 a. m. y 4 p . m. * – Todos los días * – Todos los meses * – Todos los días de la semana ) Si desea que se programe un trabajo para cada hora dentro de un intervalo de tiempo específico, utilice lo siguiente.

  • Cron Job todos los días durante el horario laboral: este ejemplo verifica el estado de la base de datos todos los días (incluidos los fines de semana) durante el horario laboral de 9 am a 6 pm
00 09-18 * * * /home/maverick/bin/check-db-status
  • 00 – Minuto 0 (Parte superior de la hora) 09-18 – 9 am, 10 am, 11 am, 12 am, 1 pm, 2 pm, 3 pm, 4 pm, 5 pm, 6 pm * – Todos los días * – Cada mes * – Todos los días de la semana
  • Cron Job todos los días de la semana durante el horario laboral: este ejemplo verifica el estado de la base de datos todos los días de la semana (es decir, excepto los sábados y domingos) durante el horario laboral de 9 a. m. a 6 p. m.
00 09-18 * * 1-5 /home/maverick/bin/check-db-status
  • 00 – Minuto 0 (Parte superior de la hora) 09-18 – 9 am, 10 am, 11 am, 12 am, 1 pm, 2 pm, 3 pm, 4 pm, 5 pm, 6 pm * – Todos los días * – Cada mes 1-5: lunes, martes, miércoles, jueves y viernes (todos los días laborables)

7. Para programar un trabajo Cron en segundo plano cada 10 minutos. Use lo siguiente, si desea verificar el espacio en disco cada 10 minutos.

*/10 * * * * /home/maverick/check-disk-space

Ejecuta el comando especificado check-disk-space cada 10 minutos durante todo el año. Pero es posible que tenga el requisito de ejecutar el comando solo durante ciertas horas o viceversa. Los ejemplos anteriores muestran cómo hacer esas cosas. En lugar de especificar valores en los 5 campos, podemos especificarlo usando una sola palabra clave como se menciona a continuación. Hay casos especiales en los que, en lugar de los 5 campos anteriores, puede usar @ seguido de una palabra clave, como reinicio, medianoche, anual, por hora. Palabras clave especiales de Cron y su significado

Keyword    Equivalent
@yearly    0 0 1 1 *
@daily     0 0 * * *
@hourly    0 * * * *
@reboot    Run at startup.

8. Para programar un trabajo para el primer minuto de cada año usando @anual Si desea que un trabajo se ejecute el primer minuto de cada año, puede usar la palabra clave cron @anual como se muestra a continuación. Esto ejecutará el sistema anual mantenimiento utilizando el script de shell de mantenimiento anual a las 00:00 del 1 de enero de cada año.

@yearly /home/maverick/bin/annual-maintenance

9. Para programar un trabajo de Cron a principios de cada mes usando @monthly Es tan similar como @anual como el anterior. Pero ejecuta el comando mensualmente una vez usando la palabra clave @monthly cron. Esto ejecutará la copia de seguridad en cinta del script de shell a las 00:00 el 1 de cada mes.

@monthly /home/maverick/bin/tape-backup

10.Para programar un trabajo en segundo plano todos los días usando @daily Usando la palabra clave @daily cron, esto hará una limpieza diaria del archivo de registro usando el script de shell cleanup-logs a las 00:00 todos los días.

@daily /home/maverick/bin/cleanup-logs "day started"

11. Para ejecutar un comando de Linux después de cada reinicio usando @reboot Usando la palabra clave @reboot cron, esto ejecutará el comando especificado una vez que la máquina se haya iniciado cada vez.

@reboot CMD

Referencia: página man de Linux para cron Este artículo es una contribución de Kishlay Verma . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *