Zmniejszenie dziennika syslog do 500MB?

Potrzebujesz pomocy z C, C++, perl, python, itp.
ulises
Posty: 20
Rejestracja: 21 maja 2010, 14:54

Zmniejszenie dziennika syslog do 500MB?

Post autor: ulises »

Witam.

Od pewnego czasu plik /var/log/syslog ma u mnie ponad 2GB, jak zmniejszyć go do 500MB?
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Spróbuj z

Kod: Zaznacz cały

logrotate
.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Zdaje się że przycinanie logów powinno być skonfigurowane domyślnie, problemem może być zła konfiguracja crona u mnie miał wykonywać polecenia o 5:00 rano a skoro komputer był wyłączony to nie wykonywał. Przejrzyj katalog

Kod: Zaznacz cały

/etc/cron.daily
tam powinno być odniesienie do logrotate.
Konfiguracje crona zmienia się w pliku

Kod: Zaznacz cały

/etc/crontab
A moim zdanie najlepiej wymienić crona na anacrona.
ulises
Posty: 20
Rejestracja: 21 maja 2010, 14:54

Post autor: ulises »

W /etc/cron.daily/logrotate mam taką zawartość, ciężko odnieść mi się czy to jest poprawne

Kod: Zaznacz cały

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
A w /etc/logrotate.conf

Kod: Zaznacz cały

# see "man logrotate" for details
# rotate log files weekly
daily

# keep 4 weeks worth of backlogs
rotate 7

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Reszta konfiguracji logrotate jest w:

Kod: Zaznacz cały

/etc/logrotate.d
Logrotate jest raczej poprawnie skonfigurowany to cron nie uruchamia logrotate po pewnie gdy ma to zrobić komputer jest wyłączony.
Zainstaluj anacrona i usuń crona.
ulises
Posty: 20
Rejestracja: 21 maja 2010, 14:54

Post autor: ulises »

W pliku /etc/logrotate.d/rsyslog znalazłem informację odnośnie ustawień dziennika syslog i jego rotacji. Czyli rozumiem, że dodając tutaj parametr:

Kod: Zaznacz cały

size 500M
(dodałem pod linijką ,,daily'' - pogrubienie) dziennik będzie obcinany po przekroczeniu 500MB, czy dobrze myślę?

Kod: Zaznacz cały

/var/log/syslog
{
    rotate 7
    daily
    [B]size 500M[/B]
    missingok
    notifempty
    delaycompress
    compress
    postrotate
        invoke-rc.d rsyslog reload > /dev/null
    endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
    rotate 4
    weekly
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        invoke-rc.d rsyslog reload > /dev/null
    endscript
}
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Moim zdanie trzeba usunąć "daily". Daily oznacza kopiowanie co dziennie, a ty chcesz po przekroczeniu 500M.
ulises
Posty: 20
Rejestracja: 21 maja 2010, 14:54

Post autor: ulises »

Dziękuje za informację i pomoc. Tak zrobię.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

I pamiętaj o konfiguracji crona lub zainstalowaniu anacrona, bo to te pakiety są odpowiedzialne za regularna uruchamianie logrotate.
ODPOWIEDZ