[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Redirección de salida a "mail"



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El jueves 23 de agosto del 2007 a las 12:58:55,
Luis Rodrigo Gallardo Cruz escribió:

>> Estoy ejecutando a través de cron un script en el que se hacen cuatro
>> exports mediante el comando exp de Oracle usando la siguiente
>> sintaxis:

>> exp bla/bla FILE=${EXP_DIR}/bla_$APP_DATE.dmp \
>>   OWNER=bla GRANTS=Y COMPRESS=Y | \
>>   mail -s "Salida del export del esquema bla de $HOSTNAME" $MAILTO
 
>> Y si bien me llegan los mensajes con la salida del comando a la
>> cuenta de correo del usuario bajo la que se ejecuta la tarea cron,
>> los mensajes que se mandan mediante la redirección con el pipe a la
>> cuenta $MAILTO llegan con su cuerpo en blanco.

> ¿Ya te aseguraste que la llamada a exp tiene *todo* el entorno que
> necesita para funcionar. A veces llamar cosas desde cron es difícil
> por que no está toda nuestra configuración presente. Quita la
> redirección a mail y vé si así recibes algo.

Sí. Como bien decís, si no tuviera las variables de entorno necesarias,
la llamada al comando fallaría y eso no sucede en este caso, ya que a la
cuenta del usuario con el que se ejecuta la tarea llega la salida de la
ejecución del export indicando el estado de su terminación, pero no llegan
a la cuenta que pongo en el script. Lo raro, come comentaba, es que al
final de todas las líneas de cada export que me llegan a la cuenta del
usuario que aparece en crontab, me aparece un «Null message body; hope
that's ok». Esto concuerda con que lleguen a esa cuenta especificada con
el cuerpo vació. Pero el comando tiene salida estándar desde el momento
que a la cuenta del usuario de crontab le llega algo. Entonces no me
cierra como puede ser que lo que se mande a mail sea un cuerpo vacío :-S

> Algo que a mi me ha resultado útil para hacer cosas complejas en cron
> es poner todo en un script y desde cron llamar al script. Así puedo
> ajustar variables de ambiente y evitar cosas como partir las lineas
> con \

Sí, así está. Todos los exports los tengo dentro de un script que tiene
la siguiente forma:

# Script de exports de Obstacle.

#
# Variables
#

APP_DATE=$(date +%Y)$(date +%m)$(date +%d)
EXP_DIR=/path/para/el/export
MAILTO=dba@undominio

# Para que tome las variables de entorno necesarias para correr el
# script.
. /etc/profile

# Varias lineas de este tipo
exp bla/bla FILE=${EXP_DIR}/bla_$APP_DATE.dmp \
  OWNER=bla GRANTS=Y COMPRESS=Y | \
  mail -s "Salida del export del esquema bla de $HOSTNAME" $MAILTO


Gracias a todos por responder.

Saludos,
Daniel

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGzvOXZpa/GxTmHTcRAg+/AJ93zTcwS0I03JBAFQPHOb6TR7ShagCZAdib
BSetoxKGkuMq+nc4p4YFXVM=
=/yFZ
-----END PGP SIGNATURE-----



Reply to: