Portál AbcLinuxu, 29. prosince 2025 21:17
logrotate
Neubira se na rychlosti PC, kdyz ty logy jsou obrovske?Ne, do logu se jenom zapisuje - pridava na konec.
Nicmene je mozny nejaky script (treba by se jmenoval mailscript a messagesscript), ktery by mi po spusteni vypsal soubory (treba mailzadvadny.txt a messageszadvadny.txt) kam by vypsal vsechno ale jen za cely dnesek a cely vcerejsek?Muze nastavit logrotate tak, aby rotoval logy kazdy den...
(vzdy kdyz oteviram cely messages a mail, tak mi oba procaky vylitnou na chvili na 100% a vyznejte se pak v tom - clovek musi listovat apod...Normalne staci adminovi vypsat poslednich X radku (pomoci
tail), pripadne to profiltrovat grep-em... To sice muze byt taky spousta textu, ale radove min, nez je v celem logu. Dalsi moznosti je nastavit logovani tak, aby se v logu ukladalo pouze to, co chcete (napr. chyby).
# grep "Feb 26" /var/log/syslog | less
Ja si prave myslim, ze to mam nastavene tak (obsah meho logrotate - http://83.240.20.48/postupforum/viewtopic.php?p=43#43), aby se po tydnu (weekly - to znamena, ze skonci po tydnu zivotnost a soubor se vyprazdni?) log ulozil nekam do pryc (kam se uklada pokud skonci jeho zivotnost?) nicmene to se nedeje, protoze treba v messages jsou zaznamy za necele dva mesice...
jinak toto:
# see "man logrotate" for details weekly (rotovat se bude po výkendu nebo jak je přesný překlad) rotate 4 (budou 4 soubory) create (pokud soubor není tak se vytvoří) include /etc/logrotate.d (zde jsou další soubory s konfiguráky pro jednotlivé služby)Takže tento konfigurák zatím nedělá nic pouze definuje default volby, takže se musíte mrknout do /etc/logrotate.d co tam jsou za soubory a ty tam správně nakonfigurovat. Já tam mám třeba soubor syslog s obsahem:
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
Čili pro soubory /var/log/messages /var/log/secure atd.....se provede rotování každý výkend (dle toho hlavního konfiguráku a použijí se 4 soubory)
čili každý výkend se ten soubor přemenuje /var/log/messages.3 na /var/log/messages.4 a /var/log/messages.2 na /var/log/messages.3 a /var/log/messages.1 na /var/log/messages.2 a /var/log/messages na /var/log/messages.1 a vytvoří se nový prázdný /var/log/messages a tak stejně s ostatnímy soubory /var/log/secure atd... a na konec se provede restart démona syslogd. (proto aby použil nové soubory)Více jak jsem psal si nastuduj man logrotate i když neumím EN tak je to k pochopení.
- je fakt, ze anglicky malicko rozumim, ale tomu co se pise tam v tom vazne nechapu... - mozna bych jako pochopil to weekly, ale uz se nedoctu proc nefunguje ten konfik apod...
soubor_logu {
co se s tím má dělat
}
Příklad:
/var/log/messages {
rotate 5
weekly
postrotate
/sbin/killall -HUP syslogd
endscript
}
PS. Pokud nejste schopen upravit jednoduchý konfigurák tak si na to někoho najměte a zaplaťte, myslím že relevantních odpovědí tady máte dost.
) - potreboval bych ujisteni, zda vse mam tak jak mam mit - logy se nezmenili, jsou porad stejne obrovske (nebo se to ma zmenit az prejde pulnoc nebo tak neco?).
Program logrotate se musí spouštět od někud asi z cronu
Nes:~ # rcsyslog status
Checking for service syslog: running
Nes:~ #
/usr/sbin/logrotate -v /etc/logrotate.conf
?
a když jste si to dnes nainstaloval.
Pouze si prohlédněte konfiguráky a snažte se je pochopit.
Případně pokud to chcete honem vyskoušet přepište v konfiguráku weekly na daily a počkejte dva dny co to udělá.
Případně jak radily můžete skusit spustit "/usr/sbin/logrotate -v /etc/logrotate.conf" a kouknout zda to nepíše nějaké error a pod....
PS. funguje vám cron ? Máte tu službu spuštěnou ?
[petr@soban ~]$ ps -A | grep cron 2100 ? 00:00:00 crond [petr@soban ~]$
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.