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

Иногда я получаю ошибки при загрузке файлов из облака с python-swiftclient , например:

Ошибка загрузки объекта 'uploads / 1 / image.png': Сбой объекта GET: 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 Ответ

0 голосов
/ 07 февраля 2019

На самом деле перенаправление вывода в файл работает с 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]
...