Avatar billede killstun Nybegynder
05. maj 2006 - 00:11 Der er 5 kommentarer og
1 løsning

Squid log rotation

Jeg har en squid service som oparbejder nogle ret så store filer i mappen /var/log/squid. Faktisk bliver de så store at de fylder min disk med 100%. Det drejer som om filerne access.log.X, cache.log.X og store.log.X hvor X er et tal fra 0 og op efter.

For at slette disse filer, er jeg nød til at stoppe squid, slette filerne manuelt og starte squid igen. Dette er ikke særligt hensigtsmæssigt i dagtimerne, da brugere er på Internettet. Derfor søger jeg en automatisering af dette problem og har derfor kigget på log rotation. Dog er jeg helt blank over for hvorledes jeg skal gribe det an og hvordan jeg får det implanteret. Er dog nogle som kan hjælpe helt fra bunden til enden, hvorledes jeg automatisk kan slette disse filer f.eks. kl. 03.00 om natten hver søndag? Jeg er ret ny til Linux stadig, så håber nogle kan hjælpe?
Avatar billede lap Nybegynder
05. maj 2006 - 11:15 #1
går ud fra, at du har logrotate installeret - og at squid allerede logroterer (det tyder det på).

I mappen /etc/logrotate.d ligger filen squid - hvor konfigurationen af squid rotate ligger. Hvis du sætter rotate til 1 i stedet for 5 (standard) - så gemmer du kun 1 - eksempel:

/var/log/squid/access.log {
    weekly
    rotate 1
    copytruncate
    compress
    notifempty
    missingok
}

Det er også muligt at logrotate daily - fortsat kun gemme 1 eksemplar - så sparer du plads.

/var/log/squid/cache.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
}

/var/log/squid/store.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
# This script asks squid to rotate its logs on its own.
# Restarting squid is a long process and it is not worth
# doing it just to rotate logs
    postrotate
      /usr/sbin/squid -k rotate
    endscript
}
Avatar billede killstun Nybegynder
05. maj 2006 - 13:48 #2
Ahh, smart. Rigtig godt eksempel lap. Hvis jeg går ind i /etc/logrotate.d/ har jeg dog ikke en squid fil, kun apache2, mysql og en syslog-ng. Skal der stå noget i denne fil squid, andet end det du har skrevet herover? I så fald kan jeg vel bare selv lave filen, eller hvordan implanteres det?
Avatar billede lap Nybegynder
05. maj 2006 - 16:39 #3
min samlede fil er således - husk det med weekly eller daily:

/var/log/squid/access.log {
    weekly
    rotate 1
    copytruncate
    compress
    notifempty
    missingok
}

/var/log/squid/cache.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
}

/var/log/squid/store.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
# This script asks squid to rotate its logs on its own.
# Restarting squid is a long process and it is not worth
# doing it just to rotate logs
    postrotate
      /usr/sbin/squid -k rotate
    endscript
}
Avatar billede killstun Nybegynder
06. maj 2006 - 13:57 #4
ok, og så snart filen er oprettet, igangsættes processen automatisk?
Avatar billede lap Nybegynder
07. maj 2006 - 21:03 #5
jeps - ingen genstart af noget som helst
Avatar billede killstun Nybegynder
08. maj 2006 - 23:22 #6
Toppen, takker for hjælpen lap.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester