Hello!

> From: "Andrew Lamzin" <[EMAIL PROTECTED]>
>
> Не получается сделать ротацию логов по команде oopsctl rotate -
> команда принимается, логи пишутся в тот же файл
>
> кусок конфига:
>
> > accesslog       /cache/oops/access.log
>
> подскажите, как (пошагово) сделать эту ротацию?

В исходном oops.cfg написано:
##
#  Logfile - just debug output
#  When used in form 'filename [{N S}] [[un]buffered]'
#  will be rotated automatically (up to N files up to S bytes in size)
##
logfile         /dev/tty
#logfile        /usr/local/oops/logs/oops.log { 3 1m } unbuffered

##
#  Accesslog - the same as for squid. Re rotating - see note for logfile
##
accesslog       /dev/tty
#accesslog      /usr/local/oops/logs/access.log

Задай параметры для автоматического ротейта логов - параметры N и S. А в том
случае, как у тебя описано в конфиге, oopsctl rotate просто переоткрывает файл
(смотрим src/rotate_logs.c):

[...]
static void
rotate_names(char *name, filebuff_t *fb, int num)
{
int     last, i;
char    tname[MAXPATHLEN+16], tname1[MAXPATHLEN+16];

    if ( fb == NULL || name == NULL ) return;
    if ( !num ) {
        /* if no number of logs configured just reopen file */
        close(fb->fd);
        fb->fd = open(name, O_WRONLY|O_APPEND|O_CREAT);
        return;

    }

    /* rename old files */
    last = num - 1;
    /* now rotate */
    for(i=last;i>0;i--) {
        snprintf(tname,  sizeof(tname)-1,  "%s.%d", name, i-1); /* newer
version */
        snprintf(tname1, sizeof(tname1)-1, "%s.%d", name, i);   /* older
version */
        RENAME(tname, tname1);                                  /* rename newer
to older */
    }
    if ( fb->fd != -1 ) close(fb->fd);
    RENAME(name, tname);
    fb->fd = open(name, O_WRONLY|O_APPEND|O_CREAT, 0660);
}

[...]

Если оставить как есть, то схема ротейта такая:
1. mv /cache/oops/access.log /cache/oops/access.log.old
2. oopsctl rotate

---
 Oleg Ramazanov [OR4-RIPN], Zenon N.S.P. (http://www.zenon.net/).


=====================================================================
If you would like to unsubscribe from this list send message to
[EMAIL PROTECTED] with "unsubscribe oops" in message body.
Archive is accessible on http://lists.paco.net/oops-rus/

Дати відповідь електронним листом