Aracılığıyla paylaş


AzCopy ve dosya depolama ile verileri aktarma

AzCopy, depolama hesabına veya depolama hesabından dosya kopyalamak için kullanabileceğiniz bir komut satırı yardımcı programıdır. Bu makalede, Azure Dosyalar ile çalışan örnek komutlar yer alır.

Kullanmaya başlayın

AzCopy'yi indirmek için AzCopy'yi kullanmaya başlama makalesine bakın ve depolama hizmetine yetkilendirme kimlik bilgilerini nasıl sağlayabileceğinizi öğrenin.

Not

Bu makaledeki örneklerde erişimi yetkilendirmek için SAS belirteci kullanımı gösterilmektedir. Ancak, dosyaları ve dizinleri hedefleyen komutlar için artık Microsoft Entra Id kullanarak yetkilendirme kimlik bilgilerini sağlayabilir ve bu komutlardan SAS belirtecini atlayabilirsiniz. Yalnızca dosya paylaşımını veya hesabı (örneğin: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' veya 'azcopy copy 'https://mystorageaccount.file.core.windows.net') hedefleyen herhangi bir komutta sas belirteci kullanmanız gerekir.

Daha fazla bilgi edinmek için bkz . AzCopy'yi yetkilendirme

İpucu

Azure Dosyalar NFS kullanırken, CLI anahtarını komutlarınızda şu desteklenen seçeneklerden biriyle belirtmeniz gerekir: --from-to, FileNFSLocal, LocalFileNFS, veya FileNFSFileNFS.

LocalFileNFS ve FileNFSLocal kullanan karşıya yükleme ve indirme senaryoları yalnızca yerel Linux ortamlarında desteklenir. Bu işlemler Windows veya macOS'ta desteklenmez. Buna karşılık, sunucudan sunucuya kopyalama API'sini kullanan FileNFSFileNFS senaryosu Windows, Linux ve macOS genelinde desteklenir. İlişkili komutları bu platformlardan herhangi birinden çalıştırabilirsiniz.

Dosya paylaşımları oluşturma

Dosya paylaşımı oluşturmak için azcopy make komutunu kullanabilirsiniz. Bu bölümdeki örnek adlı myfilesharebir dosya paylaşımı oluşturur.

Not

AzCopy sürüm 10.30.0, artık NFS veya SMB protokollerini kullanarak Azure Dosyalar'la ilgili aktarımlar için otomatik olarak dosya paylaşımları oluşturmadığı bir hataya neden olan bir değişiklik sağlar.

İpucu

Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Söz dizimi

azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'

Örnek

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

Ayrıntılı başvuru belgeleri için bkz . azcopy make.

Dosya yükle

Yerel bilgisayarınızdan dosya ve dizinleri karşıya yüklemek için azcopy copy komutunu kullanın.

İpucu

Bu bölümdeki örnekler yol bağımsız değişkenlerini tek tırnak ('') içine almaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Bu bölüm aşağıdaki örnekleri içerir:

  • Dosyayı karşıya yükleme
  • Dizini karşıya yükleme
  • Dizinin içeriğini karşıya yükleme
  • Belirli bir dosyayı karşıya yükleme

İpucu

Yükleme işleminizi özelleştirmek için isteğe bağlı bayrakları kullanın. İşte birkaç örnek:

Senaryo Bayrak
Erişim denetim listelerini (ACL' ler) dosyalarla birlikte kopyalayın. --preserve-permissions=[true|false]
Dosyalarla birlikte SMB özellik bilgilerini de kopyalayın. --preserve-info=[true|false]

Tam liste için bkz . seçenekler.

Not

AzCopy, 256 MB'tan büyük bir dosya için dosyanın MD5 karma kodunu otomatik olarak hesaplamaz ve depolamaz. AzCopy'nin bunu gerçekleştirmesini istiyorsanız, her kopyalama komutuna --put-md5 bayrağını ekleyin. Bu şekilde, dosya indirildiğinde AzCopy indirilen veriler için bir MD5 karması hesaplar ve dosyanın Content-md5 özelliğinde depolanan MD5 karması ile hesaplanan karmanın eşleşip eşleşmediğini doğrular.

Dosyayı karşıya yükleme

Söz dizimi

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

Dosya yolunun veya dosya adının herhangi bir yerinde joker karakter simgesi (*) kullanarak da dosyayı karşıya yükleyebilirsiniz. Örneğin: 'C:\myDirectory\*.txt', veya C:\my*\*.txt.

Dizini karşıya yükleme

Bu örnek, bir dizini ve bu dizindeki tüm dosyaları bir dosya paylaşımına kopyalar. Sonuç, dosya paylaşımında aynı ada sahip bir dizindir.

Söz dizimi

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

Dosya paylaşımındaki bir dizine kopyalamak için, komut dizenizde bu dizinin adını belirtmeniz gerekir.

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-info=true

Dosya paylaşımında mevcut olmayan bir dizinin adını belirtirseniz, AzCopy bu ada göre yeni bir dizin oluşturur.

Dizinin içeriğini karşıya yükleme

Joker karakter simgesini (*) kullanarak içeren dizinin kendisini kopyalamadan bir dizinin içeriğini karşıya yükleyebilirsiniz.

Söz dizimi

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

Not

Tüm alt dizinlerdeki dosyaları karşıya yüklemek için --recursive etiketini ekleyin.

Belirli dosyaları karşıya yükleme

Tam dosya adlarını, joker karakterli kısmi adları (*) veya tarih ve saatleri kullanarak belirli dosyaları karşıya yükleyebilirsiniz.

Birden çok tam dosya adı belirtme

azcopy copy komutunu seçeneğiyle --include-path birlikte kullanın. Tek tek dosya adlarını noktalı virgülle (; ) ayırın.

Söz dizimi

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

Bu örnekte AzCopy, dizini ve C:\myDirectory\photos dosyayı aktarırC:\myDirectory\documents\myFile.txt. Dizindeki --recursive tüm dosyaları C:\myDirectory\photos aktarma seçeneğini eklemeniz gerekir.

Ayrıca seçeneğini kullanarak --exclude-path dosyaları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.

Joker karakter kullanma

azcopy copy komutunu seçeneğiyle --include-pattern birlikte kullanın. Joker karakterleri içeren kısmi adlar belirtin. Adları noktalı virgül (;) kullanarak ayırın.

Söz dizimi

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

Ayrıca seçeneğini kullanarak --exclude-pattern dosyaları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.

--include-pattern ve --exclude-pattern seçenekleri yalnızca dosya adlarına uygulanır, yola uygulanmaz. Bir dizin ağacında bulunan tüm metin dosyalarını kopyalamak istiyorsanız, --recursive dizin ağacının tamamını almak için seçeneğini kullanın ve ardından ve öğesini --include-pattern kullanarak *.txt tüm metin dosyalarını alın.

Tarih ve saatten sonra değiştirilen dosyaları karşıya yükleme

azcopy copy komutunu seçeneğiyle --include-after birlikte kullanın. ISO 8601 biçiminde bir tarih ve saat belirtin (örneğin: 2020-08-19T15:04:00Z).

Söz dizimi

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

Blobları karşıya yüklerken kaynak ve hedef türlerini belirtme

AzCopy, --from-to parametresini otomatik algılamanın başarısız olabileceği boru senaryoları veya öykünücüler gibi durumlarda, kaynak ve hedef türlerini açıkça tanımlamak için kullanır. Bu parametre AzCopy'nin aktarım bağlamını anlamasına ve uygun şekilde iyileştirmesine yardımcı olur.

FromTo Değeri Description
LocalFileSMB Yerel dosya sisteminden Azure Dosya Depolama'daki SMB paylaşımına yükleme
LocalFileNFS Yerel dosya sisteminden (yalnızca Linux) Azure Dosya Depolama'daki NFS paylaşımına yükleme
PipeFile Bir kanaldan Azure Dosya Depolama'ya veri akışı

Dosyaları indirme

Dosyaları, dizinleri ve dosya paylaşımlarını yerel bilgisayarınıza indirmek için azcopy copy komutunu kullanın.

İpucu

Bu bölümdeki örnekler yol bağımsız değişkenlerini tek tırnak ('') içine almaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Bu bölüm aşağıdaki örnekleri içerir:

  • Dosya indirme
  • Dizin indirme
  • Dizinin içeriğini indirme
  • Belirli dosyaları indirme

İpucu

İndirme işleminizi özelleştirmek için isteğe bağlı bayraklar kullanın. İşte birkaç örnek:

Senaryo Bayrak
Erişim denetim listelerini (ACL' ler) dosyalarla birlikte kopyalayın. --preserve-permissions=[true|false]
Dosyalarla birlikte SMB özellik bilgilerini de kopyalayın. --preserve-info=[true|false]
Dosyaları otomatik olarak aç. --Sıkıştırmasını

Tam liste için bkz . seçenekler.

Not

Content-md5 Dosyanın özellik değeri bir karma içeriyorsa, AzCopy indirilen veriler için bir MD5 karması hesaplar ve dosyanın Content-md5 özelliğinde depolanan MD5 karması ile hesaplanan karmanın eşleşip eşleşmediğini doğrular. Bu değerler eşleşmiyorsa, kopyalama komutuna veya --check-md5=NoCheck ekleyerek --check-md5=LogOnly bu davranışı geçersiz kılmadığınız sürece indirme başarısız olur.

Dosya indirme

Söz dizimi

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

Dizin indirme

Söz dizimi

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

Bu örnek, indirilen dosyaların tümünü içeren adlı C:\myDirectory\myFileShareDirectory bir dizin oluşturur.

Dizinin içeriğini indirme

Joker karakter simgesini (*) kullanarak dizinin kendisini kopyalamadan içeriğini indirebilirsiniz.

Söz dizimi

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

Not

Tüm alt dizinlerdeki dosyaları indirmek için bayrağını --recursive ekleyin.

Belirli dosyaları indirme

Tam dosya adlarını, joker karakterli (*) kısmi adları veya tarih ve saatleri kullanarak belirli dosyaları indirebilirsiniz.

Birden çok tam dosya adı belirtme

azcopy copy komutunu seçeneğiyle --include-path birlikte kullanın. Tek tek dosya adlarını noktalı virgülle (; ) ayırın.

Söz dizimi

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

Bu örnekte AzCopy, dizini ve https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos dosyayı aktarırhttps://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt. Dizindeki --recursive tüm dosyaları https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos aktarma seçeneğini ekleyin.

Ayrıca seçeneğini kullanarak --exclude-path dosyaları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.

Joker karakter kullanma

azcopy copy komutunu seçeneğiyle --include-pattern birlikte kullanın. Joker karakterleri içeren kısmi adlar belirtin. Adları noktalı virgül (;) kullanarak ayırın.

Söz dizimi

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

Ayrıca seçeneğini kullanarak --exclude-pattern dosyaları dışlayabilirsiniz. Daha fazla bilgi edinmek için bkz . azcopy copy reference docs.

--include-pattern ve --exclude-pattern seçenekleri yalnızca dosya adlarına uygulanır, yola uygulanmaz. Bir dizin ağacında bulunan tüm metin dosyalarını kopyalamak istiyorsanız, --recursive dizin ağacının tamamını almak için seçeneğini kullanın ve ardından ve öğesini --include-pattern kullanarak *.txt tüm metin dosyalarını alın.

Tarih ve saatten sonra değiştirilen dosyaları indirme

azcopy copy komutunu seçeneğiyle --include-after birlikte kullanın. ISO-8601 biçiminde bir tarih ve saat belirtin (örneğin: 2020-08-19T15:04:00Z).

Söz dizimi

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

Ayrıntılı başvuru için azcopy copy reference belgelerine bakın.

Paylaşım anlık görüntüsünden indirme

Paylaşım anlık görüntüsünün DateTime değerine başvurarak dosya veya dizinin belirli bir sürümünü indirebilirsiniz. Anlık görüntüleri paylaşma hakkında daha fazla bilgi edinmek için bkz. Azure Dosyalar için paylaşım anlık görüntülerine genel bakış.

Söz dizimi

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>'

Örnek (Dosya indirme)

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

Örnek (Dizin indirme)

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

Dosyaları indirirken kaynak ve hedef türlerini belirtme

AzCopy, --from-to parametresini otomatik algılamanın başarısız olabileceği boru senaryoları veya öykünücüler gibi durumlarda, kaynak ve hedef türlerini açıkça tanımlamak için kullanır. Bu parametre AzCopy'nin aktarım bağlamını anlamasına ve uygun şekilde iyileştirmesine yardımcı olur.

FromTo Değeri Description
FileSMBLocal Azure Dosya Depolama'daki SMB paylaşımından yerel dosya sistemine indirme
FileNFSLocal Azure Dosya Depolama'daki NFS paylaşımından yerel dosya sistemine indirme (yalnızca Linux)
FileSMBLocal SMB paylaşımından yerel dosya sistemine indirme
FilePipe Azure Dosya Depolama'dan kanala veri akışı

Depolama hesapları arasında dosyalar kopyalama

AzCopy'yi kullanarak dosyaları diğer depolama hesaplarına kopyalayabilirsiniz. Kopyalama işlemi zaman uyumlu olduğundan, komut döndürdüğünde tüm dosyalar kopyalanır.

AzCopy sunucudan sunucuya API'leri kullandığı için veriler doğrudan depolama sunucuları arasında kopyalanır. Ortam değişkeninin değerini ayarlayarak bu işlemlerin AZCOPY_CONCURRENCY_VALUE aktarım hızını artırabilirsiniz. Daha fazla bilgi edinmek için bkz . Eşzamanlılığı Artırma.

Paylaşım anlık görüntüsünün DateTime değerine başvurarak dosyanın belirli sürümlerini de kopyalayabilirsiniz. Anlık görüntüleri paylaşma hakkında daha fazla bilgi edinmek için bkz. Azure Dosyalar için paylaşım anlık görüntülerine genel bakış.

İpucu

Bu bölümdeki örnekler yol bağımsız değişkenlerini tek tırnak ('') içine almaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Bu bölüm aşağıdaki örnekleri içerir:

  • Dosyayı başka bir depolama hesabına kopyalama
  • Dizini başka bir depolama hesabına kopyalama
  • Dosya paylaşımını başka bir depolama hesabına kopyalama
  • Tüm dosya paylaşımlarını, dizinlerini ve dosyaları başka bir depolama hesabına kopyalama

İpucu

İsteğe bağlı bayrakları kullanarak kopyalama işleminizi değiştirebilirsiniz. Aşağıda birkaç örnek verilmiştir.

Senaryo Bayrak
Erişim denetim listelerini (ACL' ler) dosyalarla birlikte kopyalayın. --preserve-permissions=[true|false]
Dosyalarla birlikte SMB özellik bilgilerini de kopyalayın. --preserve-info=[true|false]

Tam liste için bkz . seçenekler.

Dosyayı başka bir depolama hesabına kopyalama

Söz dizimi

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>'

Örnek

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

Örnek (anlık görüntüyü paylaşma)

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

Dizini başka bir depolama hesabına kopyalama

Söz dizimi

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

Örnek

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

Örnek (anlık görüntüyü paylaşma)

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

Dosya paylaşımını başka bir depolama hesabına kopyalama

Söz dizimi

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

Örnek

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

Örnek (anlık görüntüyü paylaşma)

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

Tüm dosya paylaşımlarını, dizinlerini ve dosyaları başka bir depolama hesabına kopyalama

Söz dizimi

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'

Örnek

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

Örnek (anlık görüntüyü paylaşma)

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

Dosyaları kopyalarken kaynak ve hedef türlerini belirtme

AzCopy, --from-to parametresini otomatik algılamanın başarısız olabileceği boru senaryoları veya öykünücüler gibi durumlarda, kaynak ve hedef türlerini açıkça tanımlamak için kullanır. Bu parametre AzCopy'nin aktarım bağlamını anlamasına ve uygun şekilde iyileştirmesine yardımcı olur.

FromTo Değeri Description
FileBlob Azure Dosya Depolama'dan Azure Blob Depolama'ya kopyalama
FileBlobFS Azure Dosya Depolama'dan Azure Data Lake 2. Nesil'e (BlobFS) kopyalama
FileSMBFileSMB Azure Dosya Depolama'da iki SMB paylaşımı arasında kopyalama
FileNFSFileNFS Azure Dosya Depolama'da iki NFS paylaşımı arasında kopyalama
FileNFSFileSMB Azure Dosya Depolama NFS'den Azure Dosyalar Depolama SMB'sine kopyalama
FileSMBFileNFS Azure Dosya Depolama SMB'sinden Azure Dosyalar Depolama NFS'ye kopyalama

Dosyaları eşitleme

Yerel dosya sisteminin içeriğini bir dosya paylaşımıyla eşitleyebilir veya bir dosya paylaşımının içeriğini başka bir dosya paylaşımıyla eşitleyebilirsiniz. Ayrıca, bir dosya paylaşımındaki bir dizinin içeriğini başka bir dosya paylaşımında bulunan dizinin içeriğiyle eşitleyebilirsiniz. Eşitleme tek yönlüdür. Başka bir deyişle, bu iki uç noktanın hangisinin kaynak, hangisinin hedef olduğunu seçersiniz. Eşitleme, sunucudan sunucuya API'leri de kullanır.

Uyarı

AzCopy eşitlemesi desteklenir ancak Azure Dosyalar için tam olarak önerilmez. AzCopy eşitlemesi AzCopy işi başına en fazla 10 milyon dosyayı destekler ve AzCopy, Azure Dosyalar paylaşımınıza içerik kopyalamak için Azure Dosyalar REST API'lerini kullandığından bazı dosya uygunlukları kaybolabilir. Daha fazla bilgi edinmek için bkz . Azure dosya paylaşımlarına geçiş.

Yönergeler

Varsayılan olarak, eşitleme komutu dosya adlarını ve son değiştirilen zaman damgalarını karşılaştırır. Bayrağını kullanarak --compare-hash son değiştirilen zaman damgaları yerine MD5 karmalarını kullanmak için bu davranışı geçersiz kılabilirsiniz. --delete-destination bu dosyalar artık kaynak dizinde yoksa hedef dizindeki dosyaları silmek için isteğe bağlı bayrağını veya true değerine prompt ayarlayın.

  • bayrağını --delete-destinationtrueolarak ayarlarsanız, AzCopy bir istem sağlamadan dosyaları siler. AzCopy bir dosyayı silmeden önce bir istem gösterilmesini istiyorsanız bayrağını --delete-destination olarak promptayarlayın.

  • bayrağını veya olarak ayarlamayı --delete-destination planlıyorsanız, eşitlemepromptcopyfalseve parametresini olarak ayarlamayı düşünün.--overwriteifSourceNewer Kopyalama işlemi dosyaları taşımadan önce kaynak veya hedefi dizine almak zorunda olmadığından kopyalama komutu daha az bellek tüketir ve daha az faturalama maliyetine neden olur.

  • Bayrağı kullanmayı --compare-hash planlamıyorsanız, eşitleme komutunu çalıştırdığınız makinede doğru bir sistem saati olmalıdır çünkü son değiştirme süreleri dosyanın aktarılıp aktarılmayacağını belirlemede kritik önem taşır. Sisteminizde önemli bir saat dengesizliği varsa, eşitleme komutunu çalıştırmayı planladığınız zamana çok yakın olan hedefte dosyaları değiştirmekten kaçının.

  • AzCopy, verileri depolama hesapları arasında eşitlemek için sunucudan sunucuya API'leri kullanır. Bu, verilerin doğrudan depolama sunucuları arasında kopyalandığını gösterir. Ancak, AzCopy her aktarımı ayarlayıp izler ve daha büyük depolama hesapları için (örneğin, milyonlarca blob içeren hesaplar), AzCopy bu görevleri gerçekleştirmek için önemli miktarda işlem kaynağı gerektirebilir. Bu nedenle, AzCopy'yi Sanal Makineden (VM) çalıştırıyorsanız, VM'nin yükü işlemek için yeterli çekirdeğe/belleğe sahip olduğundan emin olun.

İpucu

İsteğe bağlı bayrakları kullanarak eşitleme işleminizi değiştirebilirsiniz. Aşağıda birkaç örnek verilmiştir.

Senaryo Bayrak
Erişim denetim listelerini (ACL' ler) dosyalarla birlikte kopyalayın. --preserve-permissions=[true|false]
Dosyalarla birlikte SMB özellik bilgilerini de kopyalayın. --preserve-info=[true|false]
Dosyaları bir desene göre hariç tutun. --exclude-path
Eşitlemeyle ilgili günlük girdilerinizin ne kadar ayrıntılı olmasını istediğinizi belirtin. --log-level=[WARNING|HATA|BİlGİ|YOK]

Tam liste için bkz . seçenekler.

Bu bölümdeki örnekler yol bağımsız değişkenlerini tek tırnak ('') içine almaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Yerel dosya sisteminde yapılan değişikliklerle dosya paylaşımını güncelleştirme

Bu durumda, dosya paylaşımı hedef, yerel dosya sistemi ise kaynaktır.

İpucu

Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Söz dizimi

azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Örnek

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' --recursive

Yerel dosya sistemini dosya paylaşımında yapılan değişikliklerle güncelleştirme

Bu durumda hedef yerel dosya sistemi, kaynak ise dosya paylaşımıdır.

İpucu

Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.

Söz dizimi

azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive

Örnek

azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?[SAS]' 'C:\myDirectory' --recursive

Dosya paylaşımını başka bir dosya paylaşımındaki değişikliklerle güncelleştirme

Bu komuttaki ilk dosya paylaşımı kaynaktır. Komut, değişiklikleri bu kaynak dosya paylaşımından kopyalar. İkinci dosya paylaşımı hedef konumdur.

Söz dizimi

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

Örnek

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

Bir dizini başka bir dosya paylaşımındaki bir dizinde yapılan değişikliklerle güncelleştirme

Bu komutta görüntülenen ilk dizin kaynaktır. İkincisi ise hedeftir.

Söz dizimi

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

Örnek

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

Dosya paylaşımını paylaşım anlık görüntüsünün içeriğiyle eşleşecek şekilde güncelleştirme

Bu komutta görüntülenen ilk dosya paylaşımı kaynaktır. URI'nin sonuna dizeyi &sharesnapshot= ve ardından anlık görüntünün DateTime değerini ekleyin.

Söz dizimi

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

Örnek

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

Anlık görüntüleri paylaşma hakkında daha fazla bilgi edinmek için bkz. Azure Dosyalar için paylaşım anlık görüntülerine genel bakış.

Korunacak özellikler ve izinler

İpucu

Dosyaları yerel bir Linux sistemine indirdiğinizde, belirtilen sahip veya grup geçerli kullanıcınınkinden farklıysa yükseltilmiş ayrıcalıklara sahip olmanız gerekir. İndirilen dosyaların sahipliğini veya grubunu değiştirmek için azcopy komutunu sudo ile veya kök kullanıcı olarak çalıştırın.

Türü Özellikler (--preserve-info) İzinler (--preserve-permissions)
Azure Dosyalar SMB NTFSFileAttributes (ReadOn ReadOnLy, Hidden, System, Directory, Archive, None, Temporary, Offline, NotContentIndexed, NoScrubData) (x-ms-file-attributes)
OluşturmaZamanı (x-ms-file-creation-time)
LastWriteTime (x-ms-file-last-write-time)
ACL'ler (x-ms-file-permission)
Azure Dosyalar NFS Oluşturulma Zamanı (x-ms-file-creation-time)
LastWriteTime (x-ms-file-last-write-time)
Sahip (x-ms-owner)
Grup (x-ms-group)
FileMode (x-ms-mode)

Sonraki adımlar

Bu makalelerden herhangi birinde daha fazla örnek bulabilirsiniz:

Ayarları yapılandırmak, performansı iyileştirmek ve sorunları gidermek için şu makalelere bakın: