- Se incorporó
- 15 Enero 2004
- Mensajes
- 11.880
En la revisión diaria de logs de un servidor productivo me encuentro con que el aplicativo no puede escribir logs de auditoría. Obviamente lo primero que hago es revisar el espacio en disco, el cual está bien, tengo bastante espacio disponible. Sin embargo, igual no se pueden crear nuevos archivos. Tate, los inodos, me dije.
Con el comando df -i reviso el estado de los inodos y efectivamente el volumen (que es un volumen montado de un storage externo) al 100%, siendo que el resto de los volúmenes estaba holgadísimo, al 7% de ocupación máxima de inodes.
Me puse a borrar archivos del directorio de archivos de auditoría para liberar inodos, y luego puse en el crontab la instrucción de que todos los días borre los archivos con más de 30 días de antigüedad.
Sin embargo, no me gusta ser huevón dos veces, así que voy a revisar que otro directorio tiene muchos archivos, y lo que necesito es una forma de listar todos los directorios y la cantidad de archivos que contienen, para ver si en otro lugar también se están generando archivos de auditoría, traza, logs, etc, y ponerlo en borrado automático en el crontab. Pillé esto en google
http://www.iteramos.com/pregunta/27262/howto-libre-uso-de-inodes
No lo he probado porque todavía estoy borrando archivos, pero apenas pueda ejecutarlo les comento.
Con el comando df -i reviso el estado de los inodos y efectivamente el volumen (que es un volumen montado de un storage externo) al 100%, siendo que el resto de los volúmenes estaba holgadísimo, al 7% de ocupación máxima de inodes.
Me puse a borrar archivos del directorio de archivos de auditoría para liberar inodos, y luego puse en el crontab la instrucción de que todos los días borre los archivos con más de 30 días de antigüedad.
Sin embargo, no me gusta ser huevón dos veces, así que voy a revisar que otro directorio tiene muchos archivos, y lo que necesito es una forma de listar todos los directorios y la cantidad de archivos que contienen, para ver si en otro lugar también se están generando archivos de auditoría, traza, logs, etc, y ponerlo en borrado automático en el crontab. Pillé esto en google
http://www.iteramos.com/pregunta/27262/howto-libre-uso-de-inodes
Código:
#!/bin/bash # count_em - count files in all subdirectories under current directory. echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$ chmod 700 /tmp/count_em_$$ find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n rm -f /tmp/count_em_$$
No lo he probado porque todavía estoy borrando archivos, pero apenas pueda ejecutarlo les comento.