Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
AzCopy é um utilitário de linha de comando que você pode usar para copiar arquivos de ou para uma conta de armazenamento. Este artigo contém comandos de exemplo que funcionam com Arquivos do Azure.
Introdução
Consulte o artigo Introdução ao AzCopy para baixar o AzCopy e saber mais sobre as maneiras de fornecer credenciais de autorização para o serviço de armazenamento.
Nota
Os exemplos neste artigo mostram o uso de um token SAS para autorizar o acesso. No entanto, para comandos destinados a arquivos e diretórios, agora você pode fornecer credenciais de autorização usando o ID do Microsoft Entra e omitir o token SAS desses comandos. Você ainda precisa usar um token SAS em qualquer comando direcionado apenas ao compartilhamento de arquivos ou à conta (por exemplo: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' ou 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.
Para saber mais, consulte Autorizar AzCopy
Gorjeta
Ao usar o Azure Files NFS, você deve especificar a --from-to opção CLI com uma das seguintes opções suportadas: FileNFSLocal, LocalFileNFSou FileNFSFileNFS em seus comandos.
Os cenários de upload e download que usam LocalFileNFS e FileNFSLocal são suportados apenas em ambientes Linux locais. Essas operações não são suportadas no Windows ou macOS. Por outro lado, o cenário FileNFSFileNFS, que usa a API de cópia de servidor para servidor, é suportado no Windows, Linux e macOS. Pode executar os comandos associados a partir de qualquer uma destas plataformas.
Criar partilhas de ficheiros
Você pode usar o comando azcopy make para criar um compartilhamento de arquivos. O exemplo nesta seção cria um compartilhamento de arquivos chamado myfileshare.
Nota
A versão 10.30.0 do AzCopy introduz uma alteração de quebra em que não cria mais automaticamente compartilhamentos de arquivos para transferências envolvendo Arquivos do Azure usando protocolos NFS ou SMB.
Gorjeta
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Sintaxe
azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'
Exemplo
Para documentos de referência detalhados, consulte azcopy make.
Carregar ficheiros
Use o comando azcopy copy para carregar arquivos e diretórios do seu computador local.
Gorjeta
Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Esta seção contém os seguintes exemplos:
- Carregar um ficheiro
- Carregar um diretório
- Carregar o conteúdo de um diretório
- Carregar um ficheiro específico
Gorjeta
Use sinalizadores opcionais para personalizar sua operação de upload. Eis alguns exemplos:
| Cenário | Sinalizador |
|---|---|
| Copie listas de controle de acesso (ACLs) junto com os arquivos. | --preserve-permissions=[verdadeiro|falso] |
| Copie as informações da propriedade SMB junto com os arquivos. | --preserve-info=[verdadeiro|falso] |
Para obter uma lista completa, consulte opções.
Nota
O AzCopy não calcula e armazena automaticamente o código hash MD5 do ficheiro para um ficheiro com mais de 256 MB. Se você quiser que o AzCopy faça isso, acrescente o sinalizador --put-md5 a cada comando copy. Assim, quando o ficheiro é transferido, o AzCopy calculará um hash MD5 para os dados transferidos e verificará se o hash MD5 armazenado na propriedade Content-md5 do ficheiro corresponde ao hash calculado.
Carregar um ficheiro
Sintaxe
azcopy copy '<local-file-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-name>'
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true
Você também pode carregar um arquivo usando um símbolo curinga (*) em qualquer lugar no caminho ou nome do arquivo. Por exemplo: 'C:\myDirectory\*.txt', ou C:\my*\*.txt.
Carregar um diretório
Este exemplo copia um diretório e todos os arquivos nesse diretório para um compartilhamento de arquivos. O resultado é um diretório no compartilhamento de arquivos com o mesmo nome.
Sintaxe
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Para copiar para um diretório dentro do compartilhamento de arquivos, basta especificar o nome desse diretório na cadeia de comandos.
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Se você especificar o nome de um diretório que não existe no compartilhamento de arquivos, o AzCopy criará um novo diretório com esse nome.
Carregar o conteúdo de um diretório
Você pode carregar o conteúdo de um diretório sem copiar o próprio diretório que contém usando o símbolo curinga (*).
Sintaxe
azcopy copy '<local-directory-path>/*' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>'
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --preserve-permissions=true --preserve-info=true
Nota
Para carregar arquivos em todos os subdiretórios, adicione o --recursive sinalizador.
Carregar ficheiros específicos
Você pode carregar arquivos específicos usando nomes de arquivo completos, nomes parciais com caracteres curinga (*) ou usando datas e horas.
Especificar vários nomes de arquivo completos
Use o comando azcopy copy com a --include-path opção. Separe nomes de arquivo individuais com ponto-e-vírgula (;).
Sintaxe
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-path <semicolon-separated-file-list>
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-path 'photos;documents\myFile.txt' --preserve-permissions=true --preserve-info=true
Neste exemplo, AzCopy transfere o C:\myDirectory\photos diretório e o C:\myDirectory\documents\myFile.txt arquivo. Você precisa incluir a --recursive opção para transferir todos os arquivos no C:\myDirectory\photos diretório.
Você também pode excluir arquivos usando a --exclude-path opção. Para saber mais, consulte azcopy copy reference docs.
Usar caracteres curinga
Use o comando azcopy copy com a --include-pattern opção. Especifique nomes parciais que incluam os caracteres curinga. Separe os nomes usando um ponto-e-vírgula (;).
Sintaxe
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-pattern 'myFile*.txt;*.pdf*' --preserve-permissions=true --preserve-info=true
Você também pode excluir arquivos usando a --exclude-pattern opção. Para saber mais, consulte azcopy copy reference docs.
As --include-pattern opções e --exclude-pattern aplicam-se apenas a nomes de ficheiros e não ao caminho. Se você quiser copiar todos os arquivos de texto que existem em uma árvore de diretório, use a --recursive opção para obter toda a árvore de diretórios e, em seguida, use o --include-pattern e especifique *.txt para obter todos os arquivos de texto.
Carregar ficheiros que foram modificados após uma data e hora
Use o comando azcopy copy com a --include-after opção. Especifique uma data e hora no formato ISO 8601 (por exemplo: 2020-08-19T15:04:00Z).
Sintaxe
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-after <Date-Time-in-ISO-8601-format>
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-after '2020-08-19T15:04:00Z' --preserve-permissions=true --preserve-info=true
Especificando tipos de origem e destino ao carregar blobs
AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e destino quando a deteção automática pode falhar, como em cenários de tubulação ou emuladores. Este parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar de acordo.
| Valor FromTo | Description |
|---|---|
LocalFileSMB |
Carregar do sistema de arquivos local para o compartilhamento SMB no Armazenamento de Arquivos do Azure |
LocalFileNFS |
Carregar do sistema de ficheiros local (apenas Linux) para a partilha NFS no Armazenamento de Ficheiros do Azure |
PipeFile |
Transmitir dados de um pipe para o Armazenamento de Arquivos do Azure |
Transferir ficheiros
Use o comando azcopy copy para baixar arquivos, diretórios e compartilhamentos de arquivos para o computador local.
Gorjeta
Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Esta seção contém os seguintes exemplos:
- Transferir um ficheiro
- Baixar um diretório
- Descarregar o conteúdo de um diretório
- Download de arquivos específicos
Gorjeta
Use sinalizadores opcionais para personalizar sua operação de download. Eis alguns exemplos:
| Cenário | Sinalizador |
|---|---|
| Copie listas de controle de acesso (ACLs) junto com os arquivos. | --preserve-permissions=[verdadeiro|falso] |
| Copie as informações da propriedade SMB junto com os arquivos. | --preserve-info=[verdadeiro|falso] |
| Descomprima automaticamente os ficheiros. | --descomprimir |
Para obter uma lista completa, consulte opções.
Nota
Se o valor da propriedade Content-md5 de um ficheiro tiver um hash, o AzCopy calculará um hash MD5 para os dados transferidos e verificará se o hash MD5 armazenado na propriedade Content-md5 do ficheiro corresponde ao hash calculado. Se esses valores não corresponderem, o download falhará, a menos que você substitua esse comportamento anexando --check-md5=NoCheck ou --check-md5=LogOnly ao comando copy.
Transferir um ficheiro
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' '<local-file-path>'
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]' 'C:\myDirectory\myTextFile.txt' --preserve-permissions=true --preserve-info=true
Baixar um diretório
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' '<local-directory-path>' --recursive
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' 'C:\myDirectory' --recursive --preserve-permissions=true --preserve-info=true
Este exemplo cria um diretório chamado C:\myDirectory\myFileShareDirectory que contém todos os arquivos baixados.
Descarregar o conteúdo de um diretório
Pode transferir o conteúdo de um diretório sem copiar o próprio diretório com o símbolo de caráter universal (*).
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/*<SAS-token>' '<local-directory-path>/'
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory/*?[SAS]' 'C:\myDirectory' --preserve-permissions=true --preserve-info=true
Nota
Para baixar arquivos em todos os subdiretórios, adicione o --recursive sinalizador.
Download de arquivos específicos
Você pode baixar arquivos específicos usando nomes de arquivo completos, nomes parciais com caracteres curinga (*) ou usando datas e horas.
Especificar vários nomes de arquivo completos
Use o comando azcopy copy com a --include-path opção. Separe nomes de arquivo individuais com ponto-e-vírgula (;).
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-path <semicolon-separated-file-list>
azcopy copy 'https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive --preserve-permissions=true --preserve-info=true
Neste exemplo, AzCopy transfere o https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos diretório e o https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt arquivo. Inclua a --recursive opção de transferir todos os arquivos no https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos diretório.
Você também pode excluir arquivos usando a --exclude-path opção. Para saber mais, consulte azcopy copy reference docs.
Usar caracteres curinga
Use o comando azcopy copy com a --include-pattern opção. Especifique nomes parciais que incluam os caracteres curinga. Separe os nomes usando um ponto-e-vírgula (;).
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myDirectory?[SAS]' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*' --preserve-permissions=true --preserve-info=true
Você também pode excluir arquivos usando a --exclude-pattern opção. Para saber mais, consulte azcopy copy reference docs.
As --include-pattern opções e --exclude-pattern aplicam-se apenas a nomes de ficheiros e não ao caminho. Se você quiser copiar todos os arquivos de texto que existem em uma árvore de diretório, use a --recursive opção para obter toda a árvore de diretórios e, em seguida, use o --include-pattern e especifique *.txt para obter todos os arquivos de texto.
Baixar arquivos que foram modificados após uma data e hora
Use o comando azcopy copy com a --include-after opção. Especifique uma data e hora no formato ISO-8601 (por exemplo: 2020-08-19T15:04:00Z).
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name>/*<SAS-token>' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/*?[SAS]' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z' --preserve-permissions=true --preserve-info=true
Para obter uma referência detalhada, consulte os documentos de referência azcopy copy .
Download a partir de um instantâneo de compartilhamento
Você pode baixar uma versão específica de um arquivo ou diretório fazendo referência ao valor DateTime de um instantâneo de compartilhamento. Para saber mais sobre instantâneos de compartilhamento, consulte Visão geral de instantâneos de compartilhamento para Arquivos do Azure.
Sintaxe
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path-or-directory-name><SAS-token>&sharesnapshot=<DateTime-of-snapshot>' '<local-file-or-directory-path>'
Exemplo (Baixar um arquivo)
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt' --preserve-permissions=true --preserve-info=true
Exemplo (Baixar um diretório)
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory' --recursive --preserve-permissions=true --preserve-info=true
Especificando tipos de origem e destino ao baixar arquivos
AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e destino quando a deteção automática pode falhar, como em cenários de tubulação ou emuladores. Este parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar de acordo.
| Valor FromTo | Description |
|---|---|
FileSMBLocal |
Baixar do compartilhamento SMB no Armazenamento de Arquivos do Azure para o sistema de arquivos local |
FileNFSLocal |
Transferir da partilha NFS no Armazenamento de Ficheiros do Azure para o sistema de ficheiros local (apenas Linux) |
FileSMBLocal |
Download do compartilhamento SMB para o sistema de arquivos local |
FilePipe |
Transmitir dados do Armazenamento de Arquivos do Azure para um pipe |
Copiar ficheiros entre contas de armazenamento
Você pode usar o AzCopy para copiar arquivos para outras contas de armazenamento. A operação de cópia é síncrona, portanto, todos os arquivos são copiados quando o comando retorna.
O AzCopy usa APIs de servidor para servidor, portanto, os dados são copiados diretamente entre os servidores de armazenamento. Você pode aumentar a taxa de transferência dessas operações definindo o valor da variável de AZCOPY_CONCURRENCY_VALUE ambiente. Para saber mais, consulte Aumentar simultaneidade.
Você também pode copiar versões específicas de um arquivo fazendo referência ao valor DateTime de um instantâneo de compartilhamento. Para saber mais sobre instantâneos de compartilhamento, consulte Visão geral de instantâneos de compartilhamento para Arquivos do Azure.
Gorjeta
Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Esta seção contém os seguintes exemplos:
- Copiar um ficheiro para outra conta de armazenamento
- Copiar um diretório para outra conta de armazenamento
- Copiar um compartilhamento de arquivos para outra conta de armazenamento
- Copiar todas as partilhas de ficheiros, diretórios e ficheiros para outra conta de armazenamento
Gorjeta
Você pode ajustar sua operação de cópia usando sinalizadores opcionais. Aqui estão alguns exemplos.
| Cenário | Sinalizador |
|---|---|
| Copie listas de controle de acesso (ACLs) junto com os arquivos. | --preserve-permissions=[verdadeiro|falso] |
| Copie as informações da propriedade SMB junto com os arquivos. | --preserve-info=[verdadeiro|falso] |
Para obter uma lista completa, consulte opções.
Copiar um ficheiro para outra conta de armazenamento
Sintaxe
azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>'
Exemplo
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true
Exemplo (compartilhar instantâneo)
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true
Copiar um diretório para outra conta de armazenamento
Sintaxe
azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Exemplo
azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Exemplo (compartilhar instantâneo)
Copiar um compartilhamento de arquivos para outra conta de armazenamento
Sintaxe
azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Exemplo
Exemplo (compartilhar instantâneo)
Copiar todas as partilhas de ficheiros, diretórios e ficheiros para outra conta de armazenamento
Sintaxe
azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<SAS-token>' --recursive'
Exemplo
azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Exemplo (compartilhar instantâneo)
azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Especificando tipos de origem e destino ao copiar arquivos
AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e destino quando a deteção automática pode falhar, como em cenários de tubulação ou emuladores. Este parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar de acordo.
| Valor FromTo | Description |
|---|---|
FileBlob |
Copiar do Armazenamento de Arquivos do Azure para o Armazenamento de Blobs do Azure |
FileBlobFS |
Copiar do Armazenamento de Arquivos do Azure para o Azure Data Lake Gen2 (BlobFS) |
FileSMBFileSMB |
Copiar entre dois compartilhamentos SMB no Armazenamento de Arquivos do Azure |
FileNFSFileNFS |
Copiar entre dois compartilhamentos NFS no Armazenamento de Arquivos do Azure |
FileNFSFileSMB |
Copiar do Azure File Storage NFS para o Azure Files Storage SMB |
FileSMBFileNFS |
Copiar do Azure File Storage SMB para o Azure Files Storage NFS |
Sincronizar ficheiros
Você pode sincronizar o conteúdo de um sistema de arquivos local com um compartilhamento de arquivos ou sincronizar o conteúdo de um compartilhamento de arquivos com outro compartilhamento de arquivos. Você também pode sincronizar o conteúdo de um diretório em um compartilhamento de arquivos com o conteúdo de um diretório localizado em outro compartilhamento de arquivos. A sincronização é uma maneira. Em outras palavras, você escolhe qual desses dois pontos de extremidade é a origem e qual é o destino. A sincronização também usa APIs de servidor para servidor.
Aviso
A sincronização do AzCopy é suportada, mas não totalmente recomendada para os Arquivos do Azure. A sincronização do AzCopy dá suporte a até 10 milhões de ficheiros por tarefa do AzCopy e alguma fidelidade de ficheiro pode ser perdida, pois o AzCopy usa as APIs REST do Azure Files para copiar conteúdo para a sua partilha de Ficheiros do Azure. Para saber mais, consulte Migrar para compartilhamentos de arquivos do Azure.
Diretrizes
Por padrão, o comando sync compara nomes de arquivos e carimbos de data/hora da última modificação. Você pode substituir esse comportamento para usar hashes MD5 em vez de carimbos de data/hora modificados pela última vez usando o --compare-hash sinalizador. Defina o --delete-destination sinalizador opcional para um valor de ou true para excluir arquivos no diretório de destino se esses arquivos não existirem mais no diretório de prompt origem.
Se você definir o
--delete-destinationsinalizador comotrue, AzCopy excluirá arquivos sem fornecer um prompt. Se desejar que um prompt apareça antes que o AzCopy exclua um arquivo, defina o--delete-destinationsinalizador comoprompt.Se você planeja definir o
--delete-destinationsinalizador comopromptoufalse, considere usar o comando copy em vez do comando sync e defina o--overwriteparâmetro comoifSourceNewer. O comando copy consome menos memória e incorre em menos custos de faturamento porque uma operação de cópia não precisa indexar a origem ou o destino antes de mover arquivos.Se você não planeja usar o
--compare-hashsinalizador, a máquina na qual você executa o comando sync deve ter um relógio de sistema preciso, pois os últimos horários modificados são críticos para determinar se um arquivo deve ser transferido. Se o seu sistema tiver uma distorção de relógio significativa, evite modificar arquivos no destino muito perto da hora que você planeja executar um comando de sincronização.O AzCopy usa APIs de servidor para servidor para sincronizar dados entre contas de armazenamento. Isso significa que os dados são copiados diretamente entre os servidores de armazenamento. No entanto, o AzCopy configura e monitora cada transferência e, para contas de armazenamento maiores (por exemplo, contas que contêm milhões de blobs), o AzCopy pode exigir uma quantidade substancial de recursos de computação para realizar essas tarefas. Portanto, se você estiver executando o AzCopy da máquina virtual (VM), certifique-se de que a VM tenha núcleos/memória suficientes para lidar com a carga.
Gorjeta
Você pode ajustar sua operação de sincronização usando sinalizadores opcionais. Aqui estão alguns exemplos.
| Cenário | Sinalizador |
|---|---|
| Copie listas de controle de acesso (ACLs) junto com os arquivos. | --preserve-permissions=[verdadeiro|falso] |
| Copie as informações da propriedade SMB junto com os arquivos. | --preserve-info=[verdadeiro|falso] |
| Excluir arquivos com base em um padrão. | --exclude-path |
| Especifique o quão detalhado você deseja que suas entradas de log relacionadas à sincronização sejam. | --log-level=[AVISO|ERRO|INFO|NENHUM] |
Para obter uma lista completa, consulte opções.
Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Atualizar um compartilhamento de arquivos com alterações em um sistema de arquivos local
Nesse caso, o compartilhamento de arquivos é o destino e o sistema de arquivos local é a origem.
Gorjeta
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Sintaxe
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Exemplo
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' --recursive
Atualizar um sistema de arquivos local com alterações em um compartilhamento de arquivos
Nesse caso, o sistema de arquivos local é o destino e o compartilhamento de arquivos é a origem.
Gorjeta
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Sintaxe
azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive
Exemplo
azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' 'C:\myDirectory' --recursive
Atualizar um compartilhamento de arquivos com alterações de outro compartilhamento de arquivos
A primeira partilha de ficheiros neste comando é a origem. O comando copia as alterações desse compartilhamento de arquivos de origem. O segundo compartilhamento de arquivos é o destino.
Sintaxe
azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Exemplo
azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?[SAS]' 'https://mydestinationaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Atualizar um diretório com alterações em um diretório em outro compartilhamento de arquivos
O primeiro diretório que aparece neste comando é o source. O segundo é o destino.
Sintaxe
azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' --recursive
Exemplo
azcopy sync 'https://mysourceaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' 'https://mydestinationaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Atualizar um compartilhamento de arquivos para corresponder ao conteúdo de um instantâneo de compartilhamento
O primeiro compartilhamento de arquivos que aparece neste comando é a origem. No final do URI, acrescente a cadeia de caracteres &sharesnapshot= seguida pelo valor DateTime do instantâneo.
Sintaxe
azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>&sharesnapsot<snapshot-ID>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Exemplo
azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Para saber mais sobre instantâneos de compartilhamento, consulte Visão geral de instantâneos de compartilhamento para Arquivos do Azure.
Propriedades e permissões a serem preservadas
Gorjeta
Ao baixar arquivos para um sistema Linux local, você precisará de privilégios elevados se o proprietário ou grupo especificado for diferente do usuário atual. Para alterar a propriedade ou o grupo de arquivos baixados, execute azcopy com sudo ou como o usuário root.
| Type | Propriedades (--preserve-info) | Permissões (--preserve-permissions) |
|---|---|---|
| Azure Files SMB | NTFSFileAttributes (SomenteLeitura, Oculto, Sistema, Diretório, Arquivo, Nenhum, Temporário, Offline, NãoIndexado, SemDadosParaLimpeza) (x-ms-file-attributes) CreationTime (x-ms-file-creation-time) LastWriteTime (x-ms-file-last-write-time) |
ACLs (x-ms-file-permission) |
| Azure Files NFS | CreationTime (x-ms-file-creation-time) LastWriteTime (x-ms-file-last-write-time) |
Proprietário (x-ms-owner) Grupo (x-ms-group) FileMode (modo x-ms) |
Próximos passos
Encontre mais exemplos em qualquer um destes artigos:
Consulte estes artigos para definir configurações, otimizar o desempenho e solucionar problemas: