Logrotate-3.22.0

Introduksjon til Logrotate

logrotate pakken tillater automatisk rotasjon, komprimering, fjerning og utsendelse av loggfiler.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

Logrotate Avhengigheter

Påkrevd

popt-1.19

Anbefalt

Valgfri

En MTA (kjøretid)

Installasjon av Logrotate

Installer logrotate ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make test. To tester mislykkes hvis en MTA ikke er installert.

Nå, som root bruker:

make install

Konfigurere Logrotate

Logrotate trenger en konfigurasjonsfil, som må sendes som et argument til kommandoen når den utføres. Opprett filen som root bruker:

cat > /etc/logrotate.conf << EOF
# Begin /etc/logrotate.conf

# Rotate log files weekly
weekly

# Don't mail logs to anybody
nomail

# If the log file is empty, it will not be rotated
notifempty

# Number of backups that will be kept
# This will keep the 2 newest backups only
rotate 2

# Create new empty files after rotating old ones
# This will create empty log files, with owner
# set to root, group set to sys, and permissions 664
create 0664 root sys

# Compress the backups with gzip
compress

# No packages own lastlog or wtmp -- rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/lastlog {
    monthly
    rotate 1
}

# Some packages drop log rotation info in this directory
# so we include any file in it.
include /etc/logrotate.d

# End /etc/logrotate.conf
EOF

chmod -v 0644 /etc/logrotate.conf

Nå opprett /etc/logrotate.d mappen som root bruker:

mkdir -p /etc/logrotate.d

På dette tidspunktet kan det vanligvis legges inn ekstra loggrotasjonskommandoer i /etc/logrotate.d mappen. For eksempel:

cat > /etc/logrotate.d/sys.log << EOF
/var/log/sys.log {
   # If the log file is larger than 100kb, rotate it
   size   100k
   rotate 5
   weekly
   postrotate
      /bin/killall -HUP syslogd
   endscript
}
EOF

chmod -v 0644 /etc/logrotate.d/sys.log

Du kan angi flere filer i en oppføring:

cat > /etc/logrotate.d/example.log << EOF
file1
file2
file3 {
   ...
   postrotate
    ...
   endscript
}
EOF

chmod -v 0644 /etc/logrotate.d/example.log

Du kan bruke listen over filer på samme linje: fil1 fil2 fil3. Se logrotate man siden eller https://www.techrepublic.com/article/manage-linux-log-files-with-logrotate/ for flere eksempler.

Kommandoen logrotate /etc/logrotate.conf kan bli kjørt manuelt, men kommandoen bør kjøres daglig. Andre nyttige kommandoer er logrotate -d /etc/logrotate.conf for feilsøkingsformål og logrotate -f /etc/logrotate.conf for å tvinge logrotate kommandoer som skal kjøres umiddelbart. Kombiner de tidligere alternativene -df, du kan feilsøke effekten av tvangkommandoen. Ved feilsøking simuleres kommandoene bare og kjøres faktisk ikke. Som et resultat vil feil om filer som ikke eksisterer til slutt vises fordi filene faktisk ikke er opprettet.

For å kjøre logrotate kommandoen daglig, hvis du har installert Fcron-3.2.1 og fullførte delen om periodiske jobber, kjør følgende kommandoer, som root bruker, for å opprette en daglig cron jobb:

cat > /etc/cron.daily/logrotate.sh << "EOF" &&
#!/bin/bash
/usr/sbin/logrotate /etc/logrotate.conf
EOF
chmod 754 /etc/cron.daily/logrotate.sh

Innhold

Installerte Programmer: logrotate
Installert Bibliotek: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

logrotate

utfører loggvedlikeholdsfunksjonene definert i konfigurasjonsfiler