LINUX.ORG.RU
ФорумAdmin

посоветуйте как избежать вставку время


0

0

ситуация следующая. фечмайл принимает почту раз в пол часа и пишет в
 лог в /var/log/fetchmaillog . В начале каждой сессии вставляется дата 
и время. Все это делается по крону. Далее этот лог разбирается 
скриптом на перле и загоняется в VySQL. Но есть один неприятный 
момент. Бывает что приходят большие письма, которые не успевают 
приняться до начала новой сесси. И получается что время вставляется 
всеравно и в итоге вместо нормальной строки лога я получаю:


fetchmail: reading message ugluk@mydom.ru:5 of 5 (4152551 octets) Thu Apr 27 15:30:01 NOVST 2006
fetchmail:  flushed

а анализатор лога хочет 
fetchmail: reading message ugluk@mydom.ru:5 of 5 (4152551 octets) fetchmail:  flushed

и в итоге выходит что он считает что письма нет. Вот я и думаю как 
лучше сделать тут? Переписывать заново скрипт лениво. Проще наверное 
сделать чтоб если сессия не законченна, то не писать время. Но вот не 
могу сообразить как лучше это сделать


#кусок из crontab -l 

#mail #
30 7-19 * * 0-5 date >>/var/log/fetchmaillog
30 7-19 * * 0-5 /usr/bin/fetchmail -f /etc/fetchmailrc
00 7-19 * * 0-5 date >>/var/log/fetchmaillog
00 7-19 * * 0-5 /usr/bin/fetchmail -f /etc/fetchmailrc
#######
★★★

дурной вопрос.

ну вставь фечмайл в 15 и 45...

gr_buza ★★★★
()

Скрипт /usr/local/sbin/deys_fetchmail.sh

#! /bin/sh
date >>/var/log/fetchmaillog
/usr/bin/fetchmail -f /etc/fetchmailrc
date >>/var/log/fetchmaillog


crontab:
0,30 7-19 * * 0-5 /usr/local/sbin/deys_fetchmail.sh

sdio ★★★★★
()
Ответ на: комментарий от sdio

to sdio > спасибо! Как до меня сразу не дошло про такой способ

to gr_buza > и что мне это даст? Вопрос совсем не в том, чтоб лишний раз запустить фечмайл, а в том, чтоб в скрипте время не вставлялось, когда сессия не оконченна

deys ★★★
() автор топика
Ответ на: комментарий от deys

Не знаю что там у тебя происходит, но возможно поможет wait

>#! /bin/sh
>
>date >>/var/log/fetchmaillog
>/usr/bin/fetchmail -f /etc/fetchmailrc
 wait
>date >>/var/log/fetchmaillog

sdio ★★★★★
()
Ответ на: комментарий от deys

А может проще сказать fetchmail-у писать через syslog ? Это во-первых, а во-вторых, нельзя ли подправить "скрипт на перле", чтоб он анализировал в строках только "fetchmail:.*octets)" ?

spirit ★★★★★
()
Ответ на: комментарий от Iocr

&& может помочь, но время будет вставляться в конце сессии, а не в начале. Хотелось бы только в начале. Ну хотя если других вариантов нет, то сойдет и такой вариант. Время в логе нужно для того, чтоб когда звонят пользователи и начинают спрашивать было чего в таком то таком-то промежутке времени или нет, чтоб было можно хоть приблизительно глянуть. И бывает что у нас иногда канал падает (радио у нас), чтоб тож по времени можно было определиться почему почты не было. Ну примерно в этом духе

deys ★★★
() автор топика
Ответ на: комментарий от deys

а как на баше будет выглядеть примерно такой скрипт:

проверяем есть ли процесс фечмайла 
если нет, то выполняем date >>/var/log/fetchmaillog
если есть, то заканчиваем скрипт и ничего не делаем


deys ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.