Cron es un demonio de programación de trabajos basado en el tiempo en sistemas operativos basados en Linux. Se utiliza para programar tareas específicas para que se ejecuten periódicamente en horas, fechas o intervalos fijos. Es muy similar a la utilidad de programación de tareas de Windows y es muy útil para tareas rutinarias, como:
- Copias de seguridad diarias
- Escaneo del sistema
- Mantenimiento del sistema automatizado
El demonio cron se ejecuta en segundo plano y verifica continuamente el archivo /etc/crontab y los directorios /etc/cron.*/.
Sintaxis de Crontab
La sintaxis básica del archivo crontab se muestra a continuación:
M H DOM MON DOW USER COMMAND * * * * * root command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
- Minutos (M) especificado como un número del 0 al 59.
- Horas (H) especificado como números del 0 al 23.
- Días del mes (DOM) especificado como números del 1 al 31.
- Meses (LUN) especificado como números del 1 al 12.
- Días de la semana (DOW) especificado como números del 0 al 7, con el domingo representado como 0 y 7/ambos.
Comandos Crontab
A continuación se muestran algunos comandos crontab de uso común:
- crontab -e :se usa para editar o crear un nuevo archivo crontab.
- crontab -l :se usa para mostrar el contenido del archivo crontab.
- crontab -i :se usa para eliminar el archivo crontab actual con un aviso antes de eliminarlo.
- crontab -r :se usa para eliminar el archivo crontab actual sin preguntar.
- crontab -u:se usa para editar el archivo crontab de otro usuario.
1. Programe un cron para que se ejecute a las 10 a.m. Tarea diaria
Si desea que un script llamado /opt/test.sh se ejecute todos los días a las 10 a. m., ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
0 10 * * * /bin/sh /opt/test.sh
2. Programe un cron para que se ejecute cada 5 minutos
Para ejecutar un script test.sh cada 5 minutos, redirigir la salida estándar a /dev/null y enviar errores a una dirección de correo electrónico específica, ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
[email protected] */5 * * * * /bin/sh /opt/test.sh > /dev/null
3. Programe un cron para que se ejecute todos los días, cada hora, a la hora de 10:00 a. m. a 6:00 p. m.
Para ejecutar un script test.sh todos los días, cada hora, en el horario de 10 a. m. a 6 p. m., ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
00 10-18 * * * /bin/sh /opt/test.sh
4. Programe un cron para que se ejecute a las 10 a. m. el primer día de cada mes
Para ejecutar un script test.sh a las 10 a. m. el primer día de cada mes, ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
00 10 1 * * /bin/sh /opt/test.sh
5. Programe un cron para que se ejecute 10 minutos después de la medianoche y cada tres horas después de eso, todos los días
Para ejecutar un script test.sh 10 minutos después de la medianoche y cada 3 horas después de eso, todos los días, ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
10 0-23/3 * * * /bin/sh /opt/test.sh
6. Programe un cron para que se ejecute en días específicos
Para ejecutar un script test.sh todos los lunes y viernes a las 6 p. m., ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
0 18 * * mon,fri /bin/sh /opt/test.sh
7. Programe un cron para ejecutar múltiples scripts
Para ejecutar un script test.sh y test1.sh en un intervalo de 2 horas, ejecute el siguiente comando:
crontab -e
Agregue la siguiente línea:
0 */2 * * * /bin/sh /opt/test.sh; /bin/sh /opt/test1.sh
8. Programe un cron para que se ejecute cada semana, mes o año
Para ejecutar un test.sh cada semana, agregue la siguiente línea:
@weekly /bin/sh /opt/test.sh
Para ejecutar un test.sh cada mes, agregue la siguiente línea:
@monthly /bin/sh /opt/test.sh
Para ejecutar un test.sh cada año, agregue la siguiente línea:
@yearly /bin/sh /opt/test.sh
Conclusión
En la guía anterior, aprendió qué es cron y cómo usarlo, con varios ejemplos. ¡Comience a usar trabajos cron para automatizar las tareas diarias hoy con el alojamiento VPS de Atlantic.Net!