Размер почтовых ящиков
В один прекрасный день у некоторых колег начала тупить почта, в частности roundcube, точно ошибку не вспомню, но было что-то про кэш, оказалось что в ящике находится громное количество писем и размер у него подобающий. Как я понял оно не могло их отобразить в итоге валилось с ошибкой, по этому дабы не было такого впредь было решено мониторить размеры почтовых ящиков на всех доменах которые хранятся в
Сам скрипт:
/var/vmail. Для этого пришлось написать небольшой скрипт, который ищет сообщения, считает количество, размер, после формирует файл формата csv и отправляет на почту как вложение, далее его парсят.Сам скрипт:
#!/bin/bash
for i in `ls .`
do
if [ -d $i ]
then
echo "Going into directory $i"
cd $i
for o in `ls .`
do
if [ -d $o ]
then
echo "Going into directory in $o"
cd $o
echo `pwd` > mail_size.txt
find . -type f -print | wc -l >> mail_size.txt
du -sb | cut -f1 >> mail_size.txt
cd ..
fi
done
cd ..
fi
done
find . -name mail_size.txt -type f -exec cat {} \; | sed -e 's/[^\.]$/&;/' -e 's/\/var\/vmail\///g' -e 's/\//;/g' | xargs -L 3 | sed -e 's/ //g' > all_mail.csv
sendEmail -f [email protected] -t [email protected] -u "mail_size" -m ":)" -s 127.0.0.1 -a all_mail.csv -o tls=no
Кстати sendEmail позволяет указывать отправителя что очень удобно...