Linux üzerinde AzCopy v7 ile veri aktarma

AzCopy, en iyi performans için tasarlanmış basit komutları kullanarak Microsoft Azure Blob ve Dosya depolama alanına/depolamadan veri kopyalamak için tasarlanmış bir komut satırı yardımcı programıdır. Bir dosya sistemi ile depolama hesabı arasında veya depolama hesapları arasında verileri kopyalayabilirsiniz.

Önemli

Bu makalede AzCopy'nin eski bir sürümü açıklanmaktadır. AzCopy'nin en son sürümünü yüklemek için bkz. AzCopy v10.

Not

AzCopy 7.2 sürümünden itibaren .NET Core bağımlılıkları AzCopy paketiyle birlikte paketlenir. 7.2 veya sonraki bir sürümü kullanıyorsanız artık önkoşul olarak .NET Core yüklemeniz gerekmez.

AzCopy'yi indirme ve yükleme

Linux'ta yükleme

Not

Dağıtımınıza bağlı olarak bu .NET Core Önkoşulları makalesinde vurgulanan .NET Core 2.1 bağımlılıklarını yüklemeniz gerekebilir.

RHEL 7 dağıtımları için ICU ve libunwind bağımlılıklarını yükleyin: yum install -y libunwind icu

Linux'ta AzCopy'yi (v7.2 veya üzeri) yüklemek, tar paketini ayıklamak ve yükleme betiğini çalıştırmak kadar kolaydır.

RHEL 6 tabanlı dağıtımlar: indirme bağlantısı

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinuxrhel6
tar -xf azcopy.tar.gz
sudo ./install.sh

Diğer tüm Linux dağıtımları: indirme bağlantısı

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
tar -xf azcopy.tar.gz
sudo ./install.sh

Linux üzerinde AzCopy yüklendikten sonra ayıklanan dosyaları kaldırabilirsiniz. Alternatif olarak, süper kullanıcı ayrıcalıklarınız yoksa ayıklanan klasördeki azcopy kabuk betiğini kullanarak da çalıştırabilirsiniz azcopy .

Ubuntu'da Alternatif Yükleme

Ubuntu 14.04

Microsoft Linux ürün deposu için apt kaynağı ekleyin ve AzCopy'yi yükleyin:

sudo echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod/ trusty main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

Ubuntu 16.04

Microsoft Linux ürün deposu için apt kaynağı ekleyin ve AzCopy'yi yükleyin:

echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/ xenial main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

İlk AzCopy komutunuzu yazma

AzCopy komutlarının temel söz dizimi:

azcopy --source <source> --destination <destination> [Options]

Aşağıdaki örneklerde, Microsoft Azure Blobları ve Dosyaları'na veri kopyalamaya yönelik çeşitli senaryolar gösterilmektedir. azcopy --help Her örnekte kullanılan parametrelerin ayrıntılı açıklaması için menüye bakın.

Blob: İndir

Tek blobu indirme

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key> 

Klasör /mnt/myfiles yoksa AzCopy klasörü oluşturur ve yeni klasöre indirir abc.txt .

İkincil bölgeden tek blob indirme

azcopy \
    --source https://myaccount-secondary.blob.core.windows.net/mynewcontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

Okuma erişimli coğrafi olarak yedekli depolamanın etkinleştirilmiş olması gerektiğini unutmayın.

Tüm blobları indirme

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

Aşağıdaki blobların belirtilen kapsayıcıda yer aldığını varsayalım:

abc.txt
abc1.txt
abc2.txt
vd1/a.txt
vd1/abcd.txt

İndirme işleminden sonra dizin /mnt/myfiles aşağıdaki dosyaları içerir:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/vd1/a.txt
/mnt/myfiles/vd1/abcd.txt

seçeneğini --recursivebelirtmezseniz, blob indirılmaz.

Belirtilen ön eke sahip blobları indirme

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --include "a" \
    --recursive

Aşağıdaki blobların belirtilen kapsayıcıda yer aldığını varsayalım. Ön ek a ile başlayan tüm bloblar indirilir.

abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt

İndirme işleminden sonra klasör /mnt/myfiles aşağıdaki dosyaları içerir:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt

Ön ek, blob adının ilk bölümünü oluşturan sanal dizine uygulanır. Yukarıda gösterilen örnekte sanal dizin belirtilen ön ekle eşleşmediğinden blob indirilmez. Buna ek olarak, seçenek --recursive belirtilmezse AzCopy herhangi bir blob indirmez.

Dışarı aktarılan dosyaların son değiştirme zamanını kaynak bloblarla aynı olacak şekilde ayarlama

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination "/mnt/myfiles" \
    --source-key <key> \
    --preserve-last-modified-time

Ayrıca blobları son değiştirme saatlerine göre indirme işleminin dışında tutabilirsiniz. Örneğin, son değiştirme zamanı hedef dosyayla aynı veya daha yeni olan blobları dışlamak istiyorsanız, şu seçeneği ekleyin --exclude-newer :

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-newer

Alternatif olarak, son değiştirme zamanı hedef dosyayla aynı veya daha eski olan blobları dışlamak istiyorsanız şu seçeneği ekleyin --exclude-older :

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-older

Blob: Karşıya Yükleme

Tek dosyayı karşıya yükleme

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --dest-key <key>

Belirtilen hedef kapsayıcı mevcut değilse, AzCopy bu kapsayıcıyı oluşturur ve dosyayı kapsayıcıya yükler.

Tek bir dosyayı sanal dizine yükleme

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/vd/abc.txt \
    --dest-key <key>

Belirtilen sanal dizin yoksa, AzCopy sanal dizini blob adına eklemek için dosyayı karşıya yükler (örneğin, vd/abc.txt yukarıdaki örnekte).

stdin'den yeniden yönlendirme

gzip myarchive.tar -c | azcopy \
    --destination https://myaccount.blob.core.windows.net/mycontainer/mydir/myarchive.tar.gz \
    --dest-key <key>

Tüm dosyaları karşıya yükleme

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --recursive

Seçeneğin --recursive belirtilmesi, belirtilen dizinin içeriğini Blob depolamaya özyinelemeli olarak yükler; bu da tüm alt klasörlerin ve dosyalarının da karşıya yüklendiği anlamına gelir. Örneğin, aşağıdaki dosyaların klasöründe /mnt/myfilesyer aldığını varsayalım:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

Karşıya yükleme işleminden sonra kapsayıcı aşağıdaki dosyaları içerir:

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

Seçenek --recursive belirtilmediğinde yalnızca aşağıdaki üç dosya karşıya yüklenir:

abc.txt
abc1.txt
abc2.txt

Belirtilen desenle eşleşen dosyaları karşıya yükleme

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --include "a*" \
    --recursive

Aşağıdaki dosyaların klasöründe /mnt/myfilesyer aldığını varsayalım:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/xyz.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

Karşıya yükleme işleminden sonra kapsayıcı aşağıdaki dosyaları içerir:

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

Seçenek --recursive belirtilmediğinde, AzCopy alt dizinlerdeki dosyaları atlar:

abc.txt
abc1.txt
abc2.txt

Hedef blobun MIME içerik türünü belirtme

Varsayılan olarak, AzCopy hedef blobun içerik türünü olarak application/octet-streamayarlar. Ancak, seçeneği --set-content-type [content-type]aracılığıyla içerik türünü açıkça belirtebilirsiniz. Bu söz dizimi, karşıya yükleme işlemindeki tüm bloblar için içerik türünü ayarlar.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type "video/mp4"

Seçenek --set-content-type bir değer olmadan belirtilirse, AzCopy her blob veya dosyanın içerik türünü dosya uzantısına göre ayarlar.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type

MIME içerik türü eşlemesini özelleştirme

AzCopy, dosya uzantısının içerik türüne eşlemesini içeren bir yapılandırma dosyası kullanır. Bu eşlemeyi özelleştirebilir ve gerektiğinde yeni çiftler ekleyebilirsiniz. Eşleme şu konumda bulunur: /usr/lib/azcopy/AzCopyConfig.json

Blob: Kopyala

Depolama hesabı içindeki tek blobu kopyalama

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key> \
    --dest-key <key>

--sync-copy seçeneği olmadan bir blob kopyaladığınızda , sunucu tarafı kopyalama işlemi gerçekleştirilir.

Depolama hesapları arasında tek blob kopyalama

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

--sync-copy seçeneği olmadan bir blob kopyaladığınızda , sunucu tarafı kopyalama işlemi gerçekleştirilir.

tek blobu ikincil bölgeden birincil bölgeye kopyalama

azcopy \
    --source https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1/abc.txt \
    --destination https://myaccount2.blob.core.windows.net/mynewcontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

Okuma erişimli coğrafi olarak yedekli depolamanın etkinleştirilmiş olması gerektiğini unutmayın.

Tek blobu ve anlık görüntülerini Depolama hesapları arasında kopyalama

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/ \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "abc.txt" \
    --include-snapshot

Kopyalama işleminden sonra hedef kapsayıcı blobu ve anlık görüntülerini içerir. Kapsayıcı aşağıdaki blobu ve anlık görüntülerini içerir:

abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt

Blobları Depolama hesapları arasında zaman uyumlu olarak kopyalama

AzCopy varsayılan olarak verileri iki depolama uç noktası arasında zaman uyumsuz olarak kopyalar. Bu nedenle, kopyalama işlemi arka planda, blobun ne kadar hızlı kopyalanması açısından SLA'sı olmayan yedek bant genişliği kapasitesi kullanılarak çalıştırılır.

seçeneği, --sync-copy kopyalama işleminin tutarlı hıza sahip olmasını sağlar. AzCopy, belirtilen kaynaktan yerel belleğe kopyalanacak blobları indirip blob depolama hedefine yükleyerek zaman uyumlu kopyayı gerçekleştirir.

azcopy \
    --source https://myaccount1.blob.core.windows.net/myContainer/ \
    --destination https://myaccount2.blob.core.windows.net/myContainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "ab" \
    --sync-copy

--sync-copy zaman uyumsuz kopyaya kıyasla ek çıkış maliyeti oluşturabilir. Önerilen yaklaşım, çıkış maliyetini önlemek için kaynak depolama hesabınızla aynı bölgede yer alan bir Azure VM'de bu seçeneği kullanmaktır.

Dosya: İndir

Tek dosyayı indirme

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/myfolder1/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

Belirtilen kaynak bir Azure dosya paylaşımıysa, tek bir dosyayı indirmek için tam dosya adını (örneğinabc.txt) belirtmeniz veya paylaşımdaki tüm dosyaları özyinelemeli olarak indirme seçeneğini --recursive belirtmeniz gerekir. Hem dosya deseni hem de seçeneği --recursive birlikte belirtme girişimi hatayla sonuçlanır.

Tüm dosyaları indirme

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/ \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

Boş klasörlerin indirilmediğini unutmayın.

Dosya: Karşıya Yükle

Tek dosyayı karşıya yükleme

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.file.core.windows.net/myfileshare/abc.txt \
    --dest-key <key>

Tüm dosyaları karşıya yükleme

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --recursive

Boş klasörlerin karşıya yüklenmediğini unutmayın.

Belirtilen desenle eşleşen dosyaları karşıya yükleme

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --include "ab*" \
    --recursive

Dosya: Kopyala

Dosya paylaşımları arasında kopyalama

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Bir dosyayı dosya paylaşımları arasında kopyaladığınızda, sunucu tarafı kopyalama işlemi gerçekleştirilir.

Dosya paylaşımından bloba kopyalama

azcopy \ 
    --source https://myaccount1.file.core.windows.net/myfileshare/ \
    --destination https://myaccount2.blob.core.windows.net/mycontainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Bir dosyayı dosya paylaşımından bloba kopyaladığınızda, sunucu tarafı kopyalama işlemi gerçekleştirilir.

Blobdan dosya paylaşımına kopyalama

azcopy \
    --source https://myaccount1.blob.core.windows.net/mycontainer/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Blobdan dosya paylaşımına bir dosya kopyaladığınızda, sunucu tarafı kopyalama işlemi gerçekleştirilir.

Dosyaları zaman uyumlu olarak kopyalama

Verileri Dosya Depolama'dan Dosya Depolama'ya, Dosya Depolama'dan Blob Depolama'ya ve Blob Depolama'dan Dosya Depolama'ya zaman uyumlu olarak kopyalama seçeneğini belirtebilirsiniz --sync-copy . AzCopy, kaynak verileri yerel belleğe indirip hedefe yükleyerek bu işlemi çalıştırır. Bu durumda standart çıkış maliyeti uygulanır.

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive \
    --sync-copy

Dosya Depolama'dan Blob Depolama'ya kopyalarken varsayılan blob türü blok blobudur; kullanıcı hedef blob türünü değiştirme seçeneğini --blob-type page belirtebilir. Kullanılabilir türler şunlardır: page | block | append.

--sync-copy Zaman uyumsuz kopyaya kıyasla ek çıkış maliyeti oluşturabileceğini unutmayın. Önerilen yaklaşım, çıkış maliyetini önlemek için kaynak depolama hesabınızla aynı bölgede yer alan bir Azure VM'de bu seçeneği kullanmaktır.

Diğer AzCopy özellikleri

Yalnızca hedefte mevcut olmayan verileri kopyalama

--exclude-older ve --exclude-newer parametreleri, sırasıyla eski veya daha yeni kaynak kaynaklarını kopyalanmaktan dışlamanıza olanak sağlar. Yalnızca hedefte mevcut olmayan kaynak kaynakları kopyalamak istiyorsanız, AzCopy komutunda her iki parametreyi de belirtebilirsiniz:

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --exclude-older --exclude-newer

--source /mnt/myfiles --destination http://myaccount.file.core.windows.net/myfileshare --dest-key <destkey> --recursive --exclude-older --exclude-newer

--source http://myaccount.blob.core.windows.net/mycontainer --destination http://myaccount.blob.core.windows.net/mycontainer1 --source-key <sourcekey> --dest-key <destkey> --recursive --exclude-older --exclude-newer

Komut satırı parametrelerini belirtmek için yapılandırma dosyası kullanma

azcopy --config-file "azcopy-config.ini"

Herhangi bir AzCopy komut satırı parametresini bir yapılandırma dosyasına ekleyebilirsiniz. AzCopy, komut satırında belirtilmiş gibi dosyasındaki parametreleri işler ve dosyanın içeriğiyle doğrudan değiştirme gerçekleştirir.

adlı ve aşağıdaki satırları içeren bir yapılandırma dosyası copyoperationvarsayın. Her AzCopy parametresi tek bir satırda belirtilebilir.

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --quiet

veya ayrı satırlarda:

--source http://myaccount.blob.core.windows.net/mycontainer
--destination /mnt/myfiles
--source-key<sourcekey>
--recursive
--quiet

Parametre için burada --source-key gösterildiği gibi, parametreyi iki satıra bölerseniz AzCopy başarısız olur:

http://myaccount.blob.core.windows.net/mycontainer
/mnt/myfiles
--sourcekey
<sourcekey>
--recursive
--quiet

Paylaşılan erişim imzası (SAS) belirtme

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-sas <SAS1> \
    --dest-sas <SAS2>

Kapsayıcı URI'sinde bir SAS de belirtebilirsiniz:

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken \
    --destination /mnt/myfiles \
    --recursive

Günlük dosyası klasörü

AzCopy'ye her komut yayımladığınızda, bir günlük dosyasının varsayılan klasörde mi yoksa bu seçenekle belirttiğiniz bir klasörde mi var olduğunu denetler. Günlük dosyası herhangi bir yerde yoksa, AzCopy işlemi yeni olarak ele alır ve yeni bir günlük dosyası oluşturur.

Günlük dosyası varsa, AzCopy girdiğiniz komut satırının günlük dosyasındaki komut satırıyla eşleşip eşleşmediğini denetler. İki komut satırı eşleşiyorsa, AzCopy tamamlanmamış işlemi sürdürür. Eşleşmiyorsa, AzCopy kullanıcıdan yeni bir işlem başlatmak veya geçerli işlemi iptal etmek için günlük dosyasının üzerine yazılmasını ister.

Günlük dosyası için varsayılan konumu kullanmak istiyorsanız:

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --resume

yukarıda gösterildiği gibi, seçeneğini --resumeatlarsanız veya klasör yolu olmadan seçeneği --resume belirtirseniz, AzCopy günlük dosyasını varsayılan konumda (olan ~\Microsoft\Azure\AzCopy) oluşturur. Günlük dosyası zaten varsa, AzCopy günlük dosyasını temel alarak işlemi sürdürür.

Günlük dosyası için özel bir konum belirtmek istiyorsanız:

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key key \
    --resume "/mnt/myjournal"

Bu örnek, henüz yoksa günlük dosyasını oluşturur. Varsa, AzCopy işlemi günlük dosyasına göre sürdürür.

AzCopy işlemini sürdürmek istiyorsanız, aynı komutu yineleyin. Linux üzerinde AzCopy daha sonra şu onayı ister:

Incomplete operation with same command line detected at the journal directory "/home/myaccount/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No)

Ayrıntılı günlükleri çıktı olarak ver

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --verbose

Başlatılacak eşzamanlı işlemlerin sayısını belirtin

Seçenek --parallel-level , eşzamanlı kopyalama işlemlerinin sayısını belirtir. Varsayılan olarak AzCopy, veri aktarımı aktarım hızını artırmak için belirli sayıda eşzamanlı işlem başlatır. Eş zamanlı işlem sayısı, sahip olduğunuz işlemci sayısının sekiz katına eşittir. AzCopy'yi düşük bant genişliğine sahip bir ağda çalıştırıyorsanız, kaynak rekabetinden kaynaklanan hataları önlemek için --parallel-level için daha düşük bir sayı belirtebilirsiniz.

İpucu

AzCopy parametrelerinin tam listesini görüntülemek için 'azcopy --help' menüsüne bakın.

AzCopy 7.1 ve önceki sürümleri için Yükleme Adımları

Linux üzerinde AzCopy (yalnızca v7.1 ve öncesi) için .NET Core çerçevesi gerekir. Yükleme yönergeleri .NET Core yükleme sayfasında bulunabilir.

Örneğin, Ubuntu 16.10'a .NET Core yükleyerek başlayın. En son yükleme kılavuzu için Linux'ta .NET Core yükleme sayfasını ziyaret edin.

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list' 
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-sdk-2.0.0

.NET Core'u yükledikten sonra AzCopy'yi indirip yükleyin.

wget -O azcopy.tar.gz https://aka.ms/downloadazcopyprlinux
tar -xf azcopy.tar.gz
sudo ./install.sh

Linux'ta AzCopy yüklendikten sonra ayıklanan dosyaları kaldırabilirsiniz. Alternatif olarak, süper kullanıcı ayrıcalıklarınız yoksa ayıklanan klasörde azcopy kabuk betiğini kullanarak da çalıştırabilirsiniz azcopy .

Bilinen sorunlar ve en iyi yöntemler

AzCopy Yüklenirken Hata Oluştu

AzCopy yüklemesiyle ilgili sorunlarla karşılaşırsanız ayıklanan azcopy klasördeki bash betiğini kullanarak AzCopy'yi çalıştırmayı deneyebilirsiniz.

cd azcopy
./azcopy

Verileri kopyalarken eşzamanlı yazmaları sınırlama

AzCopy ile blobları veya dosyaları kopyalarken, verileri kopyalarken başka bir uygulamanın verileri değiştirebileceğini unutmayın. Mümkünse, kopyalama işlemi sırasında kopyaladığınız verilerin değiştirilmediğinden emin olun. Örneğin, Bir Azure sanal makinesiyle ilişkili bir VHD'yi kopyalarken, şu anda VHD'ye başka hiçbir uygulamanın yazmadığından emin olun. Bunu yapmak için kopyalanacak kaynağı kiralamak iyi bir yoldur. Alternatif olarak, önce VHD'nin anlık görüntüsünü oluşturabilir ve ardından anlık görüntüyü kopyalayabilirsiniz.

Diğer uygulamaların kopyalanırken bloblara veya dosyalara yazmasını önleyemezseniz, iş bittiğinde kopyalanan kaynakların artık kaynak kaynaklarla tam eşliğe sahip olmayabileceğini unutmayın.

Birden çok AzCopy işlemi çalıştırma

Farklı günlük klasörleri kullanmanız kaydıyla tek bir istemcide birden çok AzCopy işlemi çalıştırabilirsiniz. Birden çok AzCopy işlemi için tek bir günlük klasörü kullanılması desteklenmez.

1. işlem:

azcopy \
    --source /mnt/myfiles1 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles1 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal1"

2. işlem:

azcopy \
    --source /mnt/myfiles2 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles2 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal2"

Sonraki adımlar

Azure Depolama ve AzCopy hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:

Azure Depolama belgeleri:

Azure Depolama blog gönderileri: