Completed

Auditoria files locales en notebooks

Published on the June 08, 2012 in IT & Programming

About this project

Open

El proyecto consiste en hacer una auditoria de control de archivos almacenados localmente versus un maestro de nombres para matchear que archivos locales se parecen en nombre a alguna de las entradas del master file de nombres.

Se debe desarrollar un software que se ejecute localmente en plataformas: 



1) MS-Windows 7 y MS-Windows XP (100% compatible en ambas la misma version del software sin cambios)

2) El software debe correr como un "servicio" o proceso en background sin  interferir o molestar al usuario.

3) Al reiniciar la notebook el software siempre debe cargarse automaticamente sin necesidad de acciones manuales

4) El software debe chequear una URL privada (autentificacion basica con user+passwd, estos son parametros configurables a determinar). 

En dicha URL privada se encuentra un texto plano con aprox. 5 mil a 10 mil entradas conteniendo nombres de archivos.

Este seria el master file de nombres contra el cual matchear los archivos locales.

(ej. Pepe.doc, Juan.pdf, etc.)

5) El software debe bajar a la notebook local este archivo. 

6) Luego el software debe ejecutar un barrido completo del/los discos rigidos locales (no extraibles) que contenga la notebook y matchear los archivos de estos discos que se "parezcan" a los del master file previamente bajado.

7) Las "coincidencias" entre lo que se encuentre en el master file y los archivos locales deben quedar registradas en un file en una carpeta local bajo el nombre aaammdd-matchings.txt.  Se debe comprimir este archivo y enviar un e-mail a una casilla destino definida (nosotros proveemos el SMTP server destino para el envio). Si no hubo coincidencias se debe enviar igualmente el e-mail con el archivo vacio (cero coincidencias o matchings).

Otras consideraciones necesarias:

8) La frecuencia de ejecucion de esta auditoria es un parametro configurable (por ejemplo que se ejecute una vez cada 3 meses o una vez al mes, etc.)

9) Debe existir la posibilidad de ejecutar la auditoria en forma manual (alguna interfaz basica debe existir para hacerlo manualmente interactivamente, independientemente de las configuraciones/parametrizaciones del proceso batch no interactivo)

10) Contemplar que en medio del proceso el usuario puede apagar, suspender la ejecucion y la misma deberia reiniciarse desde el ultimo punto aproximado en el cual estaba ejecutando cuando fue interrumpida. NO DEBE COMENZAR DESDE EL INICIO CADA VEZ, dado que nunca terminaria de controlar todo el arbol del disco

11) Este software puede correr con permisos de administrador local del sistema para poder ver todo el arbol del disco / los discos locales

12) El software no debe hacer lento al equipo: procesador, disco, etc. de forma que no debe entorpecer el uso del sistema por el usuario mientras se ejecuta la auditoria. Se debe controlar el uso de recursos del programa en forma muy rigurosa. (No hay problema que el software tarde varios dias en terminar, asumiendo interrupciones frecuentes, pero no debe cargar o enlentecer la notebook sobre la cual corre). Definimos "no hacer lento" = no consumir mas del 15% de recursos disponibles.

13) El matcheo de coincidencias debe ser basado en patrones de texto sin importar minusculas y mayusculas, por ejemplo:

a) pepe = PEPE = Pepe = PePe / etc.

b) Pepepepe = pepe

c) pepe.doc = pepe (es decir la extension del archivo no debe ser tenida en cuenta para elegir un match, entonces:

Pepe.pdf = Pepe.doc, esto es un match exitoso)

14) El archivo registro final de los matches exitosos debe contener por cada linea: 

a) Nombre y posicion en la lista "master file" del patron del nombre encontrado

b) localizacion completa en el arbol del directorio del archivo encontrado. (filename completo)

c) Fecha y hora de escritura en el disco del mismo (metadata del objeto file)

d) Fecha y hora del match. Cuando se descubrio el match segun la fecha y hora locales del equipo donde se ejecuta

e) Nombre del equipo local donde se ejecuto la auditoria

Todos los campos anteriores delimitados por ";" 

una sola entrada por linea



Muchas Gracias por tu propuesta !!

Category IT & Programming

Delivery term: July 08, 2012

Skills needed

Other projects posted by D. C.