Wanneer we servers en clientcomputers op elk type plaats beheren, zijn een van de meest praktische en nuttige functies om te gebruiken de gebeurtenissen die het systeem zelf creëert, zowel voor zijn services en parameters als voor de geïnstalleerde applicaties en de taken die elke gebruiker voert uit. Eeto is handig voor ondersteunende, auditing- en controletaken. Om dit soort logs of gebeurtenissen op een veel uitgebreidere manier te beheren, integreert Linux een tool genaamd logrotate die automatische rotatie, compressie, verwijdering en verzending van logbestanden mogelijk maakt, waardoor administratieve taken worden vergemakkelijkt.
Solvetic legt uit hoe je logrotate op Linux installeert en gebruikt.
Wat is logrotateDit is een tool die is gemaakt met als doel systemen te kunnen beheren die op natuurlijke wijze grote hoeveelheden logbestanden creëren. Logrotate maakt daarom de automatische rotatie, compressie, verwijdering en verzending van logbestanden mogelijk. Het beste is zijn veelzijdigheid, aangezien elk logbestand periodiek of naarmate het groeit, kan worden beheerd. Logrotate wordt standaard uitgevoerd als een dagelijkse cron-taak, waardoor wordt voorkomen dat een record meerdere keren per dag wordt gewijzigd, tenzij een criterium is opgegeven voor dat record op basis van de grootte van dit record en logrotate dus meerdere keren per dag moet worden uitgevoerd, of tenzij de -fo --force optie wordt gebruikt.
Een willekeurig aantal configuratiebestanden kan in de logrotate-opdrachtregel staan, maar het is normaal om een enkel configuratiebestand te gebruiken waarin alle andere configuratiebestanden die moeten worden geanalyseerd, zijn opgenomen. Als er geen opdrachtregelargumenten worden opgegeven, drukt logrotate de versie en copyrightinformatie af, samen met een korte samenvatting van het gebruik.
Logrotate-functiesDoor logrotate te gebruiken is het mogelijk om taken uit te voeren zoals:
- start een nieuw logbestand volgens een schema, zoals dagelijks, wekelijks of maandelijks.
- Comprimeer oude logbestanden om ruimte op de harde schijf te besparen.
- trim oude bestanden zodat u slechts een bepaald aantal oude records bewaart.
- hernoem oude logbestanden met een datumstempel, zodat u weet waar u oudere logbestanden kunt zoeken.
- Voer opdrachten uit voor of nadat een recordset is geroteerd.
1. Installeer logrotate op Ubuntu Linux
Stap 1
Logrotate is standaard voorgeïnstalleerd op het systeem, in dit geval Ubuntu 18, maar als dat niet het geval is, kunnen we het installeren met de volgende opdracht:
sudo apt installeer logrotate -y
Stap 2
Nadat logrotate is geïnstalleerd op Ubuntu 18, is het mogelijk om de versie van logrotate te controleren met de volgende opdracht:
sudo logrotate
2. Logrotate configureren op Ubuntu Linux
Stap 1
Het hoofdconfiguratiebestand voor logrotate is standaard "logrotate.conf", dat zich in de directory /etc/logrotate.conf bevindt. Andere configuratiebestanden zijn beschikbaar in /etc/logrotate.d, het zal mogelijk zijn om ze op te sommen met het volgende commando:
sudo ls /etc/logrotate.d
Stap 2
We kunnen de inhoud van het hoofdconfiguratiebestand voor logrotate zien door een van de volgende opties uit te voeren:
cat /etc/logrotate.conf nano /etc/logrotate.conf
Stap 3
De meest essentiële opties in dit bestand zijn:
Draai logbestanden eenmaal per week
wekelijks (wekelijks)
Archiveer logboeken met behulp van een specifieke gebruiker (root) en groep (syslog) om problemen met bijbehorende machtigingen te voorkomen
su root syslog
Bewaar vier oude versies van het bestand
roteren 4
Sla het oude bestand op met een nieuwe naam en er wordt een nieuw bestand aangemaakt
creëren
Comprimeer logbestanden om ruimte te besparenDit gebeurt standaard met gzip, maar het is mogelijk om indien nodig een ander programma op te geven.
samendrukken
Zorg ervoor dat de inhoud van de directory is opgenomenIn deze /etc/logrotate.d directory staan bestanden die specificeren hoe sommige individuele logbestanden moeten worden verwerkt.
erbij betrekken
Genereert geen fout als het hoofdrecord ontbreekt
missingok
Draai het logbestand niet als het leeg is
meldingleeg
Stap 4
Standaard wordt logrotate dagelijks uitgevoerd door het shellscript /etc/cron.daily/logrotate uit te voeren. We kunnen de logrotatie van Apache gebruiken door het volgende commando uit te voeren:
sudo logrotate -d /etc/logrotate.d/apache2
VERGROTEN
Stap 5
Logrotate wordt standaard uitgevoerd als een dagelijkse cron-taak. Elk bestand in /etc/logrotate.d wordt gebruikt om extra configuraties toe te voegen of de standaardconfiguraties voor specifieke bestanden te overschrijven, in de map wordt ook de logrotate-configuratie opgeslagen van elk geïnstalleerd pakket dat registerrotatie nodig heeft, we kunnen het volgende uitvoeren om te zien dat inhoud:
ls -l /etc/logrotate.d
VERGROTEN
Stap 6
Enkele van de parameters die kunnen worden gebruikt met logrotate zijn:
Activeer de foutopsporingsmodusActiveert de foutopsporingsmodus en impliceert -v. In debug-modus worden er geen wijzigingen aangebracht in de logs of het logrotate-statusbestand.
-d, --debug
Rotatie forcerenVertel logrotate om de rotatie te forceren, zelfs als het niet nodig is. en.
-f, --kracht
OpdrachtpromptVertelt logrotate welke opdracht moet worden gebruikt bij het verzenden van records per post, bij gebruik van deze opdracht moet u twee argumenten accepteren: 1) het onderwerp van het bericht en 2) de ontvanger. De opdracht zou een bericht op standaardinvoer moeten lezen en naar de ontvanger moeten mailen. Het standaard mail-commando is / bin / mail -s.
-m, --mail
Alternatieve statusindicatorInstrueert logrotate om een alternatief statusbestand te gebruiken, het standaardstatusbestand is /var/lib/logrotate.status.
-s, --staat
Een bericht voor kort gebruik afdrukken
--gebruik maken van
Een helpbericht afdrukken
- ?, --helpen
Uitgebreide modus activeren
-v, --verbose
We hebben dus gezien hoe we logrotate kunnen gebruiken om op een praktische manier gebeurtenissen in Ubuntu Linux te beheren en te beheren.