Uso de cron

De KIUBIX
Ir a la navegación Ir a la búsqueda

Cron es un servicio que corre comandos a intervalos regulares y que está presente en la mayoría de las distribuciones de Linux. Es el equivalente a las "tareas programadas" de Windows. El servicio de Cron lee la configuración de un archivo llamado crontab que pertenece a cada usuario y que es editable con el comando: crontab -e También existe el archivo /etc/crontab que funciona como configuración general del sistema y es ejecutado por el user root por defecto, pero en el cual podemos definir en realidad qué usuario ejecuta cada comando. Si abrimos este archivo veremos una estructura de lineas como la siguiente:

  .--------------- minuto (0-59) 
  |  .------------ hora (0-23)
  |  |  .--------- día del mes (1-31)
  |  |  |  .------ mes (1-12 / jan-dec) 
  |  |  |  |  .--- día de la semana (0-6 / sun-sat)
  |  |  |  |  |
  *  *  *  *  * usuario comando a ejecutar

Por defecto el * es un comodín que implica que el comando se ejecutara sin importar cual sea ese valor. Por ejemplo si quiero que un comando se ejecute todos los dias a la 1 de la mañana, solo tengo que agregar una linea que diga:

  * 1 * * * * comando

Si quiero que un comando por lo contrario, corra solo un dia especifico de cierto mes a un horario especifico, voy a tener que ser mas preciso:

  30 1 20 5 * comando

La anterior línea de cron ejecuta un comando todos los 20 de Julio a las 1:30 de la mañana. Si mi equipo esta apagado para ese momento, esperará al año próximo para correr el comando. Lo que no todos saben es que cron permite también configuraciones utilizando tiempos relativos y no absolutos. Por ejemplo, podemos hacer que un comando corra cada 10 minutos simplemente "dividiendo" el comodín de los minutos por 10:

  * */10 * * * comando




By: JCMS