copiar muchisimos archivos de texto

Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: copiar muchisimos archivos de texto

Post by Carlos Mora »

Hola Wilson,
permíteme una sugerencia que seguramente va a afectar el funcionamiento de la copia y de la aplicación que use la carpeta con 500K de archivos. El tener 500k de entradas en una única carpeta va a hacer TODAS las operaciones lentas, y la vuelve muchísimo más suceptible a fallos del filesystem. Incluso cuando añades un xml nuevo a la carpeta seguramente le tomará bastante más tiempo crear un nuevo archivo porque tiene que buscar en todo el directorio si existe. Ese problema lo tienen muchas aplicaciones, por ejemplo _ tipo Squid, o los servidores de correos, y programas así que tienen muchos archivos pequeños. Lo que hacen para evitar tener tantas entradas en un mismo directorio es separarlas por algún criterio, por ejemplo Squid guarda los _ con nombres que son 16 dígitos hezadecimales, entonces crea 256 carpetas 00, 01, 02..... FE,FF y reparte los archivos, entonces, por ejemplo, tendrías 256 carperas con 2000 archivos c/u, lo cual seguramente funcione más rápido. Obviamente requiere un poco más de gestión, no conozco el detalle de tu aplicación y el origen de los xml, pero seguramente encontrarás algún criterio que te ayude a separarlos.
Otra alternativa es hacer como hace Outlook con los correos: poner todos los ficherosjuntos y armar un índice de donde están dentro del texto, pero eso ya es mucho más elaborado.
Una entrada de stackOverflow al respecto:
https://stackoverflow.com/questions/299 ... -and-linux


Un saludo
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: copiar muchisimos archivos de texto

Post by wilsongamboa »

Carlos buenas tardes
muchas gracias por tus palabras eso estoy pensando realizar
el origen es una carpeta generada por un aplicativo de facturación electrónica, la idea es respaldar e ir administrando tanto la carpeta origen es decir respaldar e ir borrando luego del respaldo y solo dejar por ejemplo el ultimo mes , etc
y gestionar los respaldos, generar carpetas por mes y año, etc

hasta ahora todos los intentos de sacar respaldos han fracasado con las opciones que me dieron aca he fracasado es muy lento y de repente deja de funcionar, voy a probar con robocopy pero desde linea de comandos porque con programa se detuvo

ire informando mis avances gracias

Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: copiar muchisimos archivos de texto

Post by wilsongamboa »

buenas tardes
con el comando robocopy igual se hace demasiado lento el sacar respaldos manualmente al inicio
Mi idea es sacar los respaldos y organizar luego los mismos en el NAS
veo que la lentitud es con cualquier metodo que se use imagino es por la cantidad de ficheros pero cuando ya tenga todo respaldado empezare a borrar en el origen para que se vaya racionalizando el tema

gracias por toda la ayuda recibida

saludos

Wilsonm
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
thefull
Posts: 720
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona
Contact:

Re: copiar muchisimos archivos de texto

Post by thefull »

Tal y como te dice Carlos, vas a tener problemas uses lo que uses, hasta puedes llegar a tener verdaderos problemas hasta con el sistema de archivos del SO.
Una solución, es crear carpeta por año, mes, día, y ahí puedes colocar los ficheros del día que has generado, c:\xml\2018\01\01, estarán solo los XML de ese dia... pero..
mi consejo es que pienses algún sistema de comprimir los ficheros , y copiar ese zip, de lo contrario, tarde o temprano más a tener problemas.

Una solución más elegante es usar una tabla SQL , DBF, lo que sea, y guardar ahí el XML, eso si eres tu que genera el XML, es lo más óptimo y seguro,
nosotros terminamos al final usando esta solución , por lo descrito más arriba, y mano de santo ;-)
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Post Reply