Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
AzCopy to narzędzie wiersza poleceń, którego można użyć do kopiowania plików na konto magazynowe lub z niego. Ten artykuł zawiera przykładowe polecenia, które działają z usługą Azure Files.
Wprowadzenie
Zobacz artykuł Wprowadzenie do narzędzia AzCopy, aby pobrać AzCopy i dowiedzieć się więcej o sposobach udostępniania poświadczeń autoryzacji do usługi Storage.
Uwaga
W przykładach w tym artykule pokazano użycie tokenu SAS do autoryzowania dostępu. Jednak w przypadku poleceń skierowanych na pliki i katalogi można teraz podać poświadczenia autoryzacji, używając Microsoft Entra ID, i pominąć token SAS w tych poleceniach. 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
Wskazówka
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
Możesz użyć polecenia azcopy make, aby utworzyć udział plików. Przykład w tej sekcji tworzy 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.
Wskazówka
W tym przykładzie argumenty ścieżki są ujęte w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
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.
Wskazówka
Przykłady w tej sekcji ujmują argumenty ścieżki w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
Ta sekcja zawiera następujące przykłady:
- Przekazywanie pliku
- Przekazanie katalogu
- Przesyłanie zawartości katalogu
- Prześlij określony plik
Wskazówka
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żesz również załadować 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.
Przekazanie 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.
Przesyłanie 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 przesłać 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 parametrem --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. Aby przenieść wszystkie pliki w katalogu --recursive, należy dołączyć opcję C:\myDirectory\photos.
Możesz również wykluczyć pliki przy użyciu --exclude-path opcji . Aby dowiedzieć się więcej, zobacz dokumentację referencyjną azcopy copy.
Używanie symboli wieloznacznych
Użyj polecenia azcopy copy z parametrem --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 dokumentację referencyjną 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 opcji --recursive , aby pobrać całe drzewo katalogów, a następnie użyj --include-pattern i określ *.txt , aby pobrać wszystkie pliki tekstowe.
Przekazywanie plików zmodyfikowanych po dacie i godzinie
Użyj polecenia azcopy copy z parametrem --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 |
Przesyłanie 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 |
Strumieniowanie 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.
Wskazówka
Przykłady w tej sekcji ujmują argumenty ścieżki w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
Ta sekcja zawiera następujące przykłady:
- Pobieranie pliku
- Pobieranie katalogu
- Pobieranie zawartości katalogu
- Pobieranie określonych plików
Wskazówka
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. | --dekompresuj |
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 do polecenia 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 parametrem --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 opcję --recursive transferu wszystkich plików w katalogu https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos.
Możesz również wykluczyć pliki przy użyciu --exclude-path opcji . Aby dowiedzieć się więcej, zobacz dokumentację referencyjną azcopy copy.
Używanie symboli wieloznacznych
Użyj polecenia azcopy copy z parametrem --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 dokumentację referencyjną 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 opcji --recursive , aby pobrać całe drzewo katalogów, a następnie użyj --include-pattern i określ *.txt , aby pobrać wszystkie pliki tekstowe.
Pobieranie plików zmodyfikowanych po dacie i godzinie
Użyj polecenia azcopy copy z parametrem --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 |
Strumieniowanie danych z Azure File Storage do potoku |
Kopiuj pliki między kontami magazynowymi
Narzędzie AzCopy umożliwia kopiowanie plików na inne konta magazynowe. 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.
Wskazówka
Przykłady w tej sekcji ujmują argumenty ścieżki w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
Ta sekcja zawiera następujące przykłady:
- Kopiowanie pliku do innego konta przestrzeni magazynowej
- Skopiuj katalog na inne konto przechowywania
- Kopiowanie zasobu plików na inne konto przechowywania
- Kopiowanie wszystkich udziałów plików, katalogów i plików na inne konto usługi Storage
Wskazówka
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 do innego konta przestrzeni magazynowej
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 udostępniania)
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
Skopiuj katalog na inne konto przechowywania
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 udostępniania)
Kopiowanie zasobu plików na inne konto przechowywania
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 udostępniania)
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 udostępniania)
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 zasobami SMB w usłudze Azure Files |
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 zasobem plików lub zsynchronizować zawartość zasobu plików z innym zasobem 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ż interfejsów API serwer-serwer.
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 do 10 milionów plików na zadanie AzCopy, a część dokładności plików może zostać utracona, ponieważ AzCopy używa interfejsów API REST Azure Files do kopiowania zawartości do udziału Azure Files. Aby dowiedzieć się więcej, zobacz Migrate to SMB Azure udostępnianie plików. Bieżąca wersja AzCopy nie obsługuje synchronizowania Azure Files z usługą Azure Blob Storage.
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 znaczników czasowych ostatniej modyfikacji 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 magazynowania. Oznacza to, że dane są kopiowane bezpośrednio między serwerami przechowywania danych. Jednak AzCopy konfiguruje i monitoruje każdy transfer, a w przypadku większych kont magazynowych (na przykład kont zawierających miliony obiektów blob), 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.
Wskazówka
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|INFORMACJA|BRAK] |
Aby uzyskać pełną listę, zobacz opcje.
Przykłady w tej sekcji ujmują argumenty ścieżki w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
Zaktualizować zasób współdzielony zgodnie ze zmianami w lokalnym systemie plików
W takim przypadku udział sieciowy jest miejscem docelowym, natomiast lokalny system plików jest źródłem.
Wskazówka
W tym przykładzie argumenty ścieżki są ujęte w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
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.
Wskazówka
W tym przykładzie argumenty ścieżki są ujęte w pojedyncze cudzysłowy (''). 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), umieść argumenty ścieżki w podwójnych cudzysłowach ("") zamiast pojedynczych ('').
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
Zaktualizuj udostępnienie plików, aby dopasować zawartość migawki udostępnienia
Pierwszy udział plików wyświetlany w tym poleceniu jest źródłem. Na końcu identyfikatora URI dołącz ciąg &sharesnapshot=, a następnie 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
Wskazówka
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) |
Obsługa twardych dowiązań w usłudze Azure Files NFS
AzCopy obsługuje konfigurowalną obsługę plików połączonych twardymi łączami podczas transferu danych z użyciem Azure Files NFS, w tym przesyłanie do udziałów Azure Files NFS, pobieranie z udziałów Azure Files NFS oraz transfery między usługami między udziałami Azure Files NFS. Możesz kontrolować to zachowanie za pomocą opcji --hardlinks.
Tryby dowiązań twardych
Tryb (--hardlinks) |
Zachowanie |
|---|---|
follow (ustawienie domyślne) |
Pliki powiązane na stałe traktowane są jako niezależne pliki i przekazywane oddzielnie. |
skip |
Wszystkie pliki z dowiązaniami twardymi są pomijane podczas przesyłania. |
preserve |
Powiązania twardych łączy zostają zachowane w lokalizacji docelowej. Systemy plików źródłowe i docelowe muszą obsługiwać hardlinki. |
Zachowanie przy użyciu --hardlinks=preserve
Przekazywanie i transfery między usługami (Azure Files NFS jako miejsce docelowe)
Istniejące łącza na miejscu docelowym, które nie są częścią transferu, są zachowywane. AzCopy zapisuje zawartość pliku na miejscu, korzystając z API REST Azure Files, zamiast tymczasowego pliku i zmiany nazwy. W rezultacie inode pliku jest aktualizowany bezpośrednio, a wszystkie istniejące ścieżki powiązane na stałe nadal odwołują się do zaktualizowanych danych.Pobierz (lokalny system plików jako cel)
Istniejące łącza na miejscu docelowym, które nie są częścią transferu, są uszkodzone. AzCopy używa pliku tymczasowego, po którym następuje operacja zmiany nazwy (podobna dorsync), która zastępuje wpis katalogu nowym inode. Istniejące ścieżki powiązane na stałe nadal wskazują na oryginalny inod, a tym samym na nieaktualne dane.
Uwaga
Zachowanie hardlinków wymaga, aby zarówno źródło, jak i miejsce docelowe znajdowały się na systemach plików obsługujących hardlinki.
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: