2012-04-23 12 views
5

Tengo algunos scripts que me gustaría ejecutar cada mañana a las 6 a.m. Estos scripts producen algunos archivos PDF de salida gráfica en un archivo: foo.pdfE-mailing automático de salida gráfica pdf en momentos específicos desde R

Me gustaría que mi sistema (digamos Win 7,> = R 2.13) para correo electrónico de estas pdf una vez que el sistema haya terminado de ejecutar los scripts.

¿Cuál es el mejor paquete y la forma más robusta de configurarlo para que me envíen estos informes por correo electrónico directamente desde R?

¿Hay alguna 'buena' extensión de esto (como sink() -la salida de texto de informe en el cuerpo del correo electrónico)?

Gracias de antemano por cualquier consejo.

+2

Eche un vistazo a esta pregunta para la parte de correo electrónico - http: // stackoverflow.com/questions/2885660/how-to-send-email-with-attachment-from-r-in-windows/9131917 # 9131917 – thelatemail

+0

El paquete 'brew' es un sistema de plantillas para R y podría calificar como una extensión 'genial' para escribir el texto del cuerpo del correo electrónico. – Spacedman

Respuesta

2

Tengo un script que se ejecuta diariamente, y tuve muchos problemas para ejecutarlo. Echa un vistazo al enlace de Roman para el archivo adjunto y el código R primero. Se trata de la R no participan en Windows 7.

que tenía problemas para ejecutar la secuencia de comandos R directamente del programador de tareas de Windows, por lo que prevé un archivo por lotes para ejecutar todos los días de la siguiente manera:

@echo on 
"C:\Rpath\R-2.15.1\bin\i386\Rcmd.exe" BATCH "C:\filepath\filetorun.R" 

Eso es acerca de lo más simple que puede obtener, pero Quick R fue un punto de partida.

Dependiendo de la configuración de su computadora, puede que tenga que juguetear con el programador de tareas. Si es un tipo de servidor que siempre está activado, entonces no debería haber demasiados problemas (y usted sabe lo que está haciendo). Si tiene que desconectarse y usar una contraseña para iniciar sesión o acceder a una unidad compartida, tendrá que hacer algo de lo siguiente. Además, no sé si los derechos de administrador son una necesidad o no.

Abra el Programador de tareas, realice una nueva tarea y abra su ventana de propiedades.

En General, verifique la cuenta de usuario y seleccione "Ejecutar si el usuario ha iniciado sesión o no" y desmarque la opción "No guardar contraseña". Esto permitirá que su secuencia de comandos se ejecute si está desconectado (no creo que funcione cuando está bloqueado). Cuando haces clic en Aceptar, te pedirá tu contraseña.

Configuración básica: el disparador está "En un horario" y Avanzado está habilitado. En Acciones, seleccione "Iniciar un programa" con el Programa/script como el archivo .bat.

En las condiciones, desmarque "Iniciar la tarea solo si comp está inactivo" y marque "Despertar la computadora para ejecutar esta tarea". En Configuración, marque "Permitir que la tarea se ejecute a petición", marque "Si la tarea en ejecución no finaliza ...", y en la parte inferior, seleccione "Detener la instancia existente". Estas opciones pueden ser necesarias, aunque no estoy tan seguro de esto.

Otro truco es si su empresa tiene que cambiar las contraseñas de vez en cuando. Abra y cierre la tarea después de cambiar para que vuelva a solicitar su contraseña. Ingrese el nuevo o de lo contrario no puede iniciar sesión y no ejecutará su secuencia de comandos.

Cuestiones relacionadas