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 14/01/2009, à 23:56

ReZPL

Rsync

Salut!

J'aurais besoin d'aide pour la conception d'un script bash.
J'ai trouvé ce script sur google:

ip=monserveur
user=monuser
dir=/
r=1
c=0
a=$(( $c % 2 ))
until [ $r = 0 ]
do
a=$(( $c % 2 ))
if [ $a -eq 0 ]
then
nip=$ip
fi
if [ $a -eq 1 ]
then
nip=$domain
fi
if test $c -gt 120
then
exit 1
fi
ping -c 2 $nip
r=$?
c=`expr $c + 1`
sleep 5
done
sshfs $user@$nip:$dir /home/reso/remoteserv
sleep 5
rsync -r -R -t -v --inplace --progress -c --delete-after /home/reso/doc/ /home/reso/remoteserv/

Cette partie fonctionne bien, maintenant ce que je veux est de l'automatisation et voici ce qu'il doit faire:
1- Exécuter le script d'écrit ci-haut
2- Lorsque rsync s'exécute par le script d'écrit ci-haut, le serveur doit être maintenu en ligne...alors il faudrait qu'il ping le serveur à environ chaque 10 mins, sinon killall rsync
3- Si rsync est killer, relancer le script ci-haut

Il me manque seulement ces étapes, puisque lorsque le serveur est coupé, rsync continue d'envoyer les fichiers dans le dossier /home/reso/remoteserv de l'ordinateur et non plus vers ce même dossier préalablement monté en sshfs de l'ordinateur distant. J'utilise cron pour l'exécution du script automatique.

Voilà, si quelqu'un peut m'aider ça serait apprécié big_smile
Merci!!

#2 Le 15/01/2009, à 05:09

idcpif

Re : Rsync

2 observations :
* La première c'est que ce script ne lance pas rsync.
* La seconde est une considération de chronologie,monter le sshfs si le serveur est en ligne (test avec ping par exemple) puis lancer un rsync uniquement si le filesystem est monté.
A la fin du rsync démonter le filesystem ssh.
Effectuer un polling avec un ping dans la cron (on redirige le resultat du ping dans un fichier).
Rappel rsync

ssh @server
rsync -av -e ssh --stats --delete --backup --backup-dir=/media/serverbackupfolder/ /media/localtobackup/ @server:/media/localtobackup/

Dernière modification par idcpif (Le 15/01/2009, à 05:23)


http://www.pier-infor.eu

Hors ligne

#3 Le 16/01/2009, à 06:19

ReZPL

Re : Rsync

Tu verras la commande rsync en défillant d'une petite coche dans le script. Donc à ce que je vois je ne fais qu'ajouter ce que tu me dis et ça devrait fonctionner.

Merci big_smile