Как сохранить вывод 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]