[PERL]Tache planifiée console redirigée ???

Tache planifiée console redirigée ??? [PERL] - Perl - Programmation

Marsh Posté le 10-03-2005 à 17:29:22    

Bonjour, j'ai un script Perl qui effectue des requetes snmp sur des switchs... ce script est lancé uniquement par le planificateur de tâche de Windows.  
 
Pendant l'execution du script, une console apparait avec du code HTML généré par le script (entre autre le resultat des requetes SNMP, etc...). Bref j'aimerais savoir si il existe un moyen de rediriger le contenu de cette console vers un fichier ???
 
Si quelqu'un a une idée ???
 
PS: La console apparait le temps d'exécution du script après elle disparait. Tout ça se passe sous Windows 2000 avec ActivePerl 5.8


Message édité par Gouki19 le 11-03-2005 à 10:43:22
Reply

Marsh Posté le 10-03-2005 à 17:29:22   

Reply

Marsh Posté le 11-03-2005 à 10:44:44    

tu peux peut etre le faire directement dans le planificateur, mais je pense que le mieux est de la faire dans ton script, comme ca tu pourra eventuellement choisir un nom de fichier different à chaque lancement, en fonction de la date.
 
dans ton script il suffit d'ouvrir un fichier, puis de printer dedans au lieu de printer à l'ecran.
 
par exemple:
 

Code :
  1. my $nom_fichier = 'C:/snmp_report_' . localtime() . '.html';
  2. open(OUT, '>', $nom_fichier) || die;
  3. print OUT ....
  4. close OUT;


Message édité par pospos le 11-03-2005 à 10:44:55
Reply

Marsh Posté le 11-03-2005 à 11:12:41    

Dans le planificateur j'ai pas trouvé comment faire ça mais sinon jpense que le mieux c'est de faire comme tu l'as dit en printant dans un ficher personnalisé par date et heure de requête.  
J'y avais pas pensé directement...jvais devoir récuperer aussi les erreurs des requetes snmp affiché dans la console...
Je te remercie de ton aide ;)

Reply

Marsh Posté le 11-03-2005 à 11:43:11    

En fait si tu vois comment faire avec le planificateur de tâche windows ça m'arrangerait...??? car le script en question est assez volumineux (environ 2000 lignes et c'est pas le mien) donc c'est un peu plus compliqué :/

Reply

Marsh Posté le 11-03-2005 à 11:55:24    

avec le plannificateur je pense qu'il faudrait ajouter une simple redirection à la fin de la ligne de commande non?
 
sinon pour le script, tu peux aussi faire un autre script qui va l'appeler et rediriger sa sortie la ou il faut:

Code :
  1. use strict;
  2. my $nom_fichier = 'C:/snmp_report_' . localtime() . '.html';
  3. system("perl grosscript.pl > $nom_fichier" );

Reply

Marsh Posté le 11-03-2005 à 12:30:42    

Dans le planificateur tu pense à un truc du genre :
"C:\Program Files\Apache Group\Apache2\MesScripts\monscript.pl" > C:\Program Files\Apache Group\Apache2\MesDonnees\log.txt
 
???
Jconnais pas trop la syntaxe pour les redirection windows mais jsuppose que ça doit etre pareil ou presque que UNIX !?! Jvais essayer pour voir...
 
Sinon ça a l'air pas mal la solution avec l'autre script appelé par le planificateur et qui s'occupe d'appeler monscript et de le rediriger dans un ficher ;) Jvais voir ce qui fonctionne :d
 
Merci pour ton aide pospos ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed