دليل كامل لمزامنة الملفات باستخدام خدمة AWS S3

إدارة مزامنة الملفات بين الأنظمة المحلية وتخزين السحابة لا يجب أن يسبب لك الصداع.

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

واجهة سطر الأوامر لخدمة أمازون AWS (CLI) تجعل هذه العمليات متاحة لمجموعة واسعة من المستخدمين. بالطبع، ليست بالملاءمة التي توفرها Google Drive أو OneDrive، ولكن لديها بعض الحيل في جعبتها.

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

>ما هو بالضبط S3؟ تعرف على الأساسيات مع دليلنا لـ S3.

ما هو AWS S3 Sync؟

يعد AWS S3 sync أداة سطر أوامر قوية تأتي مع حزمة أدوات AWS CLI. تم تصميمه لمزامنة الملفات بين نظام الملفات المحلي وحاوية S3 في وقت قصير.

فكر في S3 sync كـ rsync للسحابة. يحلل الأمر كلا من مواقع المصدر والوجهة، ويحدد الاختلافات، ثم ينقل فقط ما هو ضروري لجعلهم متطابقين. يوفر هذا النهج النطاق الترددي والوقت والتكاليف المحتملة مقارنة بأساليب نقل الملفات الساذجة.

تحت الغطاء، يقوم S3 بإجراء مكالمات API لمقارنة بيانات الكائن مثل حجم الملف والطوابع الزمنية للتعديل. عند اكتشاف الاختلافات، يتولى التعامل مع العمليات الثقيلة لتحميل أو تنزيل الملفات وفقًا لذلك.

جمال تزامن S3 يكمن في بساطته. يبدو أمر الأمر الأساسي مثل هذا:

aws s3 sync /local/directory s3://my-bucket/path

بالتأكيد، سيتعين عليك إعداد واجهة سطر الأوامر لاستخدام أوامر aws، ولكنك تحصل على الفكرة – فهو سهل الاستخدام تمامًا.

باختصار، يخفي تزامن S3 العمليات المعقدة التي تحدث خلف الكواليس ويوفر لك وسيلة سهلة للحفاظ على حالات الملفات المتسقة عبر البيئات. لا يهم ما إذا كنت تقوم بنسخ البيانات الحرجة، أو نشر أصول الويب، أو إدارة مجموعات بيانات كبيرة – يقوم تزامن S3 بجميع العمل الشاق بالنيابة عنك.

إعداد واجهة سطر الأوامر لخدمة AWS وتزامن AWS S3

قبل أن تتمكن من بدء مزامنة الملفات مع S3، ستحتاج إلى إعداد وتكوين AWS CLI بشكل صحيح. قد يبدو هذا مربكًا إذا كنت جديدًا على AWS، ولكن سيستغرق فقط بضع دقائق.

يتضمن إعداد CLI خطوتين رئيسيتين: تثبيت الأداة وتكوينها. سأشرح كلا الخطوتين فيما يلي.

تثبيت AWS CLI

يختلف تثبيت AWS CLI قليلاً اعتمادًا على نظام التشغيل الخاص بك.

بالنسبة لأنظمة Windows:

  • انتقل إلى صفحة تنزيل AWS CLI حمل
  • قم بتنزيل مثبت Windows (64 بت)
  • قم بتشغيل المثبت واتبع التعليمات

بالنسبة لأنظمة Linux:

قم بتشغيل الأوامر الثلاثة التالية من خلال الطرفية:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

بالنسبة لأنظمة macOS:

بافتراض أن لديك Homebrew مثبتًا، قم بتشغيل هذا السطر الواحد من الطرفية:

brew install awscli

إذا لم يكن لديك Homebrew، استخدم هذين الأمرين بدلاً من ذلك:

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /

يمكنك تشغيل الأمر aws --versionعلى جميع أنظمة التشغيل للتحقق من تثبيت واجهة سطر أوامر AWS. إليك ما يجب أن تراه:

الصورة 1 – إصدار AWS CLI

تكوين AWS CLI

الآن بعد تثبيت واجهة سطر الأوامر، يجب عليك تكوينها باستخدام بيانات اعتماد AWS الخاصة بك.

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

الصورة 2 – مستخدم AWS IAM

بمجرد الانتهاء، انتقل إلى “بيانات الاعتماد الأمنية” لإنشاء مفتاح وصول جديد. بعد الإنشاء، ستحصل على كل من معرف مفتاح الوصول و المفتاح السري للوصول. اكتبهما في مكان آمن لأنه لن تتمكن من الوصول إليهما في المستقبل:

الصورة 3 – بيانات اعتماد مستخدم AWS IAM

في الطرفية، قم بتشغيل الأمر aws configure. سيطلب منك إدخال معرف مفتاح الوصول الخاص بك، ومفتاح الوصول السري، والمنطقة (eu-central-1 في حالتي)، وتنسيق الإخراج المفضل (json):

الصورة 4 – تكوين AWS CLI

للتحقق من أنك متصل بنجاح بحساب AWS الخاص بك من خلال CLI، قم بتشغيل الأمر التالي:

aws sts get-caller-identity

هذه هي الناتج الذي يجب أن تراه:

الصورة 5 – أمر اختبار اتصال AWS CLI

وهذا هو كل شيء – خطوة واحدة فقط قبل أن تتمكن من بدء استخدام أمر مزامنة S3!

إعداد دلو AWS S3

الخطوة النهائية هي إنشاء دلو S3 الذي سيخزن الملفات المتزامنة الخاصة بك. يمكنك القيام بذلك من خلال واجهة سطر الأوامر أو من لوحة تحكم إدارة AWS. سأختار الخيار الثاني، فقط لكي أغير الأمور قليلاً.

للبدء، انتقل إلى صفحة خدمة S3 في لوحة التحكم وانقر على زر “إنشاء دلو”. بمجرد الانتقال إلى هناك، اختر اسم فريد للدلو (فريد على مستوى عالمي عبر كل خدمات AWS) ثم انتقل إلى الأسفل وانقر على زر “إنشاء”:

الصورة 6 – إنشاء دلو AWS

تم إنشاء الدلو الآن، وستراه على الفور في لوحة التحكم. يمكنك أيضًا التحقق من أنه تم إنشاؤه من خلال واجهة سطر الأوامر:

aws s3 ls

الصورة 7 – جميع الدلاء المتاحة في S3

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

الآن أنت جاهز ومستعد لبدء مزامنة الملفات بين جهازك المحلي و AWS S3!

أمر مزامنة AWS S3 الأساسي

الآن بعد تثبيت وتكوين واجهة سطر الأوامر لـ AWS وتجهيز سلة S3 ، حان الوقت لبدء المزامنة! يكون بناء جملة أمر مزامنة AWS S3 بسيطًا تمامًا. دعني أريك كيف يعمل.

يتبع أمر المزامنة S3 هذا النمط البسيط:

aws s3 sync <source> <destination> [options]

يمكن أن تكون كل من المصدر والوجهة إما مسارًا لدليل محلي أو عنوان S3 URI (يبدأ بـ s3://). اعتمادًا على الطريقة التي تريد المزامنة بها، ستقوم بترتيب هذه بشكل مختلف.

مزامنة الملفات من المجلد المحلي إلى دلو S3

كنت ألعب مؤخرًا مع بحث عميق في Ollama. لنفترض أن هذا هو المجلد الذي أريد مزامنته مع S3. يقع الدليل الرئيسي تحت مجلد Documents. إليك كيف يبدو:

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

هذا هو الأمر الذي يجب علي تشغيله لمزامنة مجلد code-files المحلي مع مجلد backup على دلو S3:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup

سيتم إنشاء المجلد backup على دلو S3 تلقائيًا إذا لم يكن موجودًا.

إليك ما ستراه مطبوعًا على وحدة التحكم:

صورة 9 – عملية مزامنة S3

بعد بضع ثوانٍ، تصبح محتويات المجلد code-files المحلي متاحة في دلو S3:

صورة 10 – محتويات الدلو S3

جمال مزامنة S3 هو أنها تقوم فقط بتحميل الملفات التي لا توجد في الوجهة أو تم تعديلها محليًا. إذا قمت بتشغيل نفس الأمر مرة أخرى دون تغيير أي شيء، سترى… لا شيء! هذا لأن AWS CLI اكتشفت أن جميع الملفات قد تمت مزامنتها بالفعل وتحديثها.

الآن، سأقوم بإجراء تغييرين صغيرين – إنشاء ملف جديد (new_file.txt) وتحديث ملف موجود بالفعل (requirements.txt). عند تشغيل أمر المزامنة مرة أخرى، سيتم تحميل فقط الملفات الجديدة أو المعدلة:

صورة 11 – عملية مزامنة S3 (2)

وهذا كل ما تحتاج إلى معرفته عند مزامنة المجلدات المحلية مع S3. ولكن ماذا لو أردت القيام بالعكس؟

مزامنة الملفات من سلة S3 إلى دليل محلي

إذا كنت ترغب في تنزيل الملفات من سلة S3 إلى جهازك المحلي، ما عليك سوى عكس المصدر والوجهة:

aws s3 sync s3://testbucket-dradecic/backup /Users/dradecic/Documents/code-files-from-s3

سيقوم هذا الأمر بتنزيل جميع الملفات من مجلد النسخ الاحتياطي في سلة S3 إلى مجلد محلي يسمى code-files-from-s3. مرة أخرى، إذا لم يكن المجلد المحلي موجودًا، سيقوم واجهة سطر الأوامر بإنشائه لك:

الصورة 12 – مزامنة من S3 إلى محلي

يجدر بالذكر أن تزامن S3 ليس ثنائي الاتجاه. فهو يذهب دائمًا من المصدر إلى الوجهة، مما يجعل الوجهة تتطابق مع المصدر. إذا قمت بحذف ملف محليًا ثم قمت بمزامنته مع S3، فسيظل موجودًا في S3. بالمثل، إذا قمت بحذف ملف في S3 وقمت بالمزامنة من S3 إلى المحلي، فسيظل الملف المحلي كما هو دون تغيير.

إذا كنت ترغب في جعل الوجهة تتطابق تمامًا مع المصدر (بما في ذلك الحذف)، ستحتاج إلى استخدام علم --delete، الذي سأغطيه في قسم الخيارات المتقدمة.

خيارات تزامن AWS S3 المتقدمة

أداة تزامن S3 الأساسية التي تم استكشافها سابقًا قوية بذاتها، ولكن أضافت AWS إليها خيارات إضافية تمنحك مزيدًا من التحكم في عملية التزامن.

في هذا القسم، سأعرض لك بعض العلامات الأكثر فائدة التي يمكنك إضافتها إلى الأمر الأساسي.

مزامنة الملفات الجديدة أو المعدلة فقط

بشكل افتراضي، يستخدم S3 sync آلية مقارنة أساسية تفحص حجم الملف ووقت التعديل لتحديد ما إذا كان يجب مزامنة ملف. ومع ذلك، قد لا تلتقط هذه الطريقة دائمًا جميع التغييرات، خاصة عند التعامل مع ملفات تم تعديلها ولكن حجمها لا يزال هو نفسه.

لمزامنة دقيقة أكثر، يمكنك استخدام العلامة --exact-timestamps:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --exact-timestamps

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

استبعاد أو تضمين ملفات محددة

في بعض الأحيان، قد لا ترغب في مزامنة كل ملف في دليل ما. ربما ترغب في استبعاد الملفات المؤقتة أو ملفات السجلات، أو أنواع معينة من الملفات (مثل .DS_Store في حالتي). هنا تأتي أعلام --exclude و --include بمساعدة.

ولكن لتوضيح النقطة، دعنا نفترض أنني أرغب في مزامنة دليل الشفرة الخاص بي ولكن استبعاد جميع ملفات Python:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --exclude "*.py"

الآن، يتم مزامنة ملفات أقل بكثير إلى S3:

الصورة 13 – S3 مزامنة باستثناء ملفات Python

يمكنك أيضًا دمج --exclude و --include لإنشاء أنماط أكثر تعقيدًا. على سبيل المثال، استبعد كل شيء ما عدا ملفات Python:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --exclude "*" --include "*.py"

يتم تقييم الأنماط بالترتيب المحدد، لذا النظام يهم! إليك ما ستراه عند استخدام هذه العلامات:

الصورة 14 – علامات الاستبعاد والاستدراج

الآن تتم مزامنة ملفات Python فقط، وتفتقر الملفات التكوينية الهامة.

حذف الملفات من الوجهة

بشكل افتراضي، يقوم S3 بالمزامنة بإضافة أو تحديث الملفات في الوجهة فقط – ولا يقوم بحذفها أبدًا. وهذا يعني أنه إذا قمت بحذف ملف من المصدر، فسيظل موجودًا في الوجهة بعد المزامنة.

لجعل الوجهة تعكس بالضبط المصدر، بما في ذلك الحذف، استخدم العلم --delete:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --delete

إذا قمت بتشغيل هذا للمرة الأولى، سيتم مزامنة جميع الملفات المحلية مع S3:

صورة 15 – علم الحذف

هذا مفيد بشكل خاص للحفاظ علىنسخ دقيقة للمجلدات. ولكن كن حذرًا – يمكن أن يؤدي هذا العلم إلى فقدان البيانات إذا تم استخدامه بشكل غير صحيح.

لنفترض أنني حذفت config.py من مجلدي المحلي وقمت بتشغيل أمر المزامنة مع العلم --delete:

الصورة 16 – علم الحذف (2)

كما يمكنك أن ترى، الأمر لا يقوم فقط بمزامنة الملفات الجديدة والمعدلة ولكنه أيضًا يحذف الملفات من دلو S3 التي لم تعد موجودة في المجلد المحلي.

إعداد التشغيل التجريبي لمزامنة آمنة

أخطر عمليات مزامنة S3 هي تلك التي تشمل علم --delete. لتجنب حذف الملفات الهامة عن طريق الخطأ، يمكنك استخدام علم --dryrun لمحاكاة العملية دون إجراء أي تغييرات:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --delete --dryrun

لتوضيح ذلك، لقد قمت بحذف ملفات requirements.txt و settings.toml من مجلد محلي ثم قمت بتنفيذ الأمر:

الصورة 17 – Dry run

سيظهر لك بالضبط ما سيحدث إذا قمت بتشغيل الأمر بشكل حقيقي، بما في ذلك الملفات التي سيتم رفعها، تنزيلها، أو حذفها.

أوصي دائمًا باستخدام --dryrun قبل تنفيذ أي أمر مزامنة S3 مع علم --delete، خاصة عند العمل مع بيانات مهمة.

هناك العديد من الخيارات الأخرى المتاحة لأمر مزامنة S3، مثل --acl لتعيين الأذونات، --storage-class لاختيار طبقة تخزين S3، و --recursive للانتقال عبر الأدلة الفرعية. تحقق من توثيق AWS CLI الرسمي للحصول على قائمة كاملة بالخيارات.

الآن وبما أنك ملم بالخيارات الأساسية والمتقدمة لمزامنة S3، دعنا نلقي نظرة على كيفية استخدام هذه الأوامر لسيناريوهات عملية مثل النسخ الاحتياطي والاستعادة.

استخدام AWS S3 Sync للنسخ الاحتياطي والاستعادة

أحد أشهر حالات الاستخدام لمزامنة AWS S3 هو نسخ النسخ الاحتياطي للملفات المهمة واستعادتها عند الحاجة. دعنا نستكشف كيف يمكنك تنفيذ استراتيجية بسيطة للنسخ الاحتياطي والاستعادة باستخدام أمر المزامنة.

إنشاء نسخ احتياطية إلى S3

إنشاء نسخ احتياطية باستخدام S3 sync أمر مباشر – فقط تحتاج إلى تشغيل أمر المزامنة من الدليل المحلي إلى دلو S3. ومع ذلك، هناك بعض الممارسات الموصى بها لمتابعة النسخ الاحتياطية بشكل فعال.

أولًا، من الجيد تنظيم النسخ الاحتياطية حسب التاريخ أو الإصدار. إليك نهج بسيط باستخدام الطابع الزمني في مسار S3:

# إنشاء متغير الطابع الزمني TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S) # تشغيل النسخ الاحتياطي aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backups/$TIMESTAMP

هذا ينشئ مجلدًا جديدًا لكل نسخة احتياطية بطابع زمني مثل 2025-03-10-18-56-42. إليك ما ستراه على S3:

الصورة 18 – النسخ الاحتياطية المختومة بالتأريخ

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

يمكنك أيضًا استخدام الخيار --storage-class لتحديد فئة تخزين أكثر كفاءة تكلفة لنسخ الاحتياطي الخاصة بك:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backups/$TIMESTAMP --storage-class STANDARD_IA

الصورة 19 – محتويات النسخ الاحتياطية بفئة تخزين مخصصة

يستخدم هذا فئة تخزين S3 Infrequent Access ، والتي تكلف أقل ولكن لديها رسم استرداد طفيف. للأرشفة على المدى الطويل ، يمكنك حتى استخدام فئة تخزين Glacier:

aws s3 sync /Users/dradecic/Documents/important-data s3://testbucket-dradecic/backups/$TIMESTAMP --storage-class GLACIER

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

استعادة الملفات من S3

الاستعادة من النسخ الاحتياطية بسيطة تمامًا – كل ما عليك فعله هو عكس المصدر والوجهة في أمر المزامنة الخاص بك:

# استعادة من أحدث نسخة احتياطية (بشرط معرفتك للطابع الزمني) aws s3 sync s3://testbucket-dradecic/backups/2025-03-10-18-56-42 /Users/dradecic/Documents/restored-data

سيقوم ذلك بتنزيل جميع الملفات من النسخة الاحتياطية الخاصة بذلك إلى الدليل المحلي restored-data:

الصورة 20 – استعادة الملفات من S3

إذا لم تتذكر الطابع الزمني الدقيق، يمكنك إولاً إدراج جميع النسخ الاحتياطية الخاصة بك:

aws s3 ls s3://testbucket-dradecic/backups/

التي ستظهر لك شيئًا مثل:

الصورة 21 – قائمة النسخ الاحتياطية

يمكنك أيضًا استعادة ملفات أو مجلدات محددة من نسخة احتياطية باستخدام العلامات التي تستبعد/تتضمن التي ناقشناها سابقًا:

# استعادة ملفات التكوين فقط aws s3 sync s3://testbucket-dradecic/backups/2025-03-10-18-56-42 /Users/dradecic/Documents/restored-configs --exclude "*" --include "*.config" --include "*.toml" --include "*.yaml"

بالنسبة لأنظمة البيانات الحيوية، أوصي بتأتير عمليات النسخ الاحتياطي الخاصة بك باستخدام المهام المجدولة (مثل مهام cron على Linux/macOS أو جدول المهام على Windows). هذا يضمن أنك تقوم بنسخ احتياطية لبياناتك بانتظام دون الحاجة إلى تذكر القيام بذلك يدويًا.

حل مشاكل مزامنة AWS S3

مزامنة AWS S3 هي أداة موثوقة، ولكن قد تواجه أحيانًا مشاكل. ومع ذلك، معظم الأخطاء التي ستواجهها تكون بسبب البشر.

أخطاء المزامنة الشائعة

لنلقِ نظرة على بعض المشاكل الشائعة وحلولها.

  • خطأ رفض الوصول يعني عادة أن مستخدم IAM الخاص بك ليس لديه الأذونات اللازمة للوصول إلى دلو S3 أو أداء عمليات معينة. لحل هذه المشكلة، جرب أحد الحلول التالية:
    • تحقق من أن مستخدم IAM الخاص بك لديه الصلاحيات اللازمة لـ S3 (s3:ListBucket, s3:GetObject, s3:PutObject).
    • تحقق من أن سياسة الدلو لا تمنع صراحة وصول مستخدمك.
    • تأكد من أن الدلو نفسه لا يمنع الوصول العام إذا كنت بحاجة إلى العمليات العامة.
  • خطأ في عدم وجود الملف أو الدليل يظهر عادة عندما لا يكون المسار المصدر الذي حددته في أمر المزامنة موجودًا. الحل بسيط – تحقق مرتين من مساراتك وتأكد من وجودها. قم بإيلاء اهتمام خاص لأخطاء الطباعة في أسماء الدلاء أو الدلائل المحلية.
  • حد حجم الملفقد تحدث أخطاء عندما ترغب في مزامنة ملفات كبيرة. بشكل افتراضي، يمكن لـ S3 sync التعامل مع ملفات تصل إلى 5GB في الحجم. بالنسبة للملفات الأكبر حجمًا، سترى انقطاعات أو نقل غير كامل.
    • بالنسبة للملفات التي يزيد حجمها عن 5GB، يجب عليك استخدام علم --only-show-errors بالاقتران مع علم --size-only. يساعد هذا التوازن في نقل الملفات الكبيرة من خلال تقليل الإخراج ومقارنة حجم الملفات فقط:
aws s3 sync /Users/dradecic/large-files s3://testbucket-dradecic/large-files --only-show-errors --size-only

تحسين أداء المزامنة

إذا كانت عملية مزامنة S3 الخاصة بك تعمل ببطء أكبر من المتوقع، يمكنك القيام ببعض التعديلات لتسريع الأمور.

  • استخدم نقل متزامن. بشكل افتراضي ، يستخدم S3 sync عددًا محدودًا من العمليات المتزامنة. يمكنك زيادة هذا باستخدام معلمة --max-concurrent-requests:
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --max-concurrent-requests 20
  • ضبط حجم القطع. بالنسبة للملفات الكبيرة ، يمكنك تحسين سرعة النقل عن طريق ضبط حجم القطع. يقسم هذا الملفات الكبيرة إلى قطع بحجم 16 ميجابايت بدلاً من 8 ميجابايت بشكل افتراضي ، مما يمكن أن يكون أسرع لاتصالات الشبكة الجيدة:
aws s3 sync /Users/dradecic/large-files s3://testbucket-dradecic/backup --cli-read-timeout 120 --multipart-threshold 64MB --multipart-chunksize 16MB
  • استخدم --no-progress للنصوص. إذا كنت تقوم بتشغيل S3 sync في سيناريو مؤتمت ، استخدم علم --no-progress لتقليل الإخراج وتحسين الأداء:
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --no-progress
  • استخدم نقاط النهاية المحلية. إذا كانت موارد AWS الخاصة بك في نفس المنطقة، فإن تحديد نقطة النهاية الإقليمية يمكن أن يقلل من التأخير:
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --endpoint-url https://s3.eu-central-1.amazonaws.com

يمكن أن تحسن هذه الأمثليات أداء المزامنة بشكل كبير، خاصة عند نقل البيانات الكبيرة أو عند التشغيل على أجهزة ذات قدرات أقل.

إذا كنت لا تزال تواجه مشاكل بعد تجربة هذه الحلول، فإن AWS CLI يحتوي على خيار تصحيح مضمن. ما عليك سوى إضافة --debug إلى الأمر الخاص بك لرؤية معلومات مفصلة حول ما يحدث أثناء عملية المزامنة:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --debug

توقع رؤية الكثير من رسائل السجل التفصيلية، مشابهة لهذه الرسائل:

الصورة 22 – تشغيل المزامنة في وضع التصحيح

وهذا هو تقريبًا كل شيء عندما يتعلق الأمر بحل مشكلة تزامن AWS S3. بالتأكيد، قد تحدث أخطاء أخرى، ولكن في 99٪ من الأحيان، ستجد الحل في هذا القسم.

تلخيص تزامن AWS S3

باختصار، تزامن AWS S3 هو أحد تلك الأدوات النادرة التي تكون سهلة الاستخدام وقوية بشكل لا يصدق. لقد تعلمت كل شيء بدءًا من الأوامر الأساسية حتى الخيارات المتقدمة واستراتيجيات النسخ الاحتياطي ونصائح استكشاف الأخطاء وإصلاحها.

بالنسبة للمطورين ومسؤولي النظام أو أي شخص يعمل مع AWS، فإن أمر تزامن S3 هو أداة أساسية – فهو يوفر الوقت ويقلل من استخدام عرض النطاق الترددي ويضمن وجود ملفاتك حيث تحتاج إليها، عندما تحتاج إليها.

سواء كنت تقوم بنسخ البيانات الحرجة، أو نشر أصول الويب، أو مجرد الحفاظ على بيئات مختلفة متزامنة، فإن تزامن AWS S3 يجعل العملية سهلة وموثوقة.

أفضل طريقة لتصبح مرتاحًا مع مزامنة S3 هي البدء في استخدامها. جرب إعداد عملية مزامنة بسيطة باستخدام ملفاتك الخاصة، ثم استكشاف الخيارات المتقدمة تدريجيًا لتناسب احتياجاتك الخاصة.

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

لمعرفة المزيد عن خدمات AWS، تفقد هذه الدورات التعليمية من DataCamp:

يمكنك حتى استخدام DataCamp للتحضير لامتحانات شهادة AWS – ممارس سحابة AWS (CLF-C02).

Source:
https://www.datacamp.com/tutorial/aws-s3-sync