Имеется скриптец-фильтр на баше привязанный к постфиксу, сливающий письмо во временный файл, потом обработка и удаление временного файла... код примерно так:
#!/usr/local/bin/bash
#
INSPECT_DIR=/var/tmp
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Очистка по завершении работ (или экстренном завершении).
trap "rm -f msg$$.tmp;rm -f /var/tmp/$$tmp;rm -f /var/tmp/$$tmp1" 0 1 2 3 15
cd $INSPECT_DIR || {
echo $INSPECT_DIR не существует; exit $EX_TEMPFAIL; }
cat >msg$$.tmp || { echo Не могу сохранить письмо в файл; exit $EX_TEMPFAIL; }
суть в том что в моменты высокой нагрузки получается ошибочная обработка, тоесть оно вычитывает из файла то чего там совсем нет, похоже на то что вычитывается какоето другое письмо. Временные файлы именуются по ПИДу, поэтому имена повторяются, но не в один же момент времени... Может глючит из-за кеширования? какие идеи?
ОС- ФриБСД 6.2 винты ВД в рейде-1 на контроллере 3Варе...
Кеширование? может есть идеи?
Модераторы: Trinity admin`s, Free-lance moderator`s
-
- Advanced member
- Сообщения: 103
- Зарегистрирован: 04 окт 2004, 15:07
Ну а чем не нравится сделать реально случайные и уникальные файлы?
Все же просто:
1. RND=`date +%s`xx$RANDOM
2. cat >msg$RND.tmp
Вот и всех делов.
RND - это будет довольно уникальная комбинация из числа сек от 1970 года + добавка переменной $RANDOM, в которой содержится псевослучайное числа от 0 до 32тыс. Эти числа сгенерит сам bash
Все же просто:
1. RND=`date +%s`xx$RANDOM
2. cat >msg$RND.tmp
Вот и всех делов.
RND - это будет довольно уникальная комбинация из числа сек от 1970 года + добавка переменной $RANDOM, в которой содержится псевослучайное числа от 0 до 32тыс. Эти числа сгенерит сам bash
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей