Перемещаем логи Exchange 2013 из папок по умолчанию с помощью Powershell

Перемещаем логи Exchange 2013 из папок по умолчанию с помощью Powershell

Как известно, логов работы Exchange много разных видов и они занимают много места - причем - по-умолчанию на системном диске. Теоретически вы можете с помощью Powershell поменять пути. Но проблема в том, что видов логов в Exchange - превеликое множество и управление этим хозяйством превращается в кошмар.

Поэтому я сделал для себя и для вас небольшую шпаргалочку в виде Powershell-скриптов, чтобы один раз запустить их после установки очередного сервера, и больше к этому вопросу не возвращаться.

Логи для разных ролей в Exchange 2013 

Как известно, в Exchange 2013 всего две роли: Client Access Server (CAS) и MailBox Server. Логи генерируются транспортными службами (Transport Service).

У CAS - одна транспортная служба FrontEnd Transport Service.

У MailBox - две:

  • TransportService
  • MailboxTransportService

И еще у MailBox есть Асистенты (Assistant), которые тоже генерируют полезные логи.

Поэтому я сделал два скрипта. Один - для запуска на CAS, и второй - для запуска на MailBox.

 

Перемещаем логи на Client Access Server в Exchange 2013

$exchangeservername = ""; # Имя сервера
$MaxAge = 30; # Количество дней, за которые будут храниться логи
$MaxDirectorySize = "3 GB"; # Максимальный размер папки с логами
$MaxFileSize = "500 MB"; # Максимальный размер файла логов

$FrontendTransportServiceBaseLogPath = "d:\exchange_logs\FrontendTransportService\"; # Базовый путь ко всем логам

Set-FrontendTransportService -Identity $exchangeservername `
	-AgentLogPath $($FrontendTransportServiceBaseLogPath + "AgentLog") `
	-AgentLogMaxAge $MaxAge `
	-AgentLogMaxDirectorySize $MaxDirectorySize `
	-AgentLogMaxFileSize $MaxFileSize `
	-ConnectivityLogPath $($FrontendTransportServiceBaseLogPath + "Connectivity") `
	-ConnectivityLogMaxAge $MaxAge `
	-ConnectivityLogMaxDirectorySize $MaxDirectorySize `
	-ConnectivityLogMaxFileSize $MaxFileSize `
	-ReceiveProtocolLogPath $($FrontendTransportServiceBaseLogPath + "ProtocolLog-SmtpReceive") `
	-ReceiveProtocolLogMaxAge $MaxAge `
	-ReceiveProtocolLogMaxDirectorySize $MaxDirectorySize `
	-ReceiveProtocolLogMaxFileSize $MaxFileSize `
	-SendProtocolLogPath $($FrontendTransportServiceBaseLogPath + "ProtocolLog-SmtpSend") `
	-SendProtocolLogMaxAge $MaxAge `
	-SendProtocolLogMaxDirectorySize $MaxDirectorySize `
	-SendProtocolLogMaxFileSize $MaxFileSize

Пожалуйста обращайте внимание на комментарии в теле скрипта.

После выполнения скрипта, лучше всего перезагрузить сервер целиком.

К счастью, не надо создавать все необходимые папки вручную - Exchange сделает это самостоятельно.

 

Перемещаем логи на MailBox Server в Exchange 2013

$exchangeservername = ""; # Имя сервера
$MaxAge = 30; # Количество дней, за которые будут храниться логи
$MaxDirectorySize = "3 GB"; # Максимальный размер папки с логами
$MaxFileSize = "500 MB"; # Максимальный размер файла логов
 
$TransportServiceBaseLogPath = "d:\exchange_logs\TransportService\";
$MailboxServerBaseLogPath = "d:\exchange_logs\MailboxServer\";
$MailboxTransportServiceBaseLogPath = "d:\exchange_logs\MailboxTransportService\";
 
Set-TransportService -Identity $exchangeservername `
    -ConnectivityLogPath $($TransportServiceBaseLogPath + "Hub-Connectivity") `
    -ConnectivityLogMaxAge $MaxAge `
    -ConnectivityLogMaxDirectorySize $MaxDirectorySize `
    -ConnectivityLogMaxFileSize $MaxFileSize `
    -MessageTrackingLogPath $($TransportServiceBaseLogPath + "MessageTracking") `
    -MessageTrackingLogMaxAge $MaxAge `
    -MessageTrackingLogMaxDirectorySize $MaxDirectorySize `
    -MessageTrackingLogMaxFileSize $MaxFileSize `
    -IrmLogPath $($TransportServiceBaseLogPath + "IRMLogs") `
    -IrmLogMaxAge $MaxAge `
    -IrmLogMaxDirectorySize $MaxDirectorySize `
    -IrmLogMaxFileSize $MaxFileSize `
    -ActiveUserStatisticsLogPath $($TransportServiceBaseLogPath + "Hub-ActiveUsersStats") `
    -ActiveUserStatisticsLogMaxAge $MaxAge `
    -ActiveUserStatisticsLogMaxDirectorySize $MaxDirectorySize `
    -ActiveUserStatisticsLogMaxFileSize $MaxFileSize `
    -ServerStatisticsLogPath $($TransportServiceBaseLogPath + "Hub-ServerStats") `
    -ServerStatisticsLogMaxAge $MaxAge `
    -ServerStatisticsLogMaxDirectorySize $MaxDirectorySize `
    -ServerStatisticsLogMaxFileSize $MaxFileSize `
    -ReceiveProtocolLogPath $($TransportServiceBaseLogPath + "ProtocolLog-SmtpReceive") `
    -ReceiveProtocolLogMaxAge $MaxAge `
    -ReceiveProtocolLogMaxDirectorySize $MaxDirectorySize `
    -ReceiveProtocolLogMaxFileSize $MaxFileSize `
    -RoutingTableLogPath $($TransportServiceBaseLogPath + "Hub-Routing") `
    -RoutingTableLogMaxAge $MaxAge `
    -RoutingTableLogMaxDirectorySize $MaxDirectorySize `
    -SendProtocolLogPath $($TransportServiceBaseLogPath + "ProtocolLog-SmtpSend") `
    -SendProtocolLogMaxAge $MaxAge `
    -SendProtocolLogMaxDirectorySize $MaxDirectorySize `
    -SendProtocolLogMaxFileSize $MaxFileSize `
    -QueueLogPath $($TransportServiceBaseLogPath + "Hub-QueueViewer") `
    -QueueLogMaxAge $MaxAge `
    -QueueLogMaxDirectorySize $MaxDirectorySize `
    -QueueLogMaxFileSize $MaxFileSize `
    -WlmLogPath $($TransportServiceBaseLogPath + "Hub-WLM") `
    -WlmLogMaxAge $MaxAge `
    -WlmLogMaxDirectorySize $MaxDirectorySize `
    -WlmLogMaxFileSize $MaxFileSize `
    -PipelineTracingPath $($TransportServiceBaseLogPath + "Hub-PipelineTracing") `
    -AgentLogPath $($TransportServiceBaseLogPath + "Hub-AgentLog") `
    -AgentLogMaxAge $MaxAge `
    -AgentLogMaxDirectorySize $MaxDirectorySize `
    -AgentLogMaxFileSize $MaxFileSize
 
Set-MailboxServer -Identity $exchangeservername `
    -CalendarRepairLogPath $($MailboxServerBaseLogPath + "Calendar Repair Assistant") `
    -CalendarRepairLogFileAgeLimit $MaxAge `
    -CalendarRepairLogDirectorySizeLimit "2047 MB" `
    -MigrationLogFilePath  $($MailboxServerBaseLogPath + "Migration Assistant")
 
Set-MailboxTransportService -Identity $exchangeservername `
    -ConnectivityLogPath $($MailboxTransportServiceBaseLogPath + "Connectivity") `
    -ConnectivityLogMaxAge $MaxAge `
    -ConnectivityLogMaxDirectorySize $MaxDirectorySize `
    -ConnectivityLogMaxFileSize $MaxFileSize `
    -MailboxDeliveryAgentLogPath $($MailboxTransportServiceBaseLogPath + "AgentLog-Delivery") `
    -MailboxDeliveryAgentLogMaxAge $MaxAge `
    -MailboxDeliveryAgentLogMaxDirectorySize $MaxDirectorySize `
    -MailboxDeliveryAgentLogMaxFileSize $MaxFileSize `
    -MailboxSubmissionAgentLogPath $($MailboxTransportServiceBaseLogPath + "AgentLog-Submission") `
    -MailboxSubmissionAgentLogMaxAge $MaxAge `
    -MailboxSubmissionAgentLogMaxDirectorySize $MaxDirectorySize `
    -MailboxSubmissionAgentLogMaxFileSize $MaxFileSize `
    -ReceiveProtocolLogPath $($MailboxTransportServiceBaseLogPath + "ProtocolLog-SmtpReceive") `
    -ReceiveProtocolLogMaxAge $MaxAge `
    -ReceiveProtocolLogMaxDirectorySize $MaxDirectorySize `
    -ReceiveProtocolLogMaxFileSize $MaxFileSize `
    -SendProtocolLogPath $($MailboxTransportServiceBaseLogPath + "ProtocolLog-SmtpSend") `
    -SendProtocolLogMaxAge $MaxAge `
    -SendProtocolLogMaxDirectorySize $MaxDirectorySize `
    -SendProtocolLogMaxFileSize $MaxFileSize `
    -PipelineTracingPath $($MailboxTransportServiceBaseLogPath + "PipelineTracing")

Как и в предыдущем случае, обращайте внимание на комментарии в теле скрипта, а после выполнения скрипта, перезагрузите сервер.

 

Удаляем логи Exchange из папок по-умолчанию

После того, как мы изменили настройки хранения логов, старые уже записанные логи останутся на своих местах, поэтому надо их удалить. Вот скрипт.

rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\Connectivity" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\Logging\IRMLogs" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\ActiveUsersStats" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\ServerStats" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\Routing" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\ProtocolLog\SmtpSend" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\QueueViewer" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\WLM" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\PipelineTracing" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\AgentLog" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\AgentLog" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\Connectivity" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpSend" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\Logging\Calendar Repair Assistant" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\Logging\Managed Folder Assistant" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\Connectivity" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\AgentLog\Delivery" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\AgentLog\Submission" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\ProtocolLog\SmtpReceive" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend" -force -rec
rmdir -path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\PipelineTracing" -force -rec

 

exchange (ru), exchange 2013 (ru)

  • Просмотров: 7795
Добавить комментарий

Комментарии  
Good
Большое спасибо за статью

Related Articles