Détecte les échecs de connexion, et essaie sur le prochain serveur le moins chargé
En cas d'essai infructueux sur tous les serveurs, arrête et propose de vérifier les paramètres de connexion
Encore merci pour votre aide !!! :D
#!/bin/bash# FREEDOM-IP AUTO CONNECT SCRIPTETH_DEV="eth0"WLN_DEV="wlan0"# ANALYSE INTERFACE RÉSEAU ACTIVEechoecho-----ANALYSEINTERFACERÉSEAUNET_STAT=$(nmcliconstatus|egrep"${ETH_DEV}|${WLN_DEV}")echoecho$NET_STATestlaconnexionactive# VÉRIFICATION D'ÉTABLISSEMENT COMPLET DE LA CONNECTIVITÉ INTERNETechoecho-----VÉRIFICATIONINTERNET...CURRENT_IP=$(wget-q-O-checkip.dyndns.org|sed-e's/.*Current IP Address: //'-e's/<.*$//')PING=$(ping-c3vpn2.freedom-ip.com|grep%|cut-d' '-f4)echoechoAdresseIPactuelle:$CURRENT_IPechoecho$PINGsur3paquetsreçusdepuisvpn2.freedom-ip.comif[-z$PING];thenechoechoPasdeconnexionInternetfonctionnellenotify-send'Freedom-IP:''Pas de connexion Internet fonctionnelle'-idialog-errorexitfi# OCCUPATION DES SERVEURSechoecho-----OCCUPATIONDESSERVEURSwget--no-check-certificate-O /tmp/fip_occupationhttps://freedom-ip.com/statistiques.phpSERV_LOAD=$(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2)echoecho$SERV_LOADSERV_MIN_LOAD=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n1)|cut-d' '-f2|cut-d''-f1)echoecho$SERV_MIN_LOADestlemoinsoccupé,sélectionpourconnexionnotify-send"Occupation des serveurs""$SERV_MIN_LOAD est le moins occupé, sélection pour connexion"SERV_MIN_LOAD_2=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n2)|cut-d' '-f2|cut-d''-f1)SERV_MIN_LOAD_3=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n3)|cut-d' '-f2|cut-d''-f1)SERV_MIN_LOAD_4=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n4)|cut-d' '-f2|cut-d''-f1)SERV_MIN_LOAD_5=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n5)|cut-d' '-f2|cut-d''-f1)SERV_MIN_LOAD_6=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n6)|cut-d' '-f2|cut-d''-f1)SERV_MIN_LOAD_7=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n7)|cut-d' '-f2|cut-d''-f1)SERV_MIN_LOAD_8=$(awk'{ for (i=1; i<=NF; i++) { if (i%5==1) { nb=$i } if (i%5==0) { print nb" "$i } } }'<<(greppersonnes /tmp/fip_occupation|cut-d'<'-f2|cut-d'"'-f2|sort-rn|tail-n8)|cut-d' '-f2|cut-d''-f1)# VÉRIFICATION D'UNE CONNEXION AU VPN DÉJÀ EXISTANTEechoecho-----VERIFICATIONVPN_STAT=$(nmcliconstatus|grepfreedomip|cut-d\-f1)if[-z"${VPN_STAT}"];thenechoechoPasdeconnexionVPNactivenotify-send'Freedom-IP:'"Établissement de la connexion sécurisée..."-idialog-warning;elseechoechoDéjàconnectéà$VPN_STAT-Redémarrageavec$SERV_MIN_LOADnotify-send"Déjà connecté à $VPN_STAT""Redémarrage avec $SERV_MIN_LOAD"-idialog-warningechoecho-----DÉCONNEXIONDE$VPN_STATnmclicondownid"${VPN_STAT}"echoechoOKechoecho-----RECONNEXIONÀ$SERV_MIN_LOAD'_freedomip'echoRCON=$(nmcliconupid$SERV_MIN_LOAD'_freedomip'|grep"Connexion activée")echo$RCONif["$RCON"="Connexion activée"];thenNEW_IP=$(wget-q-O-checkip.dyndns.org|sed-e's/.*Current IP Address: //'-e's/<.*$//')echoechoNouvelleIP:$NEW_IPsleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD"-idialog-information;elseechoechoImpossibledeseconnecterà$SERV_MIN_LOADnotify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD, essai avec $SERV_MIN_LOAD_2"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_2=$(nmcliconupid$SERV_MIN_LOAD_2'_freedomip'|grep"Connexion activée")echo$CON_2sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_2"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_2notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_2, essai avec $SERV_MIN_LOAD_3"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_2=$(nmcliconupid$SERV_MIN_LOAD_3'_freedomip'|grep"Connexion activée")echo$CON_3sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_3"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_2notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_3, essai avec $SERV_MIN_LOAD_4"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_4=$(nmcliconupid$SERV_MIN_LOAD_4'_freedomip'|grep"Connexion activée")echo$CON_4sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_4"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_4notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_4, essai avec $SERV_MIN_LOAD_5"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_5=$(nmcliconupid$SERV_MIN_LOAD_5'_freedomip'|grep"Connexion activée")echo$CON_5sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_5"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_5notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_5, essai avec $SERV_MIN_LOAD_6"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_6=$(nmcliconupid$SERV_MIN_LOAD_6'_freedomip'|grep"Connexion activée")echo$CON_6sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_6"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_6notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_6, essai avec $SERV_MIN_LOAD_7"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_7=$(nmcliconupid$SERV_MIN_LOAD_7'_freedomip'|grep"Connexion activée")echo$CON_7sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_7"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_7notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_7, essai avec $SERV_MIN_LOAD_8"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_8=$(nmcliconupid$SERV_MIN_LOAD_8'_freedomip'|grep"Connexion activée")echo$CON_8sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_8"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_8notify-send'Freedom-IP:'"Connexion à tous les serveurs impossible, Vérifiez vos paramètres de connexion !"-idialog-errorfifififififififiechoecho-----FINDESCRIPTexitfi# CONNECTION AU VPN SI INTERNET CONNECTÉif[$PING-eq3];thenechoecho-----CONNEXIONÀ$SERV_MIN_LOADechoif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON=$(nmcliconupid$SERV_MIN_LOAD'_freedomip'|grep"Connexion activée")echo$CONfifiif["$CON"="Connexion activée"];thenNEW_IP=$(wget-q-O-checkip.dyndns.org|sed-e's/.*Current IP Address: //'-e's/<.*$//')echoechoNouvelleIP:$NEW_IPsleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD"-idialog-information;elseechoechoImpossibledeseconnecterà$SERV_MIN_LOADnotify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD, essai avec $SERV_MIN_LOAD_2"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_2=$(nmcliconupid$SERV_MIN_LOAD_2'_freedomip'|grep"Connexion activée")echo$CON_2sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_2"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_2notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_2, essai avec $SERV_MIN_LOAD_3"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_2=$(nmcliconupid$SERV_MIN_LOAD_3'_freedomip'|grep"Connexion activée")echo$CON_3sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_3"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_2notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_3, essai avec $SERV_MIN_LOAD_4"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_4=$(nmcliconupid$SERV_MIN_LOAD_4'_freedomip'|grep"Connexion activée")echo$CON_4sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_4"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_4notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_4, essai avec $SERV_MIN_LOAD_5"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_5=$(nmcliconupid$SERV_MIN_LOAD_5'_freedomip'|grep"Connexion activée")echo$CON_5sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_5"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_5notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_5, essai avec $SERV_MIN_LOAD_6"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_6=$(nmcliconupid$SERV_MIN_LOAD_6'_freedomip'|grep"Connexion activée")echo$CON_6sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_6"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_6notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_6, essai avec $SERV_MIN_LOAD_7"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_7=$(nmcliconupid$SERV_MIN_LOAD_7'_freedomip'|grep"Connexion activée")echo$CON_7sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_7"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_7notify-send'Freedom-IP:'"Impossible de se connecter à $SERV_MIN_LOAD_7, essai avec $SERV_MIN_LOAD_8"-idialog-errorif[!-z"${NET_STAT}"-a-z"${VPN_STAT}"];thenCON_8=$(nmcliconupid$SERV_MIN_LOAD_8'_freedomip'|grep"Connexion activée")echo$CON_8sleep3notify-send"Connexion sécurisée établie au server $SERV_MIN_LOAD_8"-idialog-information;elseechoImpossibledeseconnecterà$SERV_MIN_LOAD_8notify-send'Freedom-IP:'"Connexion à tous les serveurs impossible, Vérifiez vos paramètres de connexion !"-idialog-errorfifififififififiechoecho-----FINDESCRIPTexit
# MAJ SCRIPT
Posté par DooM . En réponse au message Le plus petit. Évalué à 0.
Bonsoir !
Mise à jour du script !!!!
MAJ 28 AOÛT :
Encore merci pour votre aide !!! :D