Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/11/2015, à 11:04

drkamine

Demande de scipt

Bonjour ,

est ce qu'il un peut m'aide a développe un script  .
j'ai besoin de vérifie ma connexion VPN avec ipsec   

l’exécution de la commande  ipsec status  si le résulta est UP ne fais rien sinon execute la commande ipsec UP conn0

merci d'avances

Hors ligne

#2 Le 23/11/2015, à 14:09

McRbt

Re : Demande de scipt

drkamine,

Essaye ceci :

#!/bin/bash
STATUS=`ipsec status`
if [ "$STATUS" == "UP" ] ; then
        exit
else
        ipsec UP conn0
fi

Tiens nous au courant.

Dernière modification par McRbt (Le 23/11/2015, à 15:33)

Hors ligne

#3 Le 23/11/2015, à 14:17

MicP

Re : Demande de scipt

#!/bin/bash
[ "$(ipsec status)" == "UP" ] || ipsec UP conn0

Dernière modification par MicP (Le 23/11/2015, à 14:22)

Hors ligne

#4 Le 23/11/2015, à 15:43

drkamine

Re : Demande de scipt

Bonjour ,

je vous remercier pour votre collaboration
la resulta de la commande si ipsec et down est la  suivante 

ipsec status Security Associations (0 up, 0 connecting):
none

et si la connexion est active le résulta est la suivante    Security Associations (1 up, 0 connecting):

est ce que c'est possible que le script peux lire le resulta de  la commande par exemple si 0 UP excute  ipsec up conn0 sinon ne fait rien

Dernière modification par drkamine (Le 23/11/2015, à 15:58)

Hors ligne

#5 Le 23/11/2015, à 16:39

MicP

Re : Demande de scipt

#!/bin/bash
[[ "$(ipsec status)" =~ .*(0 up,).* ]] && ipsec UP conn0

Dernière modification par MicP (Le 23/11/2015, à 16:47)

Hors ligne

#6 Le 24/11/2015, à 09:11

drkamine

Re : Demande de scipt

je vous remercier beaucoup  MCrbt et Micp 

ce script    est fonctionnelle   
  #!/bin/bash
[[ "$(ipsec status)" =~ .*(0 up,).* ]] && ipsec UP conn0

Hors ligne

#7 Le 24/11/2015, à 10:44

drkamine

Re : Demande de scipt

Bonjour

je trouve un truc bizar je met ce script dans  ficher  vpn.sh ( chmod +x vpn.sh) si je l’exécute il fonctionne ./vpn.sh
et je le met dans  crontab -e  pour qu'il s'exucte dans chaque 5 minute il ne fonctionne pas
*/5 * * * * /home/amine/vpn.sh

Hors ligne

#8 Le 24/11/2015, à 11:05

credenhill

Re : Demande de scipt

hello
trouver où se trouve la commande : whereis ipsec
et mettre au début du script

export PATH=$PATH:/chemin_ipsec

Hors ligne

#9 Le 24/11/2015, à 11:07

MicP

Re : Demande de scipt

Je pense qu'il ne s'agit que d'une histoire de PATH qui fait qu'il faudrait spécifier le chemin absolu de la commande ipsec quand elle est utilisée dans ce contexte.

Le chemin absolu de la commande ipsec te sera retourné par la commande suivante :

which ipsec

Il faudrait donc recopier le retour de cette commande en remplacement du mot "ipsec" qui se trouve dans le script /home/amine/vpn.sh

EDIT : "Grilled" par credenhill pendant la rédaction de ce message smile

Dernière modification par MicP (Le 24/11/2015, à 11:12)

Hors ligne

#10 Le 24/11/2015, à 12:09

drkamine

Re : Demande de scipt

Bonjour  je vous remercier toujours pour votre collaboration , mais toujours  le script ne fonctionne plus dans crontab

j'ai déjà change le propriété du ficher pour nobody   -rwxrwxrwx 1 nobody nogroup 83 nov.  24 11:44 /home/amine/vpn.sh*

*/5 * * * * /home/amine/vpn.sh   dans crontab

le contenu du script #!/bin/bash
[[ "$(/usr/sbin/ipsec status)" =~ .*(0 up,).* ]] && ipsec up conn0

Hors ligne

#11 Le 24/11/2015, à 12:25

erresse

Re : Demande de scipt

drkamine a écrit :

[[ "$(/usr/sbin/ipsec status)" =~ .*(0 up,).* ]] && ipsec up conn0

La commande "ipsec" est 2 fois dans la ligne, il faut répéter le chemin "/usr/sbin/...".


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#12 Le 25/11/2015, à 15:14

MicP

Re : Demande de scipt

À mon humble avis, en ce qui concerne le chemin absolu, la proposition de credenhill consistant à modifier la variable PATH aurait été plus simple et efficace :
Cette modification permet d'éviter à avoir à spécifier le chemin absolu pour chaque appel à la commande pour tout le script.

#!/bin/bash
export PATH=$PATH:/usr/sbin
[[ "$(ipsec status)" =~ .*(0 up,).* ]] && ipsec up conn0

=======

…j'ai déjà change le propriété du ficher pour nobody…

Je n'ai pas le temps de faire des essais pour tout vérifier (un RDV), mais si ton compte utilisateur peut exécuter ce fichier (je suppose qu'il s'agit bien du script /home/amine/vpn.sh) et si la tâche cron est créée depuis ton compte utilisateur, il vaudrait mieux laisser les propriétés user et group de ce fichier au compte utilisateur qui a créé le script et la tâche cron (amine peut-être).
Je suppose aussi que le fichier script a l'attribut exécutable (au moins pour son propriétaire).

Hors ligne

#13 Le 25/11/2015, à 15:49

drkamine

Re : Demande de scipt

Bonjour ,

je remercier tous les collaborateurs , mon script est fonctionnel maintenant

Cordialement

Hors ligne