Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 05/02/2010, 17h51   #1
Invité de passage
 
Brigitte BAYLE
Développeur informatique
Inscription : février 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Brigitte BAYLE

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2010
Messages : 4
Points : 3
Points : 3
Par défaut ping en continu

Bonjour,
Suite à des problèmes de connexion réseau,
Est-ce possible d'avoir sur l'as400 un ping en continu vers un serveur w2003, pendant au moins 1h, avec une redirection du résultat dans un fichier, sans gros développement ?
Merci.

Dernière modification par bbeneo ; 12/02/2010 à 13h26.
bbeneo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 03h17   #2
Invité de passage
 
Réda BAB-HAMED
Inscription : mars 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Réda BAB-HAMED

Informations forums :
Inscription : mars 2010
Messages : 4
Points : 4
Points : 4
il faudrait une jobq a entrée unique dans un SBSD.

SBMJOB CMD(PING RMTSYS('192.168.141.146') NBRPKT(100)) JOBQ(ZZZCLP2) LOG(4 00 *SECLVL)

A soumettre 17 fois pour un peu plus d' 1 heure de stats...

un petit CLP pour copier les bonnes lignes dans un PF ...
c'est le minimum...
adermex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 16h25   #3
Invité de passage
 
Brigitte BAYLE
Développeur informatique
Inscription : février 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Brigitte BAYLE

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2010
Messages : 4
Points : 3
Points : 3
Par défaut merci

On ne perd pas de paquets, le problème n'est pas là...
Merci de votre aide.
bbeneo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 20h26   #4
Invité de passage
 
Réda BAB-HAMED
Inscription : mars 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Réda BAB-HAMED

Informations forums :
Inscription : mars 2010
Messages : 4
Points : 4
Points : 4
ah, pardon...

Plus de détail pour comprendre votre problème peut-être ?
adermex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2010, 14h50   #5
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Je vois une autre possibilité pour limiter le temps d'exécution du "ping" (à une heure par exemple) avec l'API QOLTIMER qui permet de temporiser la durée d'exécution d'une fonction. J'utiliserais ensuite la commande shell de Fabrice dans une boucle pour envoyer les résultats du ping dans un fichier texte dans l'UDFS.

Principe :
  • Initialiser le timer à la durée voulue. Dans le programme-exemple ci-dessous, j'ai mis 3600000 millisecondes, soit une heure.
  • Créer si besoin une data queue que j'appelle "TIMERDTAQ".
  • Clearer cette data queue et virer le fichier texte ping.txt suite aux passages précédents.
  • Mettre le timer en fonction.
  • Dans une boucle, "pinger" le serveur cible via QSH et en retour, si message (émis par le timer) existe dans la data queue associée au timer, faire le ménage des spools QSH et arrêter le traitement.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 PGM
 dcl &rc                *int 4
 dcl &rd                *int 4
 dcl &timerset          *char 8  'TIMER001'
 dcl &timercnl          *char 8  ' '
 dcl &dtaq              *char 20 'TIMERDTAQ *LIBL'
 dcl &Oper              *char 1 x'01'
 dcl &interval          *int 4  3600000  /* 1 heure */
 dcl &estcnt            *int 4  1
 dcl &keylen            *int 4  0
 dcl &keyval            *char 256 ' '
 dcl &usrdta            *char 60 'Je mets ici ce que je veux'
 dcl &quetype           *char 1 'D'

 dcl &dtaqlen           *dec (5 0) 336
 dcl &dta               *char 336
 dcl &waittime          *dec (5 0) 0

 dcl &cmd               *char 200  

 chkobj *LIBL/TIMERDTAQ *dtaq
 monmsg cpf9801 exec ( crtdtaq <MaBib>/TIMERDTAQ maxlen(336) )

 call QCLRDTAQ (  'TIMERDTAQ' '*LIBL' )
 rmvlnk '/home/<MonProfil>/ping.txt'

 call QOLTIMER  ( &rc        +
                  &rd        +
                  &timerset  +
                  &timercnl  +
                  &dtaq      +
                  &Oper      +
                  &interval  +
                  &estcnt    +
                  &keylen    +
                  &keyval    +
                  &usrdta    +
                  &quetype   )


 chgvar &cmd ('system "PING RMTSYS(''adress IP ou nom serveur'')" +
                                  2>>/home/<MonProfil>/ping.txt')
Loop:

  qsh cmd( &cmd )

  call qrcvdtaq ( 'TIMERDTAQ' +
                  '*LIBL'     +
                  &dtaqlen    +
                  &dta        +
                  &waittime )

  if ( &dtaqlen > 0 ) do
     sndpgmmsg &dta
     dltsplf *select
     return
  enddo
  else goto Loop

 ENDPGM
Dans cet exemple, il faut remplacer <MaBib> par sa propre bibliothèque et <MonProfil> par son propre profil ou bien placer le fichier "ping.txt" dans un répertoire ou dossier UDFS de son choix.

Pour voir les résultats, faire

Code :
DSPF '/home/<MonProfil>/ping.txt'
J'ai testé le programme qui marche nickel-chrome !

Dernière modification par Mercure ; 14/03/2010 à 15h18.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2010, 19h49   #6
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Tu m'as bien mis sur la voie Fabrice pour récupérer les infos du ping avec la solution rusée du shell unix qui, outre l'exécution du ping, permet de router ce que renvoie la commande dans un stream file. J'étais parti avec l'idée de récupérer ces messages dans une boucle "RCVMSG" et des les stocker dans une message queue ou une data queue mais ta solution "QSH" m'a ouvert la voie en me simplifiant allégrement la tâche.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 08h40.


 
 
 
 
Partenaires

Hébergement Web