Blog
Linux and Bash: Cron, variables de entorno y otras herramientas
- Publicado por: xio88
- Categoría: Blog
Cron toma su nombre de la palabra griega “Chronos“, que significa tiempo.
Se trata de un proceso que ejecuta automáticamente tareas de acuerdo con una programación específica. Es un conjunto de comandos que se utilizan para ejecutar tareas de programación regular. Crontab es también el nombre del programa utilizado para modificar esta programación. Está controlado por un archivo crontab, un archivo de configuración que especifica los comandos del shell que se ejecutarán periódicamente para el programa específico.
Crontab se utiliza a menudo para automatizar tareas como la gestión de registros, la limpieza de datos de caché, el envío de correos electrónicos de boletines o la automatización de su secuencia de comandos de raspado de datos.
Sintaxis de Cron Job
Un Cron Job es una automatización de tareas a realizar. La sintaxis es la siguiente:
* * * * * command/script
De izquierda a derecha:
- El primer * corresponde a los Minutos (0-59);
- El segundo * corresponde a las Horas (0-23);
- El tercero * corresponde al Día del mes (1-31);
- El cuarto * corresponde al Mes del año (1-12);
- El quinto * corresponde al Día de la semana (0-6, de domingo a sábado).
Para especificar varios valores en un campo, utiliza los siguientes símbolos de operador:
- Asterisco (*): Para especificar todos los valores posibles de un campo;
- Guión (–): Para especificar un rango de valores ;
- Coma (,): Para especificar una lista de valores;
- El separador (/): Para especificar un valor de paso.
Ejemplo Cron Job
A continuación se muestran algunos ejemplos que utilizan la sintaxis anterior:
Ejecuta un Cron Job a las 5:15 a.m. todos los días.
15 5 * * * command/script
Ejecuta un Cron Job a las 5.15am cada segundo día del mes.
15 5 2 * * command/script
Ejecuta un Cron Job cada 5 horas.
0 */5 * * * command/script
Ejecuta un Cron Job todos los lunes y miércoles de enero y febrero.
0 0 * jan,feb mon,wed command/script
Puesta en práctica
Crea el siguiente script test.sh:
#!/bin/bash echo "Cron Job" >> ~/cront.txt
A continuación, otorga derechos de ejecución al script test.sh mediante la siguiente instrucción:
chmod +x ~/test.sh
Ahora ejecuta el comando crontab -e para añadir un trabajo.
Inserta la siguiente línea en el archivo: */1 * * * ~/test.sh.
El Cron Job definido ejecuta nuestro script a intervalos de 1 minuto: observe la evolución del archivo data_cron.txt a lo largo de los minutos.
Comandos comunes Cron Job
- crontab -e: Para modificar el archivo crontab del usuario actual;
- crontab -l : Para mostrar el contenido del archivo crontab ;
- crontab -u [nombredeusuario]` : Para modificar el archivo crontab de otro usuario;
- crontab -r Para eliminar el archivo crontab del usuario actual ;
- crontab -i: Para mostrar un mensaje antes de eliminar el archivo crontab del usuario actual.