Pourquoi rsync ignore-t-il le répertoire principal?


47

J'essaie d'utiliser rync localement (sur une machine Windows) sur un serveur distant (ma boîte osx) afin de tester un script de génération de déploiement à distance. J'ai déjà utilisé rsync entre deux serveurs Linux, mais j'ai des problèmes maintenant. Voici la sortie:

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

ou

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

Le répertoire app1 distant est vide alors que le répertoire d’exportation local comporte 4 sous-répertoires, puis un groupe de fichiers dans chacun de ces répertoires.

Réponses:


64
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

Vous ne lui avez donné aucune option pour le mettre en mode récursif comme -rou -a.

Le répertoire app1 distant est vide alors que le répertoire d’exportation local comporte 4 sous-répertoires, puis un groupe de fichiers dans chacun de ces répertoires.

Avez-vous les options à l'envers ici? La commande devrait être rsync [source] [DESTINATION]. Si le répertoire app1 est vide et que vous essayez de copier un répertoire vide, vous ne ferez rien d'utile.

Peut-être avez-vous besoin de quelque chose comme ça à la place?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

Aussi:

  • Vous devriez presque toujours inclure une barre oblique de fin sur les répertoires avec rsync.
  • Presque toutes les versions de rsync publiées au cours des 5 à 10 dernières années utilisent par défaut ssh avec le transport à distance. Vous n'avez probablement pas à spécifier le -e ssh.

2
Wow .. c'est assez embarrassant. Oui, j'ai mélangé les sources et les dest ...
chrisan

1
+1 pour "Vous devriez presque toujours inclure une barre oblique de fin sur les répertoires avec rsync."
Walrus le chat

Sur Mac, il semble utiliser le drapeau -r, mais sur Linux, j'utilise toujours -R ("capital R")
Adam F

@Zoredache Pourquoi est-ce presque?
Nikhil

3

Essayez d'activer la capacité intégrée de rsync à générer un fichier journal en ajoutant l'option suivante à votre commande.

--log-file=/path/to/log.file

Vous pouvez également augmenter la verbosité en ajoutant une -voption supplémentaire , par exemple -avvz, en fonction de la page de manuel: "Deux options -v vous donneront des informations sur les fichiers ignorés et légèrement plus à la fin."

Si les informations renvoyées ne permettent pas d'identifier le problème, modifiez votre question et ajoutez le résultat supplémentaire.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.