Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1738 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  ecrire un script shell avec bash

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ecrire un script shell avec bash

n°1765394
nina08
Posté le 27-07-2008 à 12:46:27  profilanswer
 

Bonjour tous le monde,
 
Je veux ecrire un script shell qui va regarder un répertoire précis dans la machine X. Dès
qu'il voit apparaître des fichiers txt  il devra les copier vers une machine Y dans un répertoire
précis, pour cela j'ai utilisé la commande 'rsync'.
 
J'utilise aussi la commande 'dnotify -CRM' qui a pour objectif de surveiller mon repertoire.
 
Je lance mon script shell avec la commande "dnotify -CRM /home/Stef/NePasModifier -e.monscript"
 
Mon script shell est le suivant:
 
#!/bin/bash
rsync -a -e ssh /home/user/*.txt user@ip:/home/user
 
Mais avec ça '*.txt' il me copie tous les fichiers avec l'extension .txt mais moi je veux  copier seulement le fichier qui est arrivé avec l'extension .txt et non pas tous.
 
Merci pour votre aide.

mood
Publicité
Posté le 27-07-2008 à 12:46:27  profilanswer
 

n°1765407
Taz
bisounours-codeur
Posté le 27-07-2008 à 13:44:17  profilanswer
 

et comment tu sais le trouver ce fameux fichier ?

n°1765499
nina08
Posté le 27-07-2008 à 17:36:32  profilanswer
 

Svp J'ai pas compris votre réponse.
MErci

n°1765507
masklinn
í dag viðrar vel til loftárása
Posté le 27-07-2008 à 17:56:06  profilanswer
 

le monsieur te dit que rsync c'est pas un magicien, il fait ce que tu lui demandes et si tu lui demandes de sync tous les "*.txt" ben il vas tous les syncher. Si tu veux un autre comportement, faut lui dire explicitement quels fichiers tu veux copier. Donc à toi de trouver comment déterminer quel fichier a été modifié et est à synchroniser.


Message édité par masklinn le 27-07-2008 à 17:56:30

---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1765519
nina08
Posté le 27-07-2008 à 18:12:44  profilanswer
 

Voila c'est mon problème au fait.
Puisqu'à l'arrivé d'un nouveau fichier que mon script donc rsync sera déclenchée.
Donc comment je lui dis qu'il faut copié le nouveau fichier seulement oubien le  rsync sais qu'il ne faut pas recopier les fichiers déjà copié.
 
autre chose, il me demande à chaque fois de faire entrer le mot de passe malgré que j'ai fait ces deux commandes  
 
ssh-keygen
scp  Source/.ssh/id_rsa.pub user@ip:Dest/.ssh/authorized_keys
 
Svp aidez moi.
Merci

n°1765590
Taz
bisounours-codeur
Posté le 27-07-2008 à 21:27:33  profilanswer
 

bah vérifie les droits de ~/.ssh/authorized-keys

n°1765617
Gf4x3443
Killing perfection
Posté le 27-07-2008 à 22:27:41  profilanswer
 

nina08 a écrit :


Donc comment je lui dis qu'il faut copié le nouveau fichier seulement oubien le  rsync sais qu'il ne faut pas recopier les fichiers déjà copié.

 

Si c'est une synchro "miroir", rsync le fera comme un grand avec les options qui vont bien.

 

# man rsync

 

Sinon, à toi de maintenir la liste de fichiers quelque part, et déclencher sur la différence. Facilement faisable à coups de ls, diff et xargs.

 
nina08 a écrit :


autre chose, il me demande à chaque fois de faire entrer le mot de passe malgré que j'ai fait ces deux commandes

 

Quel mot de passe? Du compte, ou celui avec lequel la clé privée est cryptée (si tel est le cas)?

Message cité 1 fois
Message édité par Gf4x3443 le 27-07-2008 à 22:28:01

---------------
Petit guide Kerberos pour l'administrateur pressé
n°1765764
nina08
Posté le 28-07-2008 à 11:11:18  profilanswer
 

Gf4x3443 a écrit :


Si c'est une synchro "miroir", rsync le fera comme un grand avec les options qui vont bien.


 
Svp que voulez vous dire par  ça j'ai pas bien compris.
 
 
 

Gf4x3443 a écrit :


 
Quel mot de passe? Du compte, ou celui avec lequel la clé privée est cryptée (si tel est le cas)?


 
Il me demande le mot ed passe du compte:
 
 j'ai suis ce lien pour établir la connexion une fois pour toute avec le serveur:
http://tuxicoman.blogspot.com/2008/0...ymtriques.html
 
Quand je fait la commande:
$ ssh-keygen -t dsa
Il me créé deux fichiers(clé): id_ds,aid_dsa.pub
 
et quand je fait la commande:ssh-copy-id -i ~/.ssh/id_dsa.pub toto@ip_du_serveur_B

Code :
  1. The authenticity of host 'ip du serveur' can't be established.
  2. RSA key fingerprint is 6d:a9:ab:74:b3:44:3e:7e:4f:41:c3:f3:21:8f:e9:0e.
  3. Are you sure you want to continue connecting (yes/no)?


 
 
Je fais yes il m'affiche:Warning: Permanently added 'ip du serveur' (RSA) to the list of known hosts.
 
et il me demande de faire entrer le mot de passe du serveur, quand je le fait il m'affiche:

Code :
  1. 3Now try logging into the machine, with "ssh toto @ip_de_la_machine_B ", and check in:
  2.   .ssh/authorized_keys
  3. to make sure we haven't added extra keys that you weren't expecting.


et si j'essaye d'établir la connexion avec le serveur avec la commade:
ssh toto @ip_de_la_machine_B
il me demande toujour le mot de passe.
 
Svp c'est quoi le problème.

n°1765827
nina08
Posté le 28-07-2008 à 13:35:50  profilanswer
 


Mon problème est: je suis exactement les étapes dans le document http://prendreuncafe.com/blog/tag/ssh
il me génère une clé privé et publique et il me demande de faire entrer un  "passphrase"
 
Mais à la fin quand moi j'essaye d'établir la connexion par: ssh titi@toto.host.org
Il me demande pas le "passphrase" mais plutot il m'affiche ssh titi@toto.host.org's passeword donc je suis obligé de faire entrer le mot de passe.
 
Svp est ce que vous avez une idée sur ça?
Merci.

n°1765936
nina08
Posté le 28-07-2008 à 16:21:04  profilanswer
 

svp je revien sur le probleme de 'rsync'  
 
J'utilise  la commande 'dnotify -CM' qui a pour objectif de surveiller mon repertoire.
 
Je lance mon script shell avec la commande "dnotify -CRM /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.
Merci pour votre aide.

mood
Publicité
Posté le 28-07-2008 à 16:21:04  profilanswer
 

n°1766062
Taz
bisounours-codeur
Posté le 28-07-2008 à 18:42:58  profilanswer
 

bah c'est simple
 
rsync -a -e ssh /home/user/FichierQuiVientJusteDEtreCree.txt usr@ip:/home/user  
 
de rien

n°1766207
nina08
Posté le 29-07-2008 à 10:17:16  profilanswer
 

Taz a écrit :

bah c'est simple
 
rsync -a -e ssh /home/user/FichierQuiVientJusteDEtreCree.txt usr@ip:/home/user  
 
de rien


 
Mais comment je peux récupérer le fichier qui vient d'être créé, puisque moi je lance mon script avec la commande:"dnotify -CM /home -e.monscript"
et dans mon script je fait la commande 'rsync'
 
Merci

n°1766303
Taz
bisounours-codeur
Posté le 29-07-2008 à 13:57:08  profilanswer
 
n°1766305
Taz
bisounours-codeur
Posté le 29-07-2008 à 13:57:54  profilanswer
 

toutes façons rsync va bien se démerder si le fichier existe déjà. Peut-être que tu ferais mieux de crontab un rsync plutot que d'avoir des tempetes de rsync a chaque changement dans ton dossier.

n°1766502
nina08
Posté le 29-07-2008 à 18:11:58  profilanswer
 

Taz a écrit :

avec un find


Merci pour la réponse.
J'ai pas compris c'est quoi les contrab de rsync.
Explique moi svp.
Merci.

n°1766505
nina08
Posté le 29-07-2008 à 18:12:47  profilanswer
 

Taz a écrit :

toutes façons rsync va bien se démerder si le fichier existe déjà. Peut-être que tu ferais mieux de crontab un rsync plutot que d'avoir des tempetes de rsync a chaque changement dans ton dossier.


Merci pour la réponse.
J'ai pas compris c'est quoi les contrab de rsync.
Explique moi svp.
Merci.

n°1766507
masklinn
í dag viðrar vel til loftárása
Posté le 29-07-2008 à 18:14:55  profilanswer
 

nina08 a écrit :


Merci pour la réponse.
J'ai pas compris c'est quoi les contrab de rsync.
Explique moi svp.
Merci.


read the fucking wiki


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1766774
nina08
Posté le 30-07-2008 à 15:47:30  profilanswer
 


Merci pour l'explication.
Mais si la commade  'dnotify' fait déja le travail, cad elle surveille l'arivé d'un nouveau fichier, je voie pas pourquoi utilisé les cron.
Merci pour votre aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  ecrire un script shell avec bash

 

Sujets relatifs
Jquery - Bug script perso- style Jcarousel (très très basique!!)Comment insérer un script et un code htlm sur un site?
Afficher le pic de charge dédiée via un script WMI ou VBS (BGInfo)Insérer une condition VB dans Microsoft Script Editor
ecrire dans un fichier sur Windows CEProbleme : lancer une appli java en commande shell
Script pr bloquer laffichage de mon site à partir d'un autre site web?Script longs sur Pages Free -> Proc stockée ou php ?
Script SFTP entre 2 serveur windows(résolu) [Shell] Afficher la commande avant exécution
Plus de sujets relatifs à : ecrire un script shell avec bash


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR