Bonjour,

Je me confronte à une difficulté récurrente. Lorsque j’exécute une commande système directement en shell pas de souci.

Dans mon script perl, je souhaite directement exécuter cette même commande avec une connexion ssh et là impossible.

Voici un extrait de mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

#-------------- 2 : Connexion au serveur 
my $ssh2 = Net::SSH2->new();
$ssh2->connect($server) or die "ERREUR_CONNEXION :\tsur serveur $server\t$!";

#-------------- 3 : Authentification par clé RSA
$ssh2 -> auth_publickey ( $auth[0], $auth[1], $auth[2] ) or die "ERR_LOGIN :\tproblème auth RSA\t";



my $chan2 = $ssh2->channel();

#$chan2->exec('find /var/log/* -type f -size +90M -exec ls -Sl {} \;'); #fonctionnel Dans ce cas mais j'ai besoin de la commande si dessous.

#COMMANDE DONT J AI BESOIN QUI NE FONCTIONNE PAS
 $chan2->exec("find /var/log/* -type f -size +90M -exec ls -Sl {} \; | awk '{print $5 " " $9 }'");

my @tab;
unshift(@tab,$_) while <$chan2>;# je récupère le 
reslutat de la commande que j'envoie dans un tableau
print @tab;#J'affiche mon tableau


$chan2->close;# FERMETURE TUNNEL CHAN2
$ssh2->disconnect();#Fermeture connexion ssh

Je vous remercie pour vos conseils