Skip to content

Daemon programado en python para monitorear una carpeta compartida y avisar por mail sobre ciertos eventos.

Notifications You must be signed in to change notification settings

imavazq/Daemon_monitor_emails

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Daemon de monitoreo, evaluación y envío de emails

Este proyecto consiste en un daemon diseñado para monitorear una carpeta compartida, la cual en este caso está sincronizada con Dropbox, en busca de nuevos archivos que cumplan con ciertas condiciones específicas en sus nombres. Cuando se detecta un archivo nuevo que cumple con los criterios establecidos, se envía automáticamente un correo electrónico notificando su detección. Por otro lado, si un archivo recién agregado no cumple con las condiciones establecidas, será eliminado de la carpeta compartida, y también se enviará una notificación por correo electrónico informando sobre esta acción. En ambos casos, se mantiene un registro detallado de las acciones realizadas en un archivo de registro.

Requisitos previos

• Python 3.x

• Git

• Acceso a Internet para enviar correos electrónicos (SMTP).

• Permisos de lectura y escritura en la carpeta compartida, en el archivo de configuración del daemon y en el archivo de registro.

Instalación

• Cloná este repositorio en tu máquina local:

git clone https://github.com/Seba-Aguero/TP1-SL-Daemon.git

• Asegurate de tener los archivos de configuración necesarios (mail.txt, horarios_suspension.txt, expresion_regular.txt, carpeta_compartida.txt) en el directorio Config.

• Adaptá los archivos de configuración según tus necesidades.

• Asignale los permisos correspondientes al archivo nombres_procesados.txt.

Archivos de registro

El daemon registra sus acciones en un archivo de registro llamado tp1-daemon.log, ubicado en /var/log. Este archivo contiene un registro de las detecciones de nuevos archivos y eliminaciones de archivos no válidos. Asegurate de contar con este archivo y asignarle los permisos necesarios.

Configuración

• mail.txt: Archivo que contiene la dirección de correo electrónico a la que se enviarán las notificaciones.

• horarios_suspension.txt: Archivo que contiene los horarios en los que el daemon estará en modo de suspensión temporal.

• expresion_regular.txt: Archivo que contiene la expresión regular que deben cumplir los nombres de los archivos para ser admitidos.

• carpeta_compartida.txt: Archivo que contiene la ruta hacia la carpeta compartida a monitorear.

Uso

Nota: Adaptá las rutas a las que correspondan en tu PC.

Ejecución manual:

Ejecutá el daemon con el siguiente comando:

python3 Daemon.py

El daemon comenzará a monitorear la carpeta compartida y enviará correos electrónicos cuando se detecten nuevos archivos.

Inicio automático al arrancar:

Creá en el directorio '/etc/systemd/system/' el archivo 'tp1_sl_daemon.service' con el siguiente contenido:

[Unit]
Description=TP1-SL-Daemon
After=network.target

[Service]
User=debian
WorkingDirectory=/ruta/a/carpeta/donde/está/el/daemon
ExecStart=/usr/bin/python3 Daemon.py

[Install]
WantedBy=multi-user.target

Ejecutá los siguientes comandos:

sudo systemctl daemon-reload

sudo systemctl enable tp1_sl_daemon.service

sudo systemctl start tp1_sl_daemon.service

Para verificar que el daemon esté funcionando correctamente:

sudo systemctl status tp1_sl_daemon.service

Para detener el daemon:

sudo systemctl stop tp1_sl_daemon.service

Para reiniciarlo:

sudo systemctl restart tp1_sl_daemon.service

About

Daemon programado en python para monitorear una carpeta compartida y avisar por mail sobre ciertos eventos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%