Logrotate-3.21.0

Introduksjon til Logrotate

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

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Pakkeinformasjon

Logrotate Avhengigheter

Påkrevd

popt-1.19

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. En test mislykkes fordi den svært gamle compress ikke er tilstede og 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, kjør følgende kommandoer, som root bruker, for å opprette en systemd tidtaker som går daglig kl. 03.00. (lokal tid):

cat > /usr/lib/systemd/system/logrotate.service << "EOF" &&
[Unit]
Description=Runs the logrotate command
Documentation=man:logrotate(8)
DefaultDependencies=no
After=local-fs.target
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/logrotate /etc/logrotate.conf
EOF
cat > /usr/lib/systemd/system/logrotate.timer << "EOF" &&
[Unit]
Description=Runs the logrotate command daily at 3:00 AM

[Timer]
OnCalendar=*-*-* 3:00:00
Persistent=true

[Install]
WantedBy=timers.target
EOF
systemctl enable logrotate.timer

Innhold

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

Korte Beskrivelser

logrotate

utfører loggvedlikeholdsfunksjonene definert i konfigurasjonsfiler