Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
AzCopy est un utilitaire de ligne de commande que vous pouvez utiliser pour copier des fichiers vers ou depuis un compte de stockage. Cet article contient des exemples de commandes qui fonctionnent avec Azure Files.
Bien démarrer
Consultez l’article Prise en main d’AzCopy pour télécharger AzCopy, et découvrez comment vous pouvez fournir des informations d’identification au service de stockage.
Remarque
Les exemples de cet article montrent l’utilisation d’un jeton SAP pour autoriser l’accès. Toutefois, pour les commandes qui ciblent des fichiers et des répertoires, vous pouvez désormais fournir des informations d’identification d’autorisation à l’aide de Microsoft Entra ID et omettre le jeton SAP de ces commandes. Vous devez toujours utiliser un jeton SAP dans n’importe quelle commande qui cible uniquement le partage de fichiers ou le compte (par exemple : 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' ou 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.
Pour en savoir plus, consultez Autoriser AzCopy
Conseil
Lorsque vous utilisez Azure Files NFS, vous devez spécifier le --from-to commutateur CLI avec l’une des options prises en charge suivantes : FileNFSLocal, LocalFileNFSou FileNFSFileNFS dans vos commandes.
Les scénarios de chargement et de téléchargement qui utilisent LocalFileNFS et FileNFSLocal sont pris en charge uniquement sur les environnements Linux locaux. Ces opérations ne sont pas prises en charge sur Windows ou macOS. En revanche, le scénario FileNFSFileNFS, qui utilise l’API de copie de serveur à serveur, est pris en charge sous Windows, Linux et macOS. Vous pouvez exécuter les commandes associées à partir de l’une de ces plateformes.
Créer des partages de fichiers
Vous pouvez utiliser la commande azcopy make pour créer un partage de fichiers. L’exemple dans cette section crée un partage de fichiers nommé myfileshare.
Remarque
La version 10.30.0 d’AzCopy introduit une modification importante : elle ne crée plus automatiquement de partages de fichiers pour les transferts impliquant Azure Files à l’aide des protocoles NFS ou SMB.
Conseil
Cet exemple englobe les arguments de chemin d’accès avec des guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Syntaxe
azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'
Exemple
Pour obtenir des informations de référence détaillées, consultez azcopy make.
Charger des fichiers
Utilisez la commande azcopy copy pour charger des fichiers et des répertoires à partir de votre ordinateur local.
Conseil
Dans les exemples de cette section, les arguments de chemin d’accès sont entre guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Cette section contient les exemples suivants :
- Charger un fichier
- Charger un annuaire
- Charger le contenu d’un annuaire
- Charger un fichier spécifique
Conseil
Utilisez des indicateurs facultatifs pour personnaliser votre opération de chargement. Voici quelques exemples :
| Scénario | Indicateur |
|---|---|
| Copier des listes de contrôle d’accès (ACL) avec les fichiers | --preserve-permissions=[true|false] |
| Copier des informations de propriété SMB avec les fichiers | --preserve-info=[vrai|faux] |
Pour obtenir la liste complète, consultez Options.
Remarque
AzCopy ne calcule pas et stocke automatiquement le code de hachage MD5 du fichier pour un fichier supérieur à 256 Mo. Si vous souhaitez que AzCopy effectue cette opération, ajoutez l’indicateur --put-md5 à chaque commande de copie. De cette façon, lorsque le fichier est téléchargé, AzCopy calcule un code de hachage MD5 pour les données téléchargées et vérifie que le code de hachage MD5 stocké dans la propriété Content-md5 du fichier correspond au code de hachage calculé.
Charger un fichier
Syntaxe
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
Vous pouvez également charger un fichier en plaçant un caractère générique (*) n’importe où dans le chemin ou le nom de fichier. Par exemple : 'C:\myDirectory\*.txt' ou C:\my*\*.txt.
Charger un annuaire
Cet exemple copie un répertoire et tous les fichiers de ce répertoire dans un partage de fichiers. Le résultat est un répertoire dans le partage de fichiers portant le même nom.
Syntaxe
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
Pour copier des éléments dans un répertoire du partage de fichiers, spécifiez simplement le nom de ce répertoire dans votre chaîne de commande.
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Si vous spécifiez le nom d’un répertoire qui n’existe pas dans le partage de fichiers, AzCopy crée un répertoire portant ce nom.
Charger le contenu d’un annuaire
Vous pouvez charger le contenu d’un répertoire sans copier le répertoire proprement dit en utilisant le caractère générique (*).
Syntaxe
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
Remarque
Pour charger des fichiers dans tous les sous-répertoires, ajoutez l’indicateur --recursive .
Charger des fichiers spécifiques
Vous pouvez charger des fichiers spécifiques en utilisant des noms de fichiers complets, des noms partiels avec des caractères génériques (*), ou des dates et des heures.
Spécifier plusieurs noms de fichiers complets
Utilisez la commande azcopy copy avec l’option --include-path. Séparez les noms de fichiers individuels par un point-virgule (;).
Syntaxe
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
Dans cet exemple, AzCopy transfère le répertoire C:\myDirectory\photos et le fichier C:\myDirectory\documents\myFile.txt. Vous devez inclure l’option --recursive pour transférer tous les fichiers dans le répertoire C:\myDirectory\photos.
Vous pouvez également exclure des fichiers à l’aide de l’option --exclude-path. Pour plus d’informations, consultez la documentation de référence sur azcopy copy.
Utiliser des caractères génériques
Utilisez la commande azcopy copy avec l’option --include-pattern. Spécifiez des noms partiels qui incluent les caractères génériques. Séparez les noms à l’aide d’un point-virgule (;).
Syntaxe
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
Vous pouvez également exclure des fichiers à l’aide de l’option --exclude-pattern. Pour plus d’informations, consultez la documentation de référence sur azcopy copy.
Les options --include-pattern et --exclude-pattern s’appliquent uniquement aux noms de fichiers, et non au chemin. Si vous souhaitez copier tous les fichiers texte qui existent dans une arborescence de répertoires, utilisez l’option --recursive pour obtenir la totalité de l’arborescence de répertoires, puis utilisez --include-pattern et spécifiez *.txt pour obtenir tous les fichiers texte.
Charger les fichiers qui ont été modifiés après une date et une heure
Utilisez la commande azcopy copy avec l’option --include-after. Spécifiez une date et une heure au format ISO 8601 (par exemple : 2020-08-19T15:04:00Z).
Syntaxe
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
Spécifications des types source et des types de destination lors du chargement d’objets blob
AzCopy utilise le --from-to paramètre pour définir explicitement les types de ressources source et de destination lorsque la détection automatique peut échouer, comme dans les scénarios de piping ou les émulateurs. Ce paramètre permet à AzCopy de comprendre le contexte du transfert et de l’optimiser en conséquence.
| Valeur FromTo | Descriptif |
|---|---|
LocalFileSMB |
Charger à partir du système de fichiers local vers le partage SMB dans Stockage Fichier Azure |
LocalFileNFS |
Charger à partir du système de fichiers local (Linux uniquement) vers le partage NFS dans Stockage Fichier Azure |
PipeFile |
Diffuser des données d’un canal vers Stockage Fichier Azure |
Télécharger les fichiers
Utilisez la commande azcopy copy pour télécharger des fichiers, des répertoires et des partages de fichiers sur votre ordinateur local.
Conseil
Dans les exemples de cette section, les arguments de chemin d’accès sont entre guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Cette section contient les exemples suivants :
- Téléchargement d’un fichier
- Télécharger un annuaire
- Télécharger le contenu d’un annuaire
- Télécharger des fichiers spécifiques
Conseil
Utilisez des indicateurs facultatifs pour personnaliser votre opération de téléchargement. Voici quelques exemples :
| Scénario | Indicateur |
|---|---|
| Copier des listes de contrôle d’accès (ACL) avec les fichiers | --preserve-permissions=[true|false] |
| Copier des informations de propriété SMB avec les fichiers | --preserve-info=[vrai|faux] |
| Décompresser automatiquement les fichiers | DECOMPRESS |
Pour obtenir la liste complète, consultez Options.
Remarque
Si la valeur de propriété Content-md5 d’un fichier contient un code de hachage, AzCopy calcule un code de hachage MD5 pour les données téléchargées et vérifie que le code de hachage MD5 stocké dans la propriété Content-md5 du fichier correspond au code de hachage calculé. Si ces valeurs ne correspondent pas, le téléchargement échoue, sauf si vous remplacez ce comportement en ajoutant --check-md5=NoCheck ou --check-md5=LogOnly à la commande de copie.
Téléchargement d’un fichier
Syntaxe
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
Télécharger un annuaire
Syntaxe
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
Cet exemple crée un répertoire nommé C:\myDirectory\myFileShareDirectory qui contient tous les fichiers téléchargés.
Télécharger le contenu d’un annuaire
Vous pouvez télécharger le contenu d’un répertoire sans copier le répertoire proprement dit en utilisant le caractère générique (*).
Syntaxe
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
Remarque
Pour télécharger des fichiers dans tous les sous-répertoires, ajoutez l’indicateur --recursive .
Télécharger des fichiers spécifiques
Vous pouvez télécharger des fichiers spécifiques en utilisant des noms de fichiers complets, des noms partiels avec des caractères génériques (*), ou des dates et des heures.
Spécifier plusieurs noms de fichiers complets
Utilisez la commande azcopy copy avec l’option --include-path. Séparez les noms de fichiers individuels par un point-virgule (;).
Syntaxe
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
Dans cet exemple, AzCopy transfère le répertoire https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos et le fichier https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt. Incluez l’option --recursive pour transférer tous les fichiers dans le répertoire https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos.
Vous pouvez également exclure des fichiers à l’aide de l’option --exclude-path. Pour plus d’informations, consultez la documentation de référence sur azcopy copy.
Utiliser des caractères génériques
Utilisez la commande azcopy copy avec l’option --include-pattern. Spécifiez des noms partiels qui incluent les caractères génériques. Séparez les noms à l’aide d’un point-virgule (;).
Syntaxe
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
Vous pouvez également exclure des fichiers à l’aide de l’option --exclude-pattern. Pour plus d’informations, consultez la documentation de référence sur azcopy copy.
Les options --include-pattern et --exclude-pattern s’appliquent uniquement aux noms de fichiers, et non au chemin. Si vous souhaitez copier tous les fichiers texte qui existent dans une arborescence de répertoires, utilisez l’option --recursive pour obtenir la totalité de l’arborescence de répertoires, puis utilisez --include-pattern et spécifiez *.txt pour obtenir tous les fichiers texte.
Télécharger les fichiers qui ont été modifiés après une date et une heure
Utilisez la commande azcopy copy avec l’option --include-after. Spécifiez une date et une heure au format ISO-8601 (par exemple : 2020-08-19T15:04:00Z).
Syntaxe
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
Pour obtenir des informations de référence détaillées, consultez les documents de référence azcopy copy.
Télécharger à partir d’un instantané de partage
Vous pouvez télécharger une version spécifique d’un fichier ou d’un répertoire en référençant la valeur DateHeure d’un instantané de partage. Pour en savoir plus sur les instantanés de partage, consultez Vue d’ensemble des instantanés de partage pour Azure Files.
Syntaxe
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>'
Exemple (Télécharger un fichier)
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
Exemple (Télécharger un répertoire)
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
Spécification des types source et de destination lors du téléchargement de fichiers
AzCopy utilise le --from-to paramètre pour définir explicitement les types de ressources source et de destination lorsque la détection automatique peut échouer, comme dans les scénarios de piping ou les émulateurs. Ce paramètre permet à AzCopy de comprendre le contexte du transfert et de l’optimiser en conséquence.
| Valeur FromTo | Descriptif |
|---|---|
FileSMBLocal |
Télécharger à partir du partage SMB dans Stockage Fichier Azure vers le système de fichiers local |
FileNFSLocal |
Télécharger à partir du partage NFS dans Stockage Fichier Azure vers le système de fichiers local (Linux uniquement) |
FileSMBLocal |
Télécharger à partir du partage SMB vers le système de fichiers local |
FilePipe |
Diffuser en continu des données à partir de Stockage Fichier Azure vers un canal |
Copier des fichiers entre des comptes de stockage
Vous pouvez utiliser AzCopy pour copier des fichiers vers d’autres comptes de stockage. L’opération de copie est synchrone de sorte que tous les fichiers soient copiés lorsque la commande retourne.
AzCopy utilise des API de serveur à serveur, ce qui permet de copier les données directement entre les serveurs de stockage. Vous pouvez augmenter le débit de ces opérations en définissant la valeur de la variable d’environnement AZCOPY_CONCURRENCY_VALUE. Pour plus d’informations, consultez Augmenter la concurrence.
Vous pouvez également copier des versions spécifiques d’un fichier en référençant la valeur DateHeure d’un instantané de partage. Pour en savoir plus sur les instantanés de partage, consultez Vue d’ensemble des instantanés de partage pour Azure Files.
Conseil
Dans les exemples de cette section, les arguments de chemin d’accès sont entre guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Cette section contient les exemples suivants :
- Copier un fichier vers un autre compte de stockage
- Copier un répertoire vers un autre compte de stockage
- Copier un partage de fichiers vers un autre compte de stockage
- Copier tous les partages de fichiers, répertoires et fichiers vers un autre compte de stockage
Conseil
Vous pouvez ajuster votre opération de copie à l’aide d’indicateurs facultatifs. Voici quelques exemples.
| Scénario | Indicateur |
|---|---|
| Copier des listes de contrôle d’accès (ACL) avec les fichiers | --preserve-permissions=[true|false] |
| Copier des informations de propriété SMB avec les fichiers | --preserve-info=[vrai|faux] |
Pour obtenir la liste complète, consultez Options.
Copier un fichier vers un autre compte de stockage
Syntaxe
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>'
Exemple
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
Exemple (instantané de partage)
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
Copier un répertoire vers un autre compte de stockage
Syntaxe
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
Exemple
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
Exemple (instantané de partage)
Copier un partage de fichiers vers un autre compte de stockage
Syntaxe
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
Exemple
Exemple (instantané de partage)
Copier tous les partages de fichiers, répertoires et fichiers vers un autre compte de stockage
Syntaxe
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'
Exemple
azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Exemple (instantané de partage)
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
Spécification des types source et de destination lors de la copie de fichiers
AzCopy utilise le --from-to paramètre pour définir explicitement les types de ressources source et de destination lorsque la détection automatique peut échouer, comme dans les scénarios de piping ou les émulateurs. Ce paramètre permet à AzCopy de comprendre le contexte du transfert et de l’optimiser en conséquence.
| Valeur FromTo | Descriptif |
|---|---|
FileBlob |
Copier à partir de Stockage Fichier Azure vers Stockage Blob Azure |
FileBlobFS |
Copier à partir de Stockage Fichier Azure vers Azure Data Lake Gen2 (BlobFS) |
FileSMBFileSMB |
Copier entre deux partages SMB dans Stockage Fichier Azure |
FileNFSFileNFS |
Copier entre deux partages NFS dans Stockage Fichier Azure |
FileNFSFileSMB |
Copier à partir d’Azure File Storage NFS vers Azure Files Storage SMB |
FileSMBFileNFS |
Copier à partir d’Azure File Storage SMB vers Azure Files Storage NFS |
Synchroniser des fichiers
Vous pouvez synchroniser le contenu d’un système de fichiers local avec un partage de fichiers ou synchroniser le contenu d’un partage de fichiers avec un autre partage de fichiers. Vous pouvez également synchroniser le contenu d’un répertoire dans un partage de fichiers avec celui d’un répertoire situé dans un autre partage de fichiers. La synchronisation est unidirectionnelle. En d’autres termes, vous choisissez lequel de ces deux points de terminaison est la source et lequel est la destination. La synchronisation utilise également un serveur pour les API de serveur.
Avertissement
La synchronisation AzCopy est prise en charge, mais pas entièrement recommandée pour Azure Files. La synchronisation AzCopy prend en charge jusqu'à 10 millions de fichiers par tâche AzCopy et il est possible que la fidélité des fichiers soit altérée, car AzCopy utilise les API REST Azure Files pour copier du contenu dans votre partage Azure Files. Pour plus d’informations Migrer vers des partages de fichiers Azure.
Consignes
La commande sync compare les noms de fichiers et les horodatages de la dernière modification. Vous pouvez remplacer ce comportement pour utiliser des hachages MD5 au lieu des derniers horodatages modifiés à l’aide de l’indicateur --compare-hash. Définissez l’indicateur facultatif --delete-destination sur la valeur true ou prompt pour supprimer des fichiers dans le répertoire de destination si ces fichiers n’existent plus dans le répertoire source.
Si vous affectez la valeur
trueà l’indicateur--delete-destination, AzCopy supprime les fichiers sans invite. Si vous souhaitez qu’une invite s’affiche avant que l’utilitaire AzCopy ne supprime un fichier, définissez l’indicateur--delete-destinationsurprompt.Si vous envisagez de définir l'indicateur
--delete-destinationsurpromptoufalse, pensez à utiliser la commande copy au lieu de la commande sync et à définir le paramètre--overwritesurifSourceNewer. La commande copy consomme moins de mémoire et génère des coûts de facturation inférieurs, car une opération de copie ne doit pas indexer la source ou la destination avant de déplacer des fichiers.Si vous n’envisagez pas d’utiliser l’indicateur
--compare-hash, l’ordinateur sur lequel vous exécutez la commande de synchronisation doit avoir une horloge système précise, car les heures de la dernière modification sont essentielles pour déterminer si un fichier doit être transféré. Si votre système connaît des décalages d’horloge significatifs, évitez de modifier les fichiers de la destination à un moment trop proche de celui où vous envisagez d’exécuter une commande de synchronisation.AzCopy utilise des API serveur à serveur pour synchroniser les données entre les comptes de stockage. Cela signifie que les données sont copiées directement entre les serveurs de stockage. Toutefois, AzCopy configure et surveille chaque transfert. De plus, pour les comptes de stockage plus volumineux (par exemple, les comptes qui contiennent des millions d’objets blob), AzCopy peut nécessiter une quantité importante de ressources de calcul pour accomplir ces tâches. Par conséquent, si vous exécutez AzCopy à partir d’une machine virtuelle, assurez-vous que la machine virtuelle dispose de suffisamment de cœurs/mémoire pour gérer la charge.
Conseil
Vous pouvez ajuster votre opération de synchronisation à l’aide d’indicateurs facultatifs. Voici quelques exemples.
| Scénario | Indicateur |
|---|---|
| Copier des listes de contrôle d’accès (ACL) avec les fichiers | --preserve-permissions=[true|false] |
| Copier des informations de propriété SMB avec les fichiers | --preserve-info=[vrai|faux] |
| Exclure des fichiers en fonction d’un modèle | --exclude-path |
| Spécifier le niveau de détail des entrées de journal liées à la synchronisation | --log-level=[WARNING|ERROR|INFO|NONE] |
Pour obtenir la liste complète, consultez Options.
Dans les exemples de cette section, les arguments de chemin d’accès sont entre guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Mettre à jour un partage de fichiers avec les modifications apportées à un système de fichiers local
Dans ce cas, le partage de fichiers est la destination et le système de fichiers local est la source.
Conseil
Cet exemple englobe les arguments de chemin d’accès avec des guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Syntaxe
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Exemple
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' --recursive
Mettre à jour un système de fichiers local avec les modifications apportées à un partage de fichiers
Dans ce cas, le système de fichiers local est la destination et le partage de fichiers est la source.
Conseil
Cet exemple englobe les arguments de chemin d’accès avec des guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Syntaxe
azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive
Exemple
azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' 'C:\myDirectory' --recursive
Mettre à jour un partage de fichiers avec des modifications d’un autre partage de fichiers
Le premier partage de fichiers dans cette commande est la source. La commande copie les modifications de ce partage de fichiers source. Le deuxième partage de fichiers est la destination.
Syntaxe
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
Exemple
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
Mettre à jour un répertoire avec les modifications apportées à un répertoire dans un autre partage de fichiers
Le premier répertoire qui s’affiche dans cette commande est la source. Le deuxième est la destination.
Syntaxe
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
Exemple
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
Mettre à jour un partage de fichiers pour qu’il corresponde au contenu d’un instantané de partage
Le premier partage de fichiers qui s’affiche dans cette commande est la source. À la fin de l’URI, ajoutez la chaîne &sharesnapshot= suivie de la valeur DateTime de l’instantané.
Syntaxe
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
Exemple
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
Pour en savoir plus sur les instantanés de partage, consultez Vue d’ensemble des instantanés de partage pour Azure Files.
Propriétés et autorisations à conserver
Conseil
Lorsque vous téléchargez des fichiers sur un système Linux local, vous avez besoin de privilèges élevés si le propriétaire ou le groupe spécifié diffère de celui de l’utilisateur actuel. Pour modifier la propriété ou le groupe de fichiers téléchargés, exécutez azcopy avec sudo ou en tant qu’utilisateur racine.
| Type | Propriétés (--preserve-info) | Autorisations (--preserve-permissions) |
|---|---|---|
| Azure Files SMB | AttributsFichierNTFS (ReadOn ReadOnly, Caché, Système, Répertoire, Archive, Aucun, Temporaire, Hors ligne, NotContentIndexed, NoScrubData) (x-ms-attributs-de-fichier) HeureDeCréation (x-ms-file-creation-time) LastWriteTime (x-ms-file-last-write-time) |
ACLs (x-ms-file-permission) |
| Azure Files NFS | HeureDeCréation (x-ms-file-creation-time) LastWriteTime (x-ms-file-last-write-time) |
Owner (x-ms-owner) Group (x-ms-group) FileMode (x-ms-mode) |
Étapes suivantes
Plus d’exemples dans ces articles :
Consultez les articles suivants pour configurer les paramètres, optimiser les performances et résoudre les problèmes :