Introducció
Instal·lació
Comprensió de Logrotate
Gestió de registres
Conclusió
Introducció
Logrotate és una utilitat Linux que simplifica l'administració dels fitxers de registre. Normalment s'executa un cop al dia mitjançant un treball cron i gestiona els registres basats en regles/configuracions personalitzades del seu fitxer de configuració.
Algunes de les seves opcions útils inclouen la rotació automàtica, la compressió, l'eliminació i l'enviament per correu dels fitxers de registre.
Instal·lació
La majoria dels sistemes Linux vénen amb Logrotate instal·lat per defecte. Comproveu si el teniu instal·lat a la vostra instància Vultr emetent l' logrotateordre. Veureu una sortida amb la versió de Logrotate que està executant el vostre servidor.
Si no el teniu instal·lat, seguiu els passos següents per continuar amb la instal·lació.
En sistemes Debian/Ubuntu:
sudo apt-get update
sudo apt-get install logrotate
En sistemes Redhat/CentOS:
sudo yum update
sudo yum install logrotate
Comprensió de Logrotate
Les parts mòbils que fan que logrotate s'executi són:
L'eina real logrotate.
Fitxer de configuració de Logrotate situat a /etc/logrotate.conf. Aquest fitxer conté la configuració de tots els fitxers de registre que gestiona Logrotate.
Un treball cron diari /etc/cron.daily/logrotateque emet l'ordre logrotate per executar-se en funció de la configuració del seu fitxer de configuració. Si aquesta tasca de cron no existeix al vostre sistema, creeu-la i afegiu-hi un fragment de codi a continuació.
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
Més informació sobre la configuració
Si doneu un cop d'ull a dins /etc/logrotate.conf, veureu que hi ha la línia include /etc/logrotate.d. El que fa aquesta línia és dir-li a Logrotate que busqui dins del /etc/logrotate.ddirectori i executi tots els fitxers de configuració que hi ha. Aquest directori és normalment on les aplicacions instal·lades al vostre sistema Linux afegiran les seves configuracions de logrotate. Per exemple, Apache2 normalment crearà un /etc/logrotate.d/apachefitxer de configuració després de la instal·lació.
Gestió de registres
Per provar Logrotate, farem el següent:
Creeu un fitxer de registre de prova nou amb 1 MB o dades aleatòries:
sudo base64 /dev/urandom | head -c 1000000 > /tmp/testfile.log
Creeu una nova configuració de Logrotate executant sudo nano /etc/logrotate.d/testlog. Copieu el fragment següent al fitxer buit i premeu Ctrl + X per desar i sortir.
/tmp/testfile.log {
size 1k
copytruncate
missingok
rotate 5
}
Les opcions de configuració del fragment anterior indiquen a Logrotate que:
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.
NOTA: Podeu veure totes les opcions de configuració de logrotate aquí .
Executeu l'ordre Logrotate manualment:
sudo logrotate /etc/logrotate.conf
Després d'executar l'ordre anterior, enumereu tots els fitxers del directori tmp ls -l /tmpper confirmar que testfile.log s'ha girat. Hauríeu de veure una llista semblant a la següent que mostra testfile.logque efectivament s'ha girat. Això continuarà cada dia i conservarà les 5 còpies més recents.
[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
Conclusió
Els registres poden crear problemes ràpidament en un servidor ja que es fan massa grans i provoquen problemes d'espai en disc. La gestió dels registres és crucial per a qualsevol sistema, però encara millor és automatitzar aquesta gestió. Logrotate facilita rotar, arxivar i suprimir registres.
Escrit per Lami Adabonyan