Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 10/02/2010, 16h54   #1
Invité de passage
 
Étudiant
Inscription : juin 2008
Messages : 12
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2008
Messages : 12
Points : 0
Points : 0
Envoyer un message via MSN à tipié
Par défaut [BASH]erreurs connexion serveur

Bonjour,
Je suis en plein script bash et il y a une partie de ce script qui m'embête

le script va s'exécuter sur un serveur via la crontab et je doit pouvoir tester la connexion avec un autre serveur distant.
Pour cela, dans le script, je copie un fichier avec une commande scp sur le serveur distant

Sur le serveur distant je crée un script qui va incrémenter toutes les heures le résultat de la commande `date` dans ce fichier copié

Puis, de retour dans le script du serveur où je suis, je tape une commande rsync qui va me récupérer les modification du fichier contenant les dates pour savoir si la connexion peut se faire ou pas

Si les modifications ne sont pas transférées du serveur distant jusqu'au serveur où je suis, la connexion ne peut pas être établie et dans ce cas, un message d'erreur est incrémenté dans un fichier log pour indiquer que la connexion au serveur distant est impossible

Je vous met la partie du script concernée :

#!/bin/bash
date=`date`
ssh < cmd_ssh
rsync < cmd_rsync

#transfert d'un fichier pour tester la connexion
scp /Donnees/dates/date_abbee.txt <login@ip_srv_distant>:/Donnees

rsync -av -e ssh <login@ip_srv_distant>:/Donnees /Donnees/dates/date_abbee.txt


#et là j'aimerai mettre une condition if :
# si le transfert rsync, du serveur distant au serveur ou je suis, s'effectue
# alors echo "connexion réussie" >> /Donnees/log.txt
# sinon echo "connexion refusée" >> /Donnees/log.txt
# fin si

mon problème vient juste de la condition après le if ..... je ne sais pas comment écrire "si le transfert rsync s'est bien déroulé alors ..."

Si quelqu'un a une idée pour m'aider ça m'arrangerai beaucoup

Merci d'avance
tipié est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2010, 20h30   #2
Membre expérimenté
 
Avatar de cboudy
 
Ingénieur informatique industrielle
Inscription : avril 2006
Messages : 381
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur informatique industrielle

Informations forums :
Inscription : avril 2006
Messages : 381
Points : 525
Points : 525
tu peux regarder la variable $? juste après le rsync :
Code :
1
2
3
if [ $? -eq 0 ]; then
    echo "rsync : ok"
fi
cboudy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2010, 05h44   #3
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 896
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 896
Points : 3 676
Points : 3 676
Code :
1
2
3
rsync -av -e ssh <login@ip_srv_distant>:/Donnees /Donnees/dates/date_abbee.txt && \
echo "connexion réussie" >> /Donnees/log.txt || \
echo "connexion refusée" >> /Donnees/log.txt
...
?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 10h06.


 
 
 
 
Partenaires

Hébergement Web