نقل البيانات باستخدام AzCopy v7 على Linux

AzCopy هي أداة مساعدة سطر الأوامر مصممة لنسخ البيانات من/إلى Microsoft Azure Blob وتخزين الملفات، باستخدام أوامر بسيطة مصممة لتحقيق الأداء الأمثل. يمكنك نسخ البيانات بين نظام الملفات وحساب التخزين، أو بين حسابات التخزين.

هام

تصف هذه المقالة إصدارا قديما من AzCopy. لتثبيت أحدث إصدار من AzCopy، راجع AzCopy v10.

ملاحظة

بدءا من إصدار AzCopy 7.2، يتم حزم تبعيات .NET Core مع حزمة AzCopy. إذا كنت تستخدم الإصدار 7.2 أو أحدث، فلن تحتاج إلى تثبيت .NET Core كملزم مسبق.

تنزيل AzCopy وتثبيته

التثبيت على Linux

ملاحظة

قد تحتاج إلى تثبيت تبعيات .NET Core 2.1 المميزة في مقالة المتطلبات المسبقة ل .NET Core اعتمادا على التوزيع الخاص بك.

بالنسبة لتوزيعات RHEL 7، قم بتثبيت تبعيات ICU و libunwind: yum install -y libunwind icu

يعد تثبيت AzCopy على Linux (الإصدار 7.2 أو أحدث) سهلا مثل استخراج حزمة tar وتشغيل البرنامج النصي التثبيت.

التوزيعات المستندة إلى RHEL 6: ارتباط التنزيل

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

جميع توزيعات Linux الأخرى: رابط التنزيل

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

يمكنك إزالة الملفات المستخرجة بمجرد تثبيت AzCopy على Linux. بدلا من ذلك، إذا لم يكن لديك امتيازات المستخدم الفائق، يمكنك أيضا تشغيل azcopy باستخدام البرنامج النصي shell azcopy في المجلد المستخرج.

تثبيت بديل على Ubuntu

Ubuntu 14.04

أضف مصدر apt لمستودع منتجات Microsoft Linux وقم بتثبيت AzCopy:

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

أضف مصدر apt لمستودع منتجات Microsoft Linux وقم بتثبيت AzCopy:

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

كتابة أول أمر AzCopy

بناء الجملة الأساسي لأوامر AzCopy هي:

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

توضح الأمثلة التالية سيناريوهات مختلفة لنسخ البيانات من وإلى Microsoft Azure Blobs والملفات. azcopy --help راجع القائمة للحصول على شرح مفصل للمعلمات المستخدمة في كل عينة.

Blob: تنزيل

تنزيل كائن ثنائي كبير الحجم واحد

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

إذا لم يكن المجلد /mnt/myfiles موجودا، يقوم AzCopy بإنشائه وتنزيله abc.txt في المجلد الجديد.

تنزيل كائن ثنائي كبير الحجم واحد من المنطقة الثانوية

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

لاحظ أنه يجب تمكين التخزين الجغرافي المتكرر للوصول للقراءة.

تنزيل جميع الكائنات الثنائية كبيرة الحجم

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

افترض أن الكائنات الثنائية كبيرة الحجم التالية موجودة في الحاوية المحددة:

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

بعد عملية التنزيل، يتضمن الدليل /mnt/myfiles الملفات التالية:

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

إذا لم تحدد الخيار --recursive، فلن يتم تنزيل أي كائن ثنائي كبير الحجم.

تنزيل الكائنات الثنائية كبيرة الحجم مع بادئة محددة

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

افترض أن الكائنات الثنائية كبيرة الحجم التالية موجودة في الحاوية المحددة. يتم تنزيل جميع الكائنات الثنائية كبيرة الحجم التي تبدأ بالبادئة a .

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

بعد عملية التنزيل، يتضمن المجلد /mnt/myfiles الملفات التالية:

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

تنطبق البادئة على الدليل الظاهري، الذي يشكل الجزء الأول من اسم الكائن الثنائي كبير الحجم. في المثال الموضح أعلاه، لا يتطابق الدليل الظاهري مع البادئة المحددة، لذلك لا يتم تنزيل كائن ثنائي كبير الحجم. بالإضافة إلى ذلك، إذا لم يتم تحديد الخيار --recursive ، لا يقوم AzCopy بتنزيل أي كائنات ثنائية كبيرة الحجم.

تعيين آخر وقت تم تعديله للملفات المصدرة ليكون نفس الكائنات الثنائية كبيرة الحجم المصدر

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

يمكنك أيضا استبعاد الكائنات الثنائية كبيرة الحجم من عملية التنزيل استنادا إلى آخر وقت تم تعديله. على سبيل المثال، إذا كنت تريد استبعاد الكائنات الثنائية كبيرة الحجم التي يكون آخر وقت تعديل لها هو نفسه أو أحدث من الملف الوجهة --exclude-newer ، أضف الخيار:

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

أو إذا كنت تريد استبعاد الكائنات الثنائية كبيرة الحجم التي يكون آخر وقت تعديل لها هو نفسه أو أقدم من الملف الوجهة --exclude-older ، فأضف الخيار:

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

Blob: تحميل

تحميل ملف واحد

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

إذا كانت حاوية الوجهة المحددة غير موجودة، يقوم AzCopy بإنشائها، وتحميل الملف فيها.

تحميل ملف واحد إلى الدليل الظاهري

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

إذا لم يكن الدليل الظاهري المحدد موجودا، يقوم AzCopy بتحميل الملف لتضمين الدليل الظاهري في اسم الكائن الثنائي كبير الحجم (على سبيل المثال، vd/abc.txt في المثال أعلاه).

إعادة التوجيه من stdin

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

تحميل جميع الملفات

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

يؤدي تحديد الخيار --recursive إلى تحميل محتويات الدليل المحدد إلى تخزين Blob بشكل متكرر، ما يعني أنه يتم تحميل جميع المجلدات الفرعية وملفاتها أيضا. على سبيل المثال، افترض أن الملفات التالية موجودة في المجلد /mnt/myfiles:

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

بعد عملية التحميل، تتضمن الحاوية الملفات التالية:

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

عند عدم تحديد الخيار --recursive ، يتم تحميل الملفات الثلاثة التالية فقط:

abc.txt
abc1.txt
abc2.txt

تحميل ملفات مطابقة للنمط المحدد

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

افترض أن الملفات التالية موجودة في المجلد /mnt/myfiles:

/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

بعد عملية التحميل، تتضمن الحاوية الملفات التالية:

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

عندما لا يتم تحديد الخيار --recursive ، يتخطى AzCopy الملفات الموجودة في الدلائل الفرعية:

abc.txt
abc1.txt
abc2.txt

تحديد نوع محتوى MIME للكائن الثنائي كبير الحجم الوجهة

بشكل افتراضي، يقوم AzCopy بتعيين نوع محتوى الكائن الثنائي كبير الحجم الوجهة إلى application/octet-stream. ومع ذلك، يمكنك تحديد نوع المحتوى بشكل صريح عبر الخيار --set-content-type [content-type]. يعين بناء الجملة هذا نوع المحتوى لكافة الكائنات الثنائية كبيرة الحجم في عملية التحميل.

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

إذا تم تحديد الخيار --set-content-type بدون قيمة، يقوم AzCopy بتعيين نوع محتوى كل كائن ثنائي كبير الحجم أو ملف وفقا لملحق الملف الخاص به.

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

تخصيص تعيين نوع محتوى MIME

يستخدم AzCopy ملف تكوين يحتوي على تعيين ملحق الملف إلى نوع المحتوى. يمكنك تخصيص هذا التعيين وإضافة أزواج جديدة حسب الحاجة. يقع التعيين في /usr/lib/azcopy/AzCopyConfig.json

Blob: نسخ

نسخ كائن ثنائي كبير الحجم واحد داخل حساب التخزين

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>

عند نسخ كائن ثنائي كبير الحجم بدون --خيار نسخ المزامنة، يتم تنفيذ عملية نسخ من جانب الخادم .

نسخ كائن ثنائي كبير الحجم واحد عبر حسابات التخزين

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>

عند نسخ كائن ثنائي كبير الحجم بدون --خيار نسخ المزامنة، يتم تنفيذ عملية نسخ من جانب الخادم .

نسخ كائن ثنائي كبير الحجم واحد من المنطقة الثانوية إلى المنطقة الأساسية

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>

لاحظ أنه يجب تمكين التخزين الجغرافي المتكرر للوصول للقراءة.

نسخ كائن ثنائي كبير الحجم واحد ولقطاته عبر حسابات التخزين

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

بعد عملية النسخ، تتضمن الحاوية الهدف الكائن الثنائي كبير الحجم ولقطاته. تتضمن الحاوية الكائن الثنائي كبير الحجم التالي ولقطاته:

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

نسخ الكائنات الثنائية كبيرة الحجم بشكل متزامن عبر حسابات التخزين

يقوم AzCopy بشكل افتراضي بنسخ البيانات بين نقطتي نهاية التخزين بشكل غير متزامن. لذلك، يتم تشغيل عملية النسخ في الخلفية باستخدام سعة النطاق الترددي الاحتياطية التي لا تحتوي على اتفاقية مستوى الخدمة من حيث مدى سرعة نسخ كائن ثنائي كبير الحجم.

--sync-copy يضمن الخيار أن عملية النسخ تحصل على سرعة متناسقة. يقوم AzCopy بإجراء النسخة المتزامنة عن طريق تنزيل الكائنات الثنائية كبيرة الحجم لنسخها من المصدر المحدد إلى الذاكرة المحلية، ثم تحميلها إلى وجهة تخزين Blob.

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 قد تولد تكلفة خروج إضافية مقارنة بالنسخة غير المتزامنة. النهج الموصى به هو استخدام هذا الخيار في جهاز Azure الظاهري، الموجود في نفس منطقة حساب التخزين المصدر لتجنب تكلفة الخروج.

ملف: تنزيل

تنزيل ملف واحد

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

إذا كان المصدر المحدد عبارة عن مشاركة ملف Azure، فيجب عليك إما تحديد اسم الملف الدقيق، (على سبيل المثالabc.txt) لتنزيل ملف واحد، أو تحديد خيار --recursive لتنزيل جميع الملفات في المشاركة بشكل متكرر. تؤدي محاولة تحديد نمط الملف وخياره --recursive معا إلى حدوث خطأ.

تنزيل جميع الملفات

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

لاحظ أنه لا يتم تنزيل أي مجلدات فارغة.

ملف: تحميل

تحميل ملف واحد

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

تحميل جميع الملفات

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

لاحظ أنه لا يتم تحميل أي مجلدات فارغة.

تحميل ملفات مطابقة للنمط المحدد

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

ملف: نسخ

نسخ عبر مشاركات الملفات

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

عند نسخ ملف عبر مشاركات الملفات، يتم تنفيذ عملية نسخ من جانب الخادم .

نسخ من مشاركة الملف إلى كائن ثنائي كبير الحجم

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

عند نسخ ملف من مشاركة ملف إلى كائن ثنائي كبير الحجم، يتم تنفيذ عملية نسخ من جانب الخادم .

نسخ من كائن ثنائي كبير الحجم إلى مشاركة ملف

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

عند نسخ ملف من كائن ثنائي كبير الحجم إلى مشاركة ملف، يتم تنفيذ عملية نسخ من جانب الخادم .

نسخ الملفات بشكل متزامن

يمكنك تحديد --sync-copy خيار نسخ البيانات من File Storage إلى File Storage، ومن File Storage إلى Blob Storage ومن Blob Storage إلى File Storage بشكل متزامن. يقوم AzCopy بتشغيل هذه العملية عن طريق تنزيل البيانات المصدر إلى الذاكرة المحلية، ثم تحميلها إلى الوجهة. في هذه الحالة، تنطبق تكلفة الخروج القياسية.

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

عند النسخ من File Storage إلى Blob Storage، يكون نوع الكائن الثنائي كبير الحجم الافتراضي هو كائن ثنائي كبير الحجم للكتلة، يمكن للمستخدم تحديد خيار --blob-type page لتغيير نوع الكائن الثنائي كبير الحجم الوجهة. الأنواع المتوفرة هي page | block | append.

لاحظ أن --sync-copy قد يولد تكلفة خروج إضافية مقارنة بالنسخة غير المتزامنة. النهج الموصى به هو استخدام هذا الخيار في جهاز Azure الظاهري، الموجود في نفس منطقة حساب التخزين المصدر لتجنب تكلفة الخروج.

ميزات AzCopy الأخرى

نسخ البيانات غير الموجودة في الوجهة فقط

--exclude-older تسمح لك المعلمات و --exclude-newer باستبعاد الموارد المصدر القديمة أو الأحدث من النسخ، على التوالي. إذا كنت تريد فقط نسخ موارد المصدر غير الموجودة في الوجهة، يمكنك تحديد كلا المعلمتين في الأمر AzCopy:

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

استخدام ملف تكوين لتحديد معلمات سطر الأوامر

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

يمكنك تضمين أي معلمات سطر أوامر AzCopy في ملف تكوين. يعالج AzCopy المعلمات في الملف كما لو كانت محددة في سطر الأوامر، وإجراء استبدال مباشر بمحتويات الملف.

افترض ملف تكوين يسمى copyoperation، يحتوي على الأسطر التالية. يمكن تحديد كل معلمة AzCopy على سطر واحد.

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

أو على خطوط منفصلة:

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

يفشل AzCopy إذا قمت بتقسيم المعلمة عبر سطرين، كما هو موضح هنا للمعلمة --source-key :

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

تحديد توقيع وصول مشترك (SAS)

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>

يمكنك أيضا تحديد SAS على URI الحاوية:

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

مجلد ملف دفتر اليومية

في كل مرة تصدر فيها أمرا إلى AzCopy، فإنه يتحقق مما إذا كان ملف دفتر اليومية موجودا في المجلد الافتراضي، أو ما إذا كان موجودا في مجلد حددته عبر هذا الخيار. إذا لم يكن ملف دفتر اليومية موجودا في أي من المكانين، فإن AzCopy يعامل العملية على أنها جديدة ويقوم بإنشاء ملف دفتر يومية جديد.

إذا كان ملف دفتر اليومية موجودا، يتحقق AzCopy ما إذا كان سطر الأوامر الذي تقوم بإدخاله يطابق سطر الأوامر في ملف دفتر اليومية. إذا تطابق سطرا الأوامر، يستأنف AzCopy العملية غير المكتملة. إذا لم تتطابق، يطالب AzCopy المستخدم إما بالكتابة فوق ملف دفتر اليومية لبدء عملية جديدة، أو لإلغاء العملية الحالية.

إذا كنت تريد استخدام الموقع الافتراضي لملف دفتر اليومية:

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

إذا حذفت الخيار --resume، أو حدد الخيار --resume بدون مسار المجلد، كما هو موضح أعلاه، يقوم AzCopy بإنشاء ملف دفتر اليومية في الموقع الافتراضي، وهو ~\Microsoft\Azure\AzCopy. إذا كان ملف دفتر اليومية موجودا بالفعل، فسيستأنف AzCopy العملية استنادا إلى ملف دفتر اليومية.

إذا كنت تريد تحديد موقع مخصص لملف دفتر اليومية:

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

ينشئ هذا المثال ملف دفتر اليومية إذا لم يكن موجودا بالفعل. إذا كان موجودا، فسيستأنف AzCopy العملية استنادا إلى ملف دفتر اليومية.

إذا كنت ترغب في استئناف عملية AzCopy، كرر نفس الأمر. سيطالب AzCopy على Linux بعد ذلك بالتأكيد:

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)

سجلات الإخراج المطولة

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

تحديد عدد العمليات المتزامنة للبدء

يحدد الخيار --parallel-level عدد عمليات النسخ المتزامنة. بشكل افتراضي، يبدأ AzCopy عددا معينا من العمليات المتزامنة لزيادة معدل نقل البيانات. عدد العمليات المتزامنة يساوي ثمانية أضعاف عدد المعالجات لديك. إذا كنت تقوم بتشغيل AzCopy عبر شبكة عرض النطاق الترددي المنخفض، يمكنك تحديد رقم أقل ل --مستوى متوازي لتجنب الفشل الناجم عن منافسة الموارد.

تلميح

لعرض القائمة الكاملة لمعلمات AzCopy، راجع قائمة "azcopy --help".

خطوات التثبيت ل AzCopy 7.1 والإصدارات السابقة

يتطلب AzCopy على Linux (الإصدار 7.1 والإصدارات السابقة فقط) إطار عمل .NET Core. تتوفر إرشادات التثبيت في صفحة تثبيت .NET Core .

على سبيل المثال، ابدأ بتثبيت .NET Core على Ubuntu 16.10. للحصول على أحدث دليل تثبيت، تفضل بزيارة .NET Core على صفحة تثبيت Linux.

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، قم بتنزيل AzCopy وتثبيته.

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

يمكنك إزالة الملفات المستخرجة بمجرد تثبيت AzCopy على Linux. بدلا من ذلك إذا لم يكن لديك امتيازات المستخدم الفائق، يمكنك أيضا تشغيل azcopy باستخدام البرنامج النصي shell azcopy في المجلد المستخرج.

المشكلات المعروفة وأفضل الممارسات

حدث خطأ أثناء تثبيت AzCopy

إذا واجهت مشكلات في تثبيت AzCopy، فقد تحاول تشغيل AzCopy باستخدام البرنامج النصي bash في المجلد المستخرج azcopy .

cd azcopy
./azcopy

الحد من عمليات الكتابة المتزامنة أثناء نسخ البيانات

عند نسخ الكائنات الثنائية كبيرة الحجم أو الملفات باستخدام AzCopy، ضع في اعتبارك أن تطبيقا آخر قد يقوم بتعديل البيانات أثناء نسخها. إذا كان ذلك ممكنا، فتأكد من عدم تعديل البيانات التي تقوم بنسخها أثناء عملية النسخ. على سبيل المثال، عند نسخ VHD المقترن بجهاز ظاهري Azure، تأكد من عدم كتابة أي تطبيقات أخرى حاليا إلى VHD. طريقة جيدة للقيام بذلك هي عن طريق تأجير المورد الذي سيتم نسخه. بدلا من ذلك، يمكنك إنشاء لقطة من VHD أولا ثم نسخ اللقطة.

إذا لم تتمكن من منع التطبيقات الأخرى من الكتابة إلى الكائنات الثنائية كبيرة الحجم أو الملفات أثناء نسخها، فضع في اعتبارك أنه بحلول وقت انتهاء المهمة، قد لا يكون للموارد المنسخة تماثل كامل مع موارد المصدر.

تشغيل عمليات AzCopy متعددة

يمكنك تشغيل عمليات AzCopy متعددة على عميل واحد يوفر لك استخدام مجلدات دفتر اليومية المختلفة. استخدام مجلد دفتر يومية واحد لعمليات AzCopy متعددة غير معتمد.

العملية 1:

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

العملية الثانية:

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

الخطوات التالية

لمزيد من المعلومات حول Azure Storage وAzCopy، راجع الموارد التالية:

وثائق Azure Storage:

منشورات مدونة Azure Storage: