У меня есть виртуальный частный сервер Debian, на котором размещены несколько виртуальных доменов и пользователей.Он был настроен таким образом, чтобы размещать несколько доменов и иметь несколько адресов электронной почты (пользователей или учетных записей) под каждым именем домена.
Я часто получаю тихий спам, и у меня не было времени посмотреть SpamAssasin
о том, как фильтровать определенные электронные письма на основе сопоставленной строки в теле письма.
Вместо этого в .bash_aliases
была добавлена следующая функция, которая была псевдонимом для быстрого доступа
my_new_del() {
echo "0: $1"
for d in /home/vmail/*/ ; do
# echo "1: $d"
for f in "$d"info/*/*.some.file.pattern*;do
grep -i -H -l -s "$1" "$f" | while read -r line ; do
echo "rm -rf $line"
rm -rf $line
done
# echo "2: $f"
done
done
}
alias my_del=my_new_del
Затем я использую вышеуказанный псевдоним:
my_del 'some string' &
Сценарий выполняет свою работу, но он действительно медленный и кажется неэффективным.Он проходит по каждому подкаталогу в каталоге vmail (каждый подкаталог представляет собой доменное имя).Затем он просматривает файлы в каждом подкаталоге, а затем ищет строку - и удаляет ее, если найдет совпадение.
Можно ли сделать это более эффективным способом?