( Bu soru benzer bir konuyla ilgilenir, ancak döndürülmüş bir günlük dosyası hakkında konuşur.)
Bugün çok az /var
yerle ilgili bir sistem mesajı aldım .
Her zamanki gibi komutları sudo apt-get clean
, senaryoyu sadece biraz iyileştiren bir çizgi üzerinde yürüttüm. Sonra yine çok az iyileştirme sağlayan döndürülmüş log dosyalarını sildim.
Muayenede bazı kütük dosyalarının /var/log
çok büyük olduklarını gördüm . Spesifik olmak, ls -lSh /var/log
verir,
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
Gördüğümüz gibi, ilk ikisi rahatsız edici olanlardır. Neden bu kadar büyük dosyaların döndürülmediğine şaşırdım.
Peki ne yapmalıyım? Basitçe bu dosyaları silin ve sonra yeniden başlatın? Ya da biraz daha ihtiyatlı adımlar için gitmek?
Ubuntu 14.04 kullanıyorum.
GÜNCELLEME 1
Başlamak için, sistem sadece birkaç aylık. Sabit disk arızasından birkaç ay sonra sistemi sıfırdan kurmak zorunda kaldım.
Şimdi, bu cevabın önerdiği gibi , ilk önce rahatsız edici log dosyalarını kullanarak tail
sürpriz yapmadan kontrol ettim . Sonra, daha derin bir inceleme için, bu betiği aynı cevapta yürüttüm .
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
İşlem birkaç saat sürdü. Çıktı, doğrultusunda idi
/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
benim ev dizinim. bulabildiğimiz gibi,
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
Neden bir işlemin sınırın ötesine yazmak isteyeceği aslında benim anlama alanımın dışında. Belki bu sistem güncellemesinden sonra da devam ederse bu forumda farklı bir soru sormak isteyeceğim.)
Ardından gelen bu cevap (eğer kontrol etmek isteyebilir bu daha derin bir anlayış için), ben, idam
sudo su -
> kern.log
> syslog
Şimdi, bu dosyaların sıfır boyutları var. Sistem yeniden başlatmadan önce ve sonra çalışıyor.
Önümüzdeki birkaç gün içinde bu dosyaları (diğerleriyle birlikte) izleyeceğim ve işlem dışı
kalmaları durumunda rapor vereceğim .
Son bir not olarak, hem hakaret eden dosyaların ( kern.log
ve syslog
) her ikisi de, grep
içerideki dosyaların ( yardım
edilenlerin) incelemesi gibi döndürülmek üzere ayarlanmıştır /etc/logrotate.d/
.
GÜNCELLEME 2
Günlük dosyaları aslında döndürülür. Görünüşe göre büyük bedenler bir günde elde edildi.