Búsqueda de sitios web

11 ejemplos de tareas de programación cron en Linux


En este artículo, revisaremos y veremos cómo podemos programar y ejecutar tareas de Linux en segundo plano automáticamente a intervalos regulares usando el comando Crontab.

Lidiar manualmente con un trabajo frecuente es una tarea desalentadora para los administradores de sistemas y dichas tareas se pueden programar y ejecutar automáticamente en segundo plano sin intervención humana utilizando cron daemon en Linux o en un sistema operativo tipo Unix.

Por ejemplo, puede automatizar la copia de seguridad del sistema Linux, programar actualizaciones y la sincronización de archivos, y mucho más, utilizando el demonio Cron, que se utiliza para ejecutar tareas programadas desde la línea de comandos. o utilice herramientas en línea para generar trabajos cron.

Cron se activa cada minuto y verifica las tareas programadas en forma contable: Crontab (CRON TABle) es una tabla donde podemos programar este tipo de tareas repetidas. .

Consejos: Cada usuario puede tener su propio crontab para crear, modificar y eliminar tareas. De forma predeterminada, cron está habilitado para los usuarios; sin embargo, podemos restringir a los usuarios agregando una entrada en el archivo /etc/cron.deny.

Crontab en Linux

El archivo Crontab consta de comandos por línea y tiene seis campos en realidad separados por espacios o tabulaciones. Los cinco campos iniciales representan el tiempo para ejecutar las tareas y el último campo es para el comando.

  • Minuto (mantener valores entre 0-59)
  • Hora (mantener valores entre 0-23)
  • Día del mes (mantener valores entre 1-31)
  • El mes del año (mantenga valores entre 1-12 o enero-dic; puede usar las primeras tres letras del nombre de cada mes, es decir, enero o junio .)
  • Día de la semana (mantenga valores entre 0-6 o dom-sáb. Aquí también puede usar las primeras tres letras del nombre de cada día, es decir, domingo o miércoles . )
  • Comando: la /ruta/al/comando o script que desea programar.

1. Listar entradas de Crontab

Enumere o administre la tarea con el comando crontab con la opción -l para el usuario actual.

crontab -l

00 10 * * * /bin/ls >/ls.txt

2. Editar entradas de Crontab

Para editar la entrada de crontab, use -e la opción que se muestra a continuación. El siguiente ejemplo abrirá trabajos programados en el editor VI. Realice los cambios necesarios y deje de presionar las teclas :wq que guardan la configuración automáticamente.

crontab -e

3. Enumerar trabajos cron programados del usuario

Para enumerar los trabajos programados de un usuario en particular llamado tecmint usando la opción como -u (Usuario) y -l (Lista).

crontab -u tecmint -l

no crontab for tecmint

Nota: Sólo el usuario root tiene privilegios completos para ver las entradas crontab de otros usuarios. Los usuarios normales no pueden ver a los demás.

4. Eliminar la entrada de Crontab

Precaución: Crontab con -r el parámetro eliminará los trabajos programados completos sin confirmación de Crontab. Utilice la opción -i antes de eliminar el crontab del usuario.

crontab -r

5. Preguntar antes de eliminar Crontab

crontab con -i la opción le solicitará la confirmación del usuario antes de eliminar el crontab del usuario.

crontab -i -r

crontab: really delete root's crontab?

6. Caracteres especiales permitidos (*, -, /, ?, #)

  • Asterisco(*): coincide con todos los valores del campo o cualquier valor posible.
  • Guión(-): para definir un rango.
  • Barra (/): primer campo /10, que significa cada diez minutos o incremento de rango.
  • La coma (,): para separar elementos.

7. Programación cron en todo el sistema

Un administrador del sistema puede utilizar el directorio cron predefinido como se muestra a continuación.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.horaly
  • /etc/cron.mensual
  • /etc/cron.semanal

8. Programe un trabajo para un tiempo específico

Los siguientes trabajos eliminan archivos y directorios vacíos de /tmp a las 12:30 diariamente. Debe mencionar el nombre de usuario para ejecutar el comando crontab. En el siguiente ejemplo, el usuario root está realizando un trabajo cron.

crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

9. Cadenas especiales para horario común

@reboot

El comando se ejecutará cuando el sistema se reinicie.

@daily

Una vez al día o puede usar @midnight.

@weekly

Una vez por semana.

@yearly

Una vez al año. También podemos usar la palabra clave @annually.

Debe reemplazar cinco campos del comando cron con palabras clave si desea utilizar los mismos.

10. Múltiples comandos con doble signo (&&)

En el siguiente ejemplo, comando1 y comando2 se ejecutan diariamente.

crontab -e

@daily <command1> && <command2>

11. Desactive las notificaciones por correo electrónico.

De forma predeterminada, cron envía correo a la cuenta de usuario que ejecuta cronjob. Si desea desactivarlo, agregue su trabajo cron similar al siguiente ejemplo. El uso de la opción >/dev/null 2>&1 al final del archivo redirigirá toda la salida de los resultados cron en /dev/null.

[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1

conclusión: La automatización de tareas puede ayudarnos a realizar nuestras tareas de mejor manera, sin errores y de manera eficiente. Puede consultar una página de manual de crontab para obtener más información escribiendo el comando 'man crontab' en su terminal.