Script CGI

clement. Messages postés 304 Statut Membre -  
clement. Messages postés 304 Statut Membre -
Bonjour,

N'ayant pas reussi a faire mon script CGI avec la commande rsh.

J'aurais voulu savoir si une personne avait une idée pour récupérer, donc toujours dans un script CGI, le contenue d'un fichier sur une machine distante ( d'un linux a un UNIX).
Puis le retranscrire dans une page HTML sans passer par un rsh.
quel commende choisir ?

je suis perdu et perplexe
Merci de m'aider..
A voir également:

20 réponses

tinoeldorados
 
Je ne comprends rien a ta question de CGI
mais pour prendre des infos sur une machine distante unix
pour remplacer rsh c'est ssh (pour la connection) et scp pour copier des fichiers ...
0
clement. Messages postés 304 Statut Membre 14
 
merci de ta réponse.
donc par exemple dans mon script je fais

$sortie =`ssh (ip de la machine) scp (chemin du fichier)`;

est ce correcte ?
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
En quel langage ton CGI ?
0
clement. Messages postés 304 Statut Membre 14
 
en perl ... dsl d'avoir oublier de le préciser
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Pas grave ;)
Pour récupérer un fichier avec scp, la syntaxe est :
scp login@ip:path_source path_destination

Après, il te reste plus qu'à le lire ;)
Cdt
0
tinoeldorados
 
En perl je ne sais pas !

mais pour echanger des fichiers entre machines unix

tu veux le fichier toto.txt qui de trouve dans /home/user/toto.txt de la machine farhost

et tu veux qu'il vienne tsur ta machine

MaMachine> scp username@farhost:/home/user/toto.txt /home/gerard/website/

en gros scp username@machinedistante:path_complet_du_fichier username@uneautremachine:le_path_de_copie
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
clement. Messages postés 304 Statut Membre 14
 
oki merci a vous deux, je vais tester voir si ca marche... dans le script et essayer de le lire
je vous tiens informé si ca fonctionne ca sera déjà un grand pas de fait
parce que le rsh il ne soul
a mettre remsh : login incorrect alors que tous est bien configuré... alors j'essaye une autre solution ^^

Si j'arrive a recuperer le fichier distant sur ma machine puis a le lire ca sera deja tres bien ^^
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Pour récupérer le fichier avec scp en perl, tu as deux solutions :
system "scp login@ip:path_source path_destination

Ou plus propre :
use Net::SCP qw(scp iscp);
 
my $scp = Net::SCP->new( "ip", "login" );
$scp->scp("path_source", "path_destination");
$scp->quit;

Après c'est juste de la lecture de fichier ;)
0
clement. Messages postés 304 Statut Membre 14
 
je suppose qu'il faut télécharger le scp non ?
0
tinoeldorados
 
normalement c'est par defaut sur les sys linux

mais ce n'ai pas scp qu'il faut prendre c'est SSH (le protocole qui fournit SCP)
0
clement. Messages postés 304 Statut Membre 14
 
Donc si SSH est installé ce qui est le cas, le SCP est aussi installé ?
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Ca dépend si tu as installé seulement ssh ou un package contenant quelques utilitaires (scp, ssh-agent, ...). Le mieux est de regarder sur ton PC ;)
0
tinoeldorados
 
normalement ... oui

c'est ssh client !! et scp en minuscule !!
0
clement. Messages postés 304 Statut Membre 14
 
oki,
il me mets dans error_log :

Can't locate Net/SCP.pm in @INC (@INC contains: /usr/lib/perl5/5.8.3/i386-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl .)

... j'avais deja eu ce genre d'erreur sur un autre linux où j'avais résolu le probleme en installant le package manquant.

il me mets cet erreur en utilisant le :

use Net::SCP qw(scp iscp);

faut que je télécharge le SCP.pm ?
0
tinoeldorados
 
il se peut que perl te fournisses une version de scp ...

mais essaie deja depuis linux !! la fenetre de commande !!

si ca marche c'est que tu as scp
ensuite tu le mets dans un call system voir message 8 de fiddy, le jeudi 14 août 2008 à 14:46:21

et ensuite tu regarderas si perl peut gerer tout cela sans passer par le systeme !!
0
clement. Messages postés 304 Statut Membre 14
 
je l'ai fait dans mon script a partir de linux justement.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Installe : libnet-scp-perl
0
tinoeldorados
 
Justement c'est ce que je dis fais en dehors du script !!
dans une ligne de commande !!

et si ca fonctionne en dehors du script
il te faudras un moyen de l'integrer dans le script mais cela sera une SECONDE etape !!
0
clement. Messages postés 304 Statut Membre 14
 
alors j'avais déjà tester en dehors du script le rsh du début qui marche donc e ndehors mais pas dans le script.
le ssh aussi fonctionne.

EDIT : par contre pour le scp il me dit ca :
stty: : Not a typewriter
serveur station

0
tinoeldorados
 
test la reponse de fiddy
0
clement. Messages postés 304 Statut Membre 14
 
son package est introuvable pour Mandriva...
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Pour mandriva :
http://rpmfind.net/...
Cdt
0
clement. Messages postés 304 Statut Membre 14
 
bon... merci lol
0
clement. Messages postés 304 Statut Membre 14
 
apres telechargement du package et test
j'ai encore et toujours la même erreur snif.
script ou pas script.. j'suis maudit lol
0