En este artículo vamos a revisar y ver cómo podemos programar y ejecutar tareas en segundo plano automáticamente a intervalos regulares usando el comando Crontab . Tratar un trabajo frecuente de forma manual es una tarea abrumadora para el administrador del sistema. Dicho proceso se puede programar y ejecutar automáticamente en segundo plano sin intervención humana utilizando el demonio cron en Linux o un sistema operativo similar a Unix.
Lea también : Cómo crear y administrar trabajos Cron en Linux
Por ejemplo, puede automatizar procesos como copias de seguridad , programar actualizaciones y sincronización de archivos y muchos más. Cron es un demonio para ejecutar tareas programadas. Cron se despierta cada minuto y verifica las tareas programadas en crontable. Crontab ( CRON TABle ) es una tabla donde podemos programar este tipo de tareas repetidas.
Sugerencias: 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 la adición de entradas en el archivo /etc/cron.deny .
11 ejemplos de comandos Cron en Linux
El archivo Crontab consta de un comando por línea y tiene seis campos separados por espacio o tabulación. Los cinco campos iniciales representan el tiempo para ejecutar las tareas y el último campo es para el comando.
- Minuto (mantener valores entre 0 y 59 )
- Hora (mantener valores entre 0-23 )
- Día del mes (mantenga los valores entre 1 y 31 )
- Mes del año (mantenga los valores entre 1 y <strong>12</strong> o de enero a diciembre , 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, dom o miércoles ).
- Mando
1. Enumere las 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 crontab, use la opción -e como se muestra a continuación. En el siguiente ejemplo, se abrirán trabajos de programación en el editor VI . Realice los cambios necesarios y deje de presionar las teclas : wq que <strong>guardan</strong> la configuración automáticamente.
# crontab -e
3. Enumere los trabajos cron programados
Para listar trabajos programados de un usuario en particular llamado tecmint usando la opción -u ( Usuario ) y -l ( Lista ).
# crontab -u tecmint -l no crontab for tecmint
Nota: Solo el usuario root tiene privilegios completos para ver la entrada crontab de otros usuarios. El usuario normal no puede verlo otros.
4. Eliminar la entrada de Crontab
Precaución: Crontab con el parámetro -r eliminará los trabajos programados completos sin la 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 la opción -i le pedirá confirmación del usuario antes de eliminar el crontab del usuario.
# crontab -i -r crontab: really delete root's crontab?
6. Carácter especial permitido (*, -, /,?, #)
- Asterik (*) : coincide con todos los valores del campo o con cualquier valor posible.
- Guión (-) : para definir el rango.
- Barra oblicua (/) : primer campo / 10, lo que significa cada diez minutos o cada incremento de rango.
- Coma (,) : para separar elementos.
7. Programación cronológica de todo el sistema
El administrador del sistema puede usar el directorio cron predefinido como se muestra a continuación.
- /etc/cron.d
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.weekly
8. Programe trabajos para un tiempo específico
Los siguientes trabajos eliminan los archivos y el directorio vacíos de / tmp a las 12:30 am todos los días. 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
Significados de cadenas
@reiniciar | El comando se ejecutará cuando el sistema se reinicie. |
@a diario | Una vez al día o puede usar @midnight. |
@semanal | Una vez por semana. |
@anual | Una vez al año. también podemos usar la palabra clave @annually. |
Necesita reemplazar cinco campos del comando cron con una palabra clave si desea usar el mismo.
10. Múltiples comandos con doble amper-arena (&amp&amp)
En el siguiente ejemplo, command1 y command2 se ejecutan diariamente.
# crontab -e @daily <command1> && <command2>
11. Desactive la notificación por correo electrónico.
Por defecto, cron envía correo a la cuenta de usuario que ejecuta cronjob. Si desea deshabilitarlo, agregue su trabajo cron similar al siguiente ejemplo. El uso de la opción <strong>&gt / dev / null 2&gt &amp 1</strong> al final del archivo redirigirá toda la salida de los resultados cron en / dev / null .
[[email protected] ]# crontab -e * * * * * >/dev/null 2>&1
Conclusión: La automatización de tareas puede ayudarnos a realizar nuestra tarea de mejor manera, sin errores y de manera eficiente. Puede consultar la página del manual de crontab para obtener más información escribiendo el comando ‘ man crontab ‘ en su terminal.
CentOS , Fedora , comandos de Linux , distribuciones de Linux , RedHat