AzCopy 是一个命令行实用工具,可用于向/从存储帐户复制 Blob 或文件。 本文介绍如何使用日志来诊断错误,然后使用计划文件恢复作业。 本文还介绍如何通过更改其详细级别以及存储文件的默认位置来配置日志和计划文件。
注释
有关帮助你开始使用 AzCopy 的内容,请参阅 AzCopy 入门。 本文适用于 AzCopy V10 ,这是当前支持的 AzCopy 版本。 如果需要使用旧版 AzCopy,请参阅 “使用旧版 AzCopy”。
日志和计划文件
AzCopy 为每个作业创建 日志 和 计划 文件。 可以使用这些日志调查并解决任何潜在问题。
日志包含失败状态(UPLOADFAILED和COPYFAILEDDOWNLOADFAILED),完整路径以及失败原因。
默认情况下,日志和计划文件位于 Windows 上的 %USERPROFILE%\.azcopy 目录中或 Mac 和 Linux 上的 $HOME$\.azcopy 目录中,但可更改此位置。
相关错误不一定是文件中显示的第一个错误。 对于网络错误、超时和服务器繁忙错误等错误,AzCopy 最多重试 20 次,通常重试过程会成功。 你看到的第一个错误可能是无害的,并且成功地进行了重试。 因此,请查找UPLOADFAILED、COPYFAILED或DOWNLOADFAILED附近的错误,而不是查看文件中的第一个错误。
重要
向 Azure 支持部门提交请求(或排查涉及任何第三方的问题)时,请共享要执行的命令的编辑版本。 此版本可确保 SAS 不会意外与任何人共享。 可以在日志文件的开头找到经修订的版本。
查看日志中的错误
以下命令从具有状态UPLOADFAILED的04dc9ca9-158f-7945-5933-564021086c79日志中获取所有错误:
Select-String 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 命令 Shell (cmd.exe) 以外的所有命令 shell 中,都请使用单引号。 如果使用 Windows 命令 Shell (cmd.exe),请用双引号 ("") 而不是单引号 ('') 括住路径参数。
恢复作业时,AzCopy 将查看作业计划文件。 计划文件列出了首次创建作业时标识用于处理的所有文件。 恢复作业时,AzCopy 会尝试传输计划文件中列出的所有尚未传输的文件。
更改计划文件的位置
使用以下命令。
export AZCOPY_JOB_PLAN_LOCATION=<value>
更改日志文件的位置
使用以下命令。
export AZCOPY_LOG_LOCATION=<value>
更改默认日志级别
默认情况下,AzCopy 将日志级别设置为 INFO。 若要减少日志详细程度并节省磁盘空间,请使用 --log-level 此选项覆盖此设置。
可用的日志级别包括:DEBUG、、INFOWARNING、ERROR和NONE。
删除计划和日志文件
若要从本地计算机中删除所有计划和日志文件并节省磁盘空间,请使用 azcopy jobs clean 此命令。
若要仅删除一个作业的计划和日志文件,请使用 azcopy jobs rm <job-id>。 请将此例子中的 <job-id> 占位符替换为作业 ID。