Bevezetés
Telepítés
A Logrotate megértése
Naplók kezelése
Következtetés
Bevezetés
A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és a naplókat a konfigurációs fájl testreszabott szabályai/beállításai alapján kezeli.
A hasznos beállítások közé tartozik a naplófájlok automatikus elforgatása, tömörítése, eltávolítása és postázása.
Telepítés
A legtöbb Linux rendszeren alapértelmezés szerint telepítve van a Logrotate. A logrotateparancs kiadásával ellenőrizze, hogy telepítve van-e a Vultr példányára . Látni fog egy kimenetet a Logrotate azon verziójával, amelyen a szerver fut.
Ha még nincs telepítve, hajtsa végre az alábbi lépéseket a telepítés folytatásához.
Debian/Ubuntu rendszereken:
sudo apt-get update
sudo apt-get install logrotate
Redhat/CentOS rendszereken:
sudo yum update
sudo yum install logrotate
A Logrotate megértése
A logrotate működését biztosító mozgó alkatrészek a következők:
A tényleges eszköz logrotate.
A Logrotate konfigurációs fájlja a címen található /etc/logrotate.conf. Ez a fájl tartalmazza a Logrotate által kezelt összes naplófájl konfigurációját.
Napi cron-feladat, /etc/cron.daily/logrotateamely a logrotate parancsot a konfigurációs fájl beállításai alapján futtatja. Ha ez a cron feladat nem létezik a rendszeren, hozza létre, és adja hozzá az alábbi kódrészletet.
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
További információ a konfigurációról
Ha belepillant /etc/logrotate.conf, látni fogja, hogy benne van a vonal include /etc/logrotate.d. Ez a sor annyit tesz, hogy a Logrotate-ot arra kéri, hogy nézzen be a /etc/logrotate.dkönyvtárba, és futtasson benne minden konfigurációs fájlt. Ez a könyvtár általában az a hely, ahol a Linux rendszerre telepített alkalmazások hozzáadják a logrotate konfigurációikat. Például az Apache2 rendszerint /etc/logrotate.d/apachekonfigurációs fájlt hoz létre a telepítéskor.
Naplók kezelése
A Logrotate teszteléséhez a következőket fogjuk tenni:
Hozzon létre egy új tesztnaplófájlt 1 MB-os vagy véletlenszerű adatokkal:
sudo base64 /dev/urandom | head -c 1000000 > /tmp/testfile.log
Hozzon létre egy új Logrotate konfigurációt a futtatásával sudo nano /etc/logrotate.d/testlog. Másolja a következő részletet egy üres fájlba, és nyomja meg a Ctrl + X billentyűket a mentéshez és a kilépéshez.
/tmp/testfile.log {
size 1k
copytruncate
missingok
rotate 5
}
A fenti kódrészletben található konfigurációs beállítások a Logrotate-et a következőkre utasítják:
size 1k: Rotate log file if size is greater than or equal to 1k.
missingok: Ignore error messages if testfile.log does not exist.
copytruncate: Create a copy of current log file and then truncate it. This comes in handy when an application cannot close its log file because it continuously appends to it.
rotate 5: limit the number of log file rotations to 5. This will delete old versions of log files greater than 5 days.
Megjegyzés: Láthatjuk az összes beállítási lehetőség az logrotate itt .
Futtassa manuálisan a Logrotate parancsot:
sudo logrotate /etc/logrotate.conf
A fenti parancs futtatása után listázza ki az összes fájlt a tmp könyvtárban, ls -l /tmphogy megbizonyosodjon arról, hogy a testfile.log valóban el lett forgatva. Az alábbihoz hasonló listát kell látnia, amely azt mutatja, testfile.loghogy valóban el lett forgatva. Ez minden nap folytatódik, és megtartja a legújabb 5 példányt.
[root@vultr ~]# ls -l /tmp
-rw-r--r-- 1 root root 0 Nov 14 23:31 testfile.log
-rw-r--r-- 1 root root 1000000 Nov 14 23:30 testfile.log-20141114
-rw-r--r-- 1 root root 634 Nov 10 00:23 vultr_ipv6
-rw-------. 1 root root 0 Oct 15 20:44 yum.log
Következtetés
A naplók gyorsan problémákat okozhatnak a kiszolgálón, mivel túl nagyokká válnak, és lemezterületi problémákat okoznak. A naplók kezelése létfontosságú minden rendszer számára, de még jobb a kezelés automatizálása. A Logrotate megkönnyíti a naplók elforgatását, archiválását és törlését.
Írta: Lami Adabonyan