( Esta pregunta trata un problema similar, pero habla de un archivo de registro rotado).
Hoy recibí un mensaje del sistema sobre muy poco /var
espacio.
Como de costumbre, ejecuté los comandos en la línea de los sudo apt-get clean
cuales mejoré el escenario solo un poco. Luego eliminé los archivos de registro rotados que nuevamente proporcionaron muy poca mejora.
Tras el examen, descubro que algunos archivos de registro en el /var/log
han crecido para ser muy grandes. Para ser específico, ls -lSh /var/log
da,
total 28G -rw-r----- 1 syslog adm 14G Aug 23 21:56 kern.log -rw-r----- 1 syslog adm 14G Aug 23 21:56 syslog -rw-rw-r-- 1 root utmp 390K Aug 23 21:47 wtmp -rw-r--r-- 1 root root 287K Aug 23 21:42 dpkg.log -rw-rw-r-- 1 root utmp 287K Aug 23 20:43 lastlog
Como podemos ver, los dos primeros son los ofensivos. Me sorprende un poco por qué no se han rotado archivos tan grandes.
¿Entonces qué debo hacer? ¿Simplemente elimine estos archivos y luego reinicie? ¿O dar algunos pasos más prudentes?
Estoy usando Ubuntu 14.04.
ACTUALIZACIÓN 1
Para empezar, el sistema tiene solo varios meses. Tuve que instalar el sistema desde cero hace un par de meses después de un bloqueo del disco duro.
Ahora, como se aconseja en esta respuesta , primero revisé los archivos de registro ofensivos usando tail
, no es de extrañar. Luego, para una inspección más profunda, ejecuté este script desde la misma respuesta .
for log in /var/log/{syslog,kern.log}; do
echo "${log} :"
sed -e 's/\[[^]]\+\]//' -e 's/.*[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//' ${log} \
| sort | uniq -c | sort -hr | head -10
done
El proceso tomó varias horas. La salida estaba en la línea de,
/var/log/syslog : 71209229 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 53929977 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 17280298 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 54763121030042024) <snipped> /var/log/kern.log.1 : 71210257 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 71209212 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 954763121030042024)
( /dev/sda3
es mi directorio de inicio. Como podemos encontrar,
lsblk /dev/sda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 122.1G 0 part / ├─sda2 8:2 0 7.6G 0 part [SWAP] └─sda3 8:3 0 801.8G 0 part /home
Por qué un proceso querrá escribir más allá del límite está realmente fuera del alcance de mi comprensión. Tal vez quiera hacer una pregunta diferente en este foro si esto continúa incluso después de una actualización del sistema).
Luego, a partir de esta respuesta (es posible que desee verificar esto para una comprensión más profunda), ejecuté,
sudo su -
> kern.log
> syslog
Ahora, estos archivos tienen cero tamaños. El sistema funciona bien antes y después de un reinicio.
Veré estos archivos (junto con otros) en los próximos días e informaré si
se comportan fuera de línea.
Como nota final, los dos archivos ofensivos ( kern.log
y syslog
) están configurados para rotarse, como muestra la inspección de los archivos ( grep
ayudados) en el interior
/etc/logrotate.d/
.
ACTUALIZACIÓN 2
Los archivos de registro se giran realmente. Parece que los grandes tamaños se alcanzaron en un solo día.