Набираю в консоли команду для вывода размеров виртуальных почтовых ящиков пользователей с одновременной сортировкой по размеру:localhost# du -d 1 /var/spool/mail/sibis.ru/ | sort -rn > /var/log/mailboxlimit/mailsize.txt
В указанной дериктории появляется файл, где отсортирован по размеру записан список всех почтовых ящиков. Все хорошо, ставим это дело в задание на выполнение в определенный часы, а также прикручиваем текущую дату и отправку по почте.
создаем файл mailboxes_spacelimit.sh с таким содержимым:
#!/bin/sh
du -d 1 /var/spool/mail/sibis.ru/ | sort -nr > /var/log/mailboxlimit/mailbox.sizelist
cat /var/log/mailboxlimit/mailbox.sizelist | mail -s "mailbox spacelimit report `date`" root@sibis.ru
mv /var/log/mailboxlimit/mailbox.sizelist /var/log/mailboxlimit/mailbox.sizelist.`date +%d%m%y`Выставляем права на исполнение, запускам скрпт и вуаля: создался файл со списком, он же отправился по почте, проверяем, все отлично, список с размерами всех ящиков лежит у меня в почте. Осталось только поставить этот скрипт в задание.
Набираю crontab -e
Добавляю строки на ближайшее время:
# Mailbox space limit
58 14 * * * /usr/local/scripts/mailboxes_spacelimit.shИ что же мы видим? В нужной дериктории лежит нужный файл, он же пришел мне по почте, но на месте размера каждого ящика стоит цифра увеличеная вдвое!
Что я не так делаю?
скорее всего дело в разном окружении (ENV) при запуске команды из шелла и из крона.используйте ключ -k, чтобы жестко задать du вывод в kb или -h, чтобы добавлять еще и вменяемый суффикс (Kb/Mb/Gb):
#!/bin/sh
du -k -d 1 /var/spool/mail/sibis.ru/ | sort -nr > /var/log/mailboxlimit/mailbox.sizelist
cat /var/log/mailboxlimit/mailbox.sizelist | mail -s "mailbox spacelimit report `date`" root@sibis.ru
mv /var/log/mailboxlimit/mailbox.sizelist /var/log/mailboxlimit/mailbox.sizelist.`date +%d%m%y`
Спасибо! получилось с ключем -kНо что-то не пойму смысл этого ключа.. он ничего не изменил, а в мане написано про какие то блоки..
>Спасибо! получилось с ключем -k
>
>Но что-то не пойму смысл этого ключа.. он ничего не изменил, а
>в мане написано про какие то блоки..Ну, как бы, блок - 512 байт (сектор), а -к заставляет считать в килобайтах. Килобайт, кстати, ровно вдвое больше сектора, почему и размеры файлов были в два раза больше.