Поиск неактивных пользователей и их почтовых ящиков
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2013-04-04 15:41:32
- Откуда: Украина-Донецк
Поиск неактивных пользователей и их почтовых ящиков
Подобная тема уже была (http://forum.lissyara.su/viewtopic.php?f=32&t=17505), но не совсем так.
Суть проблемы: есть куча почтовых ящиков и нужно найти юзеров, которые не пользовались ими >= года.
Файндить не вариант.
Необходимо пропарсить логи экзима на предмет последней авторизации и если данный юзер авторизовавылся год назад - удаляем этот ящик.
Просьба подсказать решение с помощью php или shell, либо киньте ссылочку где подобный вариант решается, либо какой-то примерчик.
З.Ы. Заранее спасибо
Суть проблемы: есть куча почтовых ящиков и нужно найти юзеров, которые не пользовались ими >= года.
Файндить не вариант.
Необходимо пропарсить логи экзима на предмет последней авторизации и если данный юзер авторизовавылся год назад - удаляем этот ящик.
Просьба подсказать решение с помощью php или shell, либо киньте ссылочку где подобный вариант решается, либо какой-то примерчик.
З.Ы. Заранее спасибо
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: Поиск неактивных пользователей и их почтовых ящиков
Часть лога для примера.
Что именно искать в логе.
Этот лог у вас не ротируется?
Что именно искать в логе.
Этот лог у вас не ротируется?
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2013-04-04 15:41:32
- Откуда: Украина-Донецк
Re: Поиск неактивных пользователей и их почтовых ящиков
grep 1UNdtu-0002Lp-TB /var/log/mail/exim-main-20130404.log
2013-04-04 09:43:58 1UNdtu-0002Lp-TB <= v.pupkin@main.net H=([192.168.2.213]) [192.168.2.213] P=esmtpsa X=TLSv1:CAMELLIA256-SHA:256 A=auth_plain:v.pupkin S=573 id=515D212E.8030106@main.net
2013-04-04 09:43:58 1UNdtu-0002Lp-TB no host name found for IP address 192.168.2.213
2013-04-04 09:43:58 1UNdtu-0002Lp-TB => i.ivanov <i.ivan@main.net> R=virtualuser T=local_vmail
2013-04-04 09:43:58 1UNdtu-0002Lp-TB Completed
Если я правильно понял, то этот кусок лога говорит насчет отправки письма от v.pupkin к i.ivanov и исходя из этого,
я так понимаю, что нужно искать логин например v.pupkin и наверное дату.
Да, логи архивируются и складируются на 2 года.
2013-04-04 09:43:58 1UNdtu-0002Lp-TB <= v.pupkin@main.net H=([192.168.2.213]) [192.168.2.213] P=esmtpsa X=TLSv1:CAMELLIA256-SHA:256 A=auth_plain:v.pupkin S=573 id=515D212E.8030106@main.net
2013-04-04 09:43:58 1UNdtu-0002Lp-TB no host name found for IP address 192.168.2.213
2013-04-04 09:43:58 1UNdtu-0002Lp-TB => i.ivanov <i.ivan@main.net> R=virtualuser T=local_vmail
2013-04-04 09:43:58 1UNdtu-0002Lp-TB Completed
Если я правильно понял, то этот кусок лога говорит насчет отправки письма от v.pupkin к i.ivanov и исходя из этого,
я так понимаю, что нужно искать логин например v.pupkin и наверное дату.
Да, логи архивируются и складируются на 2 года.
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: Поиск неактивных пользователей и их почтовых ящиков
Вижу несколько вариантов.
К примеру, определяем дату как текущую минус год.
Затем находим ближайшую дату, существующую в логе.
Отбираем из лога все записи с датой позже определенной, отбирая имена пользователей.
Делаем разницу списка активных пользователей и всего списка пользователей.
К примеру, определяем дату как текущую минус год.
Затем находим ближайшую дату, существующую в логе.
Отбираем из лога все записи с датой позже определенной, отбирая имена пользователей.
Делаем разницу списка активных пользователей и всего списка пользователей.
Код: Выделить всё
log_file=файл_лога
# получить текущую дату минус год FREEBSD
dat=`date -v -1y +%Y-%m-%d`
# определить ближайшую бОльшую дату в логе
while [ -z "`grep "^${dat}" "${log_file}"`" ]
do
dat=`date -v +1d -j -f "%Y-%m-%d" "${dat}" "+%Y-%m-%d"`
done
# отобрать пользователей за этот период
sed -n '/^'${dat}'/,${
/ <= [a-z,0-9,\.,-,_]*@/s/\([^ ]* \)\{3\}<= \([^ ]*\) .*/\2/p
}' "${log_file}"
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2013-04-04 15:41:32
- Откуда: Украина-Донецк
Re: Поиск неактивных пользователей и их почтовых ящиков
Спасибо тебе, милый человек!
Пошел пробовать, отпишусь позже.
Пошел пробовать, отпишусь позже.
-
- лейтенант
- Сообщения: 661
- Зарегистрирован: 2008-12-18 16:29:43
- Откуда: Ukraine/Kiev
- Контактная информация:
Re: Поиск неактивных пользователей и их почтовых ящиков
А складирует почту кто? dovecot/cyrus?
я на работе пробегаюсь просто по папкам и смотрю дату последнего письма в new (что значит что человек с этого момента почту не читал).
ИМХО. смотреть надо на логи MDA а не MTA.
Как вариант на будущее - добавляете в таблицу поле напр lastused, и создаете функцию которая апдейтит это поле, и возвращает уже то что просит от нее MDA.
я на работе пробегаюсь просто по папкам и смотрю дату последнего письма в new (что значит что человек с этого момента почту не читал).
ИМХО. смотреть надо на логи MDA а не MTA.
Как вариант на будущее - добавляете в таблицу поле напр lastused, и создаете функцию которая апдейтит это поле, и возвращает уже то что просит от нее MDA.
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.
-
- ст. лейтенант
- Сообщения: 1375
- Зарегистрирован: 2010-02-05 0:21:40
Re: Поиск неактивных пользователей и их почтовых ящиков
Решение, конечно, рабочее. Но в некоторых случаях оно не работает.
Например, человек всю свою почту форвардит на gmail.com. И читает там и отвечает оттуда. Но адрес активно используется. А вот авторизаций на сервере не будет ни одной.
Например, человек всю свою почту форвардит на gmail.com. И читает там и отвечает оттуда. Но адрес активно используется. А вот авторизаций на сервере не будет ни одной.
-
- лейтенант
- Сообщения: 661
- Зарегистрирован: 2008-12-18 16:29:43
- Откуда: Ukraine/Kiev
- Контактная информация:
Re: Поиск неактивных пользователей и их почтовых ящиков
тогда это уже не ящик а обычный алиас.
в таких случаях я просто удаляю ящик и оставляю только алиас. но это осталось со старых времен.
тут все зависит от политики компании, как бы хранение почты компании на внешних серверах может противоречить политике безопасности. но тут у каждого свое.
а вот слать от совоего имени с других почтарей - это уже не красиво
в таких случаях я просто удаляю ящик и оставляю только алиас. но это осталось со старых времен.
тут все зависит от политики компании, как бы хранение почты компании на внешних серверах может противоречить политике безопасности. но тут у каждого свое.
а вот слать от совоего имени с других почтарей - это уже не красиво
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.
-
- ст. лейтенант
- Сообщения: 1375
- Зарегистрирован: 2010-02-05 0:21:40
Re: Поиск неактивных пользователей и их почтовых ящиков
удалить ящик можно. Проблема в том, что если форвардинг настроен у юзера в его настройках, то если автоматом грохнуть юзера, то грохнется и алиас. А если юзера ен удалять, то и смысла ящик удалять смысла нет.rayder писал(а):тогда это уже не ящик а обычный алиас.
в таких случаях я просто удаляю ящик и оставляю только алиас. но это осталось со старых времен.
тут все зависит от политики компании, как бы хранение почты компании на внешних серверах может противоречить политике безопасности. но тут у каждого свое.
а вот слать от совоего имени с других почтарей - это уже не красиво
В чем некрасивость слать с других почтарей я не понял
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2013-04-04 15:41:32
- Откуда: Украина-Донецк
Re: Поиск неактивных пользователей и их почтовых ящиков
kpp, а можете растолковать, что делает эта злая регулярка т.к. не силен в них.
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: Поиск неактивных пользователей и их почтовых ящиков
Лог просматривается начиная с определенный ранее даты и до конца файла.
Отбираются строки, которые начинаются по шаблону
Из таких строк извлекаем и выводим логин пользователя v.pupkin.
Вывод sed-а еще нужно отсортировать с удалением повторяющихся имен
Отбираются строки, которые начинаются по шаблону
Код: Выделить всё
2013-04-04 09:43:58 1UNdtu-0002Lp-TB <= v.pupkin@
Вывод sed-а еще нужно отсортировать с удалением повторяющихся имен
Код: Выделить всё
sort -u
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2013-04-04 15:41:32
- Откуда: Украина-Донецк
Re: Поиск неактивных пользователей и их почтовых ящиков
Спасибо огромное. Пошел учить матчасть
-
- мл. сержант
- Сообщения: 132
- Зарегистрирован: 2011-02-05 10:54:11
Re: Поиск неактивных пользователей и их почтовых ящиков
А если спам падает и пользователь просто его не удаляет и не читает, а так и оставляет непрочитанным ? ))rayder писал(а): ИМХО. смотреть надо на логи MDA а не MTA.