Aller au contenu

Incron


Gnol86

Messages recommandés

Bonjour à tous,

Je ne suis pas certain d'être dans la bonne section.

J'aimerais pouvoir renommer mes films lors de leurs téléchargent et ceci en temps réel. Pour le "renommage" j'ai trouvé mon bonheur (filebot) qui fonctionne en ligne de commande sur Synology. J'aimerais maintenant lancer mon script au moment où le fichier est fini dans un dossier spécial pour l'arrivé des téléchargents. Le script de Filebot fera le boulot pour le renommage et le déplacement du film.

J'ai pensé a incron. Mais je ne trouve pas comment l'installer sur Synology. Connaissez-vous vous une méthode ou une autre solution ?

Merci d'avance.

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

je ne pense pas que le "temps réel" soit vraiment nécessaire pour ce type d'usage :D

surtout que dans ce cas tu fais un confiance aveugle à filebot

Pour incron, il est possible de le compiler, mais son intégration avec le système risque d'être assez complexe

Je pense qu'il est plus simple de faire une petite tache planifiée qui tourne de temps en temps

Lien vers le commentaire
Partager sur d’autres sites

Mon problème avec les taches qui tourne de temps en temps est que je ne veux pas que mon film soit visible dans ma bibliothèque DLNA avant qu'il ne soit renommé (souci de visibilité). Ce qui veut dire que quand je veux voir un film et que je viens déjà d'attendre 1h pour le téléchargents, je n'ai pas envie d'attendre encore 10-15 min le temps que je script se lance.

Lien vers le commentaire
Partager sur d’autres sites

Mon problème avec les taches qui tourne de temps en temps est que je ne veux pas que mon film soit visible dans ma bibliothèque DLNA avant qu'il ne soit renommé (souci de visibilité). Ce qui veut dire que quand je veux voir un film et que je viens déjà d'attendre 1h pour le téléchargents, je n'ai pas envie d'attendre encore 10-15 min le temps que je script se lance.

  1. ne stock pas les téléchargement dans un dossier pris en compte par l'indexation
  2. dans ton script, fais 2 opérations :
    1. renommage
    2. déplacement dans un dossier indexé
  3. planifie le tout toutes les 1 minutes
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

par curiosité (je ne connaissais pas inotify, c'est super chouette, merci pour le vint), j'ai regardé un peu et c'est bien documenté pour Synology sur http://forum.synology.com/enu/viewtopic.php?f=37&t=56439, cela demande d'installer ipkg et de faire des modifications qui touchent au système, comme dit @Fenrir, s'il y a une solution plus simple, à préférer.

(le kernel du DSM 5.0 est compilé avec inotify, je l'ai testé avec inotail qui est installable avec ipkg)

bonne journée,

Eric

Lien vers le commentaire
Partager sur d’autres sites

Voici la première version de mon script qui se lance toute les minutes.

Qu'en pensez-vous ?

#!/bin/sh
clear
#Définition des variables
dirSource="/volume1/video/Download"
dirDestMovie="/volume1/video/movie"

#/{n.replaceAll(' :', replacement = ',').replaceAll(':', replacement = ',').replaceAll('?', replacement = '')} ({y}, {director}){' CD'+pi}
formatMovie=$dirDestMovie"/{n} ({y}, {director}){' CD'+pi}"

echo "Analyse du dossier 'Téléchargement'..."
if [ "$(ls "$dirSource")" != "" ]; then
	ls $dirSource
    echo "Lancement de FileBot.."
    echo $formatMovie
    filebot -rename $dirSource -r --db TheMovieDB --lang fr --format $formatMovie --conflict skip
else
    echo "Dossier vide"
fi
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

je ne connais pas filebot assez pour savoir ce qui se passe dans ce cas là mais avec cron il faut gérer :

1. que se passe t'il s'il y a deux instances du programme qui tournent en même temps (par exemple, une exécution qui dure longtemps), vont'ils travailler sur le même fichier?

2. comment vas-tu savoir si le programme ne fonctionne plus (email, SMS, stats…)

3. les fichiers de logs, le plus simple ce peut être de rediriger la sortie vers un fichier pour chaque exécution (sinon tu peux le faire vers un fichier central mais le point 1. peut compliquer les choses et il faut sans doute lui faire subir une rotation, logrotate peut faire cela mais tu ajoutes des choses à faire),

exemple d'un cron chez moi: 35 5-23/4 * * 0-1 /volume1/maintenancelocale/scripts/rsync.braise2tarte.sh 20h 1000 > /volume1/maintenancelocale/log/rsync.braise2tarte.`/opt/bin/date --iso-8601=seconds` 2>&1

(la version de date est celle de ipkg car la version standard de DSM n'a pas le iso-8601)

bonne journée,

Eric

Lien vers le commentaire
Partager sur d’autres sites

En plus de ce qui est indiqué dans post précédent :

  • ton script ne travail pas dans les sous dossiers (mais peut être que filebot le fait tout seul)
  • tu considère que tous les fichiers sont à traiter
  • si le nom de fichier contient de espaces (ou autre caractère spécial), tu risque d'avoir des surprises (sauf si filebot le gère correctement)

tu peux aussi le faire avec find -exec :

find /volume1/video/Download/ ( -name @eaDir -prune ) -o -type f ( -name '*.avi' -o -name "*.mkv" ) -exec ls -l {} ;

ou avec find + xargs

find /volume1/video/Download/ ( -name @eaDir -prune ) -o -type f ( -name '*.avi' -o -name "*.mkv" ) -print0 | xargs -0 ls -l

la syntaxe peut paraitre compliquée, mais elle est plus fiable (normalement...)

Dans un script ça donnerait un truc du genre :

#!/bin/sh
#on change le séparateur par défaut (pour traiter les caractères spéciaux)
IFS_backup=$IFS
IFS=$(echo -en "nb")

#boucle pour traiter les fichiers 1 par 1 (en évitant cette #@!!%$ de dossier @eaDir)
for FILE in `find /dossier -type f ( -name @eaDir -prune ) -o ( -name '*.avi' -o -name "*.mkv" )`
do
    echo "Lancement d'une commande sur le fichier [$FILE]"
    echo "Lancement d'une commande sur le fichier [$FILE]" >> tonfichier.log
done
IFS=$IFS_backup
exit 0

mais encore une fois, ça dépend de filebot, s'il travail correctement (gestion des files d'attente, des caractères spéciaux, des sous dossiers, ...), ton script devrait faire le job :D

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.