====== cron ====== Administrador de procesos en segundo plano que ejecuta programas o scripts a intervalos regulares. Los procesos que deben ejecutarse y la hora a la que deben hacerlo se especifican en el archivo ''crontab''. El nombre **cron** proviene del griego //chronos// (χρόνος) que significa **tiempo**. Cron se puede definir como el equivalente a **Tareas Programadas** de Windows. ===== crontab ===== ''crontab'' es el fichero que contiene la programación del cron, es decir, donde se define cuándo se ejecutarán los programas o scripts. Estructura: .--------------- minuto (0-59) | .------------ hora (0-23) | | .--------- día del mes (1-31) | | | .------ mes (1-12) o jan,feb,mar,apr,may,jun,jul... (meses en inglés) | | | | .--- día de la semana (0-6) (domingo=0 ó 7) o sun,mon,tue,wed,thu,fri,sat (días en inglés) | | | | | * * * * * comando a ejecutar Ejemplo: 1 0 * * * echo -n "" > /www/apache/logs/error_log La configuración anterior está diciendo a cron que se vacíe el fichero ''/www/apache/logs/error_log'' a las 00:01 diariamente. Otro ejemplo: */5 * * * * /home/user/test.pl El script ''/home/user/test.pl'' se ejecutará cada 5 minutos. Es posible indicar más de un comando si lo separamos por punto y coma ('';''): 30 21 * * * cd /media/linux/isos;wget http://example.com/archivo.loquesea * [[https://crontab.guru/examples.html|Cron Examples]] ==== Horarios predefinidos ==== Hay varios valores predefinidos que se pueden utilizar para sustituir una expresión del cron: ^ Entrada ^ Descripción ^ Equivale A^ | ''@yearly'' | Se ejecuta una vez al año | ''0 0 1 1 *'' | | ''@annually'' | (igual que @yearly) | ''0 0 1 1 *'' | | ''@monthly'' | Se ejecuta una vez al mes | ''0 0 1 * *'' | | ''@weekly'' | Se ejecuta una vez a la semana | ''0 0 * * 0'' | | ''@daily'' | Se ejecuta una vez al día | ''0 0 * * *'' | | ''@midnight'' | (igual que @daily) | ''0 0 * * *'' | | ''@hourly'' | Se ejecuta una vez cada hora | ''0 * * * *'' | Por ejemplo, si vamos a ejecutar algo cada hora, tendríamos dos opciones: 0 * * * * comando O utilizando el valor predefinido ''@hourly'': @hourly comando ===== Recursos ===== * [[https://crontab.guru/|crontab guru]]: editor de expresiones para usar en la programación del cron.