lug-bg: RE: lug-bg: Изпращане на syslog по e-mail с един ред
- Subject: lug-bg: RE: lug-bg: Изпращане на syslog по e-mail с един ред
- From: "Vesselin Markov" <vm@xxxxxxxxxxxxxxx>
- Date: Sat, 24 Sep 2005 16:11:11 +0300
- Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
- Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx
Не се засягай, но ми е трудно да намеря каквато и да е била полза или логика
от това да се праща съдържанието на syslog файла от предния ден на локална
(или друга) поща, още по-малко от начина по който е направено:
(прескачам събитията около subject)
Това което си написал търси " X " в syslog файл, където X е денят от
текущата дата - 1. Това всъщност е число или цифра оградено с по един blank
space.. нищо общо с каквато и да е била акуратност.
А какво става на 1-ви? Грепваш " 0 " от този източник.. вероятно върви и
системен cron job, който ти архивира тези файлове ежедневно..
Това което се опитваш да направиш може да се изпълни със сходен one-liner в
crontab-а ти
59 23 * * * grep ^"`date +%b' '%d`" /var/log/syslog | mail -s "`blah`"
foo@xxxxxxx
Ако писмото в този си вид отива на отдалечена поща се замисли, че доста хора
по пътя могат да го прочетат, а записи като
Sep 24 15:56:18 adm login[3831]: FAILED LOGIN 1 FROM FOR
rootnesymmnogoostyr, Authentication failure
не са рядкост... :)
Мисля че е по-идейно да ползваш софтуер (вече ти препоръчаха), който следи
за определени събития по логовете ти и те алармира по даден критерий.
В.
-----Original Message-----
From: owner-lug-bg@xxxxxxxxxxxxxxxxxx
[mailto:owner-lug-bg@xxxxxxxxxxxxxxxxxx] On Behalf Of MafiaInc
Sent: Saturday, September 24, 2005 9:55 AM
To: lug-bg@xxxxxxxxxxxxxxxxxx
Subject: lug-bg: Изпращане на syslog по e-mail с един ред
Искам всяка сутрин да си самоизпращам syslog файла по електронната поща и за
целта добавих един ред в crontab, който върши работа, но според мен не е
достатъчно оптимизиран и може още да се смачка, не съм запознат изцяло с
възможностите на awk.
Какъв по-кратък вариянт предлагате на следния ред:
echo "Subject for " > /tmp/subject ; date +%e | awk '/.*/ {$1-- ; print $1}'
>> /tmp/subject ; date "+ %b %Y" >> /tmp/subject ; cat /tmp/subject
/var/log/syslog | grep " `date +%e | awk '/.*/ {$1-- ; print $1}'` " |
/var/qmail/bin/qmail-inject marto@localhost > /dev/null ; rm /tmp/subject
--
MafiaInc (c) 1983 - 2005
|