Test de connexion dans un script Shell

Bonjour,

j’ai crée un script shell ou entre autre je me connecte via SSH et SFTP(bien sur j’ai configuré mes machine pour que cela soit possible) et cela fonctionne très bien mais je souhaiterais tester depuis mon script si la connexion c’est bien faites ou pas et c’est la que j’ai besoin de vous.

Je sais faire bien sur des tests avec if,elif et else mais comment m’y prendre pour tester si ma connexion SFTP et SSH ce sont bien faite et si c’est pas le cas que que je reçoive un mail du style :

if [ je suis connecté ok ] then put monfichier else echo " la connexion SSH na pas été possible" | mail -s "pas de connexion SSH" toto@mail.fr

Merci

Bonjour
Tu peux afficher les connexions actives avec netstat:

netstat -nt | grep -c “12.34.56.78:22”

Ca renvoie 1 si connecté au ssh de 12.34.56.78, 0 sinon.

Bonjour,

Si c’est sur un serveur SSH que tu souhaites te connecter tu peux faire ceci :

ssh -p $PORT_SSH $USER_SSH@$IP_PC echo "" > /dev/null 2>&1 if [ $? -eq 0 ] then put monfichier else echo " la connexion SSH na pas été possible" | mail -s "pas de connexion SSH" toto@mail.fr

Si le serveur SSH est injoig,able le code retour est 127, il me semble, sinon il retourne le code retour de la commande (echo).

Merci a vous deux, les deux solutions fonctionnent. Pour ceux que cela peut intéressé :

déclaration des variables :

MAVARIABLE1=`netstat -nt | grep -c "monip:22" MAVARIABLE2="0"

puis le bout de script :

if [[ "$MAVARIABLE1" > "$MAVARIABLE2" ]] then mes instructions else mes instructions fi