[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Чем удалять устаревшую почту?



> Nikita V. Youshchenko -> debian-russian@lists.debian.org  @ Sat, 27 Feb 
2010 13:27:17 +0300:
>  >>  >> > Имеем ~user/Maildir/ на сервере, в котором большое количество
>  >>  >> > (>50, хотя это не важно) папок Maildir. Есть command line
>  >>  >> > доступ до сервера, есть возможность туда поставить что-нибудь.
>  >>  >> >
>  >>  >> > Из некоторых папок хочется автоматически удалять устаревшую
>  >>  >> > почту. Понятие "устаревшая" своё для каждой папки.
>  >>  >> >
>  >>  >> > Раньше использовал запуск из крона скрипта с нескольними
>  >>  >> > командами вида arhivemail --delete -q -d N
>  >>  >> > .../Maildir/.folder.subfolder/
>  >>  >> >
>  >>  >> > Теперь захотелось более гибкое условие удаления. Чтобы кроме
>  >>  >> > возраста письма было что-нибудь вроде регулярного выражение на
>  >>  >> > хэдэр.
>  >>  >>
>  >>  >> grepmail, похоже, умеет только mbox.
>  >>
>  >>  NVY> mbox много кто умеет. Но в данном случае требуется решение для
>  >> Maildir.
>  >>
>  >> man find?
>
>  NVY> И что? Запускать из файнда шелловскую команду на каждый из многих
>  NVY> тысяч файлов мэилдира? Что-то мне кажется что это часами будет
>  NVY> работать...
>
> Слухи о тяжести fork по сравнению с анализом файла сильно преувеличены.

Если на то пошло, то fork() тут займёт лишь мизерную долю времени. 
Динамическая линковка каждого порождённого процесса - на 2-3 порядка 
медленнее. Многочисленные lookup() на огромный каталог тоже небыстры.

Но, главное, криво это по самое немогу.

> Впрочем, учитывая, что ты устаревшую почту собираешься _удалять_, многие
> тысячи файлов там будут только при первом запуске...

Ошибаетесь. Речь идёт об удалении нескольких писем из нескольких тесяч за 
один запуск.


Reply to: