[opensuse-es] Tareas en "cron"

Hola, Hace unos días creé dos eventos para que se ejecutaran de manera semanal y los puse bajo /etc/cron.weekly. ¿Cómo puedo saber que si se han ejecutado correctamente y a qué hora? No veo nada en el registro (ni en messages ni en warn) :-? Por otra parte, me pregunto cómo sería mejor crear las tareas que deben ejecutarse en cron, si de manera independiente (un archivo por cada una) o si se pueden combinar varias acciones en un archivo único. Por ejemplo, ahora tengo dos scripts: uno que actualiza las estadísticas del servidor web (webalizer) y otro que actualiza el índice de búsqueda de los archivos (rundig) pero ¿podría agrupar estas dos acciones en un solo archivo que se llamara "web_dominio" para agrupar las tareas de manera temática? ¿qué sería más recomendable? 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 día 27 de agosto de 2008 12:54, Camaleón <noelamac@gmail.com> escribió:
Hola,
Hace unos días creé dos eventos para que se ejecutaran de manera semanal y los puse bajo /etc/cron.weekly. ¿Cómo puedo saber que si se han ejecutado correctamente y a qué hora? No veo nada en el registro (ni en messages ni en warn) :-?
Por otra parte, me pregunto cómo sería mejor crear las tareas que deben ejecutarse en cron, si de manera independiente (un archivo por cada una) o si se pueden combinar varias acciones en un archivo único.
Por ejemplo, ahora tengo dos scripts: uno que actualiza las estadísticas del servidor web (webalizer) y otro que actualiza el índice de búsqueda de los archivos (rundig) pero ¿podría agrupar estas dos acciones en un solo archivo que se llamara "web_dominio" para agrupar las tareas de manera temática? ¿qué sería más recomendable?
No soy el correcto para ayudarte pero generando un log. asi mas o menos. LOG=$DIRLOG/$FECHA-$ELUSER.log echo "**************************************************" echo "* HACIENDO SSH CONTRA $1" echo "* Guardando log en $LOG" echo "**************************************************" date script -c "/home/mrco1965/Documents/Respaldo/Respaldo4" $LOG FECHAFIN=`date +%H%M` # Saludos
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
-- No olvides visitar mi pagina. http://www.i-moncads-s.co.cc http://www.marco-a-moncada.co.cc En esta vida, tu vida; solo te falta, para terminar ser alegre, y una sonrisa, no te cuesta nada. Solo tienes que tomar la mano que te saluda, y devolver una sonrisa. La persona, que te esta tendiendo la mano, puede ser que te este pidiendo ayuda, y tan solo la platica y la conversión se vuelve mas amena, con el principio de tu alegría demostrada atravez de tus dientes. Se alegre, y se feliz con quien camina a tu lado. Y mas con el que te tiende la mano pidiendo auxilio. Se feliz siempre y no mires a quien la das. Marco Aurelio Moncada Coello Calle Francisco Lozada Chavèz, numero 20, local 5. Atizapan de Zaragoza, Estado de México México, 044-55-1920-2224, 011-521-551920-2224 --------------------------------------------------------------------- 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, Marco Aurelio Moncada Coello escribió:
No soy el correcto para ayudarte pero generando un log.
asi mas o menos.
LOG=$DIRLOG/$FECHA-$ELUSER.log echo "**************************************************" echo "* HACIENDO SSH CONTRA $1" echo "* Guardando log en $LOG" echo "**************************************************" date script -c "/home/mrco1965/Documents/Respaldo/Respaldo4" $LOG FECHAFIN=`date +%H%M` #
Hum... esto parece para un registro de actividad del rsync, pero ¿funciona si lo pongo, así tal cual, en una tarea de cron? No están definidas las variables. Pensaba que una tarea que se ejecutaba en cron quedaría registrada en alguna parte :-?. 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

2008/8/28 Camaleón <noelamac@gmail.com>:
Hum... esto parece para un registro de actividad del rsync, pero ¿funciona si lo pongo, así tal cual, en una tarea de cron? No están definidas las variables.
Si gusta te envio todo el script completo, pero el chiste es definir un log, que me deje resgistros de la actividad, de cada comando.
Pensaba que una tarea que se ejecutaba en cron quedaría registrada en alguna parte :-?.
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
-- No olvides visitar mi pagina. http://www.i-moncads-s.co.cc http://www.marco-a-moncada.co.cc En esta vida, tu vida; solo te falta, para terminar ser alegre, y una sonrisa, no te cuesta nada. Solo tienes que tomar la mano que te saluda, y devolver una sonrisa. La persona, que te esta tendiendo la mano, puede ser que te este pidiendo ayuda, y tan solo la platica y la conversión se vuelve mas amena, con el principio de tu alegría demostrada atravez de tus dientes. Se alegre, y se feliz con quien camina a tu lado. Y mas con el que te tiende la mano pidiendo auxilio. Se feliz siempre y no mires a quien la das. Marco Aurelio Moncada Coello Calle Francisco Lozada Chavèz, numero 20, local 5. Atizapan de Zaragoza, Estado de México México, 044-55-1920-2224, 011-521-551920-2224 --------------------------------------------------------------------- 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 30/08/08, Marco Aurelio Moncada Coello escribió:
Si gusta te envio todo el script completo, pero el chiste es definir un log, que me deje resgistros de la actividad, de cada comando.
Gracias, pero no hace falta :-). El problema está solucionado. Sólo había que decirle que registrara los eventos que están bajo /etc/cron.hourly-daily-weekly-monthly, que viene desactivado de manera predeterminada en el archivo de configuración /etc/sysconfig/cron. 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 wrote:
Hola,
Hace unos días creé dos eventos para que se ejecutaran de manera semanal y los puse bajo /etc/cron.weekly. ¿Cómo puedo saber que si se han ejecutado correctamente y a qué hora? No veo nada en el registro (ni en messages ni en warn) :-? cron.weekly no es ni mas ni menos que un atajo practico. Para ver que dia (y a que hora) se ejecuta cron.weekly (y el daily, y el monthly) podes ver el contenido de /var/spool/cron/lastrun Y ver que dia (y hora) fue la ultima ejecucion de cada uno.
Para ver donde loguea, yo haria "logguear" a la aplicacion en si, y no a cron. Es decir, la entrada del cron seria algo asi (usando cron "plano" ) 30 2 * * * 1 /path/to/my/app > /usr/local/log/app.log 2>/usr/local/log/app.errors.log Esto haria que se ejecutara "app" todos los lunes a la 2:30 de la mañana. Por otro lado, si mal no recuerdo, por defecto le manda mails a root con resumen de la ejecucion del cron.
Por otra parte, me pregunto cómo sería mejor crear las tareas que deben ejecutarse en cron, si de manera independiente (un archivo por cada una) o si se pueden combinar varias acciones en un archivo único.
Por ejemplo, ahora tengo dos scripts: uno que actualiza las estadísticas del servidor web (webalizer) y otro que actualiza el índice de búsqueda de los archivos (rundig) pero ¿podría agrupar estas dos acciones en un solo archivo que se llamara "web_dominio" para agrupar las tareas de manera temática? ¿qué sería más recomendable?
Dependera de 1) si un programa necesita que la ejecucion del otro haya finalizado 2) Cuanta carga tendra que soportar el sistema si ambas se ejecutan simultaneamente Normalmente no es conveniente juntar tareas (usualmente son tareas "pesadas"), conviene de hecho repartirlas lo mas posible (en el tiempo) para no sobrecargar el sistema. Rapidamente voy llegando a lo que quiero decir: No me gusta el cron.weekly, es decir, con muy poca practica (previa lectura del man crontab :) se conoce la sintaxis del cron y sus asterisquitos :), lo cual te da mucha mas flexibilidad y dominio a la hora de que ejecutar y *exactamente* a que hora. Saludos. 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

Gerardo Herzig escribió:
[...] podes ver el contenido de /var/spool/cron/lastrun Y ver que dia (y hora) fue la ultima ejecucion de cada uno. [...]
En lastrun tengo un cron.daily y un cron.weekly, ambos con 0 bytes. Pero en /var/spool/cron/tabs/alberto hay esto (entre otras líneas que están comentadas): 0,5,10,15,20,25,30,35,40,45,50,55 * * * * ping 10.10.10.1 -c 5 ... y entiendo que los asteriscos dicen: "cualquier mes, semana, día, y hora" Así que acá lo guardaba. Y es cierto lo que decías de que le manda un mail a root con el resultado. Esto me lleva a otra cuestión que deseo hacer con esos mails, pero abriré otro hilo para no mezclar los tantos. Gracias 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

El 28/08/08, Gerardo Herzig escribió:
cron.weekly no es ni mas ni menos que un atajo practico. Para ver que dia (y a que hora) se ejecuta cron.weekly (y el daily, y el monthly) podes ver el contenido de /var/spool/cron/lastrun Y ver que dia (y hora) fue la ultima ejecucion de cada uno.
Esto lo he descubierto hace unas horas... pero sólo te dice que "lo que está en /etc/cron.weekly" se ha ejecutado a "x" fecha y hora ¡pero no te dice el qué! :-)
Para ver donde loguea, yo haria "logguear" a la aplicacion en si, y no a cron. Es decir, la entrada del cron seria algo asi (usando cron "plano" )
30 2 * * * 1 /path/to/my/app > /usr/local/log/app.log 2>/usr/local/log/app.errors.log
Lo había pensado, pero no me interesa tanto el registro de la aplicación (rundig y webalizer) sino saber que se ha ejecutado la tarea y cuándo.
Esto haria que se ejecutara "app" todos los lunes a la 2:30 de la mañana. Por otro lado, si mal no recuerdo, por defecto le manda mails a root con resumen de la ejecucion del cron.
Probaré a editar el crontab directamente, pero tendrá que ser el de root porque las aplicaciones las ejecuta root :-?. Lo que me extraña es que no lo registre si está en el "cron.weekly"
Dependera de 1) si un programa necesita que la ejecucion del otro haya finalizado
No, en este caso son dos tareas independientes.
2) Cuanta carga tendra que soportar el sistema si ambas se ejecutan simultaneamente
Nada, nada, "pecata minuta", no hay carga, son sólo dos comandos O:-)
Normalmente no es conveniente juntar tareas (usualmente son tareas "pesadas"), conviene de hecho repartirlas lo mas posible (en el tiempo) para no sobrecargar el sistema. Rapidamente voy llegando a lo que quiero decir: No me gusta el cron.weekly, es decir, con muy poca practica (previa lectura del man crontab :) se conoce la sintaxis del cron y sus asterisquitos :), lo cual te da mucha mas flexibilidad y dominio a la hora de que ejecutar y *exactamente* a que hora.
Entiendo que el crontab es más flexible... pero antes de meter la pata (estoy en un servidor de producción) prefiero experimentar "con gaseosa" que es lo que estaba haciendo con el "cron.weekly" antes de ponerme con el otro. Al hacer las pruebas es cuando me he dado cuenta de que sí han ejecutado las tareas pero no me registra nada, y de ahí que iniciara el hilo 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

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-08-27 a las 19:54 +0200, Camaleón escribió:
Hace unos días creé dos eventos para que se ejecutaran de manera semanal y los puse bajo /etc/cron.weekly. ¿Cómo puedo saber que si se han ejecutado correctamente y a qué hora? No veo nada en el registro (ni en messages ni en warn) :-?
/etc/sysconfig/cron: SYSLOG_ON_NO_ERROR="yes"
Por otra parte, me pregunto cómo sería mejor crear las tareas que deben ejecutarse en cron, si de manera independiente (un archivo por cada una) o si se pueden combinar varias acciones en un archivo único.
Va en gustos.
Por ejemplo, ahora tengo dos scripts: uno que actualiza las estadísticas del servidor web (webalizer) y otro que actualiza el índice de búsqueda de los archivos (rundig) pero ¿podría agrupar estas dos acciones en un solo archivo que se llamara "web_dominio" para agrupar las tareas de manera temática? ¿qué sería más recomendable?
Poder puedes, va en gustos :-) Puedes ver otra manera en "/etc/cron.d/", alternativa a editar /etc/crontab. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFIwzaYtTMYHG2NR9URAtWOAKCXX+XTfw7vEq3HZQ3ShjtUUev6wgCglEel 1xQC82FTwIWrNjpvQmo/+3c= =twAz -----END PGP SIGNATURE-----

Mira aqui te pego un scrip /usr/bin/rsync -auvh --stats /home/gloriyedu/* /backup/home2/gloriyedu/
/tmp/rsync_log.$fecha
bien pues con este hago una copia de seguridad cada 15 minutos ejecutado con cron la parte "> /tmp/rsync_log.$fecha" es la que indica que se tiene que crear un registro espero que te sirva. --------------------------------------------------------------------- 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
participants (6)
-
Alberto Vicat
-
Camaleón
-
Carlos E. R.
-
Gerardo Herzig
-
Marco Aurelio Moncada Coello
-
Nacho