Чому rsync пропускає основний каталог?


47

Я намагаюся використовувати 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 підкаталогу, а потім купу файлів у кожному з них

Відповіді:


64
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.

2
Нічого .. це зовсім бентежно. Так, я переплутав джерело та призначення ...
chrisan

1
+1 для "Ви майже завжди повинні містити прорізну косу рису в каталогах з rsync."
Морж Кіт

На Mac, здається, використовується прапор -r, але в Linux я завжди використовую -R ("capital R")
Адам Ф

@Zoredache Чому це майже?
Нікхіл

3

Спроба ввімкнути rsync вбудовану здатність виводити файл журналу, додавши в команду наступний варіант.

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

Ви також можете збільшити багатослівність, додавши додатковий -vпараметр, наприклад -avvz, згідно з довідковою сторінкою, "Два варіанти -v дадуть вам інформацію про пропущені файли та трохи більше інформації в кінці".

Якщо ця інформація, яка повертається, не допомагає визначити проблему, відредагуйте своє запитання та додайте додатковий результат.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.