Herramienta Filelight/TreeSize/DiskUsage, pero ¿para fechas?

Herramienta Filelight/TreeSize/DiskUsage, pero ¿para fechas?

La empresa para la que trabajo tiene una unidad de red compartida. En él tenemos carpetas para cada departamento, más carpetas para cada empleado. Hay toneladas de carpetas para empleados que se fueron hace años y estoy seguro de que lo mismo se aplica a las subcarpetas en el árbol de departamentos.

He ejecutado un análisis del uso del disco y tengo una sospecha razonable de que podemos guardarcargasde espacio en disco mediante la eliminación de datos obsoletos. Pero obtener una descripción general del uso del disco por última vez es un desafío interesante, para el cual no he podido encontrar una respuesta.

¿Algunas ideas? ¿Cómo puedo obtener una lista de carpetas (en varios niveles de árbol) ordenadas por la fecha en la que (o los archivos que contienen) se modificaron por última vez?

Actualización: esto es para Linux, pero no hay ninguna etiqueta para "Linux genérico" (solo Mint, Kali y algunos otros).

Respuesta1

Abra el Explorador de archivos y navegue hasta la carpeta compartida.

Presione F3la tecla en el teclado, verá el menú desplegable del campo de búsqueda, haga clic en el
Date modified:siguiente Add a search filtery elija el filtro de tiempo que necesite. Puede seleccionar criterios de búsqueda entre patrones predefinidos o escribir en el campo de búsqueda un rango de fechas como:

datemodified:‎1/‎1/‎2000 .. ‎8/‎22/‎2018

Si necesita encontrar archivos/carpetas que no se modificaron después de cierta fecha, puede usar <un carácter delante de la fecha:

datemodified:‎<1/‎1/‎2010

encontrarárecursivamentetodos los archivos y carpetas anteriores al 1/‎1/‎2010

Cuando el explorador deje de buscar, cambie la vista Detailsy presione la columna Date modifiedpara ordenar los archivos y carpetas encontrados y eliminar aquellos que ya no esté en uso.

También puede buscar por fecha accessedo createdusando el filtro de búsqueda como:
datecreated:
dateaccessed:

Si desea automatizar la eliminación de contenido antiguo, puede utilizar la utilidad de la consola:forfiles

Para eliminar de forma recursiva carpetas/archivos que no se modificaron hace un año y más tarde de la carpeta C:\SomeFolder:

forfiles /s /p "C:\SomeFolder" /d -365 /c "cmd /c del @path"

Si solo desea enumerar archivos/carpetas antiguos en lugar de eliminarlos, puede usar:

forfiles /s /p "C:\SomeFolder" /d -365  /c "cmd /c echo @path [@fdate]"

Úselo forfiles /?para obtener más información sobre esta utilidad incluida con Windows

Incluso puede crear un archivo por lotes y ejecutarlo mediante el programador de tareas para eliminar automáticamente el contenido antiguo.


PD: Si desea buscar y eliminar directorios/archivos antiguos usando Linux, es mucho más sencillo:

Para enumerar contenido antiguo:

#!/bin/sh

srcDir='/Path/to/share/'
daysAgo='360'

find "${srcDir}" \( -type f -o -type d \) -a -mtime +"${daysAgo}"

Para eliminar contenido antiguo:

#!/bin/sh

srcDir='/Path/to/share/'
daysAgo='360'

find "${srcDir}" \( -type f -o -type d \) -a -mtime +"${daysAgo}" -exec rm -fd '{}' \;

Si desea eliminar directorios de forma recursiva, utilice rm -fdren lugar derm -fd

información relacionada