OVH Community, your new community space.

noname en recepción de fichero desde servidor correo.


oceano
06/12/2013, 21:25
Hola Marcos, buenas noches.

Acabo de lanzarlo, pero todo sigue igual...

5 * * * * /bin/sh /usr/bin/ver #ejecutable de comprobación
15 * * * * /bin/cat /root/personal/mail/informe.txt | mail -s "Informe" email@email.com #Informe


Si encuentro la solución más adelante la pongo !


Un saludo y muchas gracias por la ayuda.

MarcosBL
06/12/2013, 20:33
Haz un wich a cada comando, y pon la ruta completa en lugar del nombre solo

# which cat
/bin/cat
Y por ejemplo

15 * * * * /bin/cat /root/personal/mail/informe.txt | mail -s "Informe" email@email.com #Informe

oceano
06/12/2013, 08:14
Hola, buenos días.

Muchas gracias por vuestro interés.

La cuestión como indicas tú Power, es que realizo exactamente como mencionas ahora. Habiendo visto que tus pruebas eran validas, seguí tus pasos.

Directamente acceso mediante:

"crontab -e" a "/var/spool/cron/root" y añado:

5 * * * * /usr/bin/ver #ejecutable de comprobación
15 * * * * cat /root/personal/mail/informe.txt | mail -s "Informe" email@email.com #Informe

Si ejecuto ambas sentencias desde consola de comandos, llega al correo en menos de 1 minuto después de su finalización, pero si lo dejo trabajar como está arriba, llega, pero sin extensión. Todo un misterio.

Vamos, que mi servidor se merienda la extensión a mis espaldas !


Por favor Marcos, no he terminado de entender a lo que querías hacer referencia. Podrías aclararme con detalle.



Muchas gracias, un saludo.

MarcosBL
05/12/2013, 21:23
Vistas las pruebas de maese Power, yo me jugaria mil € a que es algo del entorno en tu instalación, que no existe en cron, y si como usuario root. Prueba a meter en tus scripts/comandos la ruta completa a cad aejecutable: cat, mail, etc... en vez de solo el nombre, a ver si hay cambios.

Power
05/12/2013, 20:53
Hola oceano,

He observado que tú directamente has lanzado mediante una tarea cron la orden de envío, yo lo estaba haciendo directamente.
Lo he probado de las dos formas:
- Lanzando desde la consola de comandos: cat /root/informe.txt | mail -s "Informe" miemail@gmail.com
- Programando un cronjob que lance el comando: cat /root/informe.txt | mail -s "Informe" miemail@gmail.com

¿No es eso lo que haces tú?
El resultado, en mi caso, es el mismo en ambas situaciones.

Saludos

oceano
05/12/2013, 18:10
Hola, buenas tardes Power.

Tranquilo, sólo puedo estarte agradecido, una vez más...


Bueno, yo estoy utilizando Dovecot, más que nada por lo que dice aquí. http://www.dovecot.org/security.html
I'm offering 1000€ for the first person to demonstrate a remotely exploitable security hole in Dovecot.

He observado que tú directamente has lanzado mediante una tarea cron la orden de envío, yo lo estaba haciendo directamente. Quizá sea este el error, lo estoy probando. En un momento sabré la respuesta y si no funciona, seguiré investigando y escribiré más adelante cual era el fallo, o mejor dicho la solución a tal cuestión.

También he observador que cuando se almacena en el archivo, si se ejecuta mediante consola si realiza todas las sentencias creadas, pero si se ejecuta mediante cron, se queda alguna por realizar. Curioso nuevamente.

Bueno, ahora escribo resultados...

Resultados !!!

Estoy sigue igual... Los mensajes llegan sin la extensión. Sin duda imagino será alguna característica de seguridad en el envío por parte de Dovecot.

Bueno, cuando tenga motivación y tiempo investigaré al respecto y escribiré resultados por si a alguien le puede ayudar o interesa.


Un saludo y muchas gracias por todo, en especial a ti Sr. Power.

Power
05/12/2013, 16:35
Hola oceano,

Perdona que no lo probase ayer, pero se me liaron las cosas.
Acabo de probarlo.

Creo un fichero /root/informe.txt
Como usuario root, ejecuto cat /root/informe.txt | mail -s "Informe" miemail@gmail.com
Me llega el email con el contenido del fichero dentro del texto.
Creo un cronjob para que se ejecute en nombre de root (lo hago desde Webmin que es muy cómodo)
Voy a /var/spool/cron/root y veo una línea con:
23 17 * * * cat /root/informe.txt | mail -s "Informe" miemail@gmail.com

Al llegar la hora, se ejecuta el cronjob y me llega perfectamente el email con el contenido de informe.txt dentro.
Igual que con el comando directamente.

Mi sistema operativo es CentOS 6.5 de 64 bits.
¿Desde qué sistema operativo lo estás probando?
¿Has mirado por si es un problema del servidor o del programa de correo que recibe el email?
Yo utilizo, como destino, una cuenta de Gmail.

Saludos
PD: Se me olvidaba: el programa de correo de mi servidor es Postfix, por si sirve de algo.

Power
04/12/2013, 20:56
Hola de nuevo, oceano,

Luego lo pruebo en uno de mis servidores y te cuento si me ocurre igual.

Saludos

oceano
04/12/2013, 20:36
Hola Power,

Gracias !

Te refieres a esto ?

cat '/root/ficheroAlmacena/informe.txt' | mail -s "Informe" email@email.com

tampoco con comillas dobles

* Por cierto, lo acabo de lanzar y todo sigue igual...


Un saludo !


P.D. No hay respuestas tontas y aún menos preguntas... sólo necios que no quieren aprender.

Power
04/12/2013, 20:25
Hola de nuevo, oceano,

Aunque posiblemente diga una tontería: ¿Has probado poner el nombre del fichero (informe.txt) entre comillas?

Saludos

oceano
04/12/2013, 19:57
Hola Power,

Muchas gracias por tu ayuda.

Si, intentaré explicarme mejor.

He creado un fichero ejecutable dentro de ... - ejemplo " /usr/bin/archivo"

dentro de él he puesto una serie de comandos, los cuales he enviado a ... - ejemplo " /root/ficheroAlmacena "

y directamente, para no crear otro archivo ejecutable y que todo se gestione simuntaneamente, al final del ese primer archivo he creado una de las anteriores sentencias ... - ejemplo abajo

cat /root/ficheroAlmacena/informe.txt | mail -s "Informe" email@email.com

pero como comento, cuando llega al correo sólo puedo descargar el fichero, ponerle nuevamente la extensión .txt y ahora si, leerlo.


Si ejecuto desde consola de comandos dicho fichero, si llega legible, pero si lo añado a un cron, no me permite realizar la lectura de un modo directo.


Un cordial saludo !

Power
04/12/2013, 19:47
Hola oceano,

Perdona pero no he acabado de entenderlo.

¿El cron se ejecuta?
¿Se envía el email?
¿El contenido el email no es lo que figura dentro de informe.txt?

Saludos

oceano
04/12/2013, 18:47
Hola, buenas tardes.

He creado un fichero ejecutable, llamado A
He creado un cron que lo envía, llamado B

Cuando lanzo A desde consola, la acción se realiza perfectamente y es legible el fichero que llega al correo, pudiendo utilizar bien:

Opción :

1ª # cat informe.txt | mail -s "Informe" email@email.com
2ª# echo | mail -s "Informe" email@email.com < informe.txt
3ª# mail -s "Informe" email@email.com < informe.txt

Cuando lanzo B, indicando que se ejecute A, conteniendo una de las líneas anteriores, ninguna de las expresiones es valida y se puede leer cuando llega el correo. Tengo que descargar el fichero y añadir la extensión .txt a este, el cual ya fue creado con dicha extensión.

Alguna idea de como poder solucionarlo ? Muchas gracias.


Un saludo !