Udostępnij przez


Transferowanie danych za pomocą narzędzia AzCopy i magazynu plików

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

azcopy make 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]'

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)

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

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

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --preserve-permissions=true --preserve-info=true

Przykład (migawka udziału)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

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-destination na prompt.

  • Jeśli planujesz ustawić flagę --delete-destination na prompt lub false, rozważ użycie polecenia copy zamiast polecenia synchronizacji i ustaw --overwrite parametr na ifSourceNewer. 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: