web-dev-qa-db-fra.com

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

J'essaie d'utiliser rync localement (sur une machine Windows) vers un serveur distant (ma boîte osx) afin de tester un script de construction de déploiement à distance. J'ai déjà fait rsync très bien entre 2 serveurs linux, mais j'ai des problèmes maintenant. Voici la sortie:

$ rsync -v -e ssh [email protected]:/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 [email protected]:/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 tandis que le répertoire d'exportation local a 4 sous-répertoires, puis un tas de fichiers dans chacun de ces

52
chrisan
rsync -v -e ssh [email protected]:/Library/WebServer/sites/staging/app1/ ./export

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

le répertoire app1 distant est vide tandis que le répertoire d'exportation local a 4 sous-répertoires, puis un tas de fichiers dans chacun de ces

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

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

rsync -avz ./export/  [email protected]:/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 pour le transport à distance. Vous n'avez probablement pas besoin de spécifier le -e ssh.
70
Zoredache

Essayer d'activer la capacité intégrée de rsync pour sortir 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 option supplémentaire -v, Par exemple -avvz, Selon la page de manuel, "Deux options -v vous donneront des informations sur les fichiers qui sont ignorés et un peu plus d'informations à la fin."

Si ces informations renvoyées ne permettent pas d'identifier le problème, veuillez modifier votre question et ajouter la sortie supplémentaire.

3
Bryan