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
, COPYFAILED
nebo 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
, ERROR
a 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.