Hay veces en las que necesitamos buscar archivos por su tamaño, ya sea porque tenemos problemas de espacio y necesitamos encontrar urgente algo grande que borrar, o porque no entendemos en donde se fue el espacio en disco e intuimos que es algun archivo de gran tamaño que dejamos perdido por algun lugar. Esos tipicos backups que hacemos para mover algo de lugar y despues el tar.gz queda perdido en alguna carpeta del filesystem.
find . -type f -size +50000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
En el find anterior podemos tocar los parametros " . ", que busca en la carpeta en la que estamos parados, y en sus subcarpetas y el parametro "+50000k", que significa algo asi como "mayores a 50 megas".
Espero que les sirva, otras formas de ver a donde se nos esta yendo el espacio del disco pueden ser:
du -h . --max-depth=1
Sin ir navegando en las subcarpetas, este DU nos mostrara cuando espacio estan ocupando cada uno de los nodos que se desprenden de donde estemos parados.
Y si nuestro problema de es de iNodos, podemos hacer un:
find -maxdepth 1 -type d | while read -r dir; do printf "%s:\t" $dir; find $dir -type f | wc -l; done
Como con el DU, este FIND nos va a mostrar cuantos nodos se esta consumiendo cada subdirectorio de donde estemos parados.
Si necesitamos buscar todos los archivos más antiguos que uno fecha, podemos hacer:
find /* -mtime +2
Y si queremos borrar automaticamente todos los archivos más antiguos que una fecha, podemos hacer:
find /tmp* -mtime +5 -exec rm -rf {} \;
Saludos.
Mostrando las entradas con la etiqueta eliminar. Mostrar todas las entradas
Mostrando las entradas con la etiqueta eliminar. Mostrar todas las entradas
miércoles, 15 de marzo de 2017
[Tip - Linux] - Buscar archivos por tamaño con find
Etiquetas:
automaticamente
,
buscar
,
consumo
,
disco
,
du
,
eliminar
,
encontrar
,
espacio
,
fecha
,
find
,
inodos
,
linux
,
nodos
,
peso
,
tamaño
,
tip
,
viejos
miércoles, 17 de diciembre de 2014
[TIP - Linux] - Borrar archivos antiguos - Borrar archivos con mas de x cantidad de dias
En lo que a administración de sistemas se refiere, se nos suele poner enfrente la situacion de administrar los o salidas de datos que se generan de millones, pero que no podemos eliminar todos los archivos de un tirón.
Donde /prod/aplicacion/salidas/out/PROD, es el path donde están los archivos que se desea eliminar. Eso si, MUY importante tener en cuenta que el asterisco (*) esta PEGADO al ultimo caracter del Path.
Y +15 es el dato de mayor a 15 dias de creados, bien podría ser 1, 7, o lo que quieran.
Por ej, tenemos un software en el servidor, que genera unos XLS con datos, todo el tiempo, todos los días. Y desde la empresa, nos informan que la política es mantener SIEMPRE los últimos 15 días de archivos. O sea, deberíamos entrar todos los días, y eliminar los mayores a 15 días. A mano, es una tarea bastante horrible, salvo que tengamos que justificar horas, y bueno, todos los días, unos 30 minutos borrando logs y outputs es mejor que nada.
Pero si lo que queremos es automatizar esta tarea, con el uso del querido Cron, lo único que deberíamos hacer es configurar un solo comando para que se ejecute de manera periódica, este comando seria:
find /prod/aplicacion/salidas/out/PROD* -mtime +15 -exec rm {} \;
Espero que les sirva.
Saludos!
Jorge Abreu.
Imagen original de: brunocb
Escrito por Jorge Abreu
Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987
Suscribirse a:
Entradas
(
Atom
)
