ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] Re: your mail



Hi!

   Такой вот скриптик не устроит (attached)?

On Tue, 9 Feb 1999, Андрей Новиков wrote:

> Здравствуйте, господа.
> 
> А  кто  чем  логи чистит? Все ищу чистилку или ротатилку, но
> при этом надо, чтобы имя текущего файла было постоянным (для
> анализатора),  поэтому та, которая в поставке не подходит. К
> тому   же   хотелось   бы   настраивать  индивидуально  или
> максимальный объем или период ротации.
> 
> С уважением, Андрей Новиков
> 
> ------------------------------------------------------------
> Всероссийский Клуб Вебмастеров        http://www.webclub.ru/
> По официальным вопросам пишите     mailto:webclub@webclub.ru
> 
> 
> =============================================================================
> =               Apache-Talk@lists.lexa.ru mailing list                      =
> Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
> =       Archive avaliable at http://www.lexa.ru/apache-talk                 =
> 

Oleg.
---- 
    Oleg Broytmann  National Research Surgery Centre  http://sun.med.ru/~phd/
           Programmers don't die, they just GOSUB without RETURN.
#! /bin/sh

pattern="`date +%b/%Y`"

# if ziplog=YES then gzip the old logs
# if /path/file.scan exists, run it with the latest logfile name as arg
#
ziplog=YES

#
#
# rotate /path/file 9 8 7 6 5 4 3 2 1 0
#
rotate() {
        file="$1"; shift
        rm -f "$file.$1" "$file.$1.bz2"
        for i in "$@"; do
                [ "$i" = "0" ] && j="" || j=".`expr $i - 1`"
                [ -f "$file$j.bz2" ] && mv -f "$file$j.bz2" "$file.$i.bz2"
                [ -f "$file$j" ] && mv -f "$file$j" "$file.$i"
                [ "$i" = "0" -a -x $file.scan ] && $file.scan "$file.$i"
                [ -f "$file.$i" ] && [ "X$ziplog" = "XYES" ] && bzip2 -9 
"$file.$i"
        done
        cp /dev/null "$file"; chmod 644 "$file"
}

rotate_access_log() {
        file="$1"; shift
        rm -f "$file.$1" "$file.$1.bz2"
        for i in "$@"; do
                [ "$i" = "0" ] && j="" || j=".`expr $i - 1`"
                [ -f "$file$j.bz2" ] && mv -f "$file$j.bz2" "$file.$i.bz2"
                [ -f "$file$j" ] && mv -f "$file$j" "$file.$i"
                [ "$i" = "0" -a -x $file.scan ] && $file.scan "$file.$i"
                [ -f "$file.$i" ] && [ "X$ziplog" = "XYES" ] && bzip2 -9 
"$file.$i"
        done

   grep -v $pattern $file | bzip2 -9 > $file.0.bz2
   grep    $pattern $file            > $file.new || exit 1

   rm -f $file
   mv $file.new $file
   kill -1 `cat ../run/httpd.pid`
}

rotate error_log 12 11 10 9 8 7 6 5 4 3 2 1 0
rotate_access_log access_log 12 11 10 9 8 7 6 5 4 3 2 1
chown root:www *


 




Copyright © Lexa Software, 1996-2009.