Aide pour créer une expression régulière
Norcom
-
Norcom -
Norcom -
Bonjour à tous,
Je n'y connais rien en programmation et j'aurais besoin de votre aide.
J'ai besoin de monitorer un serveur Shoutcast via son log.
J'ai trouvé le soft PowerAdmin Server (www.poweradmin.com).
Il permet de trouver dans un log un morceau de texte via une expression régulière et d'envoyer par exemple un mail si la réponse est positive.
Par exemple, dans le log de ShoutCast, je voudrais trouver l'expression suivante :
"<MM/DD/YY@HH:MM:SS> [source] disconnected !"
où MM/DD/YY et HH:MM:SS correspondent à la date et l'heure au moment même où la vérification à lieu, sauf qu'il faudrait ignorer les secondes sinon une recherche a peu de chances d'être positive.
Par exemple, si PowerAdmin effectue une vérification dans le log Shoutcast et que nous sommes le 18 janvier 2008 et qu'il est 23:01, il faudrait qu'il recherche
"<01/18/08@23:01:XX> [source] disconnected !" mais en ignorant les secondes.
J'espère avoir été à peu près clair.
Pouvez-vous m'aider ?
Merci.
Je n'y connais rien en programmation et j'aurais besoin de votre aide.
J'ai besoin de monitorer un serveur Shoutcast via son log.
J'ai trouvé le soft PowerAdmin Server (www.poweradmin.com).
Il permet de trouver dans un log un morceau de texte via une expression régulière et d'envoyer par exemple un mail si la réponse est positive.
Par exemple, dans le log de ShoutCast, je voudrais trouver l'expression suivante :
"<MM/DD/YY@HH:MM:SS> [source] disconnected !"
où MM/DD/YY et HH:MM:SS correspondent à la date et l'heure au moment même où la vérification à lieu, sauf qu'il faudrait ignorer les secondes sinon une recherche a peu de chances d'être positive.
Par exemple, si PowerAdmin effectue une vérification dans le log Shoutcast et que nous sommes le 18 janvier 2008 et qu'il est 23:01, il faudrait qu'il recherche
"<01/18/08@23:01:XX> [source] disconnected !" mais en ignorant les secondes.
J'espère avoir été à peu près clair.
Pouvez-vous m'aider ?
Merci.
A voir également:
- Aide pour créer une expression régulière
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un compte gmail - Guide
12 réponses
Ton expression régulière, tu vas la mettre où ?
Dans un script ?
En quoi Perl, bash, PHP, Python, Ruby, Sed... ? Y'a l'embarras du choix.
Sinon pour l'expression régulière,
<[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]@[0-9][0-9]:[0-9][0-9]:[0-9][0-9]> [source] disconnected !
Ca devrait passer dans un peu tous les moteurs d'expressions régulières.
Bon, en relisant ta question, je me demande si tu ne voudrais pas en fait juste une recherche sur
"<MM/DD/YY@HH:MM:SS> [source] disconnected !" où seulement SS est variable alors que MM, DD, YY, HH, MM sont fixes, c'est ça ?
Dans ce cas l'expression régulière, c'est :
<MM/DD/YY@HH:MM:[0-9][0-9]> [source] disconnected !
Raph
Dans un script ?
En quoi Perl, bash, PHP, Python, Ruby, Sed... ? Y'a l'embarras du choix.
Sinon pour l'expression régulière,
<[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]@[0-9][0-9]:[0-9][0-9]:[0-9][0-9]> [source] disconnected !
Ca devrait passer dans un peu tous les moteurs d'expressions régulières.
Bon, en relisant ta question, je me demande si tu ne voudrais pas en fait juste une recherche sur
"<MM/DD/YY@HH:MM:SS> [source] disconnected !" où seulement SS est variable alors que MM, DD, YY, HH, MM sont fixes, c'est ça ?
Dans ce cas l'expression régulière, c'est :
<MM/DD/YY@HH:MM:[0-9][0-9]> [source] disconnected !
Raph
Eh bien en fait c'est pour utiliser dans ce fameux logiciel Power Admin server (www.poweradmmin.com).
Il est dit qu'on peut utiliser des expressions régulières pour trouver une partie de texte dans un log.
J'ai essayé celle que tu m'as donné r4f, mais ça ne semble pas fonctionner.
Pour résumer, au moment où Power Admin fait sa recherche dans le log, si nous sommes le 15 janvier 2008 et qu'il est 15h00,
il faut qu'il recherche la chaine de caractère suivante :
"<01/15/08@15:00:XX> [source] disconnected ! "
Mais évidemment, seules les secondes représentées par "XX" sont variables.
Il est dit qu'on peut utiliser des expressions régulières pour trouver une partie de texte dans un log.
J'ai essayé celle que tu m'as donné r4f, mais ça ne semble pas fonctionner.
Pour résumer, au moment où Power Admin fait sa recherche dans le log, si nous sommes le 15 janvier 2008 et qu'il est 15h00,
il faut qu'il recherche la chaine de caractère suivante :
"<01/15/08@15:00:XX> [source] disconnected ! "
Mais évidemment, seules les secondes représentées par "XX" sont variables.
La page de Power Admin server que tu vois est celle-ci ? :
https://www.poweradmin.com/help/sm_3_4/monitor_log_file.aspx
https://www.poweradmin.com/help/sm_3_4/monitor_log_file.aspx
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le problème c'est que la date et l'heure contenue dans l'expression doivent être générées au moment où il fait la vérification avec la date et l'heure en cours.
Est-ce que <MM/DD/YY@HH:MM:[0-9][0-9]> \[source\] disconnected ! ça fonctionnerait ?
Est-ce que les lettres MM DD YY HH MM seraient remplacés par la date et l'heure en cours ?
Est-ce que <MM/DD/YY@HH:MM:[0-9][0-9]> \[source\] disconnected ! ça fonctionnerait ?
Est-ce que les lettres MM DD YY HH MM seraient remplacés par la date et l'heure en cours ?
Est-ce que les lettres MM DD YY HH MM seraient remplacés par la date et l'heure en cours ?
Je suppose que non !
De toute façon, même s'il le faisait, qu'est-ce que tu compterais en faire ?
Il faut qu'un système soit lancé périodiquement pour contrôler les logs de ton serveur, a priori, non ? Sous Windows, il y a un système de tâches planifiées. Il faudrait que tu fasses un script (genre en PHP ou Perl ou autre) pour faire cette vérification périodiquement...
Ton serveur, il est chez toi ?
C'est un serveur dédié chez un hébergeur ?
Je suppose que non !
De toute façon, même s'il le faisait, qu'est-ce que tu compterais en faire ?
Il faut qu'un système soit lancé périodiquement pour contrôler les logs de ton serveur, a priori, non ? Sous Windows, il y a un système de tâches planifiées. Il faudrait que tu fasses un script (genre en PHP ou Perl ou autre) pour faire cette vérification périodiquement...
Ton serveur, il est chez toi ?
C'est un serveur dédié chez un hébergeur ?
C'est un serveur dédié chez un hébergeur.
En fait, PowerAdmin est capable d'effectuer une action précise s'il rencontre la chaine de caractère recherchée, comme envoyer un mail.
Ce que je veux, c'est être avertit par mail lorsque ma source est déconnectée du serveur ShoutCast.
Lorsque la source se déconnecte du serveur une ligne est inscrite dans le log ShoutCast du type "<01/15/08@15:00:04> [source] disconnected ! "
PowerAdmin est capable d'aller regarder périodiquement, par exemple toutes les minutes, s'il trouve une chaine de caractère précise, et si oui d'envoyer un mail.
Mais lorsqu'il fait sa recherche dans le log, il faut que ce soit par rapport à la date et l'heure en cours (sans les secondes).
En fait, PowerAdmin est capable d'effectuer une action précise s'il rencontre la chaine de caractère recherchée, comme envoyer un mail.
Ce que je veux, c'est être avertit par mail lorsque ma source est déconnectée du serveur ShoutCast.
Lorsque la source se déconnecte du serveur une ligne est inscrite dans le log ShoutCast du type "<01/15/08@15:00:04> [source] disconnected ! "
PowerAdmin est capable d'aller regarder périodiquement, par exemple toutes les minutes, s'il trouve une chaine de caractère précise, et si oui d'envoyer un mail.
Mais lorsqu'il fait sa recherche dans le log, il faut que ce soit par rapport à la date et l'heure en cours (sans les secondes).
Ok, je comprends...
C'est bien une machine sous Windows ?
Une machine sous Linux, c'est plus facile pour gérer ce genre de trucs... ;-)
Ici, tu dois avoir un système plus puissant qu'une "simple" recherche de chaînes, même avec expressions régulières... il te faut un peu de programmation...
En PHP ou en Perl, on peut faire ça en quelques lignes... et puis ensuite il fut le mettre dans une tâche planifiée qui se lance toutes les minutes.
Enfin, y'a peut-être des fonctions évoluées de PowerAdmin qu'on connait pas... mais dans ce cas, c'est pas un problème d'expression régulière : c'est un problème de PowerAdmin (ils ont pas des forums spécialisés sur PowerAdmin ?)
Raph
C'est bien une machine sous Windows ?
Une machine sous Linux, c'est plus facile pour gérer ce genre de trucs... ;-)
Ici, tu dois avoir un système plus puissant qu'une "simple" recherche de chaînes, même avec expressions régulières... il te faut un peu de programmation...
En PHP ou en Perl, on peut faire ça en quelques lignes... et puis ensuite il fut le mettre dans une tâche planifiée qui se lance toutes les minutes.
Enfin, y'a peut-être des fonctions évoluées de PowerAdmin qu'on connait pas... mais dans ce cas, c'est pas un problème d'expression régulière : c'est un problème de PowerAdmin (ils ont pas des forums spécialisés sur PowerAdmin ?)
Raph
Oui c'est une machine sous Windows.
Je ne suis malheureusement pas assez calé en Linux.
Là j'avoue que je rame !
Si tu as un petit script pour faire ça sans passer par PowerAdmin je ne demanderai pas mieux.
Mais le PHP ou Perl c'est du Chinois pour moi :o(
On ne peut pas être bon partout !
Je ne suis malheureusement pas assez calé en Linux.
Là j'avoue que je rame !
Si tu as un petit script pour faire ça sans passer par PowerAdmin je ne demanderai pas mieux.
Mais le PHP ou Perl c'est du Chinois pour moi :o(
On ne peut pas être bon partout !
Tu ferais mieux d'installer PHP (genre WAMP : https://www.wampserver.com/ ) et ensuite tu pourras faire des scripts d'admin enPHP (et te faire aider la les millions de programmeurs PHP ! :-)
A priori, PowerAdmin doit pas gérer ce genre de trucs...
Mais tu devrais aller sur les forums spécifique à PowerAdmin pour te renseigner !
Bon courage !
Raph
A priori, PowerAdmin doit pas gérer ce genre de trucs...
Mais tu devrais aller sur les forums spécifique à PowerAdmin pour te renseigner !
Bon courage !
Raph