Aller au contenu

[R


Dranaa

Messages recommandés

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é par Dranaa
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

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.

Lien vers le commentaire
Partager sur d’autres sites

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é par Dranaa
Lien vers le commentaire
Partager sur d’autres sites

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é par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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é par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

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é par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

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
                  ^^^^
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 11 mois aprè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.

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.