Поиск ошибок и возобновление заданий с помощью журналов и файлов планов в AzCopy
AzCopy — это служебная программа командной строки, которую можно использовать для копирования больших двоичных объектов или файлов в учетную запись хранения или из нее. Эта статья поможет вам использовать журналы для диагностики ошибок, а затем использовать файлы планов для возобновления заданий. В этой статье также показано, как настроить файлы журналов и планов, изменив их уровень детализации и расположение для хранения по умолчанию.
Примечание
Если вам требуется информация, которая поможет приступить к работе с AzCopy, см. статью Начало работы с AzCopy. В этой статье описывается AzCopy версии 10 в качестве текущей поддерживаемой версии AzCopy. Если требуется использовать предыдущую версию AzCopy, см. раздел Использование предыдущей версии AzCopy.
Файлы журналов и планов
AzCopy создает файлы журналов и планов для каждого задания. Эти журналы можно использовать для исследования и устранения возможных проблем.
Журналы будут содержать состояния сбоя (UPLOADFAILED
,COPYFAILED
и DOWNLOADFAILED
), полный путь и причину сбоя.
По умолчанию файлы журналов и планов расположены в каталоге %USERPROFILE%\.azcopy
в Windows или $HOME$\.azcopy
в Mac и Linux, но это расположение можно изменить.
Соответствующая ошибка не обязательно является первой ошибкой в файле. При возникновении ошибок, таких как сетевые ошибки, истечение времени ожидания и ошибки занятости сервера, AzCopy будет выполнять повторные попытки до 20 раз. Обычно этот процесс завершается успешно. Первая ошибка может быть неопасной, и ее можно успешно устранить при выполнении повторной попытки. Поэтому вместо просмотра первой ошибки в файле найдите ошибки, которые находятся рядом с UPLOADFAILED
, COPYFAILED
или DOWNLOADFAILED
.
Важно!
При отправке запроса в службу поддержки Майкрософт (или при устранении проблемы с помощью сторонней службы) предоставьте исправленную версию команды, которую вы хотите выполнить. Это гарантирует, что общий доступ к SAS не будет случайно предоставлен всем. Вы можете найти исправленную версию в начале файла журнала.
Проверка журналов на наличие ошибок
Следующая команда используется для возврата всех ошибок с состоянием UPLOADFAILED
из журнала 04dc9ca9-158f-7945-5933-564021086c79
:
Windows (PowerShell)
Select-String UPLOADFAILED .\04dc9ca9-158f-7945-5933-564021086c79.log
Linux
grep UPLOADFAILED .\04dc9ca9-158f-7945-5933-564021086c79.log
Просмотр и возобновление задания
В рамках каждой операции передачи будет создано задание AzCopy. Чтобы просмотреть журнал заданий, используйте следующую команду:
azcopy jobs list
Чтобы просмотреть статистику задания, используйте следующую команду:
azcopy jobs show <job-id>
Чтобы отфильтровать операции передачи по состоянию, используйте следующую команду:
azcopy jobs show <job-id> --with-status=Failed
Совет
Для значения флага --with-status
учитывается регистр.
Чтобы возобновить выполнение неудачного или отмененного задания, используйте следующую команду. Эта команда использует свой идентификатор вместе с маркером SAS, так как он не является постоянным в целях безопасности:
azcopy jobs resume <job-id> --source-sas="<sas-token>" --destination-sas="<sas-token>"
Совет
Заключите аргументы пути, такие как маркер SAS, в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных ('').
При возобновлении задания AzCopy ищет файл плана задания. В файле плана перечислены все файлы, обнаруженные для обработки при первом создании задания. При возобновлении задания AzCopy попытается перенести все еще не переданные файлы, перечисленные в файле плана.
Изменение расположения файлов плана
Используйте любую из этих команд.
Операционная система | Get-Help |
---|---|
Windows | PowerShell:$env:AZCOPY_JOB_PLAN_LOCATION="<value>" В командной строке используйте: set AZCOPY_JOB_PLAN_LOCATION=<value> |
Linux | export AZCOPY_JOB_PLAN_LOCATION=<value> |
macOS | export AZCOPY_JOB_PLAN_LOCATION=<value> |
Чтобы проверить текущее значение этой переменной, выполните команду azcopy env
. Если значение не указано, файлы планов записываются в расположение по умолчанию.
Изменение расположения файлов журнала
Используйте любую из этих команд.
Операционная система | Get-Help |
---|---|
Windows | PowerShell:$env:AZCOPY_LOG_LOCATION="<value>" В командной строке используйте: set AZCOPY_LOG_LOCATION=<value> |
Linux | export AZCOPY_LOG_LOCATION=<value> |
macOS | export AZCOPY_LOG_LOCATION=<value> |
Чтобы проверить текущее значение этой переменной, выполните команду azcopy env
. Если значение пустое, журналы записываются в расположение по умолчанию.
Изменение уровня ведения журнала по умолчанию
По умолчанию для уровня ведения журнала AzCopy присваивается значение INFO
. Чтобы уменьшить уровень детализации журнала для экономии места на диске, перезапишите настройку, используя параметр --log-level
.
Доступные уровни ведения журнала: DEBUG
, INFO
, WARNING
, ERROR
и NONE
.
Удаление файлов плана и журнала
Если вы хотите удалить все файлы планов и журналов с локального компьютера, чтобы сэкономить место на диске, используйте команду azcopy jobs clean
.
Чтобы удалить файлы плана и журнала, связанные только с одним заданием, используйте azcopy jobs rm <job-id>
. Замените заполнитель <job-id>
в этом примере идентификатором задания.