Logrotate: Skillnad mellan sidversioner

Från DannoWiki
Hoppa till navigeringHoppa till sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
 
(En mellanliggande sidversion av samma användare visas inte)
Rad 11: Rad 11:
<pre>
<pre>
/var/log/min_backupp.log {
/var/log/min_backupp.log {
    su root root
     weekly
     weekly
     rotate 4
     rotate 4
Rad 21: Rad 22:
</pre>
</pre>
Vad betyder alla dessa rader?
Vad betyder alla dessa rader?
* su root root: för att säkerställa rättigheter att skriva i mappen.
* weekly: Roterar loggen en gång i veckan (du kan ändra till daily om du hellre vill att den roterar varje natt).
* weekly: Roterar loggen en gång i veckan (du kan ändra till daily om du hellre vill att den roterar varje natt).
* rotate 4: Sparar 4 gamla roterade loggfiler innan de äldsta börjar raderas (du har alltså 4 veckors historik sparad).
* rotate 4: Sparar 4 gamla roterade loggfiler innan de äldsta börjar raderas (du har alltså 4 veckors historik sparad).
Rad 33: Rad 35:
<code>sudo logrotate -d /etc/logrotate.d/nextcloud-backup</code><br />
<code>sudo logrotate -d /etc/logrotate.d/nextcloud-backup</code><br />
Om du vill tvinga en rotation direkt för att se att filerna ändras (så du får din första .1-fil):<br />
Om du vill tvinga en rotation direkt för att se att filerna ändras (så du får din första .1-fil):<br />
sudo logrotate -f /etc/logrotate.d/nextcloud-backup
<code>sudo logrotate -f /etc/logrotate.d/nextcloud-backup</code>

Nuvarande version från 29 juli 2026 kl. 13.12

Du har ett backupscript som körs dagligen, och som skapar en loggfil.
Låt oss kalla filen för "min_backupp.log" och som placeras i /var/log/
Linux-system har en inbyggd funktion som förhindrar att din hårddisk överfylls med gamla loggfiler.
Denna funktion heter logrotate och den skall vi använda nu.
Det räcker med en liten konfigurationsfil i mappen /etc/logrotate.d/

  • Skapa och öppna filen:

sudo vi /etc/logrotate.d/min_backupp

  • Skriv in nedanstående:
/var/log/min_backupp.log {
    su root root
    weekly
    rotate 4
    compress
    delaycompress
    missingok
    notifempty
    create 0640 root root
}

Vad betyder alla dessa rader?

  • su root root: för att säkerställa rättigheter att skriva i mappen.
  • weekly: Roterar loggen en gång i veckan (du kan ändra till daily om du hellre vill att den roterar varje natt).
  • rotate 4: Sparar 4 gamla roterade loggfiler innan de äldsta börjar raderas (du har alltså 4 veckors historik sparad).
  • compress: Komprimerar de gamla loggfilerna till .gz för att spara utrymme.
  • delaycompress: Väntar med att komprimera den senast roterade loggen till nästa cykel (så att .1 är ren text, men .2.gz, .3.gz osv. är komprimerade).
  • missingok: Om loggfilen inte skulle finnas när logrotate körs så kraschar inte tjänsten, utan den går bara vidare.
  • notifempty: Roterar inte loggen om den är helt tom.
  • create 0640 root root: Skapar en helt ny, tom loggfil efter rotationen med rättigheterna 0640 och ägaren root.

Testa att det fungerar:
Torrkör i debug-mode, så ser du vad logrotate.d vill göra:
sudo logrotate -d /etc/logrotate.d/nextcloud-backup
Om du vill tvinga en rotation direkt för att se att filerna ändras (så du får din första .1-fil):
sudo logrotate -f /etc/logrotate.d/nextcloud-backup