Ecrire script shell (en bash)

nina_08 Messages postés 6 Statut Membre -  
 nina08 -
Bonjour,

Je dois ecrire script shell (en bash) qui utilise la commande "rsync".

Le script va regarder un répertoire précis dans la machine X. Dès
qu'il voit apparaître des fichiers avec une extension précise, il devra le copier vers un machine Y dans un répertoire précis.
Je dois donné X et Y et leur répertoires respectifs en paramètre à ce script shell.

Vous pouvez m'aidez svp
Merci
Configuration: Linux
Firefox 2.0.0.13

13 réponses

  1. foobar47 Messages postés 13654 Statut Contributeur 534
     
    Salut,

    Commence déjà par écrire l'algorithme de ton script et ensuite je t'aiderais.

    A+
    0
  2. nina_08 Messages postés 6 Statut Membre
     
    Merci pour la réponse.

    J'ai fais cet algorithme:

    boucler

    lister les fichiers du répertoire
    pour chaque fichier

    si extension = ".doc" alors

    synchroniser

    fin si

    fin pour

    fin boucle
    0
  3. foobar47 Messages postés 13654 Statut Contributeur 534
     
    Tu as oublié les connexion aux machines.
    0
  4. nina_08 Messages postés 6 Statut Membre
     
    J'aui fais ça et ça marche bien:

    rsync -a source user@ip:Dest

    Mon problème est comment la lancer automatiquement cad à l'arivé du fichier.

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. foobar47 Messages postés 13654 Statut Contributeur 534
     
    Je pense qu'il te faut faire des comparaison de fichiers.
    0
  7. nina_08 Messages postés 6 Statut Membre
     
    cad?
    J'ai pas compris, svp plus de détail
    0
  8. nina_08 Messages postés 6 Statut Membre
     
    Pour commencer j'ai créé un fichier dans /home/user/essai/ avec l'extension .txt.
    Je veux le copier vers la destination. j'ai fais ce code:

    Code :

    txt= find *.txt
    rsync -a -e ssh /home/user/essai/$txt user@ip:Dest

    Mais l me copie tous le fichier essai.
    0
  9. nina_08 Messages postés 6 Statut Membre
     
    Merci pour votre aide

    Svp aisez moi à ecrire une boucle infinie qui teste à chaque fois l'existance d'un fichier avec l'extesion .txt par exemple
    De ce genre:

    while true
    do
    txt= find *.txt
    done

    Merci
    0
  10. nina08
     
    Bonjour,

    Svp je veux utilisé la commande: dnotify -CRM
    qui surveille des fichiers et répertoires et effectue une action en cas de changement.

    mais je veux seulement quand des fichiers avec une extension précises seront créé je lance mon script comment j'utilise la commande dnotify -CRM pour faire cela.

    Merci
    0
  11. nina08
     
    J'utilise la commande 'dnotify -CM' qui a pour objectif de surveiller mon repertoire.

    Je lance mon script shell avec la commande "dnotify -CM /home/Stef/NePasModifier -e.monscript"

    Mon script shell est le suivant:

    #!/bin/bash
    rsync -a -e ssh /home/user/*.txt usr@ ip: /home/user

    Mais moi je veux copier juste le fichier qui vien d'être créé.
    Quelqu'un m'a dis que rsync va synchroniser les répertoires. Si tous les fichiers avec l'extension txt sont déjà copiés, il ne va copier que celui qui vient d'être ajouté. Les autres ne seront pas recopiés.

    Si c'est le cas mon problème est résolu, Sinon comment je fait
    Svp aidez moi
    0
  12. foobar47 Messages postés 13654 Statut Contributeur 534
     
    En effet, c'est le cas, rsync va synchroniser uniquement le nouveau fichier.
    a+
    0