Vraag Hoe kan ik controleren wat logrotate aan het doen is?


Hoe kan ik controleren wat logrotate doet in Ubuntu? Kan de activiteit van logrotate worden gecontroleerd?


48
2017-10-09 13:43


oorsprong


nou, je zou kunnen gaan kijken welke bestandsbeschrijvingen het proces heeft geopend ... Misschien probeer je uit te leggen wat voor precies probleem je hebt? Probeert u uw eigen scripts te debuggen? Prestaties van standaard scripts of scripts van derden? - Hubert Kario


antwoorden:


cat /var/lib/logrotate/status 

Om te controleren of een bepaald log inderdaad draait of niet en om de laatste datum en tijd van rotatie te controleren, vinkt u het bestand / var / lib / logrotate / status aan. Dit is een netjes geformatteerd bestand dat de logbestandsnaam en de datum bevat waarop deze voor het laatst is geroteerd.

Meegenomen van:

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10


49
2018-06-24 16:04



Je zult dit bestand vinden als /var/lib/logrotate.status op Red Hat-systemen. - Michael Hampton♦
hier is een complete handleiding voor het oplossen van problemen met de logrotate in Red Hat-systemen: access.redhat.com/solutions/32831 - Gaia
Gezien Ubuntu, cat /var/lib/logrotate/status  alleen shows logrotate-activiteit geïnitieerd door de root-gebruiker. De cronjobs van andere gebruikers kunnen hun eigen logrotate-activiteit activeren, b.v. wanneer hun crontab een entry zoals bevat 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Die logrotate-activiteit zou naar het bestand worden geschreven $HOME/logrotate/logrotate-state, met $HOME de hoofddirectory van die gebruiker zijn. - Abdull


U kunt proberen logrotate uit te voeren in debug of verbose modus:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.

11
2017-10-09 15:36



Helpt dit wanneer logrotate als cron wordt gestart? Ik bedoel, is er een mogelijkheid om het gedrag van logrotate in een logbestand te loggen?
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log - kernelpanic
sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: toestemming geweigerd
@dude: als je dat probeert te doen vanaf de opdrachtregel en je krijgt die fout, dan moet je dit als volgt doen: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null (maken zeker jij hebt de -a). - Dennis Williamson
@Dennis wanneer ik probeer dat ik de logrotate.log maakt, maar deze heeft 0 KB en het proces stopt niet bij de terminal en wacht met een knipperende cursor.


In Suse is Linux distros als volgt:

cat /var/lib/logrotate.status

6
2018-04-14 14:40



AWS AMI Linux heeft dezelfde statusstructuur van de logrotate - Victor Perov


Verschillende logs worden gedraaid op verschillende frequenties op basis van het configuratiebestand (/etc/logrotate.conf) en / of map (/etc/logrotate.d). Namen kunnen variëren op verschillende distributies. De configuratie kan acties voor en na de rotatie specificeren. Namen van roated-bestanden en laatste rotatiedatum bevinden zich in het statusbestand (/ var / lib / logrotate / state).

Logrotate beschikt niet over logfaciliteiten. Herladen / herstarten acties die het initieert zullen worden vastgelegd volgens de logging voor het programma waarop wordt gehandeld.

De gemakkelijkste manier om dat te doen zou zijn om te bewerken /etc/cron.daily/logrotate om de -v keuze. Details over logrotate-configuratie en opties zijn te vinden met de opdracht man logrotate.


3
2017-10-10 05:06





Gast, je kunt de instellingen van logrotate, meestal in /etc/logrotate.conf.

Moderne distro's hebben een specifieke logrotate configuratiebestand in de /etc/logrotate.d directory.

bijv. voor nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

Het bewaart het bestand 52 weken (een jaar). De rotatie is wekelijks.


Notitie: user56548 was "Dude"

enter image description here


2
2017-10-09 15:57



Waarschijnlijk bedoelde je dat rotate 365 of weekly. Dagelijkse rotatie met rotate 52 zal 52 dagen logs bijhouden, uiteraard. - temoto
@temoto bedankt, het was eigenlijk weekly - Ring Ø