Herramientas recomendadas para la eliminación masiva de archivos

Herramientas recomendadas para la eliminación masiva de archivos

Tenemos el desafío de eliminar alrededor de X millones de archivos que cumplen con ciertos criterios; específicamente, deben tener más de 90 días y excluir ciertos formatos de archivo. Hasta la fecha, hemos estado usando un script de PowerShell de subprocesos múltiples que es bueno, pero aún no es tan rápido como necesitamos, ya que nuestros procesos de ingesta están creando nuevos archivos a un ritmo elevado.

¿Qué puedo hacer para acelerar la eliminación de tantos archivos?

Respuesta1

Agente saqueoes realmente rápido y admite la eliminación de archivos según la fecha de modificación.

Además, obviamente, se ejecutará más rápido si cierra todos los demás procesos que se ejecutan en el servidor.

Respuesta2

Powershell tiene fama de no ser muy rápido; tal vez un archivo por lotes que utilice el comando integrado de Windows forfilespueda ser la solución.

Para seleccionar y eliminar todos los archivos con más de 90 días, puedes usar algo similar a:

forfiles -p "C:\your\dir" /S /D -90 /C "cmd /c del @path"

Si esto sigue siendo demasiado lento, puede usar forfilespara crear primero una lista de los archivos que se van a eliminar y luego usar un comando de eliminación por lotes sobre todos los archivos de la lista (esto puede disminuir significativamente la cantidad de delllamadas/iteraciones).

Para más información y otros modos más o menos creativos para eliminar archivos, puedes veraquíyaquí

información relacionada