Übertragen von Daten mit AzCopy und Dateispeicher
AzCopy ist ein Befehlszeilenhilfsprogramm, mit dem Sie Dateien in ein Speicherkonto oder daraus kopieren können. Dieser Artikel enthält Beispielbefehle, die mit Azure Files funktionieren.
Erste Schritte
Lesen Sie den Artikel Erste Schritte mit AzCopy, um AzCopy herunterzuladen und zu erfahren, wie Sie dem Speicherdienst Autorisierungsanmeldeinformationen bereitstellen können.
Hinweis
Die Beispiele in diesem Artikel zeigen die Verwendung eines SAS-Tokens zum Autorisieren des Zugriffs. Für Befehle, die auf Dateien und Verzeichnisse abzielen, können Sie jetzt jedoch Autorisierungsdaten mit der Microsoft Entra ID angeben und das SAS-Token bei diesen Befehlen weglassen. Sie müssen weiterhin ein SAS-Token in jedem Befehl verwenden, der nur auf die Dateifreigabe oder das Konto ausgerichtet ist (z. B. 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare'
oder 'azcopy copy 'https://mystorageaccount.file.core.windows.net'
.
Weitere Informationen finden Sie unter Autorisieren von AzCopy.
Erstellen von Dateifreigaben
Sie können den Befehl azcopy make verwenden, um eine Dateifreigabe zu erstellen. Mit dem Beispiel in diesem Abschnitt wird eine Dateifreigabe namens myfileshare
erstellt.
Tipp
In diesem Beispiel werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Syntax
azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'
Beispiel
azcopy make 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D'
Ausführliche Referenzdokumente finden Sie unter azcopy make.
Hochladen von Dateien
Sie können den Befehl azcopy copy verwenden, um Dateien und Verzeichnisse von Ihrem lokalen Computer hochzuladen.
Tipp
In den Beispielen in diesem Abschnitt werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Dieser Abschnitt enthält folgende Beispiele:
- Hochladen einer Datei
- Hochladen eines Verzeichnisses
- Hochladen der Inhalte eines Verzeichnisses
- Hochladen einer bestimmten Datei
Tipp
Sie können den Uploadvorgang mit optionalen Flags optimieren. Hier sind einige Beispiele angegeben.
Szenario | Flag |
---|---|
Kopieren von Zugriffssteuerungslisten (ACLs) zusammen mit den Dateien | --preserve-smb-permissions=[true | false] |
Kopieren von SMB-Eigenschaftsinformationen zusammen mit den Dateien | --preserve-smb-info=[true | false] |
Eine vollständige Liste finden Sie unter Optionen.
Hinweis
AzCopy berechnet und speichert den md5-Hashcode der Datei nicht automatisch bei einer Datei, die größer als 256 MB ist. Wenn Sie möchten, dass AzCopy dies tun soll, fügen Sie an jeden Kopierbefehl das Flag --put-md5
an. Auf diese Weise berechnet AzCopy beim Herunterladen der Datei einen MD5-Hash für heruntergeladene Daten und überprüft, ob der in der Content-md5
-Eigenschaft der Datei gespeicherte MD5-Hash mit dem berechneten Hash übereinstimmt.
Hochladen einer Datei
Syntax
azcopy copy '<local-file-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-name>'
Beispiel
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --preserve-smb-permissions=true --preserve-smb-info=true
Sie können eine Datei auch mit einem Platzhaltersymbol (*) an einer beliebigen Stelle im Dateipfad oder Dateinamen hochladen. Beispiel: 'C:\myDirectory\*.txt'
oder C:\my*\*.txt
Hochladen eines Verzeichnisses
Dieses Beispiel kopiert ein Verzeichnis (sowie alle in diesem Verzeichnis enthaltenen Dateien) in eine Dateifreigabe. Das Resultat ist ein gleichnamiges Verzeichnis in der Dateifreigabe.
Syntax
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Beispiel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Um ein Verzeichnis innerhalb der Dateifreigabe zu kopieren, geben Sie einfach den Namen des Verzeichnisses in Ihrer Befehlszeichenfolge an.
Beispiel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Wenn Sie den Namen eines Verzeichnisses angeben, das in der Dateifreigabe nicht vorhanden ist, erstellt AzCopy ein neues Verzeichnis dieses Namens.
Hochladen der Inhalte eines Verzeichnisses
Mithilfe des Platzhaltersymbols (*) können Sie die Inhalte eines Verzeichnisses hochladen, ohne das Verzeichnis selbst zu kopieren.
Syntax
azcopy copy '<local-directory-path>/*' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>'
Beispiel
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --preserve-smb-permissions=true --preserve-smb-info=true
Hinweis
Fügen Sie das Flag --recursive
an, um Dateien in allen Unterverzeichnissen hochzuladen.
Hochladen bestimmter Dateien
Sie können bestimmte Dateien mithilfe von vollständigen Dateinamen, partiellen Namen mit Platzhalterzeichen (*) oder mithilfe von Datums- und Uhrzeitwerten hochladen.
Angeben mehrerer vollständiger Dateinamen
Verwenden Sie den Befehl azcopy copy mit der Option --include-path
. Trennen Sie einzelne Dateinamen durch ein Semikolon (;
).
Syntax
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>
Beispiel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-path 'photos;documents\myFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true
In diesem Beispiel überträgt AzCopy das Verzeichnis C:\myDirectory\photos
und die Datei C:\myDirectory\documents\myFile.txt
. Sie müssen die Option --recursive
verwenden, um alle Dateien im Verzeichnis C:\myDirectory\photos
zu übertragen.
Mit der Option --exclude-path
können Sie auch Dateien ausschließen. Weitere Informationen finden Sie in den Referenzdokumenten zu azcopy copy.
Verwenden von Platzhalterzeichen
Verwenden Sie den Befehl azcopy copy mit der Option --include-pattern
. Geben Sie Namen mithilfe von Platzhalterzeichen teilweise an. Trennen Sie die Namen durch Semikolons (;
).
Syntax
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>
Beispiel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-pattern 'myFile*.txt;*.pdf*' --preserve-smb-permissions=true --preserve-smb-info=true
Mit der Option --exclude-pattern
können Sie auch Dateien ausschließen. Weitere Informationen finden Sie in den Referenzdokumenten zu azcopy copy.
Die Optionen --include-pattern
und --exclude-pattern
gelten nur für Dateinamen und nicht für den Pfad. Wenn Sie alle Textdateien in einer Verzeichnisstruktur kopieren möchten, verwenden Sie die Option --recursive
, um die gesamte Verzeichnisstruktur abzurufen. Verwenden Sie dann --include-pattern
, und geben Sie *.txt
an, um alle Textdateien abzurufen.
Hochladen von Dateien, die nach einem bestimmten Datum und einer bestimmten Uhrzeit geändert wurden
Verwenden Sie den Befehl azcopy copy mit der Option --include-after
. Geben Sie ein Datum und eine Uhrzeit im ISO 8601-Format an (z. B. 2020-08-19T15:04:00Z
).
Syntax
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>
Beispiel
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-after '2020-08-19T15:04:00Z' --preserve-smb-permissions=true --preserve-smb-info=true
Ausführliche Informationen finden Sie in den azcopy copy-Referenzdokumenten.
Herunterladen von Dateien
Sie können den Befehl azcopy copy verwenden, um Dateien, Verzeichnisse und Dateifreigaben auf Ihren lokalen Computer herunterzuladen.
Tipp
In den Beispielen in diesem Abschnitt werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Dieser Abschnitt enthält folgende Beispiele:
- Herunterladen einer Datei
- Herunterladen eines Verzeichnisses
- Herunterladen der Inhalte eines Verzeichnisses
- Herunterladen bestimmter Dateien
Tipp
Sie können den Downloadvorgang mit optionalen Flags optimieren. Hier sind einige Beispiele:
Szenario | Flag |
---|---|
Kopieren von Zugriffssteuerungslisten (ACLs) zusammen mit den Dateien | --preserve-smb-permissions=[true | false] |
Kopieren von SMB-Eigenschaftsinformationen zusammen mit den Dateien | --preserve-smb-info=[true | false] |
Automatisches Dekomprimieren von Dateien | DECOMPRESS |
Eine vollständige Liste finden Sie unter Optionen.
Hinweis
Wenn der Content-md5
-Eigenschaftswert einer Datei einen Hash enthält, berechnet AzCopy einen MD5-Hash für heruntergeladene Daten und überprüft, ob der in der Content-md5
-Eigenschaft der Datei gespeicherte MD5-Hash mit dem berechneten Hash übereinstimmt. Wenn diese Werte nicht übereinstimmen, wird der Download nicht durchgeführt, es sei denn, Sie überschreiben dieses Verhalten, indem Sie --check-md5=NoCheck
oder --check-md5=LogOnly
an den Kopierbefehl anfügen.
Herunterladen einer Datei
Syntax
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' '<local-file-path>'
Beispiel
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' 'C:\myDirectory\myTextFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true
Herunterladen eines Verzeichnisses
Syntax
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' '<local-directory-path>' --recursive
Beispiel
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' 'C:\myDirectory' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Dieses Beispiel erstellt ein Verzeichnis namens C:\myDirectory\myFileShareDirectory
, das alle heruntergeladenen Dateien enthält.
Herunterladen der Inhalte eines Verzeichnisses
Mithilfe des Platzhaltersymbols (*) können Sie die Inhalte eines Verzeichnisses herunterladen, ohne das Verzeichnis selbst zu kopieren.
Syntax
azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/*<SAS-token>' '<local-directory-path>/'
Beispiel
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory/*?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' 'C:\myDirectory' --preserve-smb-permissions=true --preserve-smb-info=true
Hinweis
Fügen Sie das Flag --recursive
an, um Dateien in allen Unterverzeichnissen herunterzuladen.
Herunterladen bestimmter Dateien
Sie können bestimmte Dateien mithilfe von vollständigen Dateinamen, partiellen Namen mit Platzhalterzeichen (*) oder mithilfe von Datums- und Uhrzeitwerten herunterladen.
Angeben mehrerer vollständiger Dateinamen
Verwenden Sie den Befehl azcopy copy mit der Option --include-path
. Trennen Sie einzelne Dateinamen durch ein Semikolon (;
).
Syntax
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>
Beispiel
azcopy copy 'https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
In diesem Beispiel überträgt AzCopy das Verzeichnis https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos
und die Datei https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt
. Fügen Sie die Option --recursive
ein, um alle Dateien im Verzeichnis https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos
zu übertragen.
Mit der Option --exclude-path
können Sie auch Dateien ausschließen. Weitere Informationen finden Sie in den Referenzdokumenten zu azcopy copy.
Verwenden von Platzhalterzeichen
Verwenden Sie den Befehl azcopy copy mit der Option --include-pattern
. Geben Sie Namen mithilfe von Platzhalterzeichen teilweise an. Trennen Sie die Namen durch Semikolons (;
).
Syntax
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>
Beispiel
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*' --preserve-smb-permissions=true --preserve-smb-info=true
Mit der Option --exclude-pattern
können Sie auch Dateien ausschließen. Weitere Informationen finden Sie in den Referenzdokumenten zu azcopy copy.
Die Optionen --include-pattern
und --exclude-pattern
gelten nur für Dateinamen und nicht für den Pfad. Wenn Sie alle Textdateien in einer Verzeichnisstruktur kopieren möchten, verwenden Sie die Option --recursive
, um die gesamte Verzeichnisstruktur abzurufen. Verwenden Sie dann --include-pattern
, und geben Sie *.txt
an, um alle Textdateien abzurufen.
Herunterladen von Dateien, die nach einem bestimmten Datum und einer bestimmten Uhrzeit geändert wurden
Verwenden Sie den Befehl azcopy copy mit der Option --include-after
. Geben Sie ein Datum und eine Uhrzeit im ISO 8601-Format an (z. B. 2020-08-19T15:04:00Z
).
Syntax
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>
Beispiel
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/*?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z' --preserve-smb-permissions=true --preserve-smb-info=true
Ausführliche Informationen finden Sie in den azcopy copy-Referenzdokumenten.
Herunterladen von einer Freigabemomentaufnahme
Sie können eine bestimmte Version einer Datei oder eines Verzeichnisses herunterladen, indem Sie auf den DateTime-Wert einer Freigabemomentaufnahme verweisen. Weitere Informationen zu Freigabemomentaufnahmen finden Sie unter Übersicht über Freigabemomentaufnahmen für Azure Files.
Syntax
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>'
Beispiel (Herunterladen einer Datei)
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true
Beispiel (Herunterladen eines Verzeichnisses)
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Kopieren von Dateien zwischen Speicherkonten
Sie können AzCopy verwenden, um Dateien in andere Speicherkonten zu kopieren. Der Kopiervorgang ist synchron, sodass alle Dateien kopiert werden, wenn der Befehl zurückgegeben wird.
AzCopy verwendet die Server-zu-Server-APIs, sodass Daten direkt zwischen Speicherservern kopiert werden. Sie können den Durchsatz dieser Vorgänge erhöhen, indem Sie den Wert der Umgebungsvariable AZCOPY_CONCURRENCY_VALUE
festlegen. Weitere Informationen finden Sie unter Erhöhen der Parallelität.
Sie können auch bestimmte Versionen einer Datei herunterladen, indem Sie auf den DateTime-Wert einer Freigabemomentaufnahme verweisen. Weitere Informationen zu Freigabemomentaufnahmen finden Sie unter Übersicht über Freigabemomentaufnahmen für Azure Files.
Tipp
In den Beispielen in diesem Abschnitt werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Dieser Abschnitt enthält folgende Beispiele:
- Kopieren einer Datei in ein anderes Speicherkonto
- Kopieren eines Verzeichnisses in ein anderes Speicherkonto
- Kopieren einer Dateifreigabe in ein anderes Speicherkonto
- Kopieren aller Dateifreigaben, Verzeichnisse und Dateien in ein anderes Speicherkonto
Tipp
Sie können den Kopiervorgang mit optionalen Flags optimieren. Hier sind einige Beispiele angegeben.
Szenario | Flag |
---|---|
Kopieren von Zugriffssteuerungslisten (ACLs) zusammen mit den Dateien | --preserve-smb-permissions=[true | false] |
Kopieren von SMB-Eigenschaftsinformationen zusammen mit den Dateien | --preserve-smb-info=[true | false] |
Eine vollständige Liste finden Sie unter Optionen.
Kopieren einer Datei in ein anderes Speicherkonto
Syntax
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>'
Beispiel
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --preserve-smb-permissions=true --preserve-smb-info=true
Beispiel (Freigabemomentaufnahme)
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --preserve-smb-permissions=true --preserve-smb-info=true
Kopieren eines Verzeichnisses in ein anderes Speicherkonto
Syntax
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
Beispiel
azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Beispiel (Freigabemomentaufnahme)
azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Kopieren einer Dateifreigabe in ein anderes Speicherkonto
Syntax
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
Beispiel
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D --preserve-smb-permissions=true --preserve-smb-info=true
Beispiel (Freigabemomentaufnahme)
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Kopieren aller Dateifreigaben, Verzeichnisse und Dateien in ein anderes Speicherkonto
Syntax
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'
Beispiel
azcopy copy 'https://mysourceaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Beispiel (Freigabemomentaufnahme)
azcopy copy 'https://mysourceaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Synchronisieren von Dateien
Sie können den Inhalt eines lokalen Dateisystems mit einer Dateifreigabe oder den Inhalt einer Dateifreigabe mit einer anderen Dateifreigabe synchronisieren. Sie können auch den Inhalt eines Verzeichnisses in einer Dateifreigabe mit dem Inhalt eines Verzeichnisses synchronisieren, das sich in einer anderen Dateifreigabe befindet. Die Synchronisierung erfolgt unidirektional. Anders gesagt: Sie wählen aus, welcher der beiden Endpunkte die Quelle und welcher das Ziel ist. Bei der Synchronisierung werden auch Server-zu-Server-APIs verwendet.
Hinweis
Zurzeit wird dieses Szenario bei Konten unterstützt, die hierarchische Namespaces über den Blobendpunkt aktiviert haben.
Warnung
Die AzCopy-Synchronisierung wird unterstützt, für Azure Files aber nicht vollständig empfohlen. Die AzCopy-Synchronisierung unterstützt keine differenziellen Kopien im großen Stil, und einiges an Dateigenauigkeit könnte verloren gehen. Weitere Informationen finden Sie unter Migrieren zu Azure-Dateifreigaben.
Richtlinien
Standardmäßig vergleicht der Befehl sync Dateinamen und Zeitstempel der letzten Änderung. Sie können dieses Verhalten außer Kraft setzen, um MD5-Hashes anstelle von Zeitstempeln der letzten Änderung zu verwenden, indem Sie das Flag --compare-hash
verwenden. Legen Sie das optionale Flag --delete-destination
auf den Wert true
oder prompt
fest, um Dateien im Zielverzeichnis zu löschen, wenn diese im Quellverzeichnis nicht mehr vorhanden sind.
Wenn Sie das Flag
--delete-destination
auftrue
festlegen, löscht AzCopy Dateien, ohne zur Bestätigung aufzufordern. Wenn eine Bestätigungsaufforderung angezeigt werden soll, bevor AzCopy eine Datei löscht, legen Sie das--delete-destination
-Flag aufprompt
fest.Wenn Sie das Flag
--delete-destination
aufprompt
oderfalse
festlegen möchten, sollten Sie den Befehl copy anstelle des Befehls sync verwenden und den Parameter--overwrite
aufifSourceNewer
festlegen. Der Befehl copy verbraucht weniger Arbeitsspeicher und verursacht weniger Abrechnungskosten, weil die Quelle oder das Ziel bei einem Kopiervorgang vor dem Verschieben von Dateien nicht indiziert werden muss.Wenn Sie nicht planen, das Flag
--compare-hash
zu verwenden, sollte der Computer, auf dem Sie den Synchronisierungsbefehl ausführen, über eine genaue Systemuhr verfügen, da die Uhrzeiten der letzten Änderung bei der Entscheidung über die Übertragung einer Datei maßgeblich sind. Wenn die Zeit Ihres Systems erheblich abweicht, sollten Sie Dateien am Ziel nicht zu nahe an dem Zeitpunkt ändern, zu dem Sie einen Synchronisierungsbefehl ausführen möchten.AzCopy verwendet Server-zu-Server-APIs, um Daten zwischen Speicherkonten zu synchronisieren. Das bedeutet, dass Daten zwischen Speicherservern direkt kopiert werden. Allerdings wird jede Übertragung von AzCopy eingerichtet und überwacht, und bei umfangreicheren Speicherkonten (z. B. Konten, die Millionen von Blobs umfassen) benötigt AzCopy u. U. eine erhebliche Menge an Computeressourcen, um diese Aufgaben zu bewältigen. Wenn Sie AzCopy auf einer VM ausführen, stellen Sie daher sicher, dass der VM genügend Kerne/Arbeitsspeicher zur Verfügung stehen, um die Last zu bewältigen.
Tipp
Sie können den Synchronisierungsvorgang mit optionalen Flags optimieren. Hier sind einige Beispiele angegeben.
Szenario | Flag |
---|---|
Kopieren von Zugriffssteuerungslisten (ACLs) zusammen mit den Dateien | --preserve-smb-permissions=[true | false] |
Kopieren von SMB-Eigenschaftsinformationen zusammen mit den Dateien | --preserve-smb-info=[true | false] |
Ausschließen von Dateien basierend auf einem Muster | --exclude-path |
Angeben, wie detailliert die synchronisierungsbezogenen Protokolleinträge sein sollen | --log-level=[WARNING| FEHLER|INFO| NONE] |
Eine vollständige Liste finden Sie unter Optionen.
In den Beispielen in diesem Abschnitt werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Aktualisieren einer Dateifreigabe mit Änderungen an einem lokalen Dateisystem
In diesem Fall ist die Dateifreigabe das Ziel und das lokale Dateisystem die Quelle.
Tipp
In diesem Beispiel werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Syntax
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Beispiel
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive
Aktualisieren eines lokalen Dateisystems mit Änderungen an einer Dateifreigabe
In diesem Fall ist das lokale Dateisystem das Ziel und die Dateifreigabe die Quelle.
Tipp
In diesem Beispiel werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.
Syntax
azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive
Beispiel
azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --recursive
Aktualisieren einer Dateifreigabe mit Änderungen in einer anderen Dateifreigabe
Die erste Dateifreigabe in diesem Befehl ist die Quelle. Das zweite ist das Ziel.
Syntax
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
Beispiel
azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Aktualisieren eines Verzeichnisses mit Änderungen in einem Verzeichnis in einer anderen Dateifreigabe
Das erste Verzeichnis in diesem Befehl ist die Quelle. Das zweite ist das Ziel.
Syntax
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
Beispiel
azcopy sync 'https://mysourceaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Aktualisieren einer Dateifreigabe zur Angleichung an den Inhalt einer Freigabemomentaufnahme
Die erste Dateifreigabe in diesem Befehl ist die Quelle. Fügen Sie am Ende des URI die Zeichenfolge &sharesnapshot=
gefolgt vom Wert DateTime der Momentaufnahme an.
Syntax
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
Beispiel
azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-03-03T20%3A24%3A13.0000000Z' 'https://mydestinationaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true
Weitere Informationen zu Freigabemomentaufnahmen finden Sie unter Übersicht über Freigabemomentaufnahmen für Azure Files.
Nächste Schritte
Weitere Beispiele finden Sie in den folgenden Artikeln:
Lesen Sie diese Artikel, um Einstellungen zu konfigurieren, die Leistung zu optimieren und Probleme zu beheben: