Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1527 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  PERL : script appelé par 1 autre ne fonctionne pas alors que seul oui

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PERL : script appelé par 1 autre ne fonctionne pas alors que seul oui

n°1496243
Flitz
Posté le 27-12-2006 à 11:09:05  profilanswer
 

Bonjour à tous. J'ai besoin d'aide.
 
Je dispose d'un script qui est utilisé pour sauver les configurations des éléments d'un réseau. Ce script utilise un autre script (en expect) qui sert à se connecter aux éléments. Lorsque je lance le script "ScriptSaveEAConfig.pl" (qui est mon script de base) manuellement, tout fonctionne correctement. Donc je suis dans le répertoire X et je le lance de là, à ce moment tous les fichiers de config se sauve dans le répertoire d'où j'ai lancé manuellement mon script.
 
J'aimerais lancé ce script tous les jours à une certaine heure (parmis d'autres scripts). Pour ce faire je dispose d'un script scheduler appelé x.pl qui est lancé toutes les minutes par la CRON. x.pl détermine à chaque minute quel script il doit lancer. Lorsque j'incorpore "ScriptSaveEAConfig.pl" dans x.pl à ce moment ça ne fonctionne plus.
 
Plus précisement, "ScriptSaveEAConfig.pl" est bien lancé (car il crée bien les fichiers de sauvegarde) mais le script expect n'est pas lancé (car les fichiers sont vides et c'est lui qui est sensé me fournir la config).
 
Il est à noter que le x.pl est lancé du répertoire X alors que ScriptSaveEAConfig est lancé de X/save_ea.
 
Je vous joints le code. Pourriez-vous me dire svp ce qui cloche quand je passe par x.pl ? Je sèche vraiment là !  
 
Voici la partie du code de ScriptSaveEAConfig qui est utile  
 

Code :
  1. chdir('/usr/local/bin/routeur/save_ea/') || die ("erreur chdir" );
  2.  #open SHOWRUN, "./telnetnomem.exp $ip |";
  3.  @tableau = `$BinPath/save_ea/telnetnomem.exp $ip`;
  4.  my $dernier_index = @tableau;
  5.     open (SAVE, ">$save" );
  6.     my $flag = 0;
  7.     #while (my $ligne = <SHOWRUN> ){
  8.  for($xx=0;$xx < $dernier_index ; $xx++){
  9.  my $ligne = $tableau[$xx];
  10.  if ($ligne =~ m/Building configuration/){$flag = 1;}
  11.  if ($ligne =~ m/#exit/){$flag = 0; last;}
  12.  if ($flag == 0){next;}
  13.  if ($flag == 1){print SAVE ($ligne); next;}
  14.     }
  15.     #close SHOWRUN;
  16.     close SAVE;


 
 
 
et voici celle de x.pl (scheduler lancé une fois par minute qui appelle le script de save)
 

Code :
  1. $sql_statement ="UPDATE donnee_reseau.Scheduler SET val = init WHERE script_type = 'ScriptSaveEA';";
  2.             $sth = $dbh->query($sql_statement);
  3.             $tt=1;
  4.             ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
  5.             $ts = "date : $mday-$mon-$year --- time : $hour-$min-$sec";
  6.             $sql_statement ="INSERT INTO donnee_reseau.LogTable (`time`, `action`, `commentaire`) VALUES ('$ts', 'ScriptSaveEAConfig.pl', 'Lancement de ScriptSaveEAConfig');";
  7.             $sth = $dbh->query($sql_statement);
  8.             system ("$BinPath/save_ea/ScriptSaveEAConfig.pl -o=nomem" );


 
je vous remercie d'avance pour toutes vos réponses

mood
Publicité
Posté le 27-12-2006 à 11:09:05  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  PERL : script appelé par 1 autre ne fonctionne pas alors que seul oui

 

Sujets relatifs
Script pour gestion de cours par catégoriesperl et l'export d'une varible d'environement
Cherche script pour ftpScript Windows CE
Script shell : lecture dans un fichier et mise en formeScript Formulaire
[Javascript] document.forms[0].submit(); [résolu]Script tableau clanwar (matches)
script.Socket en script shell
Plus de sujets relatifs à : PERL : script appelé par 1 autre ne fonctionne pas alors que seul oui


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR