Bonjour à tous,
J'aimerais savoir s'il vous plait comment on fait :
- premièrement un test pour savoir si l'action sous ssh ou scp a été réussi ou non
exemple
ssh('root@IP_SERVEUR',"chmod 777 /mon_repertoire");
je veux tester si chmod 777 a été attribuer sur le repertoire, si non mettre
$erreur = 'chmod failed';
Idem pour
scp("$repertoire_source/$fichier","root\@IP_SERVEUR:$repertoire_dest/$fichier");
j'ai essayé avec
1 2 3 4
|
ssh('root@IP_SERVEUR',"chmod 777 /mon_repertoire") or $erreur = 'chmod failed';
scp("$repertoire_source/$fichier","root\@IP_SERVEUR:$repertoire_dest/$fichier") or $erreur = 'secure copy failed'; |
L'action copy et chmod 777 a été effectué mais $erreur contient 'secure copy failed' et 'chmod failed'. Donc, les commandes sont executées et que les messages correspondants ont été assignés à la variable $erreur.
J'ai essayé aussi avec
1 2 3
| unless(scp("$repertoire_source/$fichier","root\@IP_SERVEUR:$repertoire_dest/$fichier")){
$erreur='secure copy failed';
} |
Le résultat est le même.
- deuxièment, ssh et scp retourne t-il boolean genre TRUE si succès et FALSE si erreur ou bien 1 ou 0 ou bien autres choses
le code complet est
1 2 3 4 5 6 7 8 9
|
#!/usr/bin/perl -w
use warnings;
use Net::SCP qw(scp iscp);
use Net::SSH qw(ssh issh);
ssh('root@IP_SERVEUR',"chmod 777 /mon_repertoire");
scp("$repertoire_source/$fichier","root\@IP_SERVEUR:$repertoire_dest/$fichier"); |
Merci
Partager