A rendszer által használt naplófájloknál láthatjuk (/var/log mappa), hogy időnként a fájlok sorszámozva vannak, majd tömörítve és amikor eljön az idő ki is törli őket a rendszer. Ahhoz hogy a mi általunk generált naplófájlok is ezen folyamat részesei lehessenek, és ne dúzzadjanak a végtelenségig, a következőket kell cselekednünk:
Használnunk kell a logrotate daemont, aminek a konfigurációs fájljában láthatjuk (/etc/logrotate.conf) többek között, hogy a forgatandó logfájlok beállításai a /etc/logrotate.d/ könyvtárban helyezkednek el.
Ebben a könyvtárban a már használatban lévő logfájlok konfigurációi találhatóak, remek kiindulási alapot nyújtva nekünk. Nem kell mást tennünk, csak ide egy általunk meghatározott névvel ellátott konfigurációs fájlt kell elhelyezzünk, és kész, a script naponta lefut, a következő futáskor már figyelembe veszi a mi beállításainkat is.
Az általam létrehozott konfig:
/var/log/rsync.log {
rotate 14
daily
compress
missingok
notifempty
}
- az első sor a logfájlunk
- maximum 14 napnyi logfájl fog megmaradni
- naponta kerül forgatásra a logfájl (a 14.-ik törlődik, a legújabb kap egy 1-es sorszámot és tömörítődik, ha van compress és nincs delaycompress)
- tömörítésre kerülnek a forgatott fájlok
- ha nincs ilyen logfájl, akkor sem lesz hiba, folytatódik a sor
- ha üres az aktuális logfájl, akkor nem forgat, hogy a régiek megmaradjanak
Az általunk létrehozott konfigurációt ki is próbálhatjuk a következőképpen:
/usr/sbin/logrotate -vdf /etc/logrotate.d/<beállítófájl>
Ez szimulálja a működést. Ha valójában tesztelni szeretnénk, akkor vegyük ki a d kapcsolót.
Konfiguráció:
Debian 9 Stretch
Forrás: