Arquivos de log
Você pode usar os logs da USMT (Ferramenta de Migração de Estado do Usuário) 5.0 para monitorar a migração e solucionar erros e falhas. Este tópico descreve as opções de linha de comando disponíveis para habilitar os logs da USMT. Além disso, aborda novos elementos XML que configuram quais tipos de erros são fatais e interrompem a migração, e quais tipos não são fatais e devem ser ignorados para que a migração continue.
Opções de linha de comando dos logs
Logs de ScanState e LoadState
Log de progresso
Log de lista de arquivos
Log de diagnóstico
Opções de linha de comando dos logs
A tabela a seguir descreve cada opção de linha de comando relacionada aos logs. Ela inclui o nome do log e uma descrição do tipo de informação que ele contém.
Opção da linha de comando | Nome do arquivo | Descrição |
---|---|---|
/l: [Caminho\]NomeDoArquivo |
Scanstate.log ou LoadState.log |
Especifica o caminho e o nome de arquivo do log ScanState.log ou LoadState.log. |
/progress: [Caminho\]NomeDoArquivo |
Especifica o caminho e o nome de arquivo do log de progresso. |
Fornece informações sobre o status da migração, mostrando a porcentagem concluída. |
/v: [NívelDeDetalhamento] |
Não aplicável |
Veja a seção "Opções de monitoramento" em Sintaxe de ScanState. |
/listfiles [Caminho\]NomeDoArquivo |
Especifica o caminho e o nome de arquivo do log de lista de arquivos. |
Fornece uma lista dos arquivos que foram migrados. |
Defina a variável de ambiente MIG_ENABLE_DIAG para um caminho em um arquivo XML. |
USMTDiag.xml |
O log de diagnóstico contém informações detalhadas sobre o ambiente do sistema, o ambiente do usuário, as unidades de migração (migunits) que estão sendo reunidas e o respectivo conteúdo. |
Dica
Não armazene nenhum dos arquivos de log no CaminhoDoRepositório. Caso contrário, o log será substituído quando a USMT for executada.
Logs de ScanState e LoadState
Os logs de ScanState e LoadState são arquivos de texto criados quando você executa as ferramentas ScanState e LoadState. Eles podem ser usados para monitorar a migração. O conteúdo do log depende das opções de linha de comando utilizadas e do nível de detalhamento especificado. Para saber mais sobre os níveis de detalhamento, veja "Opções de monitoramento" em Sintaxe de ScanState.
Log de progresso
Você pode criar um log de progresso usando a opção /progress. Ferramentas externas, como o Microsoft System Center Operations Manager 2007, podem analisar o log de progresso para atualizar os sistemas de monitoramento. Os três primeiros campos de cada linha são fixos:
Data: data, no formato diaNomeAbreviadoDoMêsano. Por exemplo: 08 Jun 2006.
Hora local: hora, no formato horas:minutos:segundos (usando um relógio de 24 horas). Por exemplo: 13:49:13.
Tempo de migração: duração da execução da USMT, no formato horas:minutos:segundos. Por exemplo: 00:00:10.
Os demais campos são pares de chave/valor, conforme indicado na tabela abaixo.
Chave | Valor | |
---|---|---|
program |
ScanState.exe ou LoadState.exe. |
|
productVersion |
O número da versão completa do produto da USMT. |
|
computerName |
O nome do computador de origem ou de destino em que a USMT foi executada. |
|
commandLine |
O comando completo usado para executar a USMT. |
|
PHASE |
Comunica que uma nova fase da migração está começando. Pode ser uma das seguintes opções:
|
|
detectedUser |
|
|
includedInMigration |
Define se o perfil/componente do usuário está incluído para migração. Os valores válidos são Sim ou Não. |
|
forUser |
Especifica uma das seguintes opções:
|
|
detectedComponent |
Especifica um componente detectado pela USMT.
|
|
totalSizeInMBToTransfer |
Tamanho total dos arquivos e das configurações a serem migrados, em megabytes (MB). |
|
totalPercentageCompleted |
Porcentagem total da migração que foi concluída pelo ScanState ou pelo LoadState. |
|
collectingUser |
Especifica de qual usuário o ScanState está coletando arquivos e configurações. |
|
totalMinutesRemaining |
Tempo estimado, em minutos, para a migração ser concluída. |
|
error |
Tipo de erro não fatal que ocorreu. Pode ser uma das seguintes opções:
|
|
objectName |
O nome do arquivo ou da configuração que causou o erro não fatal. |
|
action |
A ação executada pela USMT com relação ao erro não fatal. Os valores são:
|
|
errorCode |
O código de erro ou valor retornado. |
|
numberOfIgnoredErrors |
O número total de erros não fatais ignorados pela USMT. |
|
message |
A mensagem correspondente ao errorCode. |
Log de lista de arquivos
O log de lista de arquivos (Listfiles.txt) fornece uma lista dos arquivos que foram migrados. Essa lista pode ser usada para solucionar problemas de XML ou pode ser guardada como um registro dos arquivos que foram reunidos no repositório da migração. O log de lista de arquivos só está disponível para a ferramenta ScanState.exe.
Log de diagnóstico
Você pode obter o log de diagnóstico definindo a variável de ambiente MIG_ENABLE_DIAG para um caminho em um arquivo XML.
O log de diagnóstico contém:
Informações detalhadas do ambiente do sistema
Informações detalhadas do ambiente do usuário
Informações sobre as unidades de migração (migunits) que estão sendo reunidas e o respectivo conteúdo
Usando o log de diagnóstico
O log de diagnóstico é, essencialmente, um relatório de todas as unidades de migração (migunits) incluídas na migração. Uma migunit é uma coleção de dados identificados pelo componente ao qual estão associados nos arquivos XML. O repositório da migração é composto de todas as migunits da migração. O log de diagnóstico pode ser usado para verificar quais migunits foram incluídas na migração, bem como para solucionar problemas durante a criação de arquivos XML de migração.
Os exemplos a seguir descrevem cenários comuns de uso do log de diagnóstico.
Por que este arquivo não está migrando se eu criei uma regra "include" para ele?
Vamos imaginar que temos a estrutura de diretórios a seguir e que queremos que o diretório “data” seja incluído na migração, juntamente com o arquivo “New Text Document.txt”, na pasta “New Folder”. O diretório C:\data contém:
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM <DIR> New Folder
01/21/2009 09:19 PM 13 test (1).txt
01/21/2009 09:19 PM 13 test.txt
2 File(s) 26 bytes
O diretório C:\data\New Folder contém:
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM 0 New Text Document.txt
1 File(s) 0 bytes
Para migrar esses arquivos, você escreve o seguinte XML de migração:
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">
<component context="System" type="Application">
<displayName>DATA1</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">c:\data\ [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
</migration>
Porém, ao testar a migração, você nota que o arquivo “New Text Document.txt” não foi incluído. Para solucionar esse problema, a migração pode ser repetida com a variável de ambiente MIG_ENABLE_DIAG definida de tal modo que o log de diagnóstico seja gerado. Procurando pelo componente “DATA1” no log de diagnóstico, você descobre a seguinte seção do XML:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data [*]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
A análise dessa seção do XML revela a migunit que foi criada quando a regra de migração foi processada. A seção <Perform> mostra em detalhes os arquivos que estavam programados para ser reunidos e o resultado dessa operação. O arquivo “New Text Document.txt” não aparece nessa seção, o que confirma que a regra de migração não foi redigida corretamente.
Uma análise do tópico de referência dos elementos XML revela que a marca <pattern> precisa ser modificada, da seguinte forma:
<pattern type="File">c:\data\* [*]</pattern>
Quando a migração é executada novamente com a marca modificada, o log de diagnóstico revela o seguinte:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
Esse log de diagnóstico confirma que o valor modificado de <pattern> possibilita a migração do arquivo.
Por que este arquivo está migrando se eu criei uma regra "exclude" para excluí-lo?
Neste cenário, você tem a estrutura de diretórios a seguir e quer migrar todos os arquivos do diretório “data”, exceto os arquivos de texto. A pasta C:\Data contém:
Directory of C:\Data
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM <DIR> New Folder
01/21/2009 09:19 PM 13 test (1).txt
01/21/2009 09:19 PM 13 test.txt
2 File(s) 26 bytes
A pasta C:\Data\New Folder contém:
01/21/2009 10:08 PM <DIR> .
01/21/2009 10:08 PM <DIR> ..
01/21/2009 10:08 PM 0 New Text Document.txt
1 File(s) 0 bytes
Você escreve o seguinte XML de migração:
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">
<component context="System" type="Application">
<displayName>DATA1</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">c:\data\* [*]</pattern>
</objectSet>
</include>
</rules>
<rules>
<exclude>
<objectSet>
<pattern type="File">c:\* [*.txt]</pattern>
</objectSet>
</exclude>
</rules>
</role>
</component>
Porém, ao testar a migração, você nota que todos os arquivos de texto ainda estão incluídos. Para solucionar esse problema, a migração pode ser executada com a variável de ambiente MIG_ENABLE_DIAG definida de tal modo que o log de diagnóstico seja gerado. Procurando pelo componente “DATA1” no log de diagnóstico, você descobre a seguinte seção do XML:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
<Patterns Type="Exclude">
<Pattern Type="File" Path="C:\* [*.txt]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
Examinando o log de diagnóstico, você confirma que os arquivos ainda estão migrando e que o problema está na forma como a regra do XML foi redigida. Você então faz a seguinte atualização no script do XML de migração:
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">
<component context="System" type="Application">
<displayName>DATA1</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">c:\data\* [*]</pattern>
</objectSet>
</include>
</rules>
<rules>
<exclude>
<objectSet>
<pattern type="File">c:\data\* [*.txt]</pattern>
</objectSet>
</exclude>
</rules>
</role>
</component>
</migration>
O script revisado exclui os arquivos da migração, como é confirmado no log de diagnóstico:
<MigUnitList>
<MigUnit Name="<System>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
<Patterns Type="Exclude">
<Pattern Type="File" Path="C:\data\* [*.txt]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="<System>\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>
Consulte também
Outros Recursos
Biblioteca de elementos XML
Sintaxe de ScanState
Sintaxe de LoadState