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
A voir également:

13 réponses

foobar47 Messages postés 13654 Statut Contributeur 533
 
Salut,

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

A+
0
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
foobar47 Messages postés 13654 Statut Contributeur 533
 
Tu as oublié les connexion aux machines.
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
foobar47 Messages postés 13654 Statut Contributeur 533
 
Je pense qu'il te faut faire des comparaison de fichiers.
0
nina_08 Messages postés 6 Statut Membre
 
cad?
J'ai pas compris, svp plus de détail
0
foobar47 Messages postés 13654 Statut Contributeur 533
 
0
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
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
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
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
foobar47 Messages postés 13654 Statut Contributeur 533
 
En effet, c'est le cas, rsync va synchroniser uniquement le nouveau fichier.
a+
0
nina08
 
Merci beaucoup pour vos réponses :)
0