Ett Linuxsystem roterar diverse loggfiler för att dessa inte skall bli så stora. Vad den gör är att den med någon slags regelbundenhet, som man själv styr över, döper om loggfilen till ett löpnummer, och börjar om med en ny fil. Sen sparar den ett visst antal sådana loggfiler.

Ibland skapar man egna loggfiler, exempelvis via olika skript om schemaläggs att köras regelbundet. Dessa loggfiler är givetvis inget som roteras som standard, men det är enkelt att åtgärda detta.

Antaganden för nedanstående skript: Din användare heter sven och din hemmakatalog är /home/sven. Där i har du en katalog som heter log och i den loggar du i en fil som heter myscript.log.

Gå till katalogen /etc/logrotate.d och skapa en fil som heter myscript:
$ cd /etc/logrotate.d
$ sudo touch myscript

Öppna filen:
$ sudo vi myscript

Och lägg in följande i den:

/home/sven/log/myscript.log {
    rotate 7
    daily
    compress
    delaycompress
    missingok
    notifempty
    create 644 sven users
}
  • rotate 7 betyder att den sparar 7 filer, när den åttonde skapas, raderas den första.
    daily betyder att filen roteras dagligen. I filer man inte skriver så mycket/ofta i kan weekly eller monthly räcka.
  • compress betyder att gamla versioner av loggfilen komprimeras med gzip.
  • delaycompress betyder att den inte komprimerar den senast roterade filen, men alla äldre.
  • missingok betyder att ifall loggfilen inte finns, vilket kan hända om man inte skriver varje dag till den loggfilen, så går den vidare utan att ge ett felmeddelande.
  • notifempty betyder att den inte roterar filen om den är tom.
  • create 644 sven users betyder att när den skapar en ny fil får den rättigheter 644 (användaren får läs- och skrivrättigheter, övriga får läsrättigheter), ägaren heter sven, och gruppen heter users.

Man kan skriva fler/andra saker i direktivet men detta var ett litet exempel. Ovanstående skript kommer roteras varje dag, men om du vill testa den kan du göra det med följande kommando:
$ sudo logrotate -f /etc/logrotate.d/myscript

Läs mer i manualen
$ man logrotate

eller på https://linuxconfig.org/logrotate.