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 :

Déplacer des fichiers automatiquement


Sujet :

Shell et commandes GNU

  1. #1
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut Déplacer des fichiers automatiquement
    Bonjour tout le monde,

    J'ai un serveur Amazon Red HAT, et j'ai une petite question.

    En fait j'ai un dossier sur lequel une personne va envoyer des fichiers de deux types, des fichiers dont les noms commencent par XXX_ et d'autres par YYY_.
    Je voudrais que selon les noms des fichiers, chacun d'eux soit placé sur un dossier distinct (un dossier pour les XXX et un autre pour les YYY).

    Une chose encore, c'est que je voudrais que ça se fasse automatiquement, comme une sorte de "listner" sur mon dossier, et qui à chaque fois un fichier est placé sur mon dossier, le transfert vers le bon dossier se fasse automatiquement.

    Est ce que c'est possible de faire ça ?

    Merci beaucoup.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 551
    Points
    218 551
    Billets dans le blog
    118
    Par défaut
    Bonjour,

    Vous pouvez utiliser un script appelé par cron, pour vérifier régulièrement s'il y a besoin de faire quoi que ce soit, ou non.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 617
    Points
    23 617
    Par défaut
    Il existe aussi inotify sous Linux pour être prévenu quand lorsqu'il y a de l'activité sur un élément d'un système de fichiers, si la tâche cron périodique ne suffit pas.

    Cela dit, peut-on savoir pourquoi tu souhaites faire cela ? Car c'est peut-être la mauvaise solution à un problème mal posé. Si quelqu'un dépose un fichier chez toi, il risque d'être assez surpris de le voir automatiquement disparaître sans savoir où il est passé. Par ailleurs, comment tes fichiers arrivent-ils dans ton dépôt ? Si c'est par FTP, ça passe encore mais si c'est par un partage réseau SMB ou un montage NFS, alors un processus distant peut en principe ouvrir directement le fichier. Et si ce processus fait plusieurs ouvertures/écritures/refermetures sur un même fichier censé se trouver au même endroit, alors tu vas te retrouver avec une multitude de petits fichiers qui vont saturer ton disque, tu ne pourras plus les déplacer car il y aura des homonymes (chaque fois que le fichier sera réouvert, tu vas en créer un nouveau portant le même nom), et le processus distant risque de planter car il ne comprendra pas pourquoi les données qu'il vient d'inscrire dans le fichier ont subitement disparu.

    Donne-nous des détails concernant ton objectif final.

  4. #4
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Merci beaucoup pour vos réponses.

    En fait j'ai un serveur sur lequel je fias tourner des batchs quotidiennement.
    Ces batchs ont besoin de fichiers d'entrée, ces fichiers me sont envoyé par une autre personne via un outil nommée "stonebranch".

    Je ne peux pas lire les fichiers directement de là où il sont déposé, donc j'ai besoin de les bouger (ou voir de les copier) autre part, où mes batchs peuvent les lire.

    Voilà.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    la commande watch

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    Bonjour,

    Citation Envoyé par LittleWhite
    Vous pouvez utiliser un script appelé par cron, pour vérifier régulièrement s'il y a besoin de faire quoi que ce soit, ou non.
    Citation Envoyé par Obsidian
    Il existe aussi inotify sous Linux pour être prévenu quand lorsqu'il y a de l'activité sur un élément d'un système de fichiers
    => incron is an "inotify cron" system.
    deux en un !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    merci à celui qui a fait -1 sur le watch.

    le watch permet quand même de faire des opérations périodiques et d’exécuter des scripts (très similaire à un crontab)

  8. #8
    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 : 56
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Bonsoir,

    Dans ce cas précis Incron est le plus adapté. Car il permet de ne lancer le script qu'une fois le fichier entièrement copié. Ce qui en l'espèce me semble fort pertinent.

    @N_BaH : +1
    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.

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    le watch permet quand même de faire des opérations périodiques et d’exécuter des scripts (très similaire à un crontab)
    il faut quand même mobiliser un terminal


    merci à celui qui a fait -1 sur le watch.
    il vous en... prie.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    il faut quand même mobiliser un terminal
    dans le rc.local (par exemple), sûrement pas !

    Citation Envoyé par Winnt Voir le message
    Bonsoir,

    Dans ce cas précis Incron est le plus adapté. Car il permet de ne lancer le script qu'une fois le fichier entièrement copié.
    On est d'accord. Cette conclusion s"applique donc aussi au cron proposé précédemment dans la discussion.

  11. #11
    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 : 56
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Bonsoir,

    Citation Envoyé par plawyx Voir le message
    On est d'accord. Cette conclusion s"applique donc aussi au cron proposé précédemment dans la discussion.
    Effectivement, je n'ai pas dis le contraire.
    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.

  12. #12
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    dans le rc.local (par exemple), sûrement pas !
    Citation Envoyé par man watch
    watch - Exécuter un programme périodiquement en affichant le résultat à l'écran
    c'est là tout son intérêt.

    autant utiliser cron !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  13. #13
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 273
    Points : 12 708
    Points
    12 708
    Par défaut
    Bonjour,

    Citation Envoyé par Winnt Voir le message
    Bonsoir,

    Dans ce cas précis Incron est le plus adapté. Car il permet de ne lancer le script qu'une fois le fichier entièrement copié. Ce qui en l'espèce me semble fort pertinent.
    Intéressant, saurais-tu comment il fait pour savoir que la copie est terminée ?
    Cordialement.

  14. #14
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 617
    Points
    23 617
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Intéressant, saurais-tu comment il fait pour savoir que la copie est terminée ?
    « Incron » est un outil qui utilise, entre autres, inotify, qui est une spécificité du noyau Linux (même si les autres systèmes d'exploitation proposent chacun une solution similaire propre). Il s'agit d'un système d'événements envoyés à travers une connexion de type socket dès lors qu'il se passe quelque chose sur la partie d'un système de fichier que l'on a décidé de surveiller. La fermeture d'un fichier fait partie des événements pris en charge par inotify et qui peut être signalée au processus suiveur.

    On détecte tout d'abord l'ouverture d'un nouveau fichier puis sa fermeture. Évidemment, ça implique de supposer que la copie est effectuée en une seule fois mais ça, c'est vrai pour tous les systèmes. Si la copie peut se faire en plusieurs morceaux, il faudra un signal explicite et défini par les concepteurs du programme concerné dans ce fil pour prendre la décision de faire le transfert.

  15. #15
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 273
    Points : 12 708
    Points
    12 708
    Par défaut
    Merci pour l'information, en fait, je n'avais pas compris que inotify était une spécifité noyau et non pas une commande "miracle", d'où mon interrogation.
    Cela doit bien faire un dizaine d'années que je n'ai pas remis les mains dans le moteur et ça commence à se sentir...
    Cordialement.

  16. #16
    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 : 56
    Localisation : France

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

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

    Voici les événements suivi par incron (obtenu par la commande incrond -t)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IN_ACCESS, IN_MODIFY, IN_ATTRIB, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, IN_OPEN, IN_MOVED_FROM, IN_MOVED_TO, IN_CREATE, IN_DELETE, IN_DELETE_SELF, IN_CLOSE, IN_MOVE, IN_ONESHOT, IN_ALL_EVENTS, IN_DONT_FOLLOW, IN_ONLYDIR, IN_MOVE_SELF
    Ils sont pour la majorité assez explicite je pense
    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.

  17. #17
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Merci beaucoup pour toutes ces informations.
    J'ai de quoi travailler maintenant.

    Affaire classée.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBS] déplacer des fichiers
    Par Corben dans le forum VBScript
    Réponses: 4
    Dernier message: 20/04/2009, 14h25
  2. Déplacer des fichiers
    Par nicofromChina dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 17/10/2006, 06h31
  3. Déplacer des fichiers
    Par ptitanic07 dans le forum MFC
    Réponses: 5
    Dernier message: 06/09/2006, 16h45
  4. Réponses: 3
    Dernier message: 12/04/2006, 20h44
  5. Comment déplacer des fichiers sous perl ?
    Par Ickou dans le forum Langage
    Réponses: 6
    Dernier message: 10/11/2005, 12h17

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