IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

SFTP movedTo et incrontab


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut SFTP movedTo et incrontab
    Bonjour,

    Je surveille un répertoire avec incrontab, mais je ne détecte pas le moveTo de SFTP.
    Je surveille pourtant avec un IN_MOVED_TO.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /repertoire_surveille IN_CLOSE_WITE,IN_MOVED_TO mon_script
    Le fichier ".toto" est déposé dans le repertoire_surveille puis il est renommé en "toto" par un move sftp en utilisant la directive moveTo la classe StandardFileSystemManager.

    L'arrivée de ".toto" est bien détecté par incrontab, mais le fichier "toto" n'est pas vu par incrontab.
    Quelqu'un peut-il me dire pourquoi ? Faut-il surveiller un autre évènement ?

    Merci

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 299
    Par défaut
    Bonjour

    • Attention: WRITE, il manque le R.
    • Le fichier n'a été ni déplacé de l'extérieur, ni sorti du dossier surveillé.
      Ne faut-il pas plutôt surveiller l'évènement IN_MODIFY ou IN_MOVE_SELF ?

  3. #3
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Bonjour,

    IN_MOVED_TO correspond à un fichier déplacé d'un répertoire X vers le répertoire surveillé.

    Dans votre cas, vous voulez déplacer le fichier une fois entièrement récupéré non ?
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  4. #4
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Citation Envoyé par Winnt Voir le message
    Bonjour,

    IN_MOVED_TO correspond à un fichier déplacé d'un répertoire X vers le répertoire surveillé.

    Dans votre cas, vous voulez déplacer le fichier une fois entièrement récupéré non ?
    Oui c'est cela ...
    J'ai fait plusieurs tests et en surveillant sur IN_CLOSE_WRITE et IN_MOVED_TO les commandes basiques shell mv et rename fonctionne.
    Incrontab détecte bien l'arrivée d'un nouveau fichier et le renommage dans le même répertoire.
    Mais dès que j'utilise l'application qui fait un moveTo de la classe StandardFileSystemManager, le move n'est pas détecté.

    Je vais tester IN_MOVE_SELF ...

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Bonjour,

    Reprenons pour bien comprendre votre problématique.

    Du PC A vers le PC B vous envoyez le fichier toto dans le répertoire truc du PC B.
    Le répertoire truc sur le PC B est surveillé avec incron pour pouvoir renommer ce fichier en tata.

    C'est bien ce que vous faîtes ?
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  6. #6
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Non pas tout à fait :

    incron surveille le répertoire X avec les events IN_CLOSE_WRITE et IN_MOVED_TO

    Un fichier est créé par sftp dans le répertoire X et se nomme ".toto"
    A la fin de la création, ce fichier ".toto" dans X est renommé en "toto" toujours dans le répertoire X

    Lorsque le fichier "toto" arrive je dois déclencher une action, mais rien tant que le fichier est ".toto"

    Mon problème est que incrontab détecte bien l'arrivée de ".toto", mais ne détecte pas le "toto".
    Le move de ".toto" en "toto" est fait par la directive moveTo de la classe StandardFileSystemManager.

    J'ai fait des tests en faisant des mv et rename shell à la place de moveTo : avec ces cmdes incrontab détecte bien l'arrivée des 2 fichiers.

    Donc les questions sont :
    - que fait la directive moveTo
    - comment la surveiller avec incrontab, ou quel event doit-on utiliser

    J'epère que c'est plus clair
    merci

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 299
    Par défaut
    Doit-on déduire de ton dernier message que IN_MOVE_SELF et IN_MODIFY n'ont rien donné ?

    Normalement, IN_MOVE_TO et IN_MOVE_FROM détecte le renommage.

    Que donne le fichier de traces (logs) de incron ?

  8. #8
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 299
    Par défaut
    Après quelques tests, le comportement est normal.
    Ce qui n'est pas normal, c'est qu'après avoir édité le fichier de incron, les events IN_MOVE_TO et IN_MOVE_FROM sont remplacés par 0 pour une raison que j'ignore.
    Mais si on entre 128 au lieu de IN_MOVE_TO, ou 64 au lieu de IN_MOVE_FROM, tout marche.

    Il faudrait savoir pourquoi ces 2 constantes texte sont malencontreusement remplacées par 0 à l'enregistrement.

  9. #9
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    les events IN_MOVE_TO et IN_MOVE_FROM sont remplacés par 0 pour une raison que j'ignore.
    en général ça signifie une erreur de syntaxe, incron est assez chatouilleux, en l'occurrence c'est IN_MOVED_TO

    note: pour debugger il suffit de mettre une incrontab avec IN_ALL_EVENTS echo "$% $#", déposer un fichier via SFTP et ensuite regarder dans syslog ce qui s'est passé

  10. #10
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Doit-on déduire de ton dernier message que IN_MOVE_SELF et IN_MODIFY n'ont rien donné ?

    Normalement, IN_MOVE_TO et IN_MOVE_FROM détecte le renommage.

    Que donne le fichier de traces (logs) de incron ?
    Je n'ai pas pu faire de tests (compliqué à mettre en oeuvre car utilisateur à distance ...)

    IN_MOVED_TO et IN_MOVED_FROM (avec le D) fonctionne avec les move shell mais encore une fois c'est avec la directive moveTo de la classe StandardFileSystemManager que cela ne fonctionne pas

    Dans le log /var/log/cron il n'y a aucun message ...

  11. #11
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    en général ça signifie une erreur de syntaxe, incron est assez chatouilleux, en l'occurrence c'est IN_MOVED_TO

    note: pour debugger il suffit de mettre une incrontab avec IN_ALL_EVENTS echo "$% $#", déposer un fichier via SFTP et ensuite regarder dans syslog ce qui s'est passé
    Merci pour l'astuce, je n'y avait pas pensé ...
    Dès que je peux je teste ...

  12. #12
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Bonjour,

    Citation Envoyé par spe31500
    Dans le log /var/log/cron il n'y a aucun message
    ce qui est normal puisque les logs de incron sont /var/log/incron.

    D'ailleurs, qu'est donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    directive moveTo de la classe StandardFileSystemManager
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  13. #13
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Citation Envoyé par Winnt Voir le message
    Bonjour,


    ce qui est normal puisque les logs de incron sont /var/log/incron.
    Désolée, mais non, chez moi les logs incrontab se trouvent bien dans /var/log/cron ...

    D'ailleurs, qu'est donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    directive moveTo de la classe StandardFileSystemManager
    En fait je n'en sais trop rien, je suppose que c'est une classe java (je ne connais pas l'appli qui pose les fichiers dans mon espace par sftp, j'ai demandé comment il renommait le fichier et c'est la réponse que j'ai eue)

  14. #14
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Bonjour,

    Donc pour résumer (sans s'encombre de jargon) :
    • Un programme X dépose un fichier .toto dans un répertoire
    • Ce fichier .toto est renommé toto (sans le point donc)
    • Une fois renommé en toto un programme Y déplace ce fichier dans un autre répertoire


    De vos précédents messages je comprends que :
    • vous ne connaissez pas le programme qui dépose le fichier .toto
    • Vous devez renommer le fichier en toto (sans point)
    • Vous ne connaissez pas le programme qui déplace le fichier renommé toto
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  15. #15
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Citation Envoyé par Winnt Voir le message
    Bonjour,

    Donc pour résumer (sans s'encombre de jargon) :
    • Un programme X dépose un fichier .toto dans un répertoire : OK
    • Ce fichier .toto est renommé toto (sans le point donc) : OK
    • Une fois renommé en toto un programme Y déplace ce fichier dans un autre répertoire : NOK
    --> il n'y a pas de programme Y, et il n'y a aucun déplacement dans un autre répertoire
    --> il y juste un incrontab qui surveille le répertoire

    De vos précédents messages je comprends que :
    • vous ne connaissez pas le programme qui dépose le fichier .toto : OK
    • Vous devez renommer le fichier en toto (sans point) : NOK
    • Vous ne connaissez pas le programme qui déplace le fichier renommé toto : OK
    --> Je dois déclencher un traitement sur l'arrivée du fichier toto (sans point)

Discussions similaires

  1. [FTP] Transférer un fichier en SFTP
    Par Thom@s dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2006, 15h33
  2. Connexion sftp
    Par 12_darte_12 dans le forum C
    Réponses: 6
    Dernier message: 12/10/2005, 21h01
  3. Connexion sftp en batch
    Par 12_darte_12 dans le forum Windows
    Réponses: 3
    Dernier message: 12/10/2005, 16h30
  4. SFTP
    Par Brunoo dans le forum Web & réseau
    Réponses: 5
    Dernier message: 03/08/2005, 14h18
  5. SFTP, SSH et indy 10
    Par jeromelef dans le forum Web & réseau
    Réponses: 1
    Dernier message: 13/07/2005, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo