Страница 1 из 1

(perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 11:02:00
redhot
Суть проблемы: есть большая организация, соответственно, очень много пользователей электронной почты. Некоторые из них нею не пользуются, их сообщения со страшной силой загромождают дисковое пространство %) Хотелось бы создать скрипт на perl, который проходит по папкам пользователей, и в случаи обнаружения старой почты во входящих (папке new) заносит имя пользователя в текстовый файлик,и все старые сообщения удаляет. Мои познания перла пока-что не настолько сильны, и сам писАть буду долго :) Если кто-то поможет, буду очень признателен. К тому же, уверен, скрипт пригодится еще многим 8)

Re: (perl-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 11:06:54
zg
эм... нужен перл или шелл подойдёт?

Re: (perl-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 11:08:37
CrazyPilot
ИМХО, удалять почту у валидных юзеров - палево. Надо смотреть базу валидных юзверей, и сравнивать с ящиками на фс. Те ящики, которые не могут быть сопоставлены валидным юзерам - херить. (Или еще лучше бэкапить куда-нить и удалять). Скрипт написать не особо сложно, надо знать только откуда брать валидных юзеров (у меня например ldap).

Re: (perl-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 12:35:10
redhot
1). shell конечно же, тоже подойдет :)
2). нет надобности проверки валидности юзеров, нужно лишь пройтись по почтовым папкам и проверить их содержимое способом, описаным выше :) но если добавится еще и проверка валидности юзеров, то будет дополнительный плюс :) сейчас же главное - найти неактивных пользователей и удалить их старую почту

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 12:45:18
zg
двинул тему в шелл -)))

ща чё-нить сваяем

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 13:29:11
zg
Например так можно

Код: Выделить всё

#!/bin/sh

TIME=`date -v-1m +"%Y%m%d%H%M"` # One month ago

## create file stamp
touch -afm -t $TIME $0

## find files
find /path/to/maildir -type f \! -newer $0 | grep /new/

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 14:20:54
redhot
zg, да да да, начало очень похоже на то, что надо :) только еще исключить дубликаты, записать в файл и поудалять %)
*пошел искать доки по shell-программированию :oops:

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-22 14:26:33
zg
дальше я бы сначала сделал вывод найденных файлов в файл, а когда удостоверился, что всё нормально, то

Код: Выделить всё

cat files.txt | xargs rm -f

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-23 12:22:44
redhot
спасибо!
в файл выводиться нормально, буду думать, как удалять ненужое и исключать дубликаты :)
кстати, буду признателен за хорошие книги по шелл-программированию (желательно на буржуйском %))

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-23 15:08:56
zg
man intro

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-24 10:58:50
redhot
зачем уж так много источников?)) хватило бы RTFM :-D

Re: (perl/shell-script) Проверка неактивных пользователей почты

Добавлено: 2009-04-24 23:37:55
Alex Keda
zg прав. в мане всё есть.
а вот книжков не знаю.
пару лет назад перерыл рынок весь - все продавацы понят что была очень хорошая тоненькая книжка - но не помнят названия, и в наличии её нету.
=================
ещё можно посомтреть стартовые скрипты FreeBSD - там очень интересные решения есть, и писал явно не безграмотный человек =)))