Как сохранить вывод python-swiftclient в файл при загрузке каталога?

Когда я загружаю файлы из облака с помощью python-swiftclient, иногда я получаю такие ошибки:

Ошибка загрузки объекта "uploads/1/image.png": сбой при получении объекта: https://orbit.brightbox.com/v1/acc-12345/uploads/1/image.png 500 Внутренняя ошибка b "Произошла ошибка"

Для поиска всех ошибок и повторной загрузки неудачных файлов я хотел бы сохранить выходные данные swift команда в файл

Я пытался сделать следующие способы:

swift-cli -A https://orbit.brightbox.com/v1/acc-12345 \
  -U user -K secret download uploads 2>&1 | tee uploads.log

# and

swift-cli -A https://orbit.brightbox.com/v1/acc-12345 \
  -U user -K secret download uploads > uploads.log

Но это не сработало. man swift описывает опцию -o

Для загрузки одного объекта вы можете использовать опцию -o [--output], чтобы перенаправить вывод в конкретный файл, или, если "-", просто перенаправить на стандартный вывод или с параметром --no-download фактически не записывать что-либо на диск.,

но когда я пытаюсь скачать каталог с -o вариант, если не удается с

-o option only allowed for single file downloads

Как сохранить журнал в файл при загрузке каталога с помощью SWIFT CLI?

1 ответ

На самом деле перенаправление вывода в файл работает с swift-client:

swift-cli -A https://orbit.brightbox.com/v1/acc-12345 \
  -U user -K secret download uploads > uploads.log

Я был сбит с толку, потому что после того, как я запустил команду выше, в другом окне терминала я сделал

tail -f uploads.log

Но это не дало мне никакого вывода (как я видел, когда выполнял команду загрузки без перенаправления).

Выглядит так swift-client пишет в файл в пакетном режиме, и мне нужно было подождать около минуты, пока tail -f сбрасывает в консоль сотни таких строк

uploads/documents/1/image.png [auth 0.000s, headers 0.390s, total 14.361s, 0.034 MB/s]
Другие вопросы по тегам