ecrire un script shell avec bash - Shell/Batch - Programmation
Marsh Posté le 27-07-2008 à 17:56:06
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.
Marsh Posté le 27-07-2008 à 18:12:44
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
Marsh Posté le 27-07-2008 à 22:27:41
nina08 a écrit :
|
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 :
|
Quel mot de passe? Du compte, ou celui avec lequel la clé privée est cryptée (si tel est le cas)?
Marsh Posté le 28-07-2008 à 11:11:18
Gf4x3443 a écrit : |
Svp que voulez vous dire par ça j'ai pas bien compris.
Gf4x3443 a écrit : |
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 :
|
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 :
|
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.
Marsh Posté le 28-07-2008 à 13:35:50
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.
Marsh Posté le 28-07-2008 à 16:21:04
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.
Marsh Posté le 28-07-2008 à 18:42:58
bah c'est simple
rsync -a -e ssh /home/user/FichierQuiVientJusteDEtreCree.txt usr@iphome/user
de rien
Marsh Posté le 29-07-2008 à 10:17:16
Taz a écrit : bah c'est simple |
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
Marsh Posté le 29-07-2008 à 13:57:54
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.
Marsh Posté le 29-07-2008 à 18:11:58
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.
Marsh Posté le 29-07-2008 à 18:12:47
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.
Marsh Posté le 29-07-2008 à 18:14:55
nina08 a écrit : |
Marsh Posté le 30-07-2008 à 15:47:30
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.
Marsh Posté le 27-07-2008 à 12:46:27
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@iphome/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.