Проблема
Перед началом миграции почты возникла необходимость отсечь ящики, которыми уже давно никто не пользуется.
На данной рабочей станции используется Debian 8 Jessie.
Как вычислить "заброшенные" почтовые ящики без плагинов и создания таблиц в Dovecot ?
Для этого создаём скрипт last_login.sh
nano last_login.sh
Вставляем содержимое:
#!/bin/sh
DOMAIN=*
EMLUSER=*LOGIN_CACHE=/tmp/last_login.cache
echo -n '' > $LOGIN_CACHE
chmod 600 $LOGIN_CACHEfor c in `ls /var/vmail/$DOMAIN/$EMLUSER/Maildir/dovecot.index.log`; do
{
LL=`stat $c | grep 'Change: ' | cut -d' ' -f2,3`
U=`echo $c | cut -d/ -f5`
D=`echo $c | cut -d/ -f4`
E=`echo $c | cut -d/ -f5`
echo "$LL=user=$U&domain=$D&email=$E" >> $LOGIN_CACHE
};
done;cat $LOGIN_CACHE | sort -n
rm -f $LOGIN_CACHEexit 0;
Если нужно вывести список ящиков по конкретному домену, в переменной DOMAIN=*, звездочку меняем на название домена, например DOMAIN=example.com
Далее меняем права на скрипт на 755:
chmod 755 last_login.sh
Пояснение: 7=rwx (владелец) 5=r-x (группа) 5=r-x (все)
И выполняем:
./last_login.sh
Для удобства, список можно вывести сразу в файл ./last_login.sh > mailreport.txt
В выводе будут такие строки:
2018-01-15 16:02:59.836780548=user=vasya&domain=domainname.ru&email=vasya, где:
- 2018-01-15 16:02:59 - время последнего онлайна/логина
- user=vasya,email=vasya - логин почтового аккаунта
- domain=domainname.ru - домен почтового аккаунта
Надеюсь, данный скрипт Вам помог 🙂
Свежие комментарии