Tienes casi razón. -mtime 365
serán todos los archivos que tienen exactamente 365 días de antigüedad. Desea los que tienen 365 días o más, lo que significa agregar un +
antes del número como este -mtime +365
.
También puede estar interesado en la -maxdepth 1
bandera, que le impide mover elementos en subdirectorios.
Si desea asegurarse de que solo está moviendo archivos, no directorios, agréguelos -type f
a la línea.
Al final de la línea agregamos \;
para find
saber que ese es el final del comando que estamos ejecutando.
Entonces la línea debería ser:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec mv "{}" /destination/directory/ \;
Para estar seguro, comience simplemente haciendo un ls -l en lugar de mv, de esa manera puede verificar de antemano que está obteniendo exactamente los archivos que desea, antes de volver a ejecutarlo con mv, de esta manera:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec ls -l {} \;
mtime
es el tiempo de modificación (que suena como lo que probablemente quiera, la mayoría de las veces es). Si estos registros se leen / hacen referencia con frecuencia, es posible que desee utilizarlos-atime
(último tiempo de acceso).