Ecrire script shell (en bash)

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. Contributeur
    En effet, c'est le cas, rsync va synchroniser uniquement le nouveau fichier.
    a+
    1. 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
      1. 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
        1. 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
          1. 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.
            1. Contributeur
              Je pense qu'il te faut faire des comparaison de fichiers.
              1. 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
                1. 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
                  1. Contributeur
                    Salut,

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

                    A+