Logrotate
Från DannoWiki
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