Una de las tareas más frecuentes y tediosas del administrador de sistemas es evitar que se llenen los sistemas de ficheros de una máquina, pues cuando un servidor se queda sin espacio las consecuencias son impredecibles. Dependiendo de cómo esté estructurado el sistema de ficheros raíz de dicha máquina y de la división entre distintas particiones o volúmenes que hayamos establecido, dichas consecuencias serán más o menos graves, pero en cualquier caso indeseables.
En cualquier caso siempre es mejor prevenir que curar, por lo que conviene utilizar herramientas que realicen la rotación automática de logs como logrotate y scripts personalizados que vigilen y lleven a cabo acciones periódicas de vaciado para evitar que se nos llenen nuestros sistemas de ficheros. No obstante, aún usando estos métodos de prevención serán muchas las ocasiones en que tendremos que actuar manualmente para solucionar problemas que seguro se producirán.
A continuación recojo una recopilación de los comandos Linux que a mi me resultan más útiles en el día a día para liberar espacio y mantener desde el intérprete de comandos mis sistemas de ficheros en un estado de salud óptimo.
1. Comprobar el espacio libre disponible
Para saber el espacio libre del que disponemos en todos los sistemas de ficheros de nuestra máquina ejecutaremos el siguiente comando:
~$ df -h S.ficheros Tamaño Usados Disp Uso% Montado en /dev/sdb5 3,9G 842M 3,0G 22% / udev 2,0G 4,0K 2,0G 1% /dev tmpfs 791M 956K 790M 1% /run none 5,0M 0 5,0M 0% /run/lock none 2,0G 72M 1,9G 4% /run/shm /dev/sdb1 118M 91M 28M 77% /boot /dev/sdb10 31G 6,8G 24G 23% /home /dev/sdb6 23G 12G 12G 52% /usr /dev/sdb7 9,6G 1,5G 8,1G 16% /var /dev/sdb8 2,9G 62M 2,8G 3% /tmp /dev/sdb11 102G 11G 91G 11% /vmware /dev/sda1 230G 93G 125G 43% /var/datos
Para un directorio concreto:
~$ df -h /home S.ficheros Tamaño Usados Disp Uso% Montado en /dev/sdb10 31G 6,8G 24G 23% /home
Para mostrar los sistemas de ficheros por orden de ocupación y saber así cuales son los que están más llenos:
~$ df -h | awk '{print $5 " " $6}' | sort -n | tail -5 22% / 23% /home 43% /var/datos 52% /usr 77% /boot
2. Calcular el tamaño ocupado por un directorio
El parámetro -h indica que se muestre el tamaño del modo más amigable posible, ya sea en Kilobytes, Megabytes, Gigabytes o Terabytes.
~# du -h -s /var/log 9,6M /var/log
3. Eliminar vs vaciar ficheros
Para eliminar ficheros con el fin de liberar espacio emplearemos habitualmente el comando rm. Sin embargo, es muy habitual que no nos podamos permitir eliminar un fichero por estar siendo utilizado en ese momento por una aplicación, lo cual es de lo más habitual con ficheros de log en sistemas en producción que no pueden parar. Eliminarlos directamente puede tener consecuencias nefastas, como el bloqueo de la propia aplicación que los está utilizando, o más leves pero también indeseables, como que se interrumpa el volcado de datos a estos ficheros y dejen de ser útiles.
Error: Your Requested widget " ai_widget-6" is not in the widget list.
- [do_widget_area above-nav-left]
- [do_widget_area above-nav-right]
- [do_widget_area footer-1]
- [do_widget id="wpp-4"]
- [do_widget_area footer-2]
- [do_widget id="recent-posts-4"]
- [do_widget_area footer-3]
- [do_widget id="recent-comments-3"]
- [do_widget_area footer-4]
- [do_widget id="archives-4"]
- [do_widget_area logo-bar]
- [do_widget id="oxywidgetwpml-3"]
- [do_widget_area menu-bar]
- [do_widget id="search-3"]
- [do_widget_area sidebar]
- [do_widget id="search-4"]
- [do_widget id="ai_widget-2"]
- [do_widget id="categories-5"]
- [do_widget id="ai_widget-3"]
- [do_widget id="ai_widget-4"]
- [do_widget id="ai_widget-5"]
- [do_widget_area sub-footer-1]
- [do_widget id="text-4"]
- [do_widget_area sub-footer-2]
- [do_widget_area sub-footer-3]
- [do_widget_area sub-footer-4]
- [do_widget_area upper-footer-1]
- [do_widget id="search-2"]
- [do_widget id="recent-posts-2"]
- [do_widget id="recent-comments-2"]
- [do_widget id="archives-2"]
- [do_widget id="categories-2"]
- [do_widget id="meta-2"]
- [do_widget_area upper-footer-2]
- [do_widget_area upper-footer-3]
- [do_widget_area upper-footer-4]
- [do_widget_area widgets_for_shortcodes]
- [do_widget id="search-5"]
- [do_widget id="ai_widget-6"]
- [do_widget_area wp_inactive_widgets]
- [do_widget id="wpp-2"]
- [do_widget id="text-1"]
- [do_widget id="recent-posts-3"]
- [do_widget id="categories-3"]
- [do_widget id="archives-3"]
- [do_widget id="icl_lang_sel_widget-3"]
Para no alterar el funcionamiento de una aplicación y conseguir nuestro objetivo de liberar espacio vaciaremos los ficheros en lugar de eliminarlos:
~# >/var/log/syslog
Tras esto el fichero quedará con un tamaño de 0 bytes.
Si necesitamos vaciar múltiples ficheros a la vez con un único comando:
~# for I in `ls "https://cdn.daniloaz.com/var/log/*.log"`;do >"$I";done
4. Contar el número de ficheros en un directorio
~# ls -l /var/log | wc -l 80
5. Obtener los ficheros que más pesan de un filesystem
Este comando es útil cuando queremos liberar espacio, pues muestra los ficheros que tienen un mayor tamaño dentro de un directorio incluyendo sus subdirectorios, siendo el último de la lista el más pesado.
~# du -k /var/log | sort -n | tail -5 516 /var/log/apache2 5256 /var/log/exim4 12884 /var/log/installer/cdebconf 13504 /var/log/installer 21456 /var/log
El tamaño de los ficheros se debe mostrar Kilobytes (parámetro -k). Es necesario utilizar este parámetro en lugar de -h porque si no el comando sort -n no ordenaría la lista del modo que nosotros esperamos.
Es importante limitar el número de ficheros que queremos mostrar con tail -X, siendo X dicho número, pues si el directorio en cuestión tiene cientos o miles de ficheros, la salida del comando se puede demorar demasiado por la sobrecarga de entrada/salida a la que someteremos a nuestro terminal, sobre todo si nos estamos conectando de forma remota via telnet o ssh a un servidor y la conexión no es muy rápida.
Error: Your Requested widget " ai_widget-6" is not in the widget list.
- [do_widget_area above-nav-left]
- [do_widget_area above-nav-right]
- [do_widget_area footer-1]
- [do_widget id="wpp-4"]
- [do_widget_area footer-2]
- [do_widget id="recent-posts-4"]
- [do_widget_area footer-3]
- [do_widget id="recent-comments-3"]
- [do_widget_area footer-4]
- [do_widget id="archives-4"]
- [do_widget_area logo-bar]
- [do_widget id="oxywidgetwpml-3"]
- [do_widget_area menu-bar]
- [do_widget id="search-3"]
- [do_widget_area sidebar]
- [do_widget id="search-4"]
- [do_widget id="ai_widget-2"]
- [do_widget id="categories-5"]
- [do_widget id="ai_widget-3"]
- [do_widget id="ai_widget-4"]
- [do_widget id="ai_widget-5"]
- [do_widget_area sub-footer-1]
- [do_widget id="text-4"]
- [do_widget_area sub-footer-2]
- [do_widget_area sub-footer-3]
- [do_widget_area sub-footer-4]
- [do_widget_area upper-footer-1]
- [do_widget id="search-2"]
- [do_widget id="recent-posts-2"]
- [do_widget id="recent-comments-2"]
- [do_widget id="archives-2"]
- [do_widget id="categories-2"]
- [do_widget id="meta-2"]
- [do_widget_area upper-footer-2]
- [do_widget_area upper-footer-3]
- [do_widget_area upper-footer-4]
- [do_widget_area widgets_for_shortcodes]
- [do_widget id="search-5"]
- [do_widget id="ai_widget-6"]
- [do_widget_area wp_inactive_widgets]
- [do_widget id="wpp-2"]
- [do_widget id="text-1"]
- [do_widget id="recent-posts-3"]
- [do_widget id="categories-3"]
- [do_widget id="archives-3"]
- [do_widget id="icl_lang_sel_widget-3"]
6. Listar los ficheros más pesados de un directorio
Similar al anterior, pero en este caso sólo se muestran los fichero del propio directorio, sin incluir subdirectorios.
~# ls -lSr | tail -5 -rw-r----- 1 syslog adm 118616 sep 29 22:05 auth.log -rw-r--r-- 1 root root 149012 sep 9 17:12 udev -rw-r--r-- 1 root root 160128 ago 4 19:27 faillog -rw-r----- 1 syslog adm 499400 sep 28 06:25 auth.log.1 -rw-rw-r-- 1 root utmp 1461168 sep 29 21:54 lastlog
Si elimináramos el parámetro -r obtendríamos los ficheros más ligeros en lugar de los de mayor tamaño.
7. Calcular el espacio ocupado por ciertos ficheros
Por ejemplo, si queremos obtener el espacio total ocupado sólo por los ficheros con extensión .log en un directorio, usaremos el siguiente comando:
~# du -ch /var/log/*.log | grep total 468K total
8. Encontrar ficheros de gran tamaño fijando límites
Por ejemplo, aquellos que tengan un tamaño de más de 100 MB, o aquellos que ocupen entre 100 MB y 1 GB:
~$ find . -type f -size +100M -ls
~$ find . -type f -size +100M -size -1G -ls
9. Listar los ficheros modificados más recientemente
~# ls -larth /var/log | tail -5 drwxr-xr-x 20 root root 4,2K sep 30 12:27 . -rw-rw-r-- 1 root utmp 11K sep 30 13:03 wtmp -rw-r----- 1 syslog adm 13K sep 30 13:03 syslog -rw-r----- 1 syslog adm 13K sep 30 13:03 kern.log -rw-r----- 1 syslog adm 1000 sep 30 13:03 auth.log
El parámetro -a indica que también se muestren los ficheros ocultos.
10. Encontrar ficheros antiguos (I)
Muchas veces necesitamos saber los ficheros modificados dentro de un intervalo de tiempo dado. En el siguiente ejemplo, localizamos los ficheros que tengan una antigüedad de más de 90 días con el fin de encontrar ficheros antiguos que ya no sirvan y puedan eliminarse para liberar espacio.
~# find /var/log -mtime +90 -ls
~# find /var/log -mtime +90 -ls -exec rm {} \;
El primer comando sólo localiza los ficheros, el segundo además los elimina.
11. Encontrar ficheros antiguos (II)
Igual que el anterior, pero en este caso también se consideran los ficheros que hayan sido accedidos dentro del intervalo de tiempo especificado, sin que hayan tenido por qué ser modificados.
~# find /var/log -atime +90 -ls
12. Encontrar ficheros vacíos
El siguiente comando nos permite encontrar en el directorio actual ficheros con un tamaño de 0 bytes, es decir, vacíos. Esto es útil ante situaciones anómalas en las que se generan este tipo de ficheros, por ejemplo tras llenarse un filesystem o por el comportamiento anómalo de una aplicación. Ante estos escenarios se hace necesaria una limpieza, pues aunque estos ficheros no ocupen espacio en disco sí que pueden llegar a consumir todos los inodos disponibles de un sistema de ficheros si se crean de forma masiva e impedir así que se puedan crear nuevos ficheros.
~$ find . -type f -size 0b -ls
O también:
~$ find . -type f -empty -ls
Para saber el número de inodos libres del que disponen los distintos sistemas de ficheros de una máquina usaremos el comando df -i.
13. Empaquetar y comprimir el contenido de un directorio
A veces es útil empaquetar todos los ficheros de registro o de log de un directorio en un único fichero comprimido para conservar el estado de dicho directorio en un punto temporal determinado y poder eliminar o vaciar todos esos ficheros con el fin de liberar espacio.
~# tar -zcvf var_log.`date +%Y%m%d`.tar.gz /var/log/*.log
El comando anterior comprime todos los ficheros de log en un único fichero comprimido con extensión tar.gz y con la fecha de hoy para que sea más fácil localizar los distintos puntos temporales en el futuro. Veamos cómo conseguir ahorrar espacio, pasando en este ejemplo de 468 MB a 35 MB:
~# du -ch /var/log/*.log | grep total 468M total ~# ls -lh var_log.20140930.tar.gz -rw-r--r-- 1 root root 35M sep 30 13:36 var_log.20140930.tar.gz
Tras esto podemos proceder a vaciar todos los ficheros de log como en el punto 3.
14. Encontrar ficheros en la papelera de reciclaje
Normalmente cuando enviamos algún fichero a la papelera de reciclaje éste simplemente se mueve a un directorio oculto de nuestra carpeta personal como por ejemplo ~/.local/share/Trash en Ubuntu. Sin embargo, hay aplicaciones específicas que utilizan sus propios directorios para almacenar la basura con un nombre que surge de la combinación de la palabra trash en mayúsculas o minúsculas con alguna secuencia de números, como por ejemplo .Trash001, .trash-002, .Trash_0003, etc.
También cuando montamos sistemas de ficheros externos procedentes de un disco duro externo o una tarjeta SD, el sistema operativo del que procede ha podido guardar ficheros en la papelera, pero el nombre de ésta puede diferir de un sistema operativo a otro y ser distinto del que utiliza nuestra distribución Linux y por tanto no reconocerla. En estos casos nos encontramos con que aunque vaciemos la papelera de reciclaje seguiremos teniendo una gran cantidad de espacio ocupado en nuestro dispositivo sin razón aparente.
Pues bien, la solución pasa por buscar todos los subdirectorios *trash* que haya en nuestro sistema sin diferenciar entre mayúsculas o minúsculas y analizar su contenido para ver si podemos deshacernos de él (no siempre será basura todo lo que encontremos). El comando necesario sería el siguiente y su ejecución puede llevar mucho tiempo, por lo que quizás queramos restringirlo a un sistema de ficheros o directorio concreto:
~$ find / -iname "*trash*" -ls
15. Encontrar ficheros repetidos
Por último, ahí va un enorme comando que nos permitirá encontrar y eliminar los ficheros duplicados que haya en un directorio para evitar redundancias innecesarias que pueden ser muy costosas en términos de espacio consumido.
~$ find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -f3-100 -d ' ' | tr '\n.' '\t.' | sed 's/\t\t/\n/g' | cut -f2-100 | tr '\t' '\n' | perl -pe 's/([ (){}-])/\\$1/g' | perl -pe 's/'\''/\\'\''/g' | xargs -pr rm -v
¿Y a ti? ¿Se te ocurren más comandos útiles que utilices habitualmente para mantener tus filesystems desocupados?
31 comentarios
Unirte a la conversacióntanui - 19/05/2015
¿Como sería esto?
buscar desde un directorio D recursivamente, todos los archivos con extension *.x que contentan la cadena de caracteres»abc», y que no estén dentro de directorios que se llamen «bin»
Sólo sé esto:
find . -name «*.x» | xargs find «abc»
No sé como añadir lo de quitar los archivos que estén en el directorio «bin».
También me gustaría saber cómo eliminar del resultado de búsqueda toda la info no deseada para mí, como por ejemplo los permisos, usuario, grupo, etc. y dejar solamente el path del fichero que busco.
Gracias de antemano por la ayuda!
Daniel - 09/01/2017
Te faltaría añadir el parámetro -path «*bin*» para no buscar en subdirectorios cuyo nombre contenga la cadena bin. Puedes también evitar el comando xargs poniendo simplemente find . -name «*abc*.x». El comando find no muestra por defecto información de permisos, usuario, grupo, etc. a menos que se añada el parámetro -ls, por lo que simplemente evitando su uso eliminarías toda esa información del resultado.
JOSE VARELA - 16/06/2015
muchas gracias son muy utiles
Eduardo - 19/08/2015
Hola,
Tengo un problema con un bedian 3.1 y es que en el FS de var/ me muestra una lectura que no corresponde.
/dev/cciss/c0d0p2 ext3 43G 40G 100M 100% /var
Dice un 100% ocupado, pero según muestra la información, tendría disponible de 3G??
me puedes ayudar con este problema.
Saludos y gracias.
Daniel - 09/01/2017
Los sistemas de ficheros tipo ext3 almacenan información de journaling que ocupa espacio adicional aparte de la información que almacenemos en él. Por eso una partición formateada con ext3 siempre tendrá menos espacio disponible para nuestro uso que el propio tamaño de la partición. Además, podría ser que adicionalmente hubiera ficheros o restos de ellos en el directorio lost+found recuperados tras una revisión mediante la herramienta fsck.
Carlos Muñoz - 01/01/2017
Buen día, porque mi archivo syslog en /var/log se llena muy rápido de tamaño….?
Daniel - 09/01/2017
El archivo /var/log/syslog recibe los mensajes de error, alerta, información, etc. sobre eventos del sistema. Puede estar llenándose demasiado de forma justificada si el sistema presenta alguna anomalía, o puede que alguna aplicación esté vertiendo demasiados mensajes irrelevantes para un sistema en producción. En el primer caso habría que solucionar el problema de raíz que esté ocurriendo, y el segundo se puede evitar o mitigar ajustando el fichero /etc/syslog.conf para que no se muestren mensajes tipo notice o info, por ejemplo.
Carlos - 05/04/2017
Busco el archivo syslog.conf en el subdirectorio /etc y no aparece, el parecido que esta en la carpeta es sysctl.conf
Daniel - 10/03/2021
Dependiendo de la distribución, puede ser también /etc/rsyslog.conf.
Mario Holod - 19/05/2018
usa este Comando: «>/var/log/syslog» el archivo quedara existente pero se limpiara totalmente. Mas fácil imposible, pero no esta demas que edites a tu conveniencia /etc/syslog.conf
ROMSAT - 29/01/2017
Hola Daniel, te felicito un post muy bueno.
Existe una utilidad de Python llamada «pydf» que es una excelente alternativa al conocido «df». Se instala haciendo: sudo apt install pydf
Que muestra de forma algo más visual el espacio disponible en cada punto de montaje, usando colores y gráficos de barras dentro de la terminal.
$ pydf (da información básica)
$ pydf -a (qué sistema de archivos no contiene ningún bloque)
Y otros parámetros típicos son: -k (en Kilobytes) -m (en Megabytes) -g (en Gigabytes)
Es todo. Un saludo desde Málaga.
antonio - 15/04/2017
Muchas gracias por compartir la info, me sirvió bastante! (Y)
Dajhan Cendales - 02/04/2018
Muchas Gracias me sirvieron demasiado los comandos, me salvaron
Ever Alfonso Santamaría - 02/10/2018
Buen día.
El servidor Elastix de la empresa presenta el suguiente error «Reload failed because retrieve_conf encountered an error: 126» hemos revisado y extraido la información del disco y aun continua el error. Que puede ser el error??
Agradezco su ayuda.
Luis - 03/10/2018
Hola tengo una duda, en la parte de «capacidad total de los sistemas de archivos» lo muestra en rojo y al 100%, esto puede afectar los procesos de mi ERP instalado en el servidor centos 6.7
Y si es así como puedo reducir el uso de este.
Saludos.
Daniel - 27/10/2018
Efectivamente, un sistema de archivos al 100% impide nuevas escrituras, lo cual puede provocar todo tipo de efectos inesperados e indeseables sobre el funcionamiento del sistema. Si sigues mis recomendaciones de particionamiento en http://www.daniloaz.com/es/la-importancia-de-particionar-correctamente-un-disco-en-linux/ podrás acotar el impacto sobre el servidor y reducirlo a un mal funcionamiento de una aplicación o aplicaciones específicas. En cualquier caso, cualquier solución pasa únicamente por borrar ficheros que no sean necesarios, o aumentar el tamaño de la partición/volumen que se ha llenado al 100%.
Guille - 02/04/2019
Tras varias actualizaciones del sistema, unos ficheros que ocupan mucho y podrías borrar son los kernel antiguos, en /boot podrías ver y borrar unos cuantos kernel pero cuidado con no borrar el último. Cada kernel tiene varios ficheros parejos con la misma numeración.
Miller leonardo - 02/02/2019
Hola Daniel como estas?
Me gustaria instalar en mi centos software de monitoreo para que cada ves que los.discos se llenen genere una alerta via correo, como lo instalo y la configuracion porfavor necesito tu ayuda urgente.
Gracias
Daniel - 10/02/2019
Hay distintos sistemas de monitorización open source que permiten hacer esto, como Prometheus, Influxdb, Zabbix, Nagios, etc., y también de pago, como Datadog, Dynatrace, etc. Pero si sólo quieres monitorizar de forma sencilla la ocupación de tus discos y enviar un correo de notificación, puedes usar una solución más simple, como Monit (https://mmonit.com/monit/), o un sencillo script como este, que es mejorable, pero que te servirá para salir del paso:
#!/bin/bash
threshold=»90″
i=1
result=`df -kh |grep -v «Filesystem» | awk ‘{ print $5 }’ | sed ‘s/%//g’`
for percent in $result; do
if ((percent > threshold));then
partition=`df -kh | head -$i | tail -1| awk ‘{print $1}’`
filesystem=`df -kh | head -$i | tail -1| awk ‘{print $6}’`
echo «$partition mounted at $filesystem is ${percent}% full»
echo «$partition mounted at $filesystem is ${percent}% full» | swaks –to info@example.com –from «sys@example.com» –server localhost -p 25
fi
let i=$i+1
done
miguel - 28/05/2019
Hola!
me veo con en la necesidad de por fechas anteriores a X tiempo, más de 25 días por ejemplo, comprimir unos ficheros de logs, sino me quedo sin inodos. Estoy intentando combinar las opciones de find, algo así:
find ./ -iname ‘*.log.*’ -type f -mtime +25 -exec tar cvzf access_comprimir.tar.gz {} \;
¿esto no funciona, alguna idea para hacer esto?
Muchas gracias, una entrada muy buena y útil.
Daniel - 28/05/2019
Efectivamente no funciona, porque ejecutas el tar una vez por cada fichero que encuentra el find, machacando el contenido anterior. Por tanto al final tienes un fichero tar con un único fichero (el último) en lugar de empaquetarlos todos. Lo que pretendes conseguir lo puedes hacer con el siguiente comando:
find ./ -iname ‘*.log.*’ -type f -mtime +25 -print0 | xargs -0 tar cvzf access_comprimir.tar.gz
miguel - 28/05/2019
Hola Daniel,
En cuanto llegue mañana lo pruebo, tiene sentido lo que dices. Tenía en mente hacerlo con gzip como alternativa a tar porque no funciona exacamente igual.
Algo más o menos así:
find ./ -iname ‘*.log.*’ -type f -mtime +25 -print0 | gzip -d {}/;
de esta manera en comprime el contenido de las llaves que es lo que ha localizado con find.
Tengo que probar las dos opciones.
Muchas gracias por responder y tan pronto. Volveré por tu blog 😉
Cesar - 01/08/2019
Buenos días,
En primer lugar, felicitarte por el hilo y la ayuda que nos proporcionas.
Necesito crear una tarea para el crontab que comprima en gzip todos los ficheros de logs anteriores a la fecha indicada, por ejemplo, 2 días.
Entiendo que sería muy parecido a lo que dice miguel el día 28/05/2019 pero no logro que funcione correctamente.
Me podrías ayudar.
Gracias de antemano.
Daniel - 18/08/2019
Necesitaría más detalles concretos de lo que quieres conseguir y del comando que estás usando para ello. No obstante, para mantener los ficheros de log de un sistema lo mejor es utilizar la herramienta logrotate para ir rotándolos (que se vayan eliminando los más antiguos períodicamente) y también para ir comprimiéndolos automáticamente y que ocupen menos espacio.
cesar - 24/08/2019
algo asi seria correcto gracias por tu respuesta
guillermo - 07/08/2019
Hola Daniel, hoy al intentar encender mi macbook con mojave instalado al teclear la contrasena de logueo en el escritorio no termina el arranque y se queda asi de ahi no pasa, revisando con df -h veo que se quedo sin espacio el fs /dev 0bits , me podrias ayudar a poder depurarlo o que tendria que hacer para no perder mi informacion, por que ni entrando en la utilidad de discos en el modo seguro me deja hacer nada ni volver a reinstalar, solo eliminando o formateando el ssd…agradezco de antemano tu amable atencion
Daniel - 18/08/2019
Hola Guillermo, no conozco en profundidad las particularidades de Mac OS X en cuanto a si es normal o no que el /dev esté al 100% de ocupación, pues /dev es un sistema de ficheros especial. Las causas de que no arranque tu macbook podrían ser otras, así que lo mejor es que revises los logs del sistema (/var/log/syslog y /var/log/messages), ya que en ellos se escribe información sobre la secuencia de arranque del sistema y los errores que se producen. Esa será la información más valiosa para saber qué está pasando.
eduardo - 05/08/2020
Excelente
daq - 10/03/2021
y entonces la linea de comando para eliminar??? la injormacion del file system??d
Gustavo - 02/10/2021
Me gustaria saber si existe , alguna forma , para poder monitorear un demonio .sh que no esta escribiendo logs? existe algun comando linux para ese monitoreo? y asi poder enviarme un correo de que el demonio dejo de escribir logs?
Daniel - 19/11/2021
El siguiente comando devuelve el número de segundos que han pasado desde la última modificación de un fichero. Bastaría un pequeño script que compruebe cada x tiempo si el nº de segundos devuelto por dicho comando es superior a un determinado umbral, y si es así que envíe el correo de aviso:
echo $(expr $(date +%s) – $(stat /var/log/wtmp -c %Y))