log kayıtlarını max min gibi deger aralıkları verebilirmiyim?
sisteme baktığımda syslog ve kern.log kayıtları cok fazla yer kaplıyor, kapatmak istemiyorum ama nasıl sınırlandırabilirim
du -h /var/log/
208K /var/log/apache2
48K /var/log/apt
40K /var/log/exim4
13M /var/log/installer/cdebconf
14M /var/log/installer
4.0K /var/log/news
4.0K /var/log/mysql
8.0K /var/log/dbconfig-common
12K /var/log/fsck
1.3G /var/log/
3.2G /
/etc/logrotate.d/rsyslog dosyasinda monthly, daily gibi ifadeler goreceksiniz bunlari size ifadesi ile degistirip istediginiz dosya boyutu limitini kullanabilirsiniz. rotate ifadesinin yanindaki sayilar da silinmeden once kac dosyanin tutulacagini belirtmek icin kullanilir. size ifadesini kullanirsaniz, monthly, daily vb. zaman ifadelerini kullanmamalisiniz. Ornek;
/var/log/syslog
{
rotate 4
size 100M
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog > /dev/null 2>&1 || true
endscript
}
Bu su anlama geliyor. Boyutu 100M olacak en fazla 4 dosya tut. 5.'ye gecilecegi zaman en eski dosyayi sil. Dolayisiyla toplam boyut 400M civarinda olsun. Eski loglari sikistirarak yerden tasarruf et. Fakat en guncelden bir onceki log dosyasini bir sonraki rotasyon zamaninda sikistir ki eger hala o dosyaya yazmaya calisan process varsa sorun cikarmasin. Eger kayip log dosyasi varsa olay cikarmadan sessizce bir sonrakine gec. Bos olan log dosyalarini rotasyona tabii tutmana gerek yok. Rotasyon bitince rsyslog daemon'unun ayar dosyasini yeniden yukle. Bu surecte cesitli nedenlerle cikti uretirse gormezden gel.
Bu ornekle, http://manpages.ubuntu.com/manpages/trusty/en/man8/logrotate.8.html sayfasinda bulabileceginiz direktifleri kullanarak istediginiz degisikligi yapabilirsiniz.
Alıntı yapılan: cagriemer - 11 Aralık 2014 - 04:21:38
/etc/logrotate.d/rsyslog dosyasinda monthly, daily gibi ifadeler goreceksiniz bunlari size ifadesi ile degistirip istediginiz dosya boyutu limitini kullanabilirsiniz. rotate ifadesinin yanindaki sayilar da silinmeden once kac dosyanin tutulacagini belirtmek icin kullanilir. size ifadesini kullanirsaniz, monthly, daily vb. zaman ifadelerini kullanmamalisiniz. Ornek;
/var/log/syslog
{
rotate 4
size 100M
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog > /dev/null 2>&1 || true
endscript
}
Bu su anlama geliyor. Boyutu 100M olacak en fazla 4 dosya tut. 5.'ye gecilecegi zaman en eski dosyayi sil. Dolayisiyla toplam boyut 400M civarinda olsun. Eski loglari sikistirarak yerden tasarruf et. Fakat en guncelden bir onceki log dosyasini bir sonraki rotasyon zamaninda sikistir ki eger hala o dosyaya yazmaya calisan process varsa sorun cikarmasin. Eger kayip log dosyasi varsa olay cikarmadan sessizce bir sonrakine gec. Bos olan log dosyalarini rotasyona tabii tutmana gerek yok. Rotasyon bitince rsyslog daemon'unun ayar dosyasini yeniden yukle. Bu surecte cesitli nedenlerle cikti uretirse gormezden gel.
Bu ornekle, http://manpages.ubuntu.com/manpages/trusty/en/man8/logrotate.8.html sayfasinda bulabileceginiz direktifleri kullanarak istediginiz degisikligi yapabilirsiniz.
yardimlariniz icin tesekkur ederim.
cozuldukonusu
rsyslog dosyası içeriğinde 2 tane rotate var nasıl olucak
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Şu dosya yolundaki kayıt dosyası:
/var/log/syslog
Aşağıdaki konfigürasyona göre rotasyona tabii tutuluyor:
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Şu dosya yolundakiler ise:
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
Aşağıdaki konfigürasyona göre...
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Yani önce dosya yolunu/yollarını belirtiyorsun, hemen altına da süslü parantezler içerisinde o kayıt dosyasına/dosyalarına uygulanacak konfigürasyon yapısını.