sh выбрать все файлы за указанный период
Добавлено: 2009-10-22 16:24:46
Доброе время.
есть папка, с большим количеством файликов, созданных в разное время, нужно скопировать файлы, созданные за определенный период.
т.е. вводим начальную дату, конечную и копируем в нужную папку все файлы, созданные за указанный период.
желательно скриптом, желательно на sh , но это опционально.
собственно это для почты. в постфикс, есть always_bcc, затем из его ящика все письма копируются в архив по папкам и вот нужно из папки пользователя выдернуть все письма отправленные/полученные , внутренние/внешние за определенный период
ну как-то так.
и выбранные письма копируются начальству в специально созданный почтовый ящик, они забирают все письма отдельным клиентом и уже в нем ищут нужное письмо. после того, как найдут всё что нужно - в почтовом клиенте очищаются папки до следующих поисков
т.к. писем м.б. ооооооочень много нужно обязательно период. потом, конечно добавим сортировку по размеру, выборку и удаление подтверждений о прочтении, но это потом. пока нужно вытащить все письма за указанный период.
заранее спасибо
есть папка, с большим количеством файликов, созданных в разное время, нужно скопировать файлы, созданные за определенный период.
т.е. вводим начальную дату, конечную и копируем в нужную папку все файлы, созданные за указанный период.
желательно скриптом, желательно на sh , но это опционально.
собственно это для почты. в постфикс, есть always_bcc, затем из его ящика все письма копируются в архив по папкам и вот нужно из папки пользователя выдернуть все письма отправленные/полученные , внутренние/внешние за определенный период
Код: Выделить всё
[root@base /usr/hand]# cat read.sh
#!/bin/sh
echo "Введите Фамилию пользователя"
read NAME
echo "Получено (in), Отправлено (out)?"
read ROUTE
echo "Нужны внутренние письма (1) или внешние(2)?"
read DESTINATION
echo "Введите начальную дату поиска писем в формате dd,mm,YY"
read DATE_START
echo "Ведите конечную дату поиска писем в формате dd,mm,YY"
read DATE_END
# Считываем фамилию пользователя и входящее это сообщение или исходящее
#а также - внутренне это сообщение, или внешнее
PREF="/usr/hand/mail"
#корень, откуда начинаем идти по почтовым ящикам
TOTAL="$PREF/$NAME/$ROUTE"
#конкретная папка , окуда будем всё копировать
cd $TOTAL
if [ "$DESTINATION" = 1 ]; then
# копируем нужные письма
cp $(grep -l "^To: .*domen" *) $PREF/temp
else
cp $(grep -L "^To: .*domen" *) $PREF/temp
fi
и выбранные письма копируются начальству в специально созданный почтовый ящик, они забирают все письма отдельным клиентом и уже в нем ищут нужное письмо. после того, как найдут всё что нужно - в почтовом клиенте очищаются папки до следующих поисков
т.к. писем м.б. ооооооочень много нужно обязательно период. потом, конечно добавим сортировку по размеру, выборку и удаление подтверждений о прочтении, но это потом. пока нужно вытащить все письма за указанный период.
заранее спасибо