Назад | Перейти на главную страницу

Почему rsync пропускает основной каталог?

Я пытаюсь использовать rync локально (на машине с Windows) на удаленном сервере (мой ящик osx), чтобы протестировать сценарий сборки удаленного развертывания. Раньше я отлично выполнял rsync между двумя серверами Linux, но теперь у меня проблемы. Вот результат:

$ 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

$ 

или

$ 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


$ 

удаленный каталог app1 пуст, в то время как локальный каталог экспорта имеет 4 подкаталога, а затем кучу файлов в каждом из них

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

Вы не дали ему никаких вариантов для перевода в рекурсивный режим, например -r или -a.

удаленный каталог app1 пуст, в то время как локальный каталог экспорта имеет 4 подкаталога, а затем кучу файлов в каждом из них

У вас есть варианты в обратном порядке? Команда должна быть rsync [source] [DESTINATION]. Если каталог app1 пуст, а вы пытаетесь скопировать пустой каталог, вы не собираетесь делать ничего полезного.

Возможно, вам понадобится что-то подобное?

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

Также:

  • Вы почти всегда должны включать в каталоги с rsync косую черту в конце.
  • Почти каждая версия rsync, выпущенная за последние 5-10 лет, по умолчанию использует ssh, имеет удаленный транспорт. Вероятно, вам не нужно указывать -e ssh.

Попытка включить встроенную возможность rsync выводить файл журнала, добавив в свою команду следующий параметр.

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

Вы также можете повысить уровень детализации, добавив дополнительный -v вариант, например -avvz, согласно странице руководства, «две опции -v предоставят вам информацию о том, какие файлы пропускаются, и немного больше информации в конце».

Если эта информация, которая возвращается, не помогает определить проблему, отредактируйте свой вопрос и добавьте дополнительные выходные данные.