28
2008
[Script Nagios] Vérifier la récupération des emails en POP sur Mdaemon en VBS
Je mets ce script ici pour me permettre de le retrouver si je perds la mémoire :p. Peut-être que ça servira à quelqu’un.
Il a été intégré à Nagios grâce au code erreur en sortie puis exécuté par le check_nrpe. Ce script est au format wsf.
<package>
<job id="Application Script"><comment>
File: Application.wsf
Description: Ce script permet de savoir si une application récupère bien
les emails via POP sur Mdaemon
Réalisé par Olivier Legras</comment>
<runtime><description>
Il liste les fichiers msg sur le serveur Mdaemon des comptes ActesWeb
</description><example>
CScript ActesWebtest.wsf numero_partenaire //nologo
</example></runtime>
<script language="VBScript">
‘Déclaration des variables
‘__________________________________
‘Constantes
Option Explicit
Const TempsMaximum = 60
Const Extension = "msg"
Const intOK = 0
Const intWarning = 1
Const intCritical = 2‘Variables
Dim Ville
Dim fso, fichier, fileItem
Dim i, imax, z, valeur, cible, liste, i2, strMessage, intExit
Dim DifferenceMinute , PathMDB, Nom_rep‘Objets
Set fso = CreateObject("Scripting.FileSystemObject")‘Initialisation
strMessage = ""
imax = 0‘Test de l’argument Partenaire (1 argument obligatoire)
If WScript.Arguments.Count <> 1 Then
strMessage = "Critical: Mettre le partenaire en argument"
intExit = intCritical
WScript.Echo strMessage
WScript.Quit(intExit)
End If‘Récupération de contenu de l’argument
Ville = WScript.Arguments.Item(0)‘Attribution du répertoire en fonction du partenaire
Select Case Ville
Case "10"
PathMDB = "D:MDaemonUsersdomaineapplication10"
Case "11"
PathMDB = "D:MDaemonUsersdomaineapplication11"
Case "12"
PathMDB = "D:MDaemonUsersdomaineapplication12"
Case "13"
PathMDB = "D:MDaemonUsersdomaineapplication13"
Case "14"
PathMDB = "D:MDaemonUsersdomaineapplication14"
Case Else
strMessage = "Critical: Partenaire Inconnu : "& Ville
intExit = intCritical
WScript.Echo strMessage
WScript.Quit(intExit)
End Select‘On test que le chemin est valide
If Not (fso.FolderExists(PathMDB)) Then
strMessage = "Critical: Repertoire inaccessible :"& PathMDB
intExit = intCritical
WScript.Echo strMessage
WScript.Quit(intExit)
End If‘On récupère la liste des fichiers du répertoire
‘début de l’énumération
For Each fichier In fso.GetFolder(PathMDB).Files
Set fileItem = fso.GetFile(fichier)imax = imax + 1
ReDim Preserve Tableau(3, imax)
Tableau(1, imax) = Fichier.Name
Tableau(2, imax) = FileItem.DateLastModified
Tableau(3, imax) = fso.GetExtensionName (Fichier.Name)‘—trier les fichiers par ordre décroissant de création —
Do
Valeur = 0
For i = 0 To imax – 1
If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
For z = 1 To 3
Cible = Tableau(z, i)
Tableau(z, i) = Tableau(z, i + 1)
Tableau(z, i + 1) = Cible
Next
Valeur = 1
End If
Next
Loop While Valeur = 1
Set fileItem = nothing
Next
imax=UBound(Tableau,2)‘On récupère seulement les fichiers avec l extension de notre choix
i2=1
ReDim Preserve Tableau_final(3,imax)
For i = 1 To imax – 1
If Tableau(3, i)=Extension Then
‘For z = 1 To 3
Tableau_final(1, i2) = Tableau(1, i)
Tableau_final(3, i2) = Tableau(3, i)
Tableau_final(2, i2) = CDate(Tableau(2, i))
i2 = i2 +1
Valeur = 1
End If
Next‘Comparer les date de création des fichiers msg
DifferenceMinute = DateDiff("n",Cdate(Tableau_final(2,i2-1)),Now )‘On vérifie que la date n’est pas nulle
If (Cdate(Tableau_final(2,i2-1)) <> "00:00:00") Then
‘On vérifie que le courrier est bien récupérer avant 60 minutes
If DifferenceMinute > TempsMaximum then
intExit = intCritical
strMessage = "Critical: Les mails ne sont pas recuperes depuis le "& Cdate(Tableau_final(2,i2-1))
End If
Else
intExit = intOk
strMessage = "Ok: Fonctionnement Normal"
End IfSet fso = Nothing
WScript.Echo strMessage
WScript.Quit(intExit)</script>
</job>
</package>
Laissez un commentaire
Publicité :)
Articles récents
- Memento VI – Boostez Votre Productivité avec Vi : Trucs et Astuces à Connaître
- Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare
- Récupérer les informations d’un Ordinateur Terra à partir du numéros de série avec Python
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
Mot-clefs
Commentaires récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Rotation des logs avec logrotate dans
- Hôte déconnecté sur le Vcenter. Impossible de se connecter à l’ESX. dans
- Pourquoi mon interface vlan ne veut pas devenir up ? dans