Meddelande

Minska
No announcement yet.

Perl - Rotera Apache-log och spara varje dag

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Perl - Rotera Apache-log och spara varje dag

    Får man väldigt stora access-loggar så kan det vara bra att rotera dem men samtidigt vill man kanske spara dessa för senare bruk.

    Denna varianten zippar loggen varje dag och lägger den i en mappstruktur. En mapp för årtalet och sedan månadsmapp som innehåller loggfilerna döpta med dagens datum, så det går enkelt att hitta filen samt radera hela månader eller år.

    Skriptet är testat med Slackware men borde fungera på de flesta distar som har gzip och perl.

    Först skapar vi ett enkelt bash-skript som kör perl-skriptet och roterar loggen. Det är detta skript som ska läggas i crontab och alltså köras som ett cronjobb.

    Bash-skript:[kod]perl /usr/local/script/archive_access_log.pl

    rm /usr/local/apache/logs/webforum-access_log
    touch /usr/local/apache/logs/webforum-access_log

    kill -HUP `cat /usr/local/apache/logs/httpd.pid`[/kod]
    Detta skriptet måste kunna exekveras av användaren som kör cronjobbet.
    Översta raden anger sökväg till själva perl-skriptet som ska skapa kopian på loggarna innan dessa raderas.

    Kontrollera också så Apache:s sökvägar stämmer.

    Vill man inte zippa loggarna så kan man plocka bort sista delen i skriptet nedanför (bifogade filen). Se till att det finns rättigheter att köra skriptet för den användare som ska köra det samt att det också går att skriva till den mapp du vill spara loggarna i.
    Bifogade filer
Working...
X