Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
linux:cron:cron [15/11/2011 01:59] – editor externo 127.0.0.1linux:cron:cron [09/02/2026 02:23] (actual) – [Uso "elaborado"] mate
Línia 1: Línia 1:
-=cron+=cron / crontab
 ==Conceptos básicos ==Conceptos básicos
 +Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab **/etc/crontab** o en **/var/spool/cron**
 +
 comprobar si está en ejecución: comprobar si está en ejecución:
 <code>$ ps -ef | grep crond</code> <code>$ ps -ef | grep crond</code>
Línia 17: Línia 19:
  
 ==Uso "elaborado" ==Uso "elaborado"
-modificar /etc/crontab+modificar ''/etc/crontab''
 las lineas que realmente ejecutan los "trabajos" son del estilo: las lineas que realmente ejecutan los "trabajos" son del estilo:
 <code>* * * * * <usuario> <comando> [ > /dev/null 2>&1 ]</code> <code>* * * * * <usuario> <comando> [ > /dev/null 2>&1 ]</code>
  
-Donde los primeros asteríscos corresponden, de izquierda a derecha: +  * indicar rangos: 1-3 
-  minuto +  * indicar listas: 1,3,5,7 
-  * hora +  * indicar fracciones: 
-  * día del mes +    * */15 -> cada 15 minutos (0,15,30,45) 
-  * mes +    * 1-59/3 -> cada 3 minutos, empezando por el minuto 1... 1,4,7,10... Diferente de */3 (0,3,6,9,12...) 
-  * dia de la semana +    * 1-10/-> los 1,3,5,7,9 (empieza en el 1, a saltos de 2) 
- +    * 2/4 -> 2,6,10,14  ??? 
-Un asterisco indica "cualquiera",  +    * indicando el rango de minutos, conseguimos desfasar de las ejecuciones de fracciones más simples 
-  * Se puede indicar rangos: 1-3 +  * En algunas distribuciones, se pueden indicar interrogantes -> asumirá el minuto/hora/dia en el que fue iniciado el cron y a partir de ese momento siempre será ese. 
-  * Se pueden indicar listas: 1,3,5,7 +  * *L* : indica "último" (last) 
-  * Se pueden indicar fracciones: */15 ==> cada 15 minutos, 1-10/=> los 1,3,5,7,9 (empieza en el 1, a saltos de 2)2/4 => 2,6,10,14+    * en el caso del día de la semana, sería el último X del mes 
 +    * en el caso del día del mes, sería el último día del mes 
 +  * *W* : día de la semana (weekday) 
 +    * usado en el día del mes, ejecuta la tarea el día laboral más cercano. 
 +    * ejemplo: 15W, si el 15 es sábado, lo ejecuta el viernes 14, si es domingo lo ejecuta el lunes 16 
 +  * *#* : usar en campo dia de la semana 
 +    * permite ejecutar un determinado día de la semana de una semana concreta 
 +    * ejempo: 5#3 ejecutaría el viernes de la tercera semana 
 +  * *H* : hashed 
 +    * repite en algún momento indeterminado, pero invariable a partir de entonces 
 +  * [[https://en.wikipedia.org/wiki/Cron#Format]]
  
 <code> <code>
Línia 48: Línia 60:
 , permite definir varios valores , permite definir varios valores
 </code> </code>
 +
 +otros formatos (special strings):
 +  * @reboot -> Run once, at startup.
 +  * @yearly -> Run once a year, "0 0 1 1 *".
 +  * @annually -> (same as @yearly)
 +  * @monthly -> Run once a month, "0 0 1 * *".
 +  * @weekly -> Run once a week, "0 0 * * 0".
 +  * @daily -> Run once a day, "0 0 * * *".
 +  * @midnight -> (same as @daily)
 +  * @hourly -> Run once an hour, "0 * * * *".
 +
 ==personalizado ==personalizado
 con los siguientes comandos podemos gestionar nuestros propios trabajos CRON (individual para cada usuario): con los siguientes comandos podemos gestionar nuestros propios trabajos CRON (individual para cada usuario):
Línia 63: Línia 86:
  
 El fichero se guarda, a buen recaudo, en ''/var/spool/cron/crontabs'' (en una debian, al menos) El fichero se guarda, a buen recaudo, en ''/var/spool/cron/crontabs'' (en una debian, al menos)
 +
 +== ejemplos
 +  * ejecuta el trabajo a las 00:00, 06:00, 12:00, 18:00
 +<code bash>
 +0 0,6,12,18 * * * /comando
 +</code>
 +  * ejecuta el trabajo a las 00:00, 06:00, 12:00, 18:00 pero solo los días laborables:
 +<code bash>
 +0 0,6,12,18 * * 1-5 /comando
 +</code>
 +  * ejecuta el trabajo a las 00:00, 06:00, de 9:00 a 15:00 cada hora, 18:00 pero solo los días laborables:
 +<code bash>
 +0 0,6,9-15,18 * * 1-5 /comando
 +</code>
 +  * ejecuta el trabajo cada 6 horas (basicamente, cuando la división da 0 de resto) a la hora en punto (el 0 de los minutos):
 +<code bash>
 +0 */6 * * * /comando
 +</code>
 +  * ejecuta el trabajo cada 5 minutos:
 +<code bash>
 +*/5 * * * * /comando
 +</code>
 +  * ejecuta el trabajo todos los días pares a las 12:00:
 +<code bash>
 +0 12 */2 * * /comando
 +</code>
 +
 ==seguridad ==seguridad
 se puede controlar quien usa y quien no el servicio CRON en los archivos: se puede controlar quien usa y quien no el servicio CRON en los archivos:
Línia 76: Línia 126:
  
 == más info == más info
-{{:linux:cron:cron_on_linux.pdf|Cron on Linux}} +  * [[https://help.ubuntu.com/community/CronHowto]] 
 +  * [[https://www.freebsd.org/cgi/man.cgi?crontab%285%29]] 
 +  * [[https://blog.desdelinux.net/cron-crontab-explicados/]]
  
-{{tag>linux}} 
  • linux/cron/cron.1321351182.txt.gz
  • Darrera modificació: 06/03/2012 12:16
  • (edició externa)