Foros del Web » Administración de Sistemas » Unix / Linux »

Cron ????

Estas en el tema de Cron ???? en el foro de Unix / Linux en Foros del Web. Hola a todos quien me puede ayudar con algunas preguntas que tengo sobre esto tengo una pagina que saca datos de otras paginas y las ...
  #1 (permalink)  
Antiguo 12/07/2003, 17:53
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 21 años, 9 meses
Puntos: 0
Cron ????

Hola a todos

quien me puede ayudar con algunas preguntas que tengo sobre esto

tengo una pagina que saca datos de otras paginas y las mete a una base de datos mysql
necesito hacer en forma automatica esa actualizacion

segun se Cron de linux lo hace pero lo que no se es que hasta donde funciona la programacion de tareas osea
puedo hacer que me carge una pagina de mi citio a una hora determinada y para hacer las actualizacion de la misma

o solo funciona para tareas programadas de programas del
servidor ??? ( apenas me entiendo xDxDxD)


segun lo que e leido no todos los hosting lo soportan sobretodo los gratuitos

y una ultima consulta tengo un hosting de pago que tiene esa opcion. Puedo procesar paginas de otros hosting o alguna forma para hacerlo para no tener que arrendar otro hosting

enpocas palabras quien tiene un manual o algo (en español por favor jjejeje) donde expliquen el tema a fondo

salu2 y gracias
  #2 (permalink)  
Antiguo 14/07/2003, 00:33
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 11 meses
Puntos: 1
#man cron
  #3 (permalink)  
Antiguo 14/07/2003, 13:08
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 21 años, 9 meses
Puntos: 0


no entiendo
  #4 (permalink)  
Antiguo 15/07/2003, 09:43
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 21 años, 5 meses
Puntos: 1
Hola,

El tema del manejo de cron y crontab es de relativa importancia para cualquier administrador o usuario de equipos con sistemas Unix. Trataré de darte una introducción simple sobre su utilización.

Antes que nada, es importante mencionar que el primer recurso disponible para aprender sobre diferentes aplicaciones comunes en Unix (como cron y crontab), es su documentación propia, que en muchos casos se puede acceder mediante los comandos man o info en una sesión de terminal corriente. A eso se refería nuestro amigo ||Dj||. Si tienes acceso a un equipo con algún sistema Unix y te encuentras en una sesión de terminal, puedes escribir:

Código:
    man cron
    man crontab
o

Código:
    info cron
    info crontab
para aprender más sobre estos comandos. Si no tienes acceso a este tipo de recursos directamente en una máquina determinada, puedes probar suerte y buscar en la web misma. Visita un motor de búsqueda como Google e ingresa "man cron" (o "cron manual" o cosas por el estilo) como términos de búsqueda. Usualmente encontrarás varias páginas en donde se publican estos mismos manuales de los que hemos hablado. Lamentablemente, toda esta información se encuentra disponible en su mayoría en Inglés.

Ahora bien, entrando en materia, hablemos un poco de cron y crontab.

cron y crontab son como tal un par de aplicaciones que ayudan a administrar y ejecutar una serie de comandos personalizables por el usuario. Estos comandos pueden ser básicamente cualquier aplicación ejecutable, de modo que puedes realizar tanto tareas de administración como cualquier otra cosa que desees. El modelo cron te permite controlar los horarios y el modo en que deseas que se ejecuten tus aplicaciones de forma flexible.

De manera básica, todo esto funciona más o menos así:

cron es un "daemonio" (o demonio, si quieres ser más cuidadoso con el castellano), una aplicación que está creada para que permanezca en la memoria de la máquina, ejecutándose en el "fondo" del sistema operativo mientras tu haces tus tareas normales. Este proceso, cron, constantemente realiza su arduo trabajo basado en el contenido de ciertos archivos "crontab", que son únicos para cada usuario de la máquina (de forma que cada usuario puede personalizar sus propios comandos), y que son cargados en memoria cuando cron inicia su ejecución. Cron luego está constantemente revisando de nuevo el material de los crontabs (cada minuto, usualmente), chequeando si hay algún comando que deba ser ejecutado en ese momento dado. Hay otras cosas que hace cron, pero no vale la pena discutirlo aquí.

Como te imaginarás, para un usuario regular, el proceso cron no resulta muy interesante, toda la magia se produce gracias a los mencionados archivos crontab. Allí es donde está la diversión. Un archivo crontab contiene instrucciones que deben ser atendidas y ejecutadas por cron, y estas referencias se escriben en cierto formato determinado que interpreta cron.

Usualmente la forma más fácil de editar estos archivos es mediante el comando "crontab" (un nombre muy acertado, diría yo). Algunos de los llamados a crontab más comunes son:

Código:
    crontab -l
Esto te permitirá consultar el contenido del archivo crontab del usuario actual (el usuario bajo el que has iniciado tu sesión). Opcionalmente, si eres el administrador de la máquina (el todopoderoso `root'), puedes usar como argumento el nombre de algún usuario para consultar el crontab de ese usario en particular. Por ejemplo: crontab -l pepito

Código:
    crontab -e
Esta forma de llamar al comando `crontab' es posiblemente la más útil. De esta forma puedes editar tu archivo de crontab actual. Dependiendo de la configuración de tu sistema, es posible que al ejecutar este comando se inicie una sesión en tu editor de texto favorito (vi, emacs, pico, etc) con el contenido actual del archivo crontab del usuario bajo el que has iniciado tu sesión. Allí tienes la opción de eliminar entradas antiguas, modificarlas o agregar nuevas entradas.

Cada línea del archivo crontab puede tener dos formas básicas. Puede ser una declaración de una variable de entorno, o puede ser un comando cron, el cual debe seguir una sintaxis especial.

Una definición de variable de entorno es simple. Su sintaxis es:

Código:
    nombre = valor
Si estás familiarizado con las variables de entorno, notarás lo simple que es. De otra forma, es posible que no necesites preocuparte de ellas aun. Concentrémonos en los comandos cron, que son muy útiles.

La sintaxis de un comando cron es

Código:
    A B C D E COMANDO
En donde las variables A-E son valores que determinan el momento en el que cada comando debe ser ejecutado. Estos valores ofrecen una manera simple y muy flexible de definir los tiempos de ejecución de tus comandos. Puedes definir que un comando determinado sea ejecutado cada 24 horas, por ejemplo, o cada 5 minutos, o cada semana, o cada Lunes y Miércoles... en fin, creo que puedes ver la idea.

En orden, su significado es:

A: valor de minutos
B: valor de horas
C: valor de día del mes
D: valor de mes
E: valor de día de la semana

En estos valores, es posible utilizar "comodines" con el caracter asterisco (`*') que quiere decir "cualquier valor". O también puedes definir rangos, como 1-5, 10-20, etc. Aquí puedes ver que en realidad hay mucha flexibilidad. Para ver cómo definir comandos cron un poco avanzados puedes consultar el manual.

Finalmente, la variable COMANDO es sencillamente el comando que deseas ejecutar. Puedes definir argumentos para el comando si lo deseas, también es muy flexible en ese sentido.

Veamos unos ejemplos:

Si quieres ejecutar el comando ~/mantenimiento.sh todos los días a medianoche, una forma de definirlo es:

* 0 * * * ~/mantenimiento.sh

Si quieres ejecutar el comando /usr/sbin/rotatelogs cada 5 minutos, una forma de hacerlo es:

*/5 * * * * /usr/sbin/rotatelogs

Aquí puedes ver que es posible definir intervalos divisibles mediante el caracter de barra (`/'). Aquí es usado en el campo de los minutos.


Para más información, te repito que lo primero que podrías revisar es el manual de crontab. También es muy posible que buscando en la web encuentres un sinfín de ejemplos que pueden guiarte para escribir tus propios comandos cron.

Respecto al uso de este tipo de comandos en máquinas que proveen hospedaje gratuito, es cierto que usualmente es difícil contar con tales recursos... muchos administradores de este tipo de servicios suelen ser cuidadosos en cuanto a otorgar acceso mediante terminal, o privilegios varios como el uso de un crontab. Algunos ofrecen funcionalidades semejantes mediante "páneles de control" con interfaces web, pero en ese sentido ya no es mucho lo que puedo decirte. Al menos como referencia de los comandos cron y crontab, espero que este mensaje te haya sido de ayuda. Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 21:08.