Dranaa Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 (modifié) Bonjour à vous. J'ai découvert Synology depuis environ un an, et je suis un grand fan (je ne peux plus imaginer ma vie sans)... Je m'en sert de plus en plus et ai dernierement décidé d'automatiser un maximum mes téléchargements/copies de fichiers. Donc, je télécharge mes fichiers dans un dossier, et j'ai un script shell qui va fouiller ce dossier pour récupérer les nouveaux fichiers et les copier et les rennomer dans un dossier partagés et utilisé par mon serveur multimédia (pour qu'ils soient visibles via l'UPNP) Mon script fonctionne bien, les fichiers sont copiés, je les vois dans l'explorateur, cependant... Impossible de les voir depuis le navigateur UPNP (Freebox, ou autre). Ma question est donc... Est-ce qu'il y à une commande spéciale à faire (ou un argument lors de la copie/rennomage) pour que ma liste des fichiers UPNP soit mise à jour? Sinon, comment forcer le serveur UPNP à reconnaitre qu'un nouveau fichier est là? (Pour info: Si je copie le même fichier manuellement, il est visible dans le navigateur UPNP. Le problème semble bien venir de la copie via le script) Merci d'avance. Modifié le 11 mars 2014 par Dranaa 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 Regarder du coté de synoindex (/usr/syno/bin/synoindex) Copyright (c) 2003-2012 Synology Inc. All rights reserved. usage: Path must be shared folder path. Add: synoindex -a filename Delete: synoindex -d filename Add folder: synoindex -A folder Delete folder: synoindex -D folder Rename/move file/folder: synoindex -N newfullpath oldfullpath Update Photo Images: synoindex -U photo Execute file index: synoindex -f {index option} Get from DB: synoindex -g filename -t [video|music|photo|playlist] Reindex: synoindex -R [all|media|photo|music|video|thumb|{reindex_path}] Personal photo reindex: synoindex -R user:{user name} Skip package index: synoindex -p [media|{package_name}] {index option} Only package index: synoindex -P [media|{package_name}] {index option} Explication: les fichiers créés par des commandes ou des scripts ne sont pas automatiquement ajoutés à l'index, faut le faire manuellement. 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dranaa Posté(e) le 6 mars 2014 Auteur Partager Posté(e) le 6 mars 2014 Parfait, c'est exactement ce que je cherchais ! Je ferais un test ce soir (probablement) ! Merci à vous. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dranaa Posté(e) le 11 mars 2014 Auteur Partager Posté(e) le 11 mars 2014 Après tests, c'est exactement ça. Merci à vous pour votre réponse. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 28 mars 2014 Partager Posté(e) le 28 mars 2014 Après tests, c'est exactement ça. Merci à vous pour votre réponse. Bonjour, Serait-il possible de publier un script d'exemple car je souhaiterai implémenter une copie de fichier du répertoire photo vers un répertoire gdrivebackup qui serait synchroniser avec CloudSync ? Merci d'avance pour votre aide. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dranaa Posté(e) le 28 mars 2014 Auteur Partager Posté(e) le 28 mars 2014 (modifié) Bonjour, Pour exemple, voici un script copiant tout ce qui se trouve dans le répertoire "/volume1/photo/" vers le répertoire "/volume1/gdrive/backup/" #!/bin/sh repPhoto="/volume1/photo" repBck="/volume1/gdrive/backup" # Parcours repPhoto ls "$repPhoto" | while read elem do # Si l'élément n existe pas dans repBck, il sera copié [[ ! -e "$repBck/$elem" ]] && cp -Rf "$repPhoto/$elem" "$repBck/$elem" # On ajoute l'élément dans l index synology synoindex -a "$repBck/$elem" done Modifié le 28 mars 2014 par Dranaa 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 28 mars 2014 Partager Posté(e) le 28 mars 2014 (modifié) Pour exemple, voici un script copiant tout ce qui se trouve dans le répertoire "/volume1/photo/" vers le répertoire "/volume1/gdrive/backup/" Je pense que celui ci-dessous est plus simple et doit être plus efficace (attention, pas testé): #!/bin/sh PATH=/bin:/usr/bin:/usr/syno/bin # rsync est dans /usr/syno/bin repPhoto="/volume1/photo" repBck="/volume1/gdrive/backup" rsync -a "$repPhoto/" "$repBck/" # important les "/" finaux pour rsync synoindex -R "$repBck" (Et oui, rsync n'est pas réservé à la synchro à distance) Modifié le 28 mars 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 28 mars 2014 Partager Posté(e) le 28 mars 2014 Merci pour les scripts. Je vais les tester. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 28 mars 2014 Partager Posté(e) le 28 mars 2014 Bonsoir, J'ai configuré une tâche exécutée par "root" localisée dans /volume1/public/job.sh #!/bin/sh PATH=/bin:/usr/bin:/usr/syno/bin # rsync est dans /usr/syno/bin repPhoto="/volume1/photo" repBck="/volume1/gdrive/BACKUP/PHOTOS" rsync -a "$repPhoto/" "$repBck/" # important les "/" finaux pour rsync synoindex -R "$repBck" Lorsque j'exécute manuellement la tâche, je n'obtiens aucun message d'erreur mais le répertoire de destination reste vide. DSM est en version 5.0-4458 Update 1 Auriez-vous une idée à me soumettre ? Merci. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 (modifié) J'ai configuré une tâche exécutée par "root" localisée dans /volume1/public/job.sh /../ Lorsque j'exécute manuellement la tâche, je n'obtiens aucun message d'erreur mais le répertoire de destination reste vide. Peux-tu ajouter l'option "-v" à rsync et voir ce que ça donne? ("rsync -av" à la place de "rsync -a") **edit** à faire en exécutant le script en ligne de commande, pas via le bouton "exécuter" du planificateur de taches. NB: poser une question à la suite d'un fil dont le sujet est préfixé "résolu" n'est pas optimal pour sa visibilité Modifié le 29 mars 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Cela fonctionne bien en ligne de commande avec le paramètre modifié. Est-ce que la tâche s'exécutera "normalement" via l'interface DSM ? Désolé d'avoir posté dans un fil résolu, j'y prêterai plus attention la prochaine fois. Merci pour l'aide. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 (modifié) Cela fonctionne bien en ligne de commande avec le paramètre modifié. La modification du paramètre ("-v") est juste destinée à augmenter la verbosité, le comportement ne devrait pas être modifié. Est-ce que la tâche s'exécutera "normalement" via l'interface DSM ? J'imagine que tu veux parler du planificateur de tache DSM? Normalement pas de raison que ça fasse de différence mais par défaut tu te retrouves "aveugle" sur l'exécution de la tache (visualisation des éventuels messages d'erreur) Pour cette raison, je te conseille d'ajouter la ligne suivante en début de script pour forcer la génération d'un fichier log quand le script s'exécute dans ce contexte: [ -t 0 ] || exec >photo_backup.log 2>&1 Assures-toi aussi que le script est bien exécutable (chmod +x /volume1/public/job.sh) Modifié le 29 mars 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Merci pour tes conseils. Je suis néophyte sous Linux et c'est vraiment bien de trouver de l'aide précise et efficace. Je recréerai un nouveau fil si j'ai "encore" besoin d'aide. Bon weekend tout de même. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Pour cette raison, je te conseille d'ajouter la ligne suivante en début de script pour forcer la génération d'un fichier log quand le script s'exécute dans ce contexte: [ -t 0 ] || exec >photo_backup.log 2>&1 Correction (désolé): [ -t 0 ] || exec >/tmp/photo_backup.log 2>&1 ^^^^ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Merci. J'ai ajouté la ligne corrigée et ai relancé le script =>.il est en train de tourner actuellement. Autre sujet, quelle distribution me conseillerais-tu pour "faire mes armes" sous linux ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Autre sujet, quelle distribution me conseillerais-tu pour "faire mes armes" sous linux ? A mon avis, le bon critère pour un débutant est de choisir une distrib avec une communauté active et "newbie friendly" Va faire un tour sur différents forums Linux, des que tu en trouve un qui te semble sympa (ou les débutants ne se font pas prendre de haut) choisi la distrib correspondante, tu te l'installes dans une machine virtuelle (Virtualbox sous Windows par exemple) et ça roule. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kriss07 Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Merci du conseil. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Grotof Posté(e) le 24 mars 2015 Partager Posté(e) le 24 mars 2015 Bonjour, Auriez-vous l'amabilité de mettre en ligne le script final pour les énormes quiches comme moi svp ? Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.