Dans ce tutoriel, je vais vous donner un script PowerShell pour nettoyer automatiquement les logs Exchange.
Exchange écrit beaucoup de log sur le serveur qui se situe principalement à deux endroits :
- Les logs IIS :
c:\inetpub\logs\LogFiles
- Les logs propres à Exchange qui se trouve :
C:\Program Files\Microsoft\Exchange Server\VXY\Logging
.
Les fichiers de logs dans le second dossier peuvent représenter plusieurs dizaines de giga-octets.
Plus vos serveurs Exchange sont sollicités plus les seconds emplacement prend de l’espace et à terme peut saturer l’espace disque et empêcher le serveur de fonctionner correctement.
Il est donc important de nettoyer les dossiers régulièrement pour éviter une mauvaise surprise un matin.
Si vous allez faire un tour dans le dossier : C:\Program Files\Microsoft\Exchange Server\VXY\Logging
, on peut voir qu’il y a plusieurs sous dossiers avec d’autres sous dossiers et beaucoup de fichiers ….
Si on regarde les propriétés du dossiers Logging sur le serveur, on peut voir que celui-ci pèse plus de 30Go avec un total de plus 30 000 fichiers (dans mon cas cela représente 15 jours de logs).
Ce serveur étant sauvegardé tous les jours, je n’ai pas besoin de garder les logs sur une grande période, je peux les récupérer par les sauvegardes.
Pour nettoyer les logs Exchange on va utiliser le script ci-dessous :
Source : https://www.alitajran.com/cleanup-logs-exchange-2013-2016-2019/
Sur les serveurs Exchange créer un fichier texte avec l’extension ps1 et copier le contenu ci-dessus.
Depuis une fenêtre PowerShell en administrateur, exécuter le script, le script commence par nettoyer les logs IIS puis les logs dans le dossier Logging qui se trouve dans le répertoire Exchange.
Après le passage du script, le dossier fait 13 Go et contient maintenant 7 595 fichiers.
Le script peut être exécuter par tâches planifiées sur les serveurs Exchange afin de faire le nettoyage automatiquement.