[opensuse-es]Problemas con cron y sarg
Buenos días a todos, tengo una confusión, instalé sarg en mi server, el agrega una tarea en cron.daily, cron.weekly y cron.monthly para que ejecute sarg-report con parametro daily, weekly y monthly respectivamente, el asunto es que en ninguna parte de estos scripts especifica a que hora va a correr en el caso de daily, a que hora y día de la semana en el caso de weekly y a que hora y que dia del mes va a correr en el caso de monthly. Esto sucede tambien con las tareas de que el propio suse agrega. Esto lo pregunto porque la tarea no se esta ejecutando Por otro lado si yo pongo una tarea dentro de weekly que se ejecute diario, esto va a generar error?. No se si me explico. Saludos y gracias. A.C.G.CH. Telf: Casa 00505-5323667 Cel:00505-8354400 acgch@yahoo.com ____________________________________________________________________________________ Yahoo! MTV Blog & Rock >¡Cuéntanos tu historia, inspira una canción y gánate un viaje a los Premios MTV! Participa aquí http://mtvla.yahoo.com/ --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 27/08/08, Alejandro C. González Chávez escribió:
Buenos días a todos, tengo una confusión, instalé sarg en mi server, el agrega una tarea en cron.daily, cron.weekly y cron.monthly para que ejecute sarg-report con parametro daily, weekly y monthly respectivamente, el asunto es que en ninguna parte de estos scripts especifica a que hora va a correr en el caso de daily, a que hora y día de la semana en el caso de weekly y a que hora y que dia del mes va a correr en el caso de monthly.
Je, estamos igual :-) Yo lo que he hecho es mirar la fecha de último acceso del archivo para saber cuándo fue la última vez que se ejecutó :-?
Esto sucede tambien con las tareas de que el propio suse agrega.
Lo que me ha quedado claro (yo también estoy buscando información sobre ésto) es que las tareas del cron se pueden ejecutar de dos formas: - Desde scripts que se ubican en /etc/cron.hourly-daily-weekly - Editando el crontab directamente El primero es menor preciso (no sabes la hora exacta de la ejecución) mientras que si editas directamente el crontab puedes indicar la hora de la ejecución de la tarea. O eso he entendido O:-).
Esto lo pregunto porque la tarea no se esta ejecutando
Y esa es otra... ¿cómo se registran los eventos de cron? Tanto si falla como si se ejecuta, la tarea debería quedar registrada en alguna parte :-?
Por otro lado si yo pongo una tarea dentro de weekly que se ejecute diario, esto va a generar error?.
Si pones un script dentro del weekly se supone que se ejecutará de manera semanal. Pero vaya, que yo estoy igual que tú, a ver si alguien nos "ilumina" con ésto :-P Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Camaleón escribió:
El 27/08/08, Alejandro C. González Chávez escribió:
Buenos días a todos, tengo una confusión, instalé sarg en mi server, el agrega una tarea en cron.daily, cron.weekly y cron.monthly para que ejecute sarg-report con parametro daily, weekly y monthly respectivamente, el asunto es que en ninguna parte de estos scripts especifica a que hora va a correr en el caso de daily, a que hora y día de la semana en el caso de weekly y a que hora y que dia del mes va a correr en el caso de monthly.
Je, estamos igual :-)
Yo lo que he hecho es mirar la fecha de último acceso del archivo para saber cuándo fue la última vez que se ejecutó :-?
Esto sucede tambien con las tareas de que el propio suse agrega.
Lo que me ha quedado claro (yo también estoy buscando información sobre ésto) es que las tareas del cron se pueden ejecutar de dos formas:
- Desde scripts que se ubican en /etc/cron.hourly-daily-weekly - Editando el crontab directamente
El primero es menor preciso (no sabes la hora exacta de la ejecución) mientras que si editas directamente el crontab puedes indicar la hora de la ejecución de la tarea. O eso he entendido O:-).
Esto lo pregunto porque la tarea no se esta ejecutando
Y esa es otra... ¿cómo se registran los eventos de cron? Tanto si falla como si se ejecuta, la tarea debería quedar registrada en alguna parte :-?
Por otro lado si yo pongo una tarea dentro de weekly que se ejecute diario, esto va a generar error?.
Si pones un script dentro del weekly se supone que se ejecutará de manera semanal.
Pero vaya, que yo estoy igual que tú, a ver si alguien nos "ilumina" con ésto :-P
Saludos,
Bueno, yo trato de no meterme mucho con la edición de las tablas y archivos de configuración en forma directa si es que dispongo de alguna interfase gráfica para hacerlo. Veo que Kcron me permite determinar la hora (con precisión de 5 min.) en que se deberá ejecutar una tarea determinada, cualquiera sea su frecuencia. ... (un rato aquí) Y esto me resulta chistoso: fui a mirar mi /etc/crontab, y no encuentro el tema de mi ping cada 5 min. (quería ver qué parámetros le ponía). Tampoco en los hourly, daily, weekly, ni mounthly. Busqué si hay algún oculto en /home/alberto, pero hasta ahora no lo encuentro. ¿Dónde rayos guarda que debe ejecutar eso cada 5 min.? Saludos --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Alberto Vicat wrote:
Camaleón escribió:
Bueno, yo trato de no meterme mucho con la edición de las tablas y archivos de configuración en forma directa si es que dispongo de alguna interfase gráfica para hacerlo. Veo que Kcron me permite determinar la hora (con precisión de 5 min.) en que se deberá ejecutar una tarea determinada, cualquiera sea su frecuencia. ... (un rato aquí) Y esto me resulta chistoso: fui a mirar mi /etc/crontab, y no encuentro el tema de mi ping cada 5 min. (quería ver qué parámetros le ponía). Tampoco en los hourly, daily, weekly, ni mounthly. Busqué si hay algún oculto en /home/alberto, pero hasta ahora no lo encuentro. ¿Dónde rayos guarda que debe ejecutar eso cada 5 min.?
Ese es el problema de las interfaces, uno no sabe donde van a parar las cosas. Supongo que lo que falto ver fue el cron de *tu* usuario (alberto), lo podes ver ejecutando crontab -l (o como root) crontab -u alberto -l Gerardo
Saludos
--------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
--------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2008/8/28 Camaleón
El 27/08/08, Alejandro C. González Chávez escribió:
Buenos días a todos, tengo una confusión, instalé sarg en mi server, el agrega una tarea en cron.daily, cron.weekly y cron.monthly para que ejecute sarg-report con parametro daily, weekly y monthly respectivamente, el asunto es que en ninguna parte de estos scripts especifica a que hora va a correr en el caso de daily, a que hora y día de la semana en el caso de weekly y a que hora y que dia del mes va a correr en el caso de monthly.
Je, estamos igual :-)
Yo lo que he hecho es mirar la fecha de último acceso del archivo para saber cuándo fue la última vez que se ejecutó :-?
Esto sucede tambien con las tareas de que el propio suse agrega.
Lo que me ha quedado claro (yo también estoy buscando información sobre ésto) es que las tareas del cron se pueden ejecutar de dos formas:
- Desde scripts que se ubican en /etc/cron.hourly-daily-weekly - Editando el crontab directamente
tambien, estan los scripts de los usuarios (crontab -e) que quedan en /var/spool/cron Obs.1: anotar esta carpeta cuando se vaya a migrar ususarios de un servidor a otro !!! una vez, no la considere.. y despues llegaron muchos reclamos de que las tareas no se estaban ejecutando !!! Obs.2: para mi, que los crontabs personales, deberian de estar dentro de ~/.crontab o algo por el estilo.. pero dentro de la carpeta personal de cada usuario, como todas las configuraciones de los usuarios.
El primero es menor preciso (no sabes la hora exacta de la ejecución) mientras que si editas directamente el crontab puedes indicar la hora de la ejecución de la tarea. O eso he entendido O:-).
mmm..mmm.. por el general, las carpetas /etc/cron.{hourly-daily-weekly} estan definidas dentro de /etc/crontab, por ejemplo: ============= # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly ============= donde los scritps que estan adentro, se ejecutan en orden alfabetico a partir de la hora indicada en /etc/crontab.. por ejemplo.. si dentro de /etc/cron.weekly tengo 3 scritps llamados: sincro - 00update - logwatch entonces, de acuerdo a /etc/crontab los scripts que estan en /etc/cron.weekly se ejecutaran el primer dia de cada semana (el 0 = domingo) a las 4:22AM y se ejecutara los scripts en el siguiente orden: 00update - logwatch - sincro y puedes crear una otra, como por ejemplo ============= 52 4 1 3-6-9-12 * root run-parts /etc/cron.trimestral ============= que ejecutaria los scritps dentro de /etc/cron.trimestral en el dia 1 de los meses (marzo, junio, septiembre y deciembre) a las 4:52AM .. :D
Esto lo pregunto porque la tarea no se esta ejecutando
Y esa es otra... ¿cómo se registran los eventos de cron? Tanto si falla como si se ejecuta, la tarea debería quedar registrada en alguna parte :-?
/var/log/cron deberia de ser el archivo correcto.. pero tambien puedes buscar en /var/log/messages y/o /var/log/syslog salu2 -- -- Victor Hugo dos Santos Linux Counter #224399 --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 28/08/08, Victor Hugo dos Santos escribió:
mmm..mmm.. por el general, las carpetas /etc/cron.{hourly-daily-weekly} estan definidas dentro de /etc/crontab, por ejemplo:
============= # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly =============
Hum, eso no parece una suse >:-). En la 10.3 aparece lo siguiente en /etc/crontab: *** SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1 *** Anda... esa coletilla del "/dev/null 2>&1" ¿quiere decir que se está llevando los registros de los scripts que están en los directorios cron.x a la basura? ¿por eso no envía correos ni registra eventos? ¿o es otra cosa distinta? Hum... ¬_¬
/var/log/cron deberia de ser el archivo correcto.. pero tambien puedes buscar en /var/log/messages y/o /var/log/syslog
Ni rastro del evento ejecutado cuando se realiza desde /etc/cron.weekly. Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 28/08/08, Victor Hugo dos Santos escribió:
mmm..mmm.. por el general, las carpetas /etc/cron.{hourly-daily-weekly} estan definidas dentro de /etc/crontab, por ejemplo:
============= # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly ============= Cierto, asi aparecia en versiones anteriores de Suse. Mucho mas claro, ahora esto esta traducido a un script un tanto dificil de seguir (run-crons)
Hum, eso no parece una suse >:-). En la 10.3 aparece lo siguiente en /etc/crontab:
*** SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1 *** En versiones anteriores aparecia como
Anda... esa coletilla del "/dev/null 2>&1" ¿quiere decir que se está llevando los registros de los scripts que están en los directorios cron.x a la basura? ¿por eso no envía correos ni registra eventos? ¿o es otra cosa distinta? Hum... ¬_¬ Pues seria simple probar, poniendo > /var/log/camaleon.log 2>&1 y esperar :)
/var/log/cron deberia de ser el archivo correcto.. pero tambien puedes buscar en /var/log/messages y/o /var/log/syslog
Ni rastro del evento ejecutado cuando se realiza desde /etc/cron.weekly.
Saludos,
-- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
--------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2008/8/28 Camaleón
El 28/08/08, Victor Hugo dos Santos escribió:
mmm..mmm.. por el general, las carpetas /etc/cron.{hourly-daily-weekly} estan definidas dentro de /etc/crontab, por ejemplo:
============= # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly =============
Hum, eso no parece una suse >:-). En la 10.3 aparece lo siguiente en /etc/crontab:
mmm.. mmm. sorry.. no tengo una suse aca cercano para revisar.. lo envie de memoria !!! :D [...]
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1 ***
Anda... esa coletilla del "/dev/null 2>&1" ¿quiere decir que se está llevando los registros de los scripts que están en los directorios cron.x a la basura? ¿por eso no envía correos ni registra eventos? ¿o es otra cosa distinta? Hum... ¬_¬
mmmm. no creo mucho.. creo que esto hace referencia a este comando en particular ... o sea.. el que verifica se existe o no el archivo /usr/lib/cron/run-crons y caso hay algun error (el archivo no exista o genere algun error) entonces envia la salida de este script para el mas alla.. los demas scripts que llama este scripts (hehehe).. no deberian de estar afectados por este redireccionamento.. pero cuidado.. puede (como vos mismo indique) .. que el script /usr/lib/cron/run-crons este con problemas.. por el tanto, no ejecuta los demas scripts.. y los errores no estan siendo mostrados !!! si buscaste en todas partes y no encontraste ningun registro.. entonces, deberias: 1 - ejecutar el script manualmente (/usr/lib/cron/run-crons) y ver que es lo que hace/muestra 2 - quitar ">/dev/null 2>&1" de la linea y revisar los logs. salu2 -- -- Victor Hugo dos Santos Linux Counter #224399 --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 28/08/08, Victor Hugo dos Santos escribió:
si buscaste en todas partes y no encontraste ningun registro.. entonces, deberias: 1 - ejecutar el script manualmente (/usr/lib/cron/run-crons) y ver que es lo que hace/muestra 2 - quitar ">/dev/null 2>&1" de la linea y revisar los logs.
Gerardo, Víctor... he cambiado esa línea y la he dejado así: *** -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/var/log/cron *** ¿Está correcta? :-? Si hace lo que imagino, llenará el /var/log/cron con todos los registros de las acciones de los scripts que están en /etc/cron.daily/*.* Bueno, mañana pondré los resultados >:-) Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 28/08/08, Victor Hugo dos Santos escribió:
si buscaste en todas partes y no encontraste ningun registro.. entonces, deberias: 1 - ejecutar el script manualmente (/usr/lib/cron/run-crons) y ver que es lo que hace/muestra 2 - quitar ">/dev/null 2>&1" de la linea y revisar los logs.
Gerardo, Víctor... he cambiado esa línea y la he dejado así:
*** -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/var/log/cron ***
¿Está correcta? :-?
Si hace lo que imagino, llenará el /var/log/cron con todos los registros de las acciones de los scripts que están en /etc/cron.daily/*.* Bueno, sintacticamente esta correcta, aunque habiendo puesto solamente > /var/log/cron, se sobrescribira constantemente cada 15 minutos. Para haber podido ver *todas* las salidas de run-crons deberias haber puesto >> /var/log/cron
Pero bueno, mañana lo sabras :) --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 29/08/08, gherzig@fmed.uba.ar escribió:
Bueno, sintacticamente esta correcta, aunque habiendo puesto solamente > /var/log/cron, se sobrescribira constantemente cada 15 minutos. Para haber podido ver *todas* las salidas de run-crons deberias haber puesto >> /var/log/cron
Pero bueno, mañana lo sabras :)
El lastrun del cron.daily tiene fecha de modificación de 12:15 y en el log está el archivo (creado pero vacío) /var/log/cron con la misma fecha y hora... en el /var/log/messages no hay nada de "cron", ni rastro de las tareas ejecutadas a las 12:15 :-? ... ¡¡ Arhhhgg !! <modo ceporro on> Joodo, lo tenía delante de las narices y no lo he visto :-[. ¡Está en /etc/sysconfig/cron! Al final del archivo hay dos variables para: - mandar un correo (haya error o no) --> no - registrar los eventos en el syslog (haya error o no) --> no ## Type: yesno ## Default: no # # send status email even if all scripts in # cron.{hourly,daily,weekly,monthly} # returned without error? (yes/no) # SEND_MAIL_ON_NO_ERROR="no" ## Type: yesno ## Default: no # # generate syslog message for all scripts in # cron.{hourly,daily,weekly,monthly} # even if they haven't returned an error? (yes/no) # SYSLOG_ON_NO_ERROR="no" Ya mismo estoy cambiando a "yes" la última opción y si no es muy verboso, lo dejo activado... "Pa" darme de latigazos y no parar hasta semana santa O:-). Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Miércoles, 27 de Agosto de 2008, Alejandro C. González Chávez escribió:
Buenos días a todos, tengo una confusión, instalé sarg en mi server, el agrega una tarea en cron.daily, cron.weekly y cron.monthly para que ejecute sarg-report con parametro daily, weekly y monthly respectivamente, el asunto es que en ninguna parte de estos scripts especifica a que hora va a correr en el caso de daily, a que hora y día de la semana en el caso de weekly y a que hora y que dia del mes va a correr en el caso de monthly.
Esto sucede tambien con las tareas de que el propio suse agrega.
Esto lo pregunto porque la tarea no se esta ejecutando
Por otro lado si yo pongo una tarea dentro de weekly que se ejecute diario, esto va a generar error?.
No se si me explico.
* las ejecuciones de los scripts ubicados en cron.daily y demas se ejecutan cuando la configuracion de cron lo dice lease /etc/crontab (run-parts ejecuta run-crons) generalmente usando test , si es cada hourly en la parte de la hora que se ha decidido ejecutar run-parts, asi con los demas, en caso de inicio, por defecto y si la memoria no me falla dentro de los siguientes quince minutos run-parts ve si hay algo que ejecutar pendiente, esto creo qeu tambien es configurable. * Cron envia por defecto el resultado de su ejecucion por emilio al administrador del sistema o al usuario al que este redirigido el correo de root (conveniente). * Para que run-parts se ejecute a las horas que uno desea se ha de modificar este parametro en /etc/crontab , no recuerdo si hay por hay algun "sysconfig". * Si no se quiere que se envie el emilio, la salida del comando del script ha de ser enviado a /dev/null, 10 * * * * bla-bla >/dev/null 2>&1 la sintaxis de horarios es igual editanto crontab del usuario que poniendolo en scripts. * Si se quieren utilizar scripts unitarios con ejecuciones de horas y dias complejos ponganse en /etc/cron.d/ * lo comentado del directorio /var/spool/cron/lastrun y tabs ya ha sido dicho, tengase en cuenta que cron utiliza variables de entorno y /bin/sh como shell, pueden necesitarse otras cosas y se han de especificar, crontab -e utiliza la variable de entorno EDITOR del sistema generalmente vi, si se quiere utilizar otro export EDITOR=/usr/bin/joe por ejemplo, si se quiere permanente pues a /etc/bash.bashrc , profile , ya sea el general o de cada usuario.
participants (7)
-
Alberto Vicat
-
Alejandro C. González Chávez
-
Camaleón
-
Gerardo Herzig
-
gherzig@fmed.uba.ar
-
jose maria
-
Victor Hugo dos Santos