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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  problème avec les wilcard (*) et sudo+rsync

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec les wilcard (*) et sudo+rsync

n°717923
duch
Posté le 16-08-2005 à 16:17:39  profilanswer
 

salut à tous,
 
j'ai une fois de plus un problème tout con mais chiant.
J'utilise sudo+rsync pour synchroniser 2 machines (depuis apache).
 
voilà la commande que j'utilise :
 
cd /var/www/mondossier; sudo -u monuser rsync -u -e ssh * xxx.xxx.xxx.xxx:/var/www/mondossierdistant
 
 
 
Mon problème c'est que tout fonctionne bien tant que la liste des fichiers à synchroniser ne dépasse pas la longueur maxi des arguments de rsync, mais dès que c'est le cas j'ai une erreur "Argument list too long" car sudo interprete la wilcard "*" et passe le résultat à rsync, donc au lieu d'avoir une commande rsync du type :
rsync -u -e ssh * xxx.xxx.xxx.xxx:/var/www/mondossierdistant
j'ai :
rsync -u -e ssh fichier1 fichier2 fichiern xxx.xxx.xxx.xxx:/var/www/mondossierdistant
 
et ça dépasse la capacité de rsync.
 
 
Précisions :
- la commande marche sur d'autres dossiers plus petits
- la commande rsync marche sans le sudo
- je ne veux synchroniser que les fichiers et pas les sous dossiers, c'est pour cela que j'utilise "*" au lieu "./" couplé au flag -r.
 
 
Comment faire?

mood
Publicité
Posté le 16-08-2005 à 16:17:39  profilanswer
 

n°719086
duch
Posté le 19-08-2005 à 16:01:24  profilanswer
 

snif

n°719093
BiBi Max
Posté le 19-08-2005 à 16:27:14  profilanswer
 

Tu peux esayer un truc du style
 

Code :
  1. for i in *; do
  2. if [ ! -d $i ]; then
  3.   rsync -u -e ssh $i xxx.xxx.xxx.xxx:/var/www/mondossierdistant
  4. fi
  5. done


 
Edit : j'ai peut etre pas compris ton probleme


Message édité par BiBi Max le 19-08-2005 à 16:27:39

---------------
BiBi Max
n°719095
duch
Posté le 19-08-2005 à 16:29:32  profilanswer
 

ouaip, mais là ça me fait appeller rsync et ouvrir une session ssh pour chaque fichier, pas classe...

n°719098
BiBi Max
Posté le 19-08-2005 à 16:37:56  profilanswer
 

c'est pas faux...
tu as combien de fichiers dans ton rep ?


---------------
BiBi Max
n°719099
duch
Posté le 19-08-2005 à 16:39:30  profilanswer
 

quelques centaines.
 
Je ne pense pas que tu ai compris le blème, malheureusement je ne sais pas comment l'expliquer mieux

n°719101
BiBi Max
Posté le 19-08-2005 à 16:41:30  profilanswer
 

On va essaye de faire mieux  :)  

Code :
  1. find . -type f -name '*' -exec  rsync -u -e ssh {} xxx.xxx.xxx.xxx:/var/www/mondossierdistant \;


Message édité par BiBi Max le 19-08-2005 à 16:41:55

---------------
BiBi Max
n°719102
BiBi Max
Posté le 19-08-2005 à 16:43:35  profilanswer
 

duch a écrit :

quelques centaines.
 
Je ne pense pas que tu ai compris le blème, malheureusement je ne sais pas comment l'expliquer mieux


J'ai compris que tu as tellement de fichiers que le shell "expand" tous ces fichiers en arguments et au final, ta commande a trop d'arguments.


---------------
BiBi Max
n°719103
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 19-08-2005 à 16:46:01  profilanswer
 

alors au choix :
 
tu casses en quelques morceaux :

rsync -u -e ssh [a-l]* xxx.xxx.xxx.xxx:/var/www/mondossierdistant
rsync -u -e ssh [m-z]* xxx.xxx.xxx.xxx:/var/www/mondossierdistant


PB : totalement bricolage
 
 
 
 
tu bricoles avec find :

find $directory -type f -name '*' -exec blabla {} \;


PB : c'est long
 
 
 
 
 
tu te fais une fonction qui tue :

function kitue () {        
    while read line1; do {
        blabla
    }
    done
}
ls -1 directory/ | kitue


PB : euh chai po faut tester... a priori aussi long que find, voire plus vu que find doit être optimisé
 
 
 
 
 
tu recompiles le noyau en changeant  

#define MAX_ARG_PAGES


PB : c'est ptet un peu trop extreme l33t :D


Message édité par Xavier_OM le 19-08-2005 à 16:46:35

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°719104
BiBi Max
Posté le 19-08-2005 à 16:49:20  profilanswer
 

Bon, avec tout ca, tu vas y arriver ;-)


---------------
BiBi Max
mood
Publicité
Posté le 19-08-2005 à 16:49:20  profilanswer
 

n°719105
duch
Posté le 19-08-2005 à 16:50:17  profilanswer
 

quelle brute.
 
j'ai trouvé une méthode moins brutale, bien que moins joli.
 
je vais faire mon rsync en récursif sur le dossier et exclure explicitement les sous-dossiers par leur nom, c'estpossible car la structure des dossiers est assez figée, mais j'avais pas trop envie de faire ça car le jour où il y'aura un nouveau sous-dossier il faudra que je pense à l'exclure aussi.
 
 
merci pour vos bonnes idées qd même ;-)

n°719354
splurf
Rm -Rf / && oops :o
Posté le 20-08-2005 à 16:37:11  profilanswer
 

cd /var/www/mondossier; sudo -u monuser rsync -u -e ssh * xxx.xxx.xxx.xxx:/var/www/mondossierdistant  
 
ne serait-il pas équivalent à  
 
sudo -u $monuser rsync -u -e ssh /var/www/mondossier $IP:/var/www/mondossierdistant

n°719356
chaica
Posté le 20-08-2005 à 16:40:08  profilanswer
 

Et accessoirement tu échanges les clés entre tes deux machines pour qu'il te casse pas la tête à demander le mdp.

n°719929
duch
Posté le 22-08-2005 à 17:40:29  profilanswer
 

chaica > j'ai déjà échangé les clés pas besoin de mot passe


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  problème avec les wilcard (*) et sudo+rsync

 

Sujets relatifs
Problème mrtg snmp [ résolu ]problème de redirection d'une serie de commandes sous Linux
[FreeBSD] Probleme de partitions non demontees au reboot/shutdownRed Hat - probleme accés au reseau et au Net
Probleme de partage de connexion en wifi mode ad hoc.WHAX LIVE CD PROBLEME instal HDD mot de passe root plus valide
Installer un logiciel sous linux - probleme[FEDORA] Lineak - Problème
Problème lors de passage noyau 2.4 vers 2.6problème de dépôt
Plus de sujets relatifs à : problème avec les wilcard (*) et sudo+rsync


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