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
Partager