Назад | Перейти на главную страницу

Как очистить каталог Badmail?

Я унаследовал этот сервер, поэтому я еще не полностью знаком с его настройкой.

Однако я заметил, что C:\inetpub\mailroot\Badmail\ каталог содержит ~ 400 000 файлов. На данный момент я не хочу удалять все это целиком, только, возможно, файлы старше 1/1/2012. Я пытался использовать BadMailAdmin script, однако, когда я запускаю его в этом каталоге, он выдает ошибку:

ERROR: C:\inetpub\mailroot\Badmail\: bytes total.
Err.Number: 6
Err.Description: Overflow
Err.Source: Microsoft VBScript runtime error

Возможно, из-за большого количества файлов. Я пробовал использовать обычный проводник Windows. Чтобы получить список каталогов, требуется ~ 5 минут, но когда я выбираю кучу файлов для удаления, он начинает пережевывать 100% ЦП одного ядра и не возвращается в течение 2 часов, которые я ждал.

Есть ли способ (быстро) удалить некоторые из этих файлов?

Обратите внимание, это НЕ сервер Exchange, а просто обычный IIS / smtp.

Я пытался использовать del /q *.* и rd, но без результатов. Несколько дней команды только готовились к удалению ... Каких успехов никто не знал ...

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

Скрипт очень простой:

for %i in (c:\inetpub\mailroot\badmail\\*.*) do del /q %i

Если вы используете командный файл, добавьте еще один % к %i (%%i)

Удачи!

  1. Эти файлы не могут быть доставлены по электронной почте, поэтому просто удалите их все. Я не вижу смысла или ценности хранить какие-либо файлы в папке.

  2. Попробуйте удалить их из командной строки.

Версия 1.0 сценария BadMailAdmin (опубликована 21 сентября 2004 г.) на Windows Server 2008 R2 с IIS / SMTP.


В моем случае каталог BadMail был слишком большим для использования с типом данных переменной по умолчанию, используемым в скрипте («Long»). Пришлось поменять его на «Single» (см. Справочник по ошибкам VB для более подробного объяснения этой проблемы и Типы данных VB для переменных типов данных).

Попробуйте следующее:

  • Откройте скрипт BadMailAdmin.wsf в текстовом редакторе.
  • Перейти к линии 745
  • Изменить "cFolderMBSize = CLng(oFolder.Size)"к"cFolderMBSize = CSng(oFolder.Size)"
  • Сохраните скрипт под другим именем, если хотите сохранить оригинал.
  • Запустить измененный скрипт

Я использовал это, чтобы уменьшить размер настолько, чтобы исходный сценарий (с переменным типом данных long) можно было использовать для текущего обслуживания.