přejít na obsah přejít na navigaci

Linux E X P R E S, Pár tipů pro server

Pár tipů pro server

Řešení několika provozních chyb ..


reklama

Správu serverů stíhám zpravidla až o víkendech. V neděli jsem se po snídani podíval na zoubek jednomu neposlušnému serveru s Debianem.

Narůstající log emailového serveru

Jedním "skriptem" si sem-tam zobrazuji statistiku doručených/odeslaných zpráv a jejich poměru ke SPAMu, který přes server projde. jaké bylo moje překvapení, když jsem se dozvěděl o řádově desítce tisíc SPAMů, které server zachytil. Na denní statistiku mi to přišlo docela dost, ale druhým pohledem jsem jednoduše zjistil, že /var/log/mail.log během týdne nabral na váze a obsahuje data za více jak jeden den.

Na vině je v tomto místě logrotate, který (ani nevím proč) přestal rotovat log emailu. Podíval jsem se tedy do souboru /etc/logrotate.conf, v kterém jsem odkomentoval a upravil následující

/var/log/mail.info /var/log/mail.log {
missingok
daily
rotate 7
create
compress
}

dál zavolal 

logrotate -f /etc/logrotate.conf 

a logy mail.info a mail.log se smazaly (zálohovaly a posunuly podle pravidel rotování logu). Bohužel Postfix do nich přestal zapisovat.

Segfault ve /var/log/messages

Podíval jsem se do /var/log/messages, kde mě vim upozornil na opakující se řádky vypadající zhruba takto:

Sep 19 08:19:01 obelix kernel: [20704774.629416] cron[30684]: segfault at 0 ip 00000000 sp bfc9cfa4 error 4 in cron[8048000+8000]

Tuto chybu jsem kdysi už viděl, ale její řešení úspěšně zapomněl. Po chvíli hledání na Google, který všechno ví a zná jsem našel pravděpodobnou příčinu plynoucí z aktualizaci a chybějící některé z linkovaných knihoven. Řešení tam bylo také popsané a základní problém spočíval v tom, že nestačí restartovat pouze cron, ale také daemon atd.

/etc/init.d/cron restart
/etc/init.d/atd restart

Když o tom teď přemýšlím, tak možná byla výše uvedená "oprava" logrotate zbytečná a zřejmě se ukáže, že za to mohl právě segfaultující cron...

Jak donutit Postfix, aby znovu zapisoval do logu?

Postfix přesto dál odmítal zapisovat do logu, i když emaily přijímal a odesílal zcela korektně. Po dalším hledáním jsem nalezl odpověď i na tento problém, který spočívá někde mezi logovacím daemonem a postfixem. Řešením je vypnutí logovacího daemona, restart postfixu a zapnutí logovacího daemona.

/etc/init.d/sysklogd stop
/etc/init.d/postfix restart
/etc/init.d/sysklogd start

Dál jsem toho radši nechal a šel leštit motorku..

Jak hromadně přejmenovat přípony souborů?

Před pár týdny jsem přidával nové uživatele počítačové sítě a pomáhal mi při tom awk a makra ve vimu. Kromě toho jsem potřeboval hromadně přejmenovat některé soubory a můj nový správce souborů (Nautilus) si s tím nevěděl rady. Přejmenování souborů s příponou awk na txt se v konzoli provede třeba takto:

for i in *.awk; do mv $i `echo $i | tr awk txt`; done;

Oprava

Předchozí skript je špatně (viz komentáře), nakonec bude nejlepší použít rename.

rename 's/awk$/txt/' *.awk

nebo pokud chceme zdůraznit tečku před příponou souboru, pak raději

rename 's/\.awk$/\.txt/' *.awk

Další info na stránce "How to Bulk Rename Files"  ;-)

Nahoru

(Jako ve škole)
Průměr: 1,00 | Hodnotilo: 1
 

Top články z OpenOffice.cz

Příspěvky

přejmenování
arrange 19. 09. 2010, 20:37:31
Odpovědět  Odkaz 
S tím přejmenováním to přece nemůže fungovat, např.
$ echo ahoj.awk | tr awk txt
thoj.txt
Martin Šín Re:přejmenování
Martin Šín 19. 09. 2010, 21:20:44
Odpovědět  Odkaz 
Díky za postřeh, mně to fungovalo - neměl jsem tam malá písmena. Jen taková nouzovka, když není nic jiného po ruce.
Re:Re:přejmenování
bashový začátečník 3. 10. 2010, 14:14:01
Odpovědět  Odkaz 
for f in *.awk;do mv $f ${f%awk}txt;done ... nahradí awk koncovkou txt
Logování postfixu
pek 23. 09. 2010, 08:46:00
Odpovědět  Odkaz 
Zkuste do logrotate.conf přidat:

sharedscripts
notifempty
postrotate
/usr/bin/killall -HUP syslogd
endscript

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Martin Šín

Martin Šín

Martin Šín (*1980) vystudoval pedagogickou fakultu a nyní pracuje jako učitel matematiky a výpočetní techniky na střední škole. Ve volném čase překládá a také hraje hry (ani jedno mu příliš nejde). V práci se snaží prosazovat open-source programy.


  • Distribuce: Debian
  • Hodnocení autora: **

| proč linux