Ermitteln von Fehlern und Fortsetzen von Aufträgen mithilfe von Protokoll- und Plandateien in AzCopy

AzCopy ist ein Befehlszeilenhilfsprogramm, das Sie verwenden können, um Blobs oder Dateien in oder aus einem Speicherkonto zu kopieren. In diesem Artikel erfahren Sie, wie Sie mithilfe von Protokollen Fehler diagnostizieren und dann Plandateien verwenden, um Aufträge fortzusetzen. Zudem wird in diesem Artikel gezeigt, wie Sie Protokoll- und Plandateien konfigurieren, indem Sie deren Ausführlichkeitsgrad und Standardspeicherort ändern.

Hinweis

Inhalte, die Sie beim Einstieg in AzCopy unterstützen, finden Sie unter Erste Schritte mit AzCopy. Dieser Artikel gilt für AzCopy V10, da diese Version von AzCopy derzeit unterstützt wird. Wenn Sie eine vorherige Version von AzCopy verwenden müssen, finden Sie Informationen hierzu unter Verwenden der vorherige Version von AzCopy.

Protokoll- und Plandateien

AzCopy erstellt für jeden Auftrag Protokoll- und Plandateien. Sie können diese Protokolle verwenden, um potenzielle Probleme zu untersuchen und zu behandeln.

Die Protokolle enthalten den Status des Fehlers (UPLOADFAILED, COPYFAILED und DOWNLOADFAILED), den vollständigen Pfad und die Ursache des Fehlers.

Standardmäßig befinden sich die Protokoll- und Plandateien im Verzeichnis %USERPROFILE%\.azcopy (Windows) oder $HOME$\.azcopy (Mac und Linux). Dieser Speicherort kann allerdings geändert werden.

Der relevante Fehler ist nicht zwingend der erste Fehler in der Datei. Bei Netzwerkfehlern, Timeouts, Serverauslastungsfehlern und Ähnlichem wird der Vorgang von AzCopy bis zu 20-mal wiederholt, was in der Regel zum Erfolg führt. Der erste angezeigte Fehler ist unter Umständen ein harmloser Vorgang, der erfolgreich wiederholt wurde. Sehen Sie sich daher nicht den ersten Fehler in der Datei an, sondern die Fehler in der Nähe von UPLOADFAILED, COPYFAILED oder DOWNLOADFAILED.

Wichtig

Geben Sie beim Senden einer Anforderung an den Microsoft-Support (oder bei der Problembehandlung unter Einbeziehung eines Drittanbieters) die bearbeitete Version des Befehls an, den Sie ausführen möchten. So wird sichergestellt, dass die SAS nicht versehentlich offengelegt wird. Die editierte Version steht am Anfang der Protokolldatei.

Überprüfen der Protokolle auf Fehler

Der folgende Befehl ruft alle Fehler mit dem Status UPLOADFAILED aus dem Protokoll 04dc9ca9-158f-7945-5933-564021086c79 ab:

Windows (PowerShell)

Select-String UPLOADFAILED .\04dc9ca9-158f-7945-5933-564021086c79.log

Linux

grep UPLOADFAILED .\04dc9ca9-158f-7945-5933-564021086c79.log

Anzeigen und Fortsetzen von Aufträgen

Jeder Übertragungsvorgang erstellt einen AzCopy-Auftrag. Verwenden Sie den folgenden Befehl, um den Verlauf von Aufträgen anzuzeigen:

azcopy jobs list

Verwenden Sie den folgenden Befehl, um die Auftragsstatistiken anzuzeigen:

azcopy jobs show <job-id>

Um die Übertragungen nach ihrem Status zu filtern, verwenden Sie den folgenden Befehl:

azcopy jobs show <job-id> --with-status=Failed

Tipp

Für den Wert des Flags --with-status wird zwischen Groß-/Kleinschreibung unterschieden.

Verwenden Sie den folgenden Befehl, um einen fehlgeschlagenen bzw. abgebrochenen Auftrag fortzusetzen. Dieser Befehl verwendet seinen Bezeichner zusammen mit dem SAS-Token, da er aus Sicherheitsgründen nicht persistent ist:

azcopy jobs resume <job-id> --source-sas="<sas-token>" --destination-sas="<sas-token>"

Tipp

Schließen Sie Pfadargumente wie das SAS-Token in einfache Anführungszeichen ('') ein. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.

Wenn Sie einen Auftrag fortsetzen, überprüft AzCopy die Plandatei. In der Plandatei werden alle Dateien aufgelistet, die zur Verarbeitung identifiziert wurden, als der Auftrag erstmalig erstellt wurde. Wenn Sie einen Auftrag fortsetzen, versucht AzCopy, alle Dateien zu übertragen, die in der Plandatei aufgeführt sind, die nicht bereits übertragen wurden.

Ändern des Speicherorts der Plandateien

Verwenden Sie einen der folgende Befehle.

Betriebssystem Get-Help
Windows PowerShell:$env:AZCOPY_JOB_PLAN_LOCATION="<value>"
Verwenden Sie an einer Eingabeaufforderung: set AZCOPY_JOB_PLAN_LOCATION=<value>
Linux export AZCOPY_JOB_PLAN_LOCATION=<value>
macOS export AZCOPY_JOB_PLAN_LOCATION=<value>

Verwenden Sie azcopy env, um den aktuellen Wert dieser Variablen zu überprüfen. Wenn der Wert leer ist, werden Plandateien an den Standardspeicherort geschrieben.

Ändern des Speicherorts der Protokolldateien

Verwenden Sie einen der folgende Befehle.

Betriebssystem Get-Help
Windows PowerShell:$env:AZCOPY_LOG_LOCATION="<value>"
Verwenden Sie an einer Eingabeaufforderung: set AZCOPY_LOG_LOCATION=<value>
Linux export AZCOPY_LOG_LOCATION=<value>
macOS export AZCOPY_LOG_LOCATION=<value>

Verwenden Sie azcopy env, um den aktuellen Wert dieser Variablen zu überprüfen. Wenn der Wert leer ist, werden Protokolle an den Standardspeicherort geschrieben.

Ändern der Standardprotokollebene

Standardmäßig ist die AzCopy-Protokollebene auf INFO festgelegt. Wenn Sie die Ausführlichkeit des Protokolls verringern möchten, um Speicherplatz auf dem Datenträger zu sparen, überschreiben Sie die Einstellung mithilfe der Option --log-level.

Verfügbare Protokolliergrade sind DEBUG, INFO, WARNING, ERROR und NONE.

Entfernen von Plan- und Protokolldateien

Wenn Sie alle Plan- und Protokolldateien von Ihrem lokalen Computer entfernen möchten, um Speicherplatz zu sparen, verwenden Sie den Befehl azcopy jobs clean.

Verwenden Sie azcopy jobs rm <job-id>, um die Plan- und Protokolldateien zu entfernen, die nur einem Auftrag zugeordnet sind. Ersetzen Sie den Platzhalter <job-id> in diesem Beispiel durch die Auftrags-ID des Auftrags.

Weitere Informationen