[ RSYNC ]-problèmes transfert à distance
toto
-
toto -
toto -
Bonjour,
Je suis actuellement en stage j'ai un pc sous linux. Je me connecte en ssh sur le serveur central (pour le moment, aucuns problèmes) et je dois effectuer un premier test de transfert rsync à distance vers un serveur externe et voici le script :
#!/bin/bash
date=`date`
cd /home
touch test.txt
ssh <ip_srv_externe>
cd /home
if [ ! -e "test.txt" ]; then
rsync -rupgoz -e ssh /chemin_source/test.txt <ip_srv_externe>:/chemin_destination/
echo "$date" >> test.txt
else
echo "$date" >> test.txt
fi
Ce script est créé sur le serveur central
Ce qui reviendrai à dire qu'on va dans le répertoire home du serveur central, qu'on y crée un fichier test.txt puis que l'on se connecte sur le serveur externe pour tester la connexion, si elle marche, un autre test est déclenché. si le fichier test.txt n'existe pas dans /home du serveur externe, il y est créé et on y insère la date et l'heure actuelle. Sinon c'est qu'il est déjà créé et on y insère juste la date et l'heure.
Sauf que au moment de la connexion, le script s'arrête, donc le transfert ne s'effectue pas
Je suis un peu paumé, quelqu'un pourrait-il m'aider à résoudre ce petit problème afin que la condition s'éxécute ?
Merci d'avance
Si vous avez besoin d'un quelconque renseignement, j'en ferai volontier part
Je suis actuellement en stage j'ai un pc sous linux. Je me connecte en ssh sur le serveur central (pour le moment, aucuns problèmes) et je dois effectuer un premier test de transfert rsync à distance vers un serveur externe et voici le script :
#!/bin/bash
date=`date`
cd /home
touch test.txt
ssh <ip_srv_externe>
cd /home
if [ ! -e "test.txt" ]; then
rsync -rupgoz -e ssh /chemin_source/test.txt <ip_srv_externe>:/chemin_destination/
echo "$date" >> test.txt
else
echo "$date" >> test.txt
fi
Ce script est créé sur le serveur central
Ce qui reviendrai à dire qu'on va dans le répertoire home du serveur central, qu'on y crée un fichier test.txt puis que l'on se connecte sur le serveur externe pour tester la connexion, si elle marche, un autre test est déclenché. si le fichier test.txt n'existe pas dans /home du serveur externe, il y est créé et on y insère la date et l'heure actuelle. Sinon c'est qu'il est déjà créé et on y insère juste la date et l'heure.
Sauf que au moment de la connexion, le script s'arrête, donc le transfert ne s'effectue pas
Je suis un peu paumé, quelqu'un pourrait-il m'aider à résoudre ce petit problème afin que la condition s'éxécute ?
Merci d'avance
Si vous avez besoin d'un quelconque renseignement, j'en ferai volontier part
A voir également:
- [ RSYNC ]-problèmes transfert à distance
- Allumer pc à distance - Guide
- Whatsapp transfert discussion - Accueil - WhatsApp
- Déclencher appareil photo android à distance - Guide
- Transfert de mail - Guide
- Teamviewer controle à distance - Guide
3 réponses
Salut,
Sauf que au moment de la connexion, le script s'arrête, donc le transfert ne s'effectue pas
C'est à dire ???
A la connexion du ssh (ssh <ip_srv_externe> ) ou du transfert via rsync ?
Sauf que au moment de la connexion, le script s'arrête, donc le transfert ne s'effectue pas
C'est à dire ???
A la connexion du ssh (ssh <ip_srv_externe> ) ou du transfert via rsync ?
Essaie comme ça :
Attention : Les "echo $date >> test.txt" seront exécutés sur le serveur.
#!/bin/bash date=`date` cd /home touch test.txt ssh <ip_srv_externe> [ -e "/home/test.txt" ] retval=$? if [ "$retval" = 1 ] then rsync -rupgoz -e ssh /chemin_source/test.txt <ip_srv_externe>:/chemin_destination/ echo "$date" >> test.txt else echo "$date" >> test.txt fi
Attention : Les "echo $date >> test.txt" seront exécutés sur le serveur.
"rsync: link_stat "/home/test.txt" failed: No such file or directory (2)
T'es sûr du chemin ?
T'es sûr du chemin ?
J'ai changé la méthode depuis hier, pour tester la connexion d'une façon plus simple (pour moi) je crée un fichier sur le serveur central puis je le copie sur le serveur distant via scp.
Sur le serveur distant, j'ajoute une ligne dans la crontab qui va effectuer une incrémentation de la valeur d'une variable date dans ce fichié copié, toutes les heures.
Puis sur le serveur central, j'ajoute une commande rsync à mon script qui va prendre le contenu du fichier copié du serveur distant jusqu'au serveur central.
Si les modification ont bien été rapportées alors la connexion est possible sinon c'est que le serveur est injoignable ...
Bonne idée non ?
Sur le serveur distant, j'ajoute une ligne dans la crontab qui va effectuer une incrémentation de la valeur d'une variable date dans ce fichié copié, toutes les heures.
Puis sur le serveur central, j'ajoute une commande rsync à mon script qui va prendre le contenu du fichier copié du serveur distant jusqu'au serveur central.
Si les modification ont bien été rapportées alors la connexion est possible sinon c'est que le serveur est injoignable ...
Bonne idée non ?
Si jamais tu n'es pas d'accord avec le déroulement de mon script, prévient moi