GCP SDK gsutil rsynch не возвращает прогресс - PullRequest
0 голосов
/ 07 июня 2018

Когда я запускаю gsutil rsynch из консоли GCP или из .bat-файла, полные данные о прогрессе не отображаются (раньше я был почти уверен). Я на версии 403.0.0

Вот команда:

>gsutil rsync -r -n \\xxxx\WEBSITE\xxx\pages gs://xxx/pages
 Building synchronization state...
 Starting synchronization...

>

Если я запускаю ту же команду, а затем pause в .bat-файле, pause не удаляется - пакетный файл завершается.glist (может быть, другие) выводят свои данные на консоль и переходят к балансу пакетных команд.

c:
cd "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\"
gsutil rsync -r -d \\xxx\pages gs://xxx/pages 
pause <<<<< never get here

Если я использую .Net Process, я могу захватить Standard Out, в котором содержатся данные о ходе выполнения.,Однако StdOut, похоже, хорошо закрывается после окончания работы rsynch.

Это ошибка?Или я что-то упустил?

1 Ответ

0 голосов
/ 08 июня 2018

Рекомендую обновить до последней версии gsutil .Я тестировал на своей машине, а также на Cloud Shell , оба с rsync версии 4.31, и они отображают ход выполнения команды, перечисляя копируемые файлы.

Я воспроизводил скрипт нав различных средах и заметил, что скрипт пропускает команды после завершения rsync только на компьютерах с Windows.Я тестировал на Google Cloud SDK Shell, а также на Cygwin для Windows.

Однако на машине с Linux, а также на Cloud Shell тот же сценарий работает, как и ожидалось, и выполняет последующие команды после завершения rsync.

Это поведение зависит от реализации отдельных оболочек.Вам нужно будет уловить неожиданное поведение и справиться с ситуацией желаемым образом, поскольку решение зависит от среды.

...