Размер почтовых ящиков
В один прекрасный день у некоторых колег начала тупить почта, в частности 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 позволяет указывать отправителя что очень удобно...