A 2. oldal tartalma
Folytatás
A Logrotate program segítségével automatizáltan forgathatjuk és tömöríthetjük a különböző szolgáltatásaink által generált naplófájlokat. Az első oldalon megsimerhettük a Logrotate alapvető beállításait, ezen az oldalon pedig saját példákkal folytatjuk a programmal való ismerkedést.
Használata
Ebben a fejezetben két saját, életszerű példán keresztül állítjuk be az opcionálisan telepített PHP rendszer PHP-FPM által generált naplófájlok forgatását.
PHP 7 naplófájl forgatása
Az első példában egy korábbi Debian 8 (Jessie) tökéletes szerverre került opcionálisan feltelepítve egy 7.1-es PHP rendszer, aminek a PHP-FPM naplófájlját fogjuk forgatni. Ezen a szerveren az alapértelmezett PHP az 5.6, ami szabályosan csomagból került feltelepítésre, így annak a naplófájl forgatása már meg van oldva. Viszont az utána forrásból lefordított és feltelepített PHP 7.1-hez magunknak kell ezt megoldanunk. Ez érvényes lehet más PHP verziókra is, amit forrásból fordítottunk le.
Elsőként lépjünk be a logrotate.d könyvtárába:
cd /etc/logrotate.d/
Majd hozzunk létre egy beállító fájlt a forgatáshoz:
nano php-7.1-fpm
Ezután tegyük bele a következő tartalmat:
/opt/php-7.1/var/log/php-fpm.log { rotate 14 daily compress delaycompress missingok notifempty postrotate /bin/kill -SIGUSR1 `cat /opt/php-7.1/var/run/php-fpm.pid 2>/dev/null` 2>/dev/null || true endscript }
Itt a fenti paraméterek már ismerősek, valamint van benne egy postrotate rész is, ami a forgatás után a PHP-FPM pid fájljából kiolvasott processz ID-jű folyamattól (ami a php-7.1-fpm mester processz) kér egy naplófájl újranyitást.
Ha a PHP fordításakor a php-fpm.conf fájlban más pid fájl elérési útvonalat állítottunk be, akkor természetesen azt használjuk.
Újraindítani nem kell semmit, ha lementettük a beállító fájlt, akkor utána már a Logrotate teszi a dolgát.
Ha mindent jól csináltunk, akkor a /opt/php-7.1/var/log könyvtárunk (vagy ahova telepítettük a PHP-t) valahogy így fog kinézni néhány nap múlva:
-rw------- 1 root root 0 ápr 2 06:25 php-fpm.log -rw------- 1 root root 212 ápr 2 06:25 php-fpm.log.1 -rw------- 1 root root 238 márc 28 06:25 php-fpm.log.2.gz -rw------- 1 root root 8,1K márc 27 06:25 php-fpm.log.3.gz
PHP 5 naplófájl forgatása
Ebben a példában pedig fordított felállásban, egy Debian 9 (Stretch) tökéletes szerverre forrásból lefordított és opcionálisan feltelepített PHP 5.6-os rendszer PHP-FPM naplófájlját forgatjuk a Logrotate segítségével.
Itt is lépjünk be a logrotate beállításokat tartalmazó könyvtárába:
cd /etc/logrotate.d/
És hozzunk létre egy fájlt:
nano php-5.6.40-fpm
Majd tegyük bele az alábbi tartalmat:
/opt/php-5.6.40/var/log/php-fpm.log { rotate 14 daily compress delaycompress missingok notifempty postrotate /bin/kill -SIGUSR1 `cat /opt/php-5.6.40/var/run/php-fpm.pid 2>/dev/null` 2>/dev/null || true endscript }
A fájl tartalma itt is ugyanaz, mint az előző példában, csak a naplófájl elérési útja, illetve a pid fájl útvonala változik. A fájl lementése után itt is hasonlóan elindul a php-fpm naplófájl forgatása, ami a fentebbi példához hasonló naplófájlstruktúrát eredményezi.
Tesztelés
Ha szeretnénk meggyőződni arról, hogy a friss beállításunk megfelelően működik, van lehetőség a tesztelésre is. Ehhez futtassuk az alábbi parancsot, miután lementettük új beállításunkat:
/usr/sbin/logrotate -vdf /etc/logrotate.d/<beállítófájl>
Ahol a kapcsolók:
- v: Bőbeszédű mód, mindent kiír
- d: Debug mód. Ilyenkor csak szimulálja hogy mit csinálna a következő forgatási ciklusban
- f: Force mód, kikényszeríti a forgatást akkor is, ha éppen nem lenne szükséges a beállítások alapján.
Ha pedig valóban le szeretnénk futtatni a forgatást, akkor hagyjuk ki a -d kapcsolót:
/usr/sbin/logrotate -vf /etc/logrotate.d/<beállítófájl>
Ekkor már létre is jön az újabb naplófájl.
Konklúzió
Ezzel a kis egyszerű, ám annál hasznosabb programmal rendben tarthatjuk naplófájljainkat, így nem maradunk le semmilyen eseményről. Ha feltelepítünk egy újabb szolgáltatást a szerverre, akkor célszerű rögtön a telepítés után utánajárni, hogy van-e már Logrotate beállítása. Ha nincs, akkor ilyen könnyen beállíthatjuk.
- Logrotate - Manual oldal
- GitHub oldal
- cyberciti.biz - How do I rotate log files?
- cyberciti.biz - Lighttpd rotating log files with logrotate tool
- support.rackspace.com - Understanding logrotate utility
- support.rackspace.com - Sample logrotate configuration and troubleshooting
- thegeekstuff.com - HowTo: The Ultimate Logrotate Command Tutorial with 10 Examples
- unix.stackexchange.com - Why we should use create and copytruncate together?
- linode.com - How to Use logrotate to Manage Log Files
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 172 megtekintés