Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
AzCopy to narzędzie wiersza polecenia, którego można użyć do kopiowania plików na konto magazynu lub z niego. Ten artykuł zawiera przykładowe polecenia, które działają z usługą Azure Files.
Wprowadzenie
Zapoznaj się z artykułem Wprowadzenie do narzędzia AzCopy, aby pobrać narzędzie AzCopy i dowiedzieć się więcej o sposobach udostępniania poświadczeń autoryzacji do usługi magazynu.
Uwaga
W przykładach w tym artykule pokazano użycie tokenu SAS do autoryzowania dostępu. Jednak w przypadku poleceń docelowych plików i katalogów można teraz podać poświadczenia autoryzacji przy użyciu identyfikatora Entra firmy Microsoft i pominąć token SAS z tych poleceń. Nadal musisz użyć tokenu SAS w dowolnym poleceniu, które jest przeznaczone tylko dla udziału plików lub konta (na przykład: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' lub 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.
Aby dowiedzieć się więcej, zobacz Autoryzowanie narzędzia AzCopy
Napiwek
W przypadku korzystania z systemu plików NFS usługi Azure Files należy określić przełącznik CLI --from-to z jedną z następujących obsługiwanych opcji: FileNFSLocal, LocalFileNFS, lub FileNFSFileNFS w poleceniach.
Scenariusze przekazywania i pobierania korzystające z plików LocalFileNFS i FileNFSLocal są obsługiwane tylko w lokalnych środowiskach systemu Linux. Te operacje nie są obsługiwane w systemie Windows lub macOS. Z kolei scenariusz FileNFSFileNFS, który korzysta z interfejsu API kopiowania serwer-serwer, jest obsługiwany w systemach Windows, Linux i macOS. Możesz uruchomić skojarzone polecenia z dowolnej z tych platform.
Tworzenie udziałów plików
Aby utworzyć udział plików, możesz użyć polecenia azcopy make . W przykładzie w tej sekcji tworzony jest udział plików o nazwie myfileshare.
Uwaga
AzCopy w wersji 10.30.0 wprowadza zmianę wprowadzającą niekompatybilność, przez którą nie tworzy już automatycznie udziałów plików na potrzeby transferów obejmujących usługę Azure Files przy użyciu protokołów NFS lub SMB.
Napiwek
W tym przykładzie argumenty ścieżki są ujęte w apostrofy (''). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Składnia
azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'
Przykład
Aby uzyskać szczegółowe dokumenty referencyjne, zobacz azcopy make.
Przekaż pliki
Użyj polecenia azcopy copy , aby przekazać pliki i katalogi z komputera lokalnego.
Napiwek
Przykłady w tej sekcji ująć argumenty ścieżki za pomocą cudzysłowów pojedynczych (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Ta sekcja zawiera następujące przykłady:
- Przekazywanie pliku
- Przekazywanie katalogu
- Przekazywanie zawartości katalogu
- Przekazywanie określonego pliku
Napiwek
Użyj opcjonalnych flag w celu dostosowania operacji przesyłania. Oto kilka przykładów:
| Scenariusz | Flaga |
|---|---|
| Skopiuj listy kontroli dostępu (ACL) wraz z plikami. | --preserve-permissions=[true|false] |
| Skopiuj informacje o właściwości protokołu SMB wraz z plikami. | --preserve-info=[prawda|fałsz] |
Aby uzyskać pełną listę, zobacz opcje.
Uwaga
Narzędzie AzCopy nie oblicza automatycznie i nie przechowuje kodu skrótu MD5 pliku dla pliku większego niż 256 MB. Jeśli chcesz to zrobić za pomocą narzędzia AzCopy, dołącz flagę --put-md5 do każdego polecenia kopiowania. Dzięki temu po pobraniu pliku narzędzie AzCopy oblicza skrót MD5 dla pobranych danych i sprawdza, czy skrót MD5 przechowywany we właściwości pliku Content-md5 jest zgodny z obliczonym skrótem.
Przekazywanie pliku
Składnia
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
Plik można również przekazać przy użyciu symbolu wieloznacznego (*) w dowolnym miejscu w ścieżce pliku lub nazwie pliku. Na przykład: 'C:\myDirectory\*.txt', lub C:\my*\*.txt.
Przekazywanie katalogu
Ten przykład kopiuje katalog i wszystkie pliki w tym katalogu do udostępnionego zasobu. Wynikiem jest katalog w udziale plików o tej samej nazwie.
Składnia
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
Aby skopiować do katalogu w udziale plików, wystarczy określić nazwę tego katalogu w ciągu polecenia.
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Jeśli określisz nazwę katalogu, który nie istnieje w udziale plików, narzędzie AzCopy utworzy nowy katalog o tej nazwie.
Przekazywanie zawartości katalogu
Zawartość katalogu można przekazać bez kopiowania samego katalogu, używając symbolu wieloznacznego (*).
Składnia
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
Uwaga
Aby załadować pliki we wszystkich podkatalogach, dodaj flagę --recursive.
Przekazywanie określonych plików
Określone pliki można przekazać przy użyciu pełnych nazw plików, częściowych nazw z symbolami wieloznacznymi (*), lub przy użyciu dat i godzin.
Określanie wielu pełnych nazw plików
Użyj polecenia azcopy copy z opcją --include-path . Oddzielaj poszczególne nazwy plików średnikami (;).
Składnia
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
W tym przykładzie narzędzie AzCopy przesyła C:\myDirectory\photos katalog i C:\myDirectory\documents\myFile.txt plik. Należy dołączyć --recursive opcję transferu wszystkich plików w C:\myDirectory\photos katalogu.
Możesz również wykluczyć pliki przy użyciu --exclude-path opcji . Aby dowiedzieć się więcej, zobacz azcopy copy reference docs (Dokumentacja dotycząca narzędzia azcopy copy ).
Używanie symboli wieloznacznych
Użyj polecenia azcopy copy z opcją --include-pattern . Określ nazwy częściowe, które zawierają symbole wieloznaczne. Oddzielaj nazwy średnikami (;).
Składnia
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
Możesz również wykluczyć pliki przy użyciu --exclude-pattern opcji . Aby dowiedzieć się więcej, zobacz azcopy copy reference docs (Dokumentacja dotycząca narzędzia azcopy copy ).
Opcje --include-pattern i --exclude-pattern dotyczą tylko nazw plików, a nie do ścieżki. Jeśli chcesz skopiować wszystkie pliki tekstowe, które istnieją w drzewie katalogów, użyj --recursive opcji , aby pobrać całe drzewo katalogów, a następnie użyj --include-pattern elementu i określ *.txt , aby pobrać wszystkie pliki tekstowe.
Przekazywanie plików zmodyfikowanych po dacie i godzinie
Użyj polecenia azcopy copy z opcją --include-after . Określ datę i godzinę w formacie ISO 8601 (na przykład: 2020-08-19T15:04:00Z).
Składnia
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
Określanie typów źródła i celu podczas przesyłania obiektów blob
Narzędzie AzCopy używa parametru --from-to do jawnego zdefiniowania typów zasobów źródłowych i docelowych, gdy automatyczne wykrywanie może zakończyć się niepowodzeniem, na przykład w scenariuszach potokowych lub emulatorach. Ten parametr pomaga narzędziu AzCopy zrozumieć kontekst transferu i odpowiednio zoptymalizować.
| Wartość FromTo | Description |
|---|---|
LocalFileSMB |
Przekazywanie z lokalnego systemu plików do udziału SMB w usłudze Azure File Storage |
LocalFileNFS |
Przekazywanie z lokalnego systemu plików (tylko system Linux) do udziału NFS w usłudze Azure File Storage |
PipeFile |
Przesyłanie strumieniowe danych z potoku do usługi Azure File Storage |
Pobieranie plików
Użyj polecenia azcopy copy , aby pobrać pliki, katalogi i udziały plików na komputer lokalny.
Napiwek
Przykłady w tej sekcji ująć argumenty ścieżki za pomocą cudzysłowów pojedynczych (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Ta sekcja zawiera następujące przykłady:
- Pobieranie pliku
- Pobieranie katalogu
- Pobieranie zawartości katalogu
- Pobieranie określonych plików
Napiwek
Użyj opcjonalnych flag, aby dostosować operację pobierania. Oto kilka przykładów:
| Scenariusz | Flaga |
|---|---|
| Skopiuj listy kontroli dostępu (ACL) wraz z plikami. | --preserve-permissions=[true|false] |
| Skopiuj informacje o właściwości protokołu SMB wraz z plikami. | --preserve-info=[prawda|fałsz] |
| Automatycznie dekompresuj pliki. | --Dekompresji |
Aby uzyskać pełną listę, zobacz opcje.
Uwaga
Content-md5 Jeśli wartość właściwości pliku zawiera skrót, narzędzie AzCopy oblicza skrót MD5 dla pobranych danych i sprawdza, czy skrót MD5 przechowywany we właściwości pliku Content-md5 jest zgodny z wartością skrótu obliczeniowego. Jeśli te wartości nie są zgodne, pobieranie zakończy się niepowodzeniem, chyba że to zachowanie zostanie zastąpione przez dołączenie --check-md5=NoCheck lub --check-md5=LogOnly polecenie kopiowania.
Pobieranie pliku
Składnia
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
Pobieranie katalogu
Składnia
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
W tym przykładzie zostanie utworzony katalog o nazwie C:\myDirectory\myFileShareDirectory zawierający wszystkie pobrane pliki.
Pobieranie zawartości katalogu
Możesz pobrać zawartość katalogu bez kopiowania samego katalogu, korzystając z symbolu wieloznacznego (*).
Składnia
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
Uwaga
Aby pobrać pliki we wszystkich podkatalogach, dodaj flagę --recursive .
Pobieranie określonych plików
Określone pliki można pobrać przy użyciu pełnych nazw plików, częściowych nazw z symbolami wieloznacznymi (*), lub przy użyciu dat i godzin.
Określanie wielu pełnych nazw plików
Użyj polecenia azcopy copy z opcją --include-path . Oddzielaj poszczególne nazwy plików średnikami (;).
Składnia
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
W tym przykładzie narzędzie AzCopy przesyła https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos katalog i https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt plik. Uwzględnij --recursive opcję transferu wszystkich plików w https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos katalogu.
Możesz również wykluczyć pliki przy użyciu --exclude-path opcji . Aby dowiedzieć się więcej, zobacz azcopy copy reference docs (Dokumentacja dotycząca narzędzia azcopy copy ).
Używanie symboli wieloznacznych
Użyj polecenia azcopy copy z opcją --include-pattern . Określ nazwy częściowe, które zawierają symbole wieloznaczne. Oddzielaj nazwy średnikami (;).
Składnia
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
Możesz również wykluczyć pliki przy użyciu --exclude-pattern opcji . Aby dowiedzieć się więcej, zobacz azcopy copy reference docs (Dokumentacja dotycząca narzędzia azcopy copy ).
Opcje --include-pattern i --exclude-pattern dotyczą tylko nazw plików, a nie do ścieżki. Jeśli chcesz skopiować wszystkie pliki tekstowe, które istnieją w drzewie katalogów, użyj --recursive opcji , aby pobrać całe drzewo katalogów, a następnie użyj --include-pattern elementu i określ *.txt , aby pobrać wszystkie pliki tekstowe.
Pobieranie plików zmodyfikowanych po dacie i godzinie
Użyj polecenia azcopy copy z opcją --include-after . Określ datę i godzinę w formacie ISO-8601 (na przykład: 2020-08-19T15:04:00Z).
Składnia
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
Aby uzyskać szczegółowe informacje, zobacz dokumentację dotyczącą narzędzia azcopy copy .
Pobieranie z migawki udziału
Określoną wersję pliku lub katalogu można pobrać, odwołując się do wartości DateTime migawki udziału. Aby dowiedzieć się więcej na temat migawek udziałów, zobacz Omówienie migawek udziałów dla usługi Azure Files.
Składnia
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>'
Przykład (pobieranie pliku)
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
Przykład (pobieranie katalogu)
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
Określanie typów źródłowych i docelowych podczas pobierania plików
Narzędzie AzCopy używa parametru --from-to do jawnego zdefiniowania typów zasobów źródłowych i docelowych, gdy automatyczne wykrywanie może zakończyć się niepowodzeniem, na przykład w scenariuszach potokowych lub emulatorach. Ten parametr pomaga narzędziu AzCopy zrozumieć kontekst transferu i odpowiednio zoptymalizować.
| Wartość FromTo | Description |
|---|---|
FileSMBLocal |
Pobieranie z udziału SMB w usłudze Azure File Storage do lokalnego systemu plików |
FileNFSLocal |
Pobieranie z udziału NFS w usłudze Azure File Storage do lokalnego systemu plików (tylko system Linux) |
FileSMBLocal |
Pobieranie z udziału SMB do lokalnego systemu plików |
FilePipe |
Przesyłanie strumieniowe danych z usługi Azure File Storage do potoku |
kopiować pliki między kontami magazynu;
Narzędzie AzCopy umożliwia kopiowanie plików na inne konta magazynu. Operacja kopiowania jest synchroniczna, więc wszystkie pliki są kopiowane po powrocie polecenia.
Narzędzie AzCopy używa interfejsów API między serwerami, dlatego dane są kopiowane bezpośrednio między serwerami pamięci masowej. Przepływność tych operacji można zwiększyć, ustawiając wartość zmiennej środowiskowej AZCOPY_CONCURRENCY_VALUE . Aby dowiedzieć się więcej, zobacz Zwiększanie współbieżności.
Można również skopiować określone wersje pliku, odwołując się do wartości DateTime migawki udziału. Aby dowiedzieć się więcej na temat migawek udziałów, zobacz Omówienie migawek udziałów dla usługi Azure Files.
Napiwek
Przykłady w tej sekcji ująć argumenty ścieżki za pomocą cudzysłowów pojedynczych (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Ta sekcja zawiera następujące przykłady:
- Kopiowanie pliku na inne konto magazynu
- Kopiowanie katalogu na inne konto magazynu
- Kopiowanie udziału plików na inne konto magazynu
- Kopiowanie wszystkich udziałów plików, katalogów i plików na inne konto usługi Storage
Napiwek
Operację kopiowania można dostosować przy użyciu opcjonalnych flag. Oto kilka przykładów.
| Scenariusz | Flaga |
|---|---|
| Skopiuj listy kontroli dostępu (ACL) wraz z plikami. | --preserve-permissions=[true|false] |
| Skopiuj informacje o właściwości protokołu SMB wraz z plikami. | --preserve-info=[prawda|fałsz] |
Aby uzyskać pełną listę, zobacz opcje.
Kopiowanie pliku na inne konto magazynu
Składnia
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>'
Przykład
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
Przykład (migawka udziału)
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
Kopiowanie katalogu na inne konto magazynu
Składnia
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
Przykład
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
Przykład (migawka udziału)
Kopiowanie udziału plików na inne konto magazynu
Składnia
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
Przykład
Przykład (migawka udziału)
Kopiowanie wszystkich udziałów plików, katalogów i plików na inne konto usługi Storage
Składnia
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'
Przykład
azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Przykład (migawka udziału)
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
Określanie typów źródłowych i docelowych podczas kopiowania plików
Narzędzie AzCopy używa parametru --from-to do jawnego zdefiniowania typów zasobów źródłowych i docelowych, gdy automatyczne wykrywanie może zakończyć się niepowodzeniem, na przykład w scenariuszach potokowych lub emulatorach. Ten parametr pomaga narzędziu AzCopy zrozumieć kontekst transferu i odpowiednio zoptymalizować.
| Wartość FromTo | Description |
|---|---|
FileBlob |
Kopiowanie z usługi Azure File Storage do usługi Azure Blob Storage |
FileBlobFS |
Kopiowanie z usługi Azure File Storage do usługi Azure Data Lake Gen2 (BlobFS) |
FileSMBFileSMB |
Kopiowanie między dwoma udziałami SMB w usłudze Azure File Storage |
FileNFSFileNFS |
Kopiowanie między dwoma udziałami NFS w usłudze Azure File Storage |
FileNFSFileSMB |
Kopiowanie z Azure File Storage NFS do Azure Files Storage SMB |
FileSMBFileNFS |
Kopiowanie z protokołu SMB usługi Azure File Storage do usługi Azure Files Storage NFS |
Synchronizowanie plików
Zawartość lokalnego systemu plików można zsynchronizować z udziałem plików lub zsynchronizować zawartość udziału plików z innym udziałem plików. Można również zsynchronizować zawartość katalogu w udziale plików z zawartością katalogu znajdującego się w innym udziale plików. Synchronizacja jest jednym ze sposobów. Innymi słowy, wybierasz, który z tych dwóch punktów końcowych jest źródłem i który z nich jest miejscem docelowym. Synchronizacja używa również serwera do interfejsów API serwera.
Ostrzeżenie
Synchronizacja narzędzia AzCopy jest obsługiwana, ale nie jest w pełni zalecana w przypadku usługi Azure Files. Synchronizacja AzCopy obsługuje maksymalnie 10 milionów plików na każde zadanie AzCopy, a wierność plików może zostać częściowo utracona, ponieważ AzCopy używa interfejsów REST API Azure Files do kopiowania zawartości na udział Azure Files. Aby dowiedzieć się więcej, zobacz Migrowanie do udziałów plików platformy Azure.
Wytyczne
Domyślnie polecenie synchronizacji porównuje nazwy plików i ostatnio zmodyfikowane znaczniki czasu. To zachowanie można zastąpić, aby użyć skrótów MD5 zamiast ostatniej modyfikacji sygnatur czasowych przy użyciu flagi --compare-hash .
--delete-destination Ustaw opcjonalną flagę na wartość true lub prompt usuń pliki w katalogu docelowym, jeśli te pliki nie istnieją już w katalogu źródłowym.
Jeśli flaga zostanie ustawiona na
--delete-destinationtrue, narzędzie AzCopy usuwa pliki bez wyświetlania monitu. Jeśli chcesz wyświetlić monit przed usunięciem pliku za pomocą narzędzia AzCopy, ustaw flagę--delete-destinationnaprompt.Jeśli planujesz ustawić flagę
--delete-destinationnapromptlubfalse, rozważ użycie polecenia copy zamiast polecenia synchronizacji i ustaw--overwriteparametr naifSourceNewer. Polecenie kopiowania zużywa mniej pamięci i wiąże się z mniejszymi kosztami rozliczeniowymi, ponieważ operacja kopiowania nie musi indeksować źródła ani miejsca docelowego przed przeniesieniem plików.Jeśli nie planujesz używać flagi
--compare-hash, maszyna, na której uruchomiono polecenie synchronizacji, powinna mieć dokładny zegar systemowy, ponieważ czasy ostatniej modyfikacji mają krytyczne znaczenie podczas określania, czy plik powinien zostać przeniesiony. Jeśli system ma znaczne niesymetryczność zegara, należy unikać modyfikowania plików w miejscu docelowym zbyt blisko czasu, w którym planujesz uruchomić polecenie synchronizacji.Narzędzie AzCopy używa interfejsów API serwer-serwer do synchronizowania danych między kontami magazynu. Oznacza to, że dane są kopiowane bezpośrednio między serwerami magazynu. Jednak narzędzie AzCopy konfiguruje i monitoruje każdy transfer oraz w przypadku większych kont magazynu (na przykład kont zawierających miliony obiektów blob), narzędzie AzCopy może wymagać znacznej ilości zasobów obliczeniowych do wykonania tych zadań. W związku z tym, jeśli używasz narzędzia AzCopy z maszyny wirtualnej, upewnij się, że maszyna wirtualna ma wystarczającą ilość rdzeni/pamięci do obsługi obciążenia.
Napiwek
Operację synchronizacji można dostosować przy użyciu opcjonalnych flag. Oto kilka przykładów.
| Scenariusz | Flaga |
|---|---|
| Skopiuj listy kontroli dostępu (ACL) wraz z plikami. | --preserve-permissions=[true|false] |
| Skopiuj informacje o właściwości protokołu SMB wraz z plikami. | --preserve-info=[prawda|fałsz] |
| Wyklucz pliki na podstawie wzorca. | --exclude-path |
| Określ, jak szczegółowe mają być wpisy dziennika związane z synchronizacją. | --log-level=[OSTRZEŻENIE|BŁĄD|INFO|BRAK] |
Aby uzyskać pełną listę, zobacz opcje.
Przykłady w tej sekcji ująć argumenty ścieżki za pomocą cudzysłowów pojedynczych (""). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Aktualizowanie udziału plików przy użyciu zmian w lokalnym systemie plików
W takim przypadku udział plików jest miejscem docelowym, a lokalny system plików jest źródłem.
Napiwek
W tym przykładzie argumenty ścieżki są ujęte w apostrofy (''). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Składnia
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive
Przykład
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' --recursive
Aktualizowanie lokalnego systemu plików przy użyciu zmian w udziale plików
W takim przypadku lokalny system plików jest miejscem docelowym, a udział plików jest źródłem.
Napiwek
W tym przykładzie argumenty ścieżki są ujęte w apostrofy (''). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Składnia
azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive
Przykład
azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' 'C:\myDirectory' --recursive
Aktualizowanie udziału plików za pomocą zmian z innego udziału plików
Pierwszym udziałem plików w tym poleceniu jest źródło. Polecenie kopiuje zmiany z tego źródłowego udziału plików. Drugi zasób plików jest miejscem docelowym.
Składnia
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
Przykład
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
Aktualizowanie katalogu za pomocą zmian w katalogu w innym udziale plików
Pierwszym katalogem wyświetlanym w tym poleceniu jest źródło. Drugi to miejsce docelowe.
Składnia
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
Przykład
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
Aktualizowanie udziału plików w celu dopasowania zawartości migawki udziału
Pierwszym udziałem plików wyświetlanym w tym poleceniu jest źródło. Na końcu identyfikatora URI dołącz ciąg &sharesnapshot= , po którym następuje wartość DateTime migawki.
Składnia
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
Przykład
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
Aby dowiedzieć się więcej na temat migawek udziałów, zobacz Omówienie migawek udziałów dla usługi Azure Files.
Właściwości i uprawnienia do zachowania
Napiwek
Podczas pobierania plików do lokalnego systemu Linux potrzebne są podniesione uprawnienia, jeśli określony właściciel lub grupa różni się od bieżącego użytkownika. Aby zmienić własność lub grupę pobranych plików, uruchom polecenie azcopy za pomocą polecenia sudo lub jako użytkownik główny.
| Typ | Właściwości (--preserve-info) | Uprawnienia (--preserve-permissions) |
|---|---|---|
| Azure Files SMB | NTFSFileAttributes (TylkoDoOdczytu, Ukryty, Systemowy, Katalog, Archiwum, Brak, Tymczasowy, Offline, NieIndeksowane, BrakScrubData) (x-ms-file-attributes) CzasUtworzenia (x-ms-file-creation-time) CzasOstatniejModyfikacji (x-ms-file-last-write-time) |
Listy kontroli dostępu (ACL) (x-ms-file-permission) |
| Azure Files NFS | CzasUtworzenia (x-ms-file-creation-time) CzasOstatniejModyfikacji (x-ms-file-last-write-time) |
Właściciel (x-ms-owner) Grupa (x-ms-group) FileMode (x-ms-mode) |
Następne kroki
Więcej przykładów można znaleźć w następujących artykułach:
Zobacz następujące artykuły, aby skonfigurować ustawienia, zoptymalizować wydajność i rozwiązać problemy: