Vyhledání chyb a obnovení úloh pomocí souborů protokolů a plánů v AzCopy

AzCopy je nástroj příkazového řádku, pomocí kterého můžete kopírovat objekty blob nebo soubory do nebo z účtu úložiště. Tento článek vám pomůže s využitím protokolů k diagnostice chyb a následnému obnovení úloh pomocí souborů plánu. Tento článek také ukazuje, jak nakonfigurovat soubory protokolů a plánů změnou jejich úrovně podrobností a výchozího umístění, ve kterém jsou uložené.

Poznámka

Pokud hledáte obsah, který vám pomůže začít s Nástrojem AzCopy, přečtěte si téma Začínáme s Nástrojem AzCopy. Tento článek se týká AzCopy V10 , protože se jedná o aktuálně podporovanou verzi Nástroje AzCopy. Pokud potřebujete použít předchozí verzi Nástroje AzCopy, přečtěte si téma Použití předchozí verze Nástroje AzCopy.

Soubory protokolů a plánů

AzCopy vytvoří soubory protokolů a plánů pro každou úlohu. Tyto protokoly můžete použít ke zkoumání případných problémů a jejich odstraňování.

Protokoly budou obsahovat stav selhání (UPLOADFAILED, COPYFAILED nebo DOWNLOADFAILED), úplnou cestu a důvod selhání.

Ve výchozím nastavení se soubory protokolů a plánů nacházejí v adresáři %USERPROFILE%\.azcopy ve Windows nebo v adresáři $HOME$\.azcopy v systému Mac a Linux, ale toto umístění můžete změnit.

Příslušná chyba nemusí být nutně první chybou, která se v souboru zobrazí. V případě chyb, jako jsou chyby sítě, chyby způsobené vypršením časového limitu nebo chyby kvůli zaneprázdněnosti serveru, bude AzCopy pokus až 20krát opakovat a proces opakování obvykle proběhne úspěšně. První chyba, která se zobrazí, může být něco neškodného, co bylo úspěšně zopakováno. Takže místo toho, abyste se podívali na první chybu v souboru, hledejte chyby, které jsou blízko UPLOADFAILED, COPYFAILEDnebo DOWNLOADFAILED.

Důležité

Při odesílání žádosti do podpora Microsoftu (nebo při řešení potíží s problémem, který se týká jakékoli třetí strany), sdílejte redigovanou verzi příkazu, který chcete spustit. Tím se zajistí, že se SAS nebude omylem s nikým sdílet. Upravenou verzi najdete na začátku souboru protokolu.

Kontrola případných chyb v protokolech

Následující příkaz získá všechny chyby se stavem UPLOADFAILED z protokolu 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

Zobrazení a obnovení úloh

Každá operace přenosu vytvoří úlohu AzCopy. Pokud chcete zobrazit historii úloh, použijte následující příkaz:

azcopy jobs list

Pokud chcete zobrazit statistiku úlohy, použijte následující příkaz:

azcopy jobs show <job-id>

Pokud chcete filtrovat přenosy podle stavu, použijte následující příkaz:

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

Tip

Hodnota příznaku --with-status rozlišuje velká a malá písmena.

Pokud chcete obnovit neúspěšnou nebo zrušenou úlohu, použijte následující příkaz. Tento příkaz společně s tokenem SAS používá identifikátor úlohy, protože token SAS z bezpečnostních důvodů není trvalý:

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

Tip

Uzavřete argumenty cesty, jako je token SAS, do jednoduchých uvozovek (''). Ve všech příkazových prostředích s výjimkou příkazového prostředí Windows (cmd.exe) používejte jednoduché uvozovky. Pokud používáte příkazové prostředí Windows (cmd.exe), uzavřete argumenty cesty dvojitými uvozovkami ("") namísto jednoduchých uvozovek ('').

Když obnovíte úlohu, AzCopy se podívá na soubor plánu úlohy. V souboru plánu jsou uvedeny všechny soubory, které byly identifikovány ke zpracování při prvním vytvoření úlohy. Když obnovíte úlohu, AzCopy se pokusí přenést všechny soubory uvedené v souboru plánu, které ještě nebyly přeneseny.

Změna umístění souborů plánu

Použijte kterýkoli z těchto příkazů.

Operační systém Příkaz
Windows Powershell:$env:AZCOPY_JOB_PLAN_LOCATION="<value>"
V příkazovém řádku použijte:: set AZCOPY_JOB_PLAN_LOCATION=<value>
Linux export AZCOPY_JOB_PLAN_LOCATION=<value>
macOS export AZCOPY_JOB_PLAN_LOCATION=<value>

Pomocí příkazu azcopy env zkontrolujte aktuální hodnotu této proměnné. Pokud je hodnota prázdná, zapisují se soubory plánu do výchozího umístění.

Změna umístění souborů protokolů

Použijte kterýkoli z těchto příkazů.

Operační systém Příkaz
Windows Powershell:$env:AZCOPY_LOG_LOCATION="<value>"
V příkazovém řádku použijte:: set AZCOPY_LOG_LOCATION=<value>
Linux export AZCOPY_LOG_LOCATION=<value>
macOS export AZCOPY_LOG_LOCATION=<value>

Pomocí příkazu azcopy env zkontrolujte aktuální hodnotu této proměnné. Pokud je hodnota prázdná, protokoly se zapíšou do výchozího umístění.

Změna výchozí úrovně protokolu

Ve výchozím nastavení je úroveň protokolu AzCopy nastavená na INFO. Pokud chcete snížit úroveň podrobností protokolu, abyste ušetřili místo na disku, přepište toto nastavení pomocí možnosti --log-level .

Dostupné úrovně protokolů jsou: DEBUG, INFO, WARNING, ERRORa NONE.

Odebrání souborů plánů a protokolů

Pokud chcete z místního počítače odebrat všechny soubory plánů a protokolů, abyste ušetřili místo na disku, použijte příkaz azcopy jobs clean.

Pokud chcete odebrat soubory plánů a protokolů přidružené pouze k jedné úloze, použijte příkaz azcopy jobs rm <job-id>. Zástupný text <job-id> v tomto příkladu nahraďte identifikátorem dané úlohy.

Viz také