Aller au contenu

Synchronisation De 2 Nas Via Ssh - Internet - Script - Planificateur


fleurfanee

Messages recommandés

Bonjour,

tout d'abord j'espère être dans la bonne section.

Mon but : Synchroniser plusieurs répertoires entre 2 NAS distants de manière transparente et pérenne.

Ce que j'ai fait / là où j'en suis :

-Pour l'instant, j'en suis à la mise en place en local.

-J'ai créé un utilisateur "moi" avec les droits d'administrateur et qui peut utiliser ssh (j'ai suivi

http://pellelatarte.fr/2011/03/le-ssh-pour-tous-les-utilisateurs-sur-les-nas-synology/)

-J'ai rendu possible le ssh sans mot de passe et en utilisant un système de clés en suivant :

http://blogmotion.fr/systeme/connexion-ssh-et-transfert-rsync-scp-sftp-sans-mot-de-passe-2709

-J'ai rédigé un script qui fonctionne à merveille quand je le lance moi-même et qui synchronise un répertoire.

Là où je bloque :

-Je voudrais que ce script s’exécute périodiquement et gérer son exécution via le planificateur de taches du syno (panneau de configuration/planificateur de taches) mais le coquin ne s'exécute pas correctement. En fait, c'est comme si rsync passait à la trappe.

ci-dessous mon script en détail "synchro-photo.sh" qui se trouve dans "/volume1/homes/moi/@script/"

#!/bin/sh                                                                       
PATH=/bin:/usr/bin:/usr/syno/bin

echo "Début synchronisation /volume1/photo/ : $(date)"> /volume1/homes/moi/@script/synchro-photo.log
rsync -avz -e "ssh -i /volume1/homes/moi/.ssh/id_dsa" moi@192.168.1.10:/volume1/photo/ /volume1/photo/  >>  /volume1/homes/moi/@script/synchro-photo.log
echo "Fin synchronisation /volume1/photo/ : $(date)">> /volume1/homes/moi/@script/synchro-photo.log

Voilà, je ne suis pas encore bien familiarisé avec les scripts et j'ai recopier le début sans savoir exactement ce que ça fait... j'imagine que mon erreur est toute bête mais avec mes connaissances, je ne vois pas.

Pour être plus clair si je lance le script connecté en ssh via la commande ./synchro-photo.sh le fichier .log se rempli correctement avec tous les détails des opérations exécutés par rsync mais si je le lance via le planificateur de tache du syno, ça pense 1/4 de seconde et le fichier .log se limite à :

Début synchronisation /volume1/photo/ : Sat Feb 15 01:48:44 CET 2014

Fin synchronisation /volume1/photo/ : Sat Feb 15 01:48:44 CET 2014

?! et donc rien sur rsync comme s'il ne le trouvait pas.

Dernière précision, dans le planificateur de tache, j'ai :

- Créé un "script défini par l'utilisateur"

- le nom de l'utilisateur est "moi"

- je demande d’exécuter la commande : /volume1/homes/moi/@script/synchro-photo.sh

Merci de vos éclaircissements.

Je vais me coucher, il se fait tôt le matin.

Lien vers le commentaire
Partager sur d’autres sites

Merci de ta réponse.

Est-ce vraiment possible que ça soit un problème de clé alors même que ça marche si je lance cette même commande rsync depuis un terminal ssh...

Il faut que je creuse ça, j'ai pensé aussi à une limitation de syno car j'étais en même temps en train de faire une sauvegarde réseau avec l'appli de syno qui utilise aussi (il me semble) la procédure rsync... je me suis aussi demandé si le "@" dans le chemin posait problème...

Lien vers le commentaire
Partager sur d’autres sites

Bon je viens de vérifier qu'aucun autre processus rsync ne tournait en parallèle donc l'hypothèse 1 tombe à l'eau.

Je viens de lancer avec succés le script depuis un terminal ssh avec la commande "sh /volume1/homes/moi/@script/synchro-photo.sh" donc je ne vois pas pourquoi @ poserait problème.

Des idées ?

@Fravadona

Je ne suis pas assez calé pour être capable de remplacer les "..." par ce qu'il faut. Est ce que tu pourrais écrire plus clairement par quoi je dois remplacer ma ligne ?

rsync -avz -e "ssh -i /volume1/homes/moi/.ssh/id_dsa" moi@192.168.1.10:/volume1/photo/ /volume1/photo/  >>  /volume1/homes/moi/@script/synchro-photo.log

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Voila la commande avec la redirection de la sortie d'erreur du rsync :

rsync -avz -e "ssh -i /volume1/homes/moi/.ssh/id_dsa" moi@192.168.1.10:/volume1/photo/ /volume1/photo/ 2>&1 >> /volume1/homes/moi/@script/synchro-photo.log

En y reflichissant un peu, ton probleme vient du fait que le planificateur de tache n'a pas les memes droits que ton utilisateur sur les fichiers dans /volume1/homes/moi

Lien vers le commentaire
Partager sur d’autres sites

Oui, je revenais justement sur le forum pour poster un truc du genre.

Pour le vérifier, j'ai voulu modifier les droits de la clé mais dans ce cas ssh refuse la clé en disant qu'elle n'est pas assez protégée et du coup il demande le mot de passe.

J'ai bien peur que le planificateur de tache lance la tache sous la propriété de root (à cet instant, j'ai encore un petit doute entre root et admin). Et du coup, je ne vois pas comment je vais m'en sortir avec le planificateur de taches. D'après ce que j'ai lu à droite à gauche, il est déconseillé d'utiliser admin ou root pour la manip car ces logins sont la cible des attaques. J'imagine que la meilleure chose qu'il me reste à faire est de me pencher sur cron... En attendant, je vais m'occuper de ta commande qui si j'ai bien compris me permettra de voir dans le log ce que ssh a à me dire.

Je ne sais pas s'il y a une raison à ça mais c'est dommage que le planificateur n'agisse qu'au nom de root et pas d'un utilisateur. Après tout on sélectionne bien "script créé par l'utilisateur"

Modifié par fleurfanee
Lien vers le commentaire
Partager sur d’autres sites

... en modifiant la ligne en question, pas mieux, pas plus d'infos... je n'ai que :

Début synchronisation /volume1/photo/ : Mon Feb 17 01:07:41 CET 2014
Fin synchronisation /volume1/photo/ : Mon Feb 17 01:07:42 CET 2014

Je pense néanmoins que l'histoire de droit est la source du problème, m'en vais voir ça http://www.cobestran.com/actualite/synology-planification-de-scripts/

Modifié par fleurfanee
Lien vers le commentaire
Partager sur d’autres sites

ok !

un petit ssh en root et un petit

chown root id_dsa

ont fait l'affaire...

Maintenant que ma clé appartient à root, le planificateur arrive à exécuter correctement le script.

Attention toutefois à bien lancer une première fois la ligne rsync depuis ssh root car il pose la question

***********

The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is e4:84:10:******blablabla***************
Are you sure you want to continue connecting (yes/no)?

***********

bien sure j'ai répondu yes et le zinzin m'a averti :

Warning: Permanently added '192.168.1.10' (ECDSA) to the list of known hosts.

ensuite le planificateur exécute correctement le script. J'imagine donc que quand je mettrai le NAS à distance, il faudra refaire une fois la même manip...

Et la sécurité dans tout ça ? Pour l'instant pas de risque puisque je suis toujours en local. A chaud, j'ai tendance à penser qu'étant donné que je me log avec le login "moi" le fait que la clé appartienne à root ne devrait pas être la source d'une faille.

Modifié par fleurfanee
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.