Exécution d'un remote script
Bonjour,
Je n'arrive pas à exécuter correctement un script sur une machine distante. Voici les deux codes :
Script de récupération des informations (machine locale) :
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
| print "==> Connexion SSH en cours...\n";
$ssh = Net::OpenSSH->new($host,user => $user_name, password => $password);
$ssh->error and die "unable to connect to remote host : ". $ssh->error;
print "Connexion OK\n";
$remote = $ssh->capture("hostname");
chomp($remote);
$date = strftime "%Y%m%d",localtime;
$dir_conf = $remote."_".$date;
@output = $ssh->capture("sh /.../wrapper.sh \"$dir_conf\"");
@output = $ssh->capture("ls /.../test/");
foreach (@output)
{
print FILE "Fichier : $_\n";
@outFile = $ssh->capture("cat /.../test/$_");
foreach my $a (@outFile)
{
print FILE "$a";
}
}
close (FILE); |
Partie du script sur la machine distante :
Code:
1 2 3 4
|
#appel de ReplicationList pour avoir la liste des functional area du ReplicationExport
open ReplicationList, "ReplicationList -u $s_Openet_User -p $s_Openet_Password |" or die "Failed to call ReplicationList";
my $i_cpt = 0; |
Est-ce qu'il faudrait ajouter quelque chose comme . .profile ?
Je n'ai actuellement aucune idée du pourquoi ça ne marche pas... J'ai pas trouvé grand chose d'intéressant sur le net à l'heure actuelle.
Merci d'avance !
[EDIT] j'ai essayé de passer par un "wrapper" :
Code:
1 2 3 4 5
| #!/bin/sh
source ~/.profile
perl /.../ExportConf.pl |