2008-09-04 12 views

Respuesta

5

Se podría tirar de dirección del archivo en el comando mostrado o el comando real en el crontab para ambos stdout y stderr - como command > /tmp/log.txt 2>&1.

Si desea que varios usuarios reciban este registro, puede insertar un MAILTO=nameofmailinglist en la parte superior de su archivo cron.

4

La línea cron es como cualquier otra línea de comandos de Unix para que pueda redirigir la salida a otro programa. Es decir.

* * * * * /path/my/command > /my/email/script 2&>1 
+4

Creo que significaba | en lugar de>. El uso de> escribirá el resultado en el archivo. – bmb

4

Esto puede ser una adición innecesaria, pero para calificar los comandos de redirección:

> redirige la salida estándar

2 es una Bourne shell término específico que significa error estándar

1 es un shell Bourne término específico que significa salida estándar

2> & 1 significa redirigir el error estándar a la salida estándar

Véase también el siguiente artículo útil Standard Input and Output Redirection

+0

2 y 1 no son solo específicos de Bourne. –

+2

en realidad 2> & 1 significa duplicar stderr en stdout. esta es la razón por la cual "2> & 1> my_file" da resultados muy diferentes a "> my_file 2> & 1" –

7

Para enviar por correo la salida a una dirección de correo electrónico sólo tiene que añadir la línea

MAILTO="[email protected]" 

en crontab antes del comando

+2

¿no requiere esto la configuración de un servidor de correo y todo tipo de otros trabajos? – endolith

2

Por lo que yo veo que Tiene tres opciones:

  1. Redirigir la salida: a un archivo, o a un programa que enviará los resultados como quiera
  2. Utilice MAILTO en cron, y redirija el correo electrónico a cualquier otra dirección única para todas sus tareas cron.
  3. Realice la redirección en su servidor de correo o cliente, después de que cron lo haya enviado.
Cuestiones relacionadas