fsutil usn

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8

Gerencia o diário de alterações de USN (números de sequência de atualização). O diário de alterações de USN fornece um log persistente de todas as alterações feitas nos arquivos de um volume. À medida que arquivos, diretórios e outros objetos NTFS são adicionados, excluídos e modificados, o NTFS insere registros no diário de alterações de USN, um para cada volume no computador. Cada registro indica o tipo de alteração e o objeto alterado. Novos registros são acrescentados ao final do fluxo.

Sintaxe

fsutil usn [createjournal] m=<maxsize> a=<allocationdelta> <volumepath>
fsutil usn [deletejournal] {/d | /n} <volumepath>
fsutil usn [enablerangetracking] <volumepath> [options]
fsutil usn [enumdata] <fileref> <lowUSN> <highUSN> <volumepath>
fsutil usn [queryjournal] <volumepath>
fsutil usn [readdata] <filename>
fsutil usn [readjournal] [c= <chunk-size> s=<file-size-threshold>] <volumepath>

Parâmetros

Parâmetro Descrição
createjournal Cria um diário de alterações de USN.
m=<maxsize> Especifica o tamanho máximo, em bytes, que o NTFS aloca para o diário de alterações.
a=<allocationdelta> Especifica o tamanho, em bytes, da alocação de memória adicionada ao final e removida do início do diário de alterações.
<volumepath> Especifica a letra da unidade (seguida de dois-pontos).
deletejournal Exclui ou desabilita um diário de alterações de USN ativo.

CUIDADO: a exclusão do diário de alterações afeta o FRS (Serviço de Replicação de Arquivos) e o Serviço de Indexação, pois exige que esses serviços executem uma verificação completa (e demorada) do volume. Isso, por sua vez, afeta negativamente a replicação de FRS SYSVOL e a replicação entre alternativas de link do DFS enquanto o volume está sendo verificado novamente.

/d Desabilita um diário de alterações de USN ativo e retorna o controle de E/S (entrada/saída) enquanto o diário de alterações está sendo desabilitado.
/n Desabilita um diário de alterações de USN ativo e retorna o controle de E/S somente após a desabilitação do diário de alterações.
enablerangetracking Habilita o rastreamento de intervalo de gravação da USN para um volume.
c=<chunk-size> Especifica o tamanho da parte a ser rastreada em um volume.
s=<file-size-threshold> Especifica o limite de tamanho do arquivo para rastreamento de intervalo.
enumdata Enumera e lista as entradas do diário de alterações entre dois limites especificados.
<fileref> Especifica a posição ordinal dentro dos arquivos no volume no qual a enumeração deve começar.
<lowUSN> Especifica o limite inferior do intervalo de valores USN usados para filtrar os registros retornados. Somente os registros cujo último USN do diário de alterações que estejam entre os valores de membro lowUSN e highUSN ou que forem iguais a eles retornarão.
<highUSN> Especifica o limite superior do intervalo de valores USN usados para filtrar os arquivos retornados.
queryjournal Consulta os dados USN do volume para coletar informações sobre o diário de alterações atual, seus registros e sua capacidade.
readdata Lê os dados de USN de um arquivo.
<filename> Especifica o caminho completo para o arquivo, incluindo o nome do arquivo e a extensão, por exemplo C:\documents\filename.txt.
readjournal Lê os registros de USN no diário de USN.
minver=<number> A versão principal mínima de USN_RECORD a ser retornada. Padrão=2.
maxver=<number> A versão principal máxima de USN_RECORD a ser retornada. Padrão=4.
startusn=<USN number> USN de qual começar a ler o diário de USN. Padrão = 0.

Comentários

  • Os programas podem consultar o diário de alterações de USN para determinar todas as modificações feitas em um conjunto de arquivos. O diário de alterações de USN é muito mais eficiente do que verificar carimbos de data/hora ou registrar-se para receber notificações de arquivo. O diário de alterações de USN é habilitado e usado pelo Serviço de Indexação, FRS (Serviço de Replicação de Arquivos), RIS (Serviços de Instalação Remota) e Armazenamento Remoto.

  • Se já existir um diário de alterações em um volume, o parâmetro createjournal atualizará os parâmetros maxsize e allocationdelta do diário de alterações. Isso permite expandir o número de registros que um diário ativo mantém sem precisar desabilitá-lo.

  • O diário de alterações pode ultrapassar esse valor de destino, mas o diário de alterações é truncado no próximo ponto de verificação de NTFS como inferior a esse valor. O NTFS examina o diário de alterações e o corta quando o tamanho excede o valor de maxsize mais o valor de allocationdelta. Em pontos de verificação de NTFS, o sistema operacional grava registros no arquivo de log de NTFS que permitem que o NTFS determine qual processamento é necessário para se recuperar de uma falha.

  • O diário de alterações pode ultrapassar a soma dos valores de maxsize e allocationdelta antes de ser cortado.

  • Excluir ou desabilitar um diário de alterações ativo é muito demorado, pois o sistema deve acessar todos os registros na MFT (tabela de arquivos mestre) e definir o último atributo de USN como 0 (zero). Esse processo pode levar vários minutos e pode continuar após a reinicialização do sistema, se uma reinicialização for necessária. Durante esse processo, o diário de alterações não é considerado ativo nem está desabilitado. Embora o sistema esteja desabilitando o diário, ele não pode ser acessado e todas as operações do diário retornam erros. Você deve tomar cuidados extremos ao desabilitar um diário ativo, pois isso afeta negativamente outros aplicativos que estão usando esse diário.

Exemplos

Para criar um diário de alterações de USN na unidade C, digite:

fsutil usn createjournal m=1000 a=100 c:

Para excluir um diário de alterações de USN ativo da unidade C, digite:

fsutil usn deletejournal /d c:

Para habilitar o rastreamento de intervalo com um tamanho de parte especificado e um limite de tamanho de arquivo, digite:

fsutil usn enablerangetracking c=16384 s=67108864 C:

Para enumerar e listar as entradas do diário de alterações entre dois limites especificados na unidade C, digite:

fsutil usn enumdata 1 0 1 c:

Para consultar dados de USN de um volume na unidade C, digite:

fsutil usn queryjournal c:

Para ler os dados de USN de um arquivo na pasta \Temp na unidade C, digite:

fsutil usn readdata c:\temp\sample.txt

Para ler o diário de USN com um USN inicial específico, digite:

fsutil usn readjournal startusn=0xF00