azcopy sync

Replica la ubicación de origen en la ubicación de destino. En este artículo se proporciona una referencia detallada del comando azcopy sync. Para más información sobre la sincronización de blobs entre las ubicaciones de origen y destino, consulte Sincronización con Azure Blob Storage mediante AzCopy v10. Para Azure Files, consulte Sincronización de archivos.

Sinopsis

Las horas de última modificación se utilizan con fines de comparación. El archivo se omite si la hora de la última modificación del destino es más reciente. Los pares admitidos son:

  • Local <-> blob de Azure o archivo de Azure (se puede emplear la autenticación con SAS u OAuth)
  • blob de Azure <-> blob de Azure (el origen debe incluir SAS o ser de acceso público; se puede emplear la autenticación con SAS u OAuth para el destino)
  • archivo de Azure <-> archivo de Azure (el origen debe incluir SAS o ser de acceso público; se debe usar la autenticación con SAS para el destino).
  • Blob de Azure <-> archivo de Azure

El comando sync difiere del comando copy de varias maneras:

  1. De manera predeterminada, la marca recursiva es true y sync copia todos los subdirectorios. Sync solo copia los archivos de nivel superior dentro de un directorio si la marca recursiva es false.
  2. Al sincronizar entre directorios virtuales, agregue una barra diagonal final a la ruta de acceso (consulte los ejemplos) si hay un blob con el mismo nombre que uno de los directorios virtuales.
  3. Si la marca "delete-destination" está establecida en true o prompt, sync eliminará los archivos y blobs del destino que no estén presentes en el origen.

Avanzado:

Tenga en cuenta que si no especifica una extensión de archivo, AzCopy detecta automáticamente el tipo de contenido de los archivos cuando se cargan desde el disco local, basándose en la extensión del archivo o en el contenido.

La tabla de búsqueda integrada es pequeña pero, en Unix, los archivos mime.types del sistema local la pueden aumentar si están disponibles en una o varias de estas ubicaciones:

  • /etc/mime.types
  • /etc/apache2/mime.types
  • /etc/apache/mime.types

En Windows, los tipos MIME se extraen del registro.

Tenga en cuenta también que la sincronización funciona exclusivamente fuera de las últimas horas modificadas. Por lo tanto, en el caso de Archivo de Azure <-> Archivo de Azure, el campo de encabezado Last-Modified se usa en lugar de x-ms-file-change-time, lo que significa que los cambios de metadatos en el origen también pueden desencadenar una copia completa.

azcopy sync [flags]

Ejemplos

Sincronización de un solo archivo:

azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"

Igual que antes, pero también procesa un hash MD5 del contenido del archivo y lo guarda como la propiedad Content-MD5 del blob.

azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]" --put-md5

Sincronización de un directorio completo incluyendo los subdirectorios (tenga en cuenta que la recursividad está activada de forma predeterminada):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" o azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --put-md5

Sincronización solo de los archivos de un directorio, pero no de los subdirectorios ni de los archivos de estos:

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=false

Sincronización de un subconjunto de archivos de un directorio (por ejemplo, solo los archivos jpg y pdf, o un archivo llamado "exactName"):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --include-pattern="*.jpg;*.pdf;exactName"

Sincronización de un directorio completo, pero con la exclusión de ciertos archivos del ámbito (por ejemplo: todos los archivos que comienzan por "foo" o terminan por "bar"):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --exclude-pattern="foo*;*bar"

Sincronización de un solo blob:

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"

Sincronización de un directorio virtual:

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=true

Sincronización de un directorio virtual que tenga el mismo nombre que un blob (agregue una barra diagonal final a la ruta de acceso para eliminar la ambigüedad):

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]/?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]/" --recursive=true

Sincronización de un directorio de Azure File (la misma sintaxis que en Blob):

azcopy sync "https://[account].file.core.windows.net/[share]/[path/to/dir]?[SAS]" "https://[account].file.core.windows.net/[share]/[path/to/dir]" --recursive=true

Nota: Si las marcas de inclusión y exclusión se usan juntas, solo se usarán los archivos que coinciden con los patrones de inclusión, pero se omitirán los que coinciden con los patrones de exclusión.

Opciones

--block-size-mb (float) Utilice este tamaño de bloque (especificado en MiB) al cargar en Azure Storage o descargar de este. El valor predeterminado se calcula automáticamente en función del tamaño del archivo. Se permiten fracciones decimales (por ejemplo: 0,25).

--check-md5(string) Especifica cómo de estrictamente se deben validar los hashes MD5 al descargarse. Esta opción solo está disponible al descargar. Los valores disponibles son: NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (el valor predeterminado es "FailIfDifferent") (el valor predeterminado es "FailIfDifferent")

--cpk-by-name (string) La clave proporcionada por el cliente por nombre permite a los clientes que realizan solicitudes en Azure Blob Storage una opción para proporcionar una clave de cifrado por solicitud. El nombre de clave proporcionado se capturará de Azure Key Vault y se usará para cifrar los datos

--cpk-by-value La clave proporcionada por el cliente por nombre permite a los clientes que realizan solicitudes en Azure Blob Storage una opción para proporcionar una clave de cifrado por solicitud. La clave proporcionada y su hash se capturarán de las variables de entorno

--delete-destination (string) Define si se eliminan los archivos adicionales del destino que no están presentes en el origen. Se puede establecer en true, false o prompt. Si se establece en prompt, se le formulará al usuario una pregunta antes de programar archivos y blobs para su eliminación. (el valor predeterminado es "false") (el valor predeterminado es "false")

--dry-run Imprime la ruta de los archivos que el comando sync copiará o quitará. Esta marca no copia o quita los archivos reales.

--exclude-attributes (string) (solo Windows) Excluye los archivos cuyos atributos coinciden con la lista de atributos. Por ejemplo: A;S;R

--exclude-path (string) Excluye estas rutas de acceso al comparar el origen con el destino. Esta opción no permite caracteres comodín (*). Comprueba los prefijos de ruta de acceso relativa (por ejemplo: myFolder;myFolder/subDirName/file.pdf).

--exclude-pattern (string) Excluye los archivos en los que el nombre coincide con la lista de patrones. Por ejemplo: .jpg; .pdf; exactName.

--exclude-regex (string) Excluye la ruta de acceso relativa de los archivos que coinciden con expresiones regulares. Separe las expresiones regulares con ";".

--from-to (string) Opcionalmente, especifica la combinación de destino de origen. Por ejemplo: LocalBlob, BlobLocal, LocalFile, FileLocal, BlobFile, FileBlob, etc.

-h: --help ayuda para sync

--include-attributes (string) (solo Windows) Incluye solo los archivos cuyos atributos coinciden con la lista de atributos. Por ejemplo: A;S;R

--include-pattern (string) Incluye solo los archivos en los que el nombre coincide con la lista de patrones. Por ejemplo: .jpg; .pdf; exactName.

--include-regex (string) Incluye la ruta de acceso relativa de los archivos que coinciden con expresiones regulares. Separe las expresiones regulares con ";".

--log-level (string) Define el nivel de detalle del registro para el archivo de registro. Niveles disponibles: INFO (todas las solicitudes y respuestas), WARNING (respuestas lentas), ERROR (solo solicitudes con error) y NONE (sin registros de salida). (Valor predeterminado: "INFO"). (Valor predeterminado: "INFO").

--mirror-mode Deshabilita la comparación basada en la hora de última modificación, y sobrescribe los archivos y blobs en conflicto en el destino si esta marca está establecida en true. El valor predeterminado es false.

--preserve-permissions El valor predeterminado es false. Conserva las ACL entre recursos compatibles (Windows y Azure Files, o ADLS Gen 2 a ADLS Gen 2). Para las cuentas de espacios de nombres jerárquicos, necesitarás un SAS contenedor o un token OAuth con permisos de modificación de la propiedad y de modificación de los permisos. En el caso de las descargas, también necesitará la marca --backup para restaurar los permisos si el nuevo propietario no será el usuario que ejecuta AzCopy. Esta marca se aplica tanto a archivos como a carpetas, salvo que se especifique un filtro que solo permita archivos (por ejemplo, include-pattern).

--preserve-smb-info En el caso de las ubicaciones compatibles con SMB, la marca se establecerá en true de forma predeterminada. Conserva la información de la propiedad de SMB (hora de la última escritura, hora de creación, bits de atributo) entre los recursos compatibles con SMB (Azure Files). Esta marca se aplica tanto a archivos como a carpetas, salvo que se especifique un filtro que solo permita archivos (por ejemplo, include-pattern). La información transferida a las carpetas es la misma que la transferida a los archivos, excepto la hora de la última escritura, que no se conserva para las carpetas. (El valor predeterminado es true)

--put-md5 Crea un hash MD5 de cada archivo y lo guarda como la propiedad Content-MD5 del blob o archivo de destino. (De forma predeterminada, NO se crea el hash). Solo está disponible al cargar.

--recursive True de manera predeterminada, busca en los subdirectorios de forma recursiva al sincronizar entre directorios. (El valor predeterminado es true). (El valor predeterminado es true)

--s2s-preserve-access-tier Conserva el nivel de acceso durante la copia de servicio a servicio. Consulte Azure Blob Storage: niveles de acceso frecuente, esporádico y de archivo para asegurarse de que la cuenta de almacenamiento de destino admite la configuración del nivel de acceso. En los casos en los que no se admite el establecimiento del nivel de acceso, use s2sPreserveAccessTier=false para omitir la copia del nivel de acceso. (El valor predeterminado es true). (El valor predeterminado es true)

--s2s-preserve-blob-tags Conserva las etiquetas de índice durante la sincronización entre servicios de un almacenamiento de blobs a otro.

Opciones heredadas de comandos primarios

--cap-mbps (float) Limita la velocidad de transferencia, en megabits por segundo. El rendimiento en un momento dado puede variar ligeramente del límite. Si esta opción se establece en cero o se omite, el rendimiento no se limita.

Cadena --output-type Formato de la salida del comando. Las opciones incluyen: text, json. El valor predeterminado es "text". (Valor predeterminado: "text").

--trusted-microsoft-suffixes (string) Especifica otros sufijos de dominio en los que se pueden enviar tokens de inicio de sesión de Azure Active Directory. El valor predeterminado es ".core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net". Los valores que se muestran aquí se agregan al valor predeterminado. Por seguridad, solo debe poner aquí dominios de Microsoft Azure. Separe las entradas con punto y coma.

Consulte también