ما هو rclone، وما الذي يُتقنه
rclone برنامج سطر أوامر مجاني ومفتوح المصدر لنسخ الملفات ومزامنتها ونقلها بين قرصك والتخزين السحابي، أو بين سحابتين. ويُسمّى غالبًا "rsync للتخزين السحابي": ملف تنفيذي واحد، مكتوب بلغة Go، يتحدث مع أكثر من 70 خلفية تخزين، بما فيها Amazon S3 وكل خدمة متوافقة مع S3، وGoogle Drive، وOneDrive، وDropbox، وAzure Blob، وBackblaze B2، وSFTP، وWebDAV.
والفكرة التي تجعله مفيدًا هي remote. تصف كل حساب تخزين مرة واحدة، وتعطيه اسمًا قصيرًا مثل s3old أو gdrive، ومنذ تلك اللحظة يعمل كل أمر بالطريقة نفسها مع أي منها: rclone copy ./backups s3old:my-bucket/backups يُقرأ تمامًا كـrclone copy gdrive:Photos ./photos. والمسار هو remote:path، وبالنسبة لتخزين الكائنات، الجزء الأول من المسار هو الـbucket.
وعمليًا يُستخدم rclone لأربع مهام: نسخ احتياطية ليلية إلى تخزين الكائنات، وترحيلات لمرة واحدة من مزوّد إلى آخر، وسحب ملفات من Google Drive أو سُحب استهلاكية أخرى، وتثبيت (mount) bucket كما لو كان مجلدًا محليًا. وهو يقارن الملفات قبل نقلها، فتبعث عملية ثانية ما تغيّر فقط، ويعيد محاولة العمليات الفاشلة، ويستطيع تشفير كل شيء على العميل قبل أن يترك الجهاز.
وما لا يكونه: عميل مزامنة ثنائي الاتجاه كتطبيق Dropbox (أمر bisync الأحدث موجود، لكنه أداة مقصودة، لا خدمة في الخلفية)، أو برنامج نسخ احتياطي بلقطات (snapshots) مُزيلة للتكرار. ومن أجل نسخ احتياطية مُرقَّمة الإصدارات ومُزيلة التكرار، تستخدم أدوات مثل restic rclone كطبقة نقل تحتها.
تثبيت rclone على Linux وmacOS وWindows
rclone ملف تنفيذي واحد بلا أي اعتماديات، فتثبيته غالبًا مجرد سؤال عن مصدر الملف. وحزم التوزيعة (apt install rclone) متأخرة غالبًا بعدة إصدارات؛ ولكل ما يتحدث مع واجهات برمجة سحابية حالية، فضّل النسخة الرسمية.
Linux وmacOS: يُنزّل نص تثبيت المشروع آخر إصدار لمنصتك ويضعه في /usr/bin (أو /usr/local/bin على macOS). وعلى macOS، يعمل Homebrew أيضًا، لكن بناء Homebrew لا يستطيع تشغيل rclone mount؛ وإن احتجت التثبيت كمجلد (mounting)، استخدم الملف التنفيذي الرسمي مع macFUSE.
Windows: winget install Rclone.Rclone هو الطريق الأسرع؛ ويحمله Scoop وChocolatey أيضًا. وبلا مدير حزم، نزّل ملف zip من rclone.org/downloads، وفُك rclone.exe في مجلد مثل C:\rclone، وأضف ذلك المجلد إلى PATH لديك. شغّله من PowerShell أو cmd؛ فلا مُثبِّت له ولا واجهة رسومية خاصة به. ولاستخدام rclone mount على Windows تحتاج أيضًا WinFsp.
تحقق من النتيجة بـrclone version. والملف التنفيذي المثبّت من البناء الرسمي يستطيع تحديث نفسه لاحقًا بـrclone selfupdate؛ أما المُحزَّم فينبغي تحديثه عبر مدير الحزم الخاص به.
# Linux / macOS: official install script
sudo -v ; curl https://rclone.org/install.sh | sudo bash
# macOS with Homebrew (no rclone mount support)
brew install rclone
# Windows (PowerShell)
winget install Rclone.Rclone
# everywhere
rclone version
rclone config وفكرة الـremote
يبدأ rclone config معالجًا تفاعليًا: n من أجل remote جديد، واسمًا، ونوع التخزين، ثم الأسئلة التي يحتاجها ذلك النوع (مفاتيح، أو endpoint، أو منطقة، أو تسجيل دخول عبر المتصفح لـGoogle Drive وخدمات OAuth الأخرى). وتُكتب الأجوبة في ملف INI عادي، rclone.conf. ويطبع rclone config file مكانه: غالبًا ~/.config/rclone/rclone.conf على Linux وmacOS، و%APPDATA%\rclone\rclone.conf على Windows.
وبما أنه ملف نصي عادي، تستطيع أيضًا كتابة remotes بيدك، أو نسخ الملف إلى خادم، أو حفظه في أداة الأسرار (secrets) لديك. عامله كسرّ: فهو يحمل مفاتيح وصول ورموز OAuth. والأسرار التي يكتبها rclone نفسه مُعتَّمة فقط، لا مُشفَّرة؛ ويعرض rclone config كلمة مرور للضبط إن كان على الملف أن يجلس على جهاز مشترك.
وكل [section] هو remote واحد. ثم توجّهه كـname: متبوعًا بمسار. ومع تخزين الكائنات، يعني name: وحده الحساب، وname:bucket يعني bucket، وname:bucket/prefix يعني "مجلدًا" داخله. وrclone lsd name: هو الاختبار الأسرع لعمل المفاتيح والـendpoint.
والملف ليس الطريقة الوحيدة. فكل خيار يمكن أن يأتي من متغيّر بيئة باسم RCLONE_CONFIG_<REMOTE>_<OPTION>، وهذا يناسب الحاويات وCI حيث تفضّل حقن الأسرار على شحن ملف ضبط.
اثنان من الـremotes في rclone.conf: AWS S3 وGoogle Drive
[s3old]
type = s3
provider = AWS
access_key_id = AKIA...
secret_access_key = ...
region = eu-central-1
[gdrive]
type = drive
scope = drive.readonly
token = {"access_token":"...","expiry":"..."}
# the same S3 remote from environment variables instead
# RCLONE_CONFIG_S3OLD_TYPE=s3
# RCLONE_CONFIG_S3OLD_PROVIDER=AWS
# RCLONE_CONFIG_S3OLD_ACCESS_KEY_ID=AKIA...
الأوامر الأساسية، وcopy مقابل sync
rclone copy ينسخ الملفات من المصدر إلى الوجهة ويتجاوز الملفات المتطابقة أصلًا هناك. ولا يحذف أي شيء في الوجهة أبدًا، وهذا ما يجعله الخيار الآمن الافتراضي.
rclone sync يجعل الوجهة مطابقة للمصدر، وهذا يشمل حذف ملفات الوجهة غير الموجودة في المصدر. وجّهه إلى مجلد خاطئ، أو بدّل المصدر والوجهة، وسيزيل بيانات، وتخزين الكائنات لا يملك سلة محذوفات إلا إن كان ترقيم الإصدارات (versioning) مفعّلًا. شغّل دائمًا أمر sync جديدًا بـ--dry-run أولًا، واقرأ ما سيحذفه، وشغّله فعليًا فقط بعد ذلك. و--max-delete 100 حزام أمان مفيد للمهام المجدولة: يتوقف التشغيل بدل حذف أكثر من ذلك العدد.
rclone move ينسخ ثم يحذف كل ملف من المصدر بعد وصوله؛ وأضف --delete-empty-src-dirs لتنظيف المجلدات أيضًا. rclone check يقارن المصدر والوجهة ويقرّر الاختلافات دون تغيير أي شيء (المزيد عنه أدناه).
وللتصفّح: rclone lsd remote: يسرد الـbuckets أو المجلدات، وrclone ls remote:bucket يسرد كل كائن بحجمه، وrclone lsf يمنح قائمة ملائمة للنصوص البرمجية، وrclone size remote:bucket يطبع عدد الكائنات والبايتات الإجمالية، وهو أول رقم تقارنه بعد ترحيل. ويساعد rclone tree وrclone ncdu حين تحتاج إلى معرفة أين تذهب المساحة.
وهناك سلوك يُعثِر الجميع تقريبًا: مثل rsync بشرطة مائلة ختامية، ينسخ rclone محتويات مجلد المصدر، لا المجلد نفسه. فـrclone copy ./photos remote:bucket يضع الملفات عند جذر الـbucket؛ اكتب remote:bucket/photos إن أردت المجلد. ولنسخ ملف واحد أو إعادة تسميته، استخدم copyto أو moveto.
rclone lsd s3old: # buckets this key can see
rclone ls s3old:media/2026/ # objects and sizes
rclone size s3old:media # count + total bytes
rclone copy ./site s3old:media/site -P # upload, never deletes
rclone sync ./site s3old:media/site --dry-run # preview first
rclone sync ./site s3old:media/site -P # then for real
rclone move ./outbox s3old:media/inbox --delete-empty-src-dirs
rclone copyto ./logo.png s3old:media/img/logo-v2.png
الأعلام (flags) المهمة: التجربة الجافة، والسرعة، وعرض النطاق
--dry-run (-n) يُظهر ما سيُنسخ أو يُحذف دون لمس أي شيء. --interactive (-i) يسأل قبل كل عملية هدّامة، وهذا مفيد لتنظيف لمرة واحدة.
--progress (-P) يُظهر الإنتاجية الحيّة، والأعداد، والوقت المتوقع للانتهاء. ومن أجل المهام التي تعمل دون مراقبة، استخدم بدلًا من ذلك --log-file rclone.log --log-level INFO، كي تقرأ ما حدث لاحقًا.
--transfers (الافتراضي 4) هو عدد الملفات التي تنتقل بالتوازي، و--checkers (الافتراضي 8) عدد المقارنات التي تعمل بالتوازي. وتخزين الكائنات بطيء لكل طلب وسريع في المُجمَل، فالملفات الصغيرة الكثيرة تستفيد من --transfers بين 16 و32 و--checkers 32 أو أكثر. رفعها تدريجيًا: فالمزوّدون يحدّون المعدل، وكثرة الطلبات المتوازية تتحول إلى إعادات محاولة.
--bwlimit يسقف عرض النطاق، مثلًا --bwlimit 20M (بايت في الثانية، أي 20 ميبي بايت/ث)، أو جدول زمني مثل --bwlimit "08:00,10M 19:00,off" يُقيّد خلال ساعات العمل ويعمل بلا حد في الليل.
--s3-chunk-size (الافتراضي 5 ميبي بايت) يحدد حجم جزء الرفع متعدد الأجزاء، و--s3-upload-concurrency (الافتراضي 4) عدد أجزاء الملف الواحد التي تُرفَع في الوقت نفسه. ومن أجل الملفات الكبيرة على رابط سريع، يقلّص --s3-chunk-size 64M عدد الطلبات كثيرًا. وتنمو ذاكرة الاستخدام مع transfers × upload-concurrency × chunk-size، فجزء بحجم 64 ميبي بايت مع 16 عملية نقل يمكن أن يستهلك عدة غيغابايتات من RAM. ويسمح S3 بما لا يزيد عن 10,000 جزء لكل كائن؛ ويرفع rclone حجم الجزء بنفسه حين يعرف حجم الملف، لكن ليس لعمليات الرفع المتدفّقة (rcat).
ومن أجل الـbuckets ذات ملايين الكائنات، يسرد --fast-list الـbucket كاملًا بطلبات أقل على حساب الذاكرة، ويمنع --checksum أو --size-only rclone من قراءة وقت تعديل كل كائن، وهو ما يكلّف على S3 طلبًا إضافيًا لكل كائن.
rclone copy /srv/backups s3old:backups/db \
--transfers 16 --checkers 32 \
--s3-chunk-size 64M --s3-upload-concurrency 4 \
--bwlimit "08:00,20M 20:00,off" \
--log-file /var/log/rclone-backup.log --log-level INFO
ضبط remote متوافق مع S3، مع CDN.com.tr مثالًا
أي خدمة تنفّذ واجهة برمجة S3 تستخدم نوع s3 في rclone. والحقول التي تتغيّر من مزوّد إلى آخر هي provider وendpoint وأحيانًا region. استخدم المزوّد المُسمّى حين يملك rclone واحدًا (AWS، Cloudflare، Minio، Wasabi وغيرها)؛ فهو يفعّل خصوصيات تلك الخدمة. ومن أجل خدمة لا يسردها rclone، استخدم provider = Other.
تخزين الكائنات على CDN.com.tr متوافق مع S3، وrclone واحد من العملاء التي تعمل معه كما هي. والـendpoint هو https://s3.cdn.com.tr؛ والأدوات التي تطلب منطقة يمكن أن تُترَك على الافتراضي، وتتوقع الخدمة عنونة على نمط المسار (path-style)، وهو الافتراضي في rclone لـprovider = Other. وتُنشَأ الـbuckets ومفاتيح الوصول في اللوحة (تبويب مفاتيح الوصول) أو بـcdnctl. ويُعرَض المفتاح السري مرة واحدة فقط، عند الإنشاء، فانسخه مباشرة إلى ضبط rclone أو مدير أسرارك.
وأفضل ضبط للمفاتيح أن تكون محدودة النطاق (scoped) للـbucket الذي تخدمه. ومفتاح كذلك لا يُسمح له بإنشاء buckets، فأخبر rclone بعدم المحاولة: no_check_bucket = true يتجاوز فحص إنشاء الـbucket الذي يقوم به rclone عادة قبل الرفع. وللسبب نفسه، اختبر مفتاحًا محدود النطاق بـrclone lsd cdntr:my-bucket بدل سرد الحساب كاملًا.
ويتولى cdnctl طبقة التحكم هنا: الـbuckets، والمفاتيح، والربط بتطبيقات الحاويات. وقراءة الكائنات نفسها وكتابتها مهمة عميل S3 مثل rclone. (أمر cdnctl cp المنفصل يرفع إلى تخزين ملفات CDN، وهو منتج مختلف؛ انظر تخزين ملفات CDN.)
rclone.conf: remote لتخزين الكائنات على CDN.com.tr
[cdntr]
type = s3
provider = Other
access_key_id = <access key from the panel>
secret_access_key = <secret, shown once at creation>
endpoint = https://s3.cdn.com.tr
no_check_bucket = true
# test it
# rclone lsd cdntr:my-bucket
# rclone copy ./smoke.txt cdntr:my-bucket/ -v
الترحيل بين المزوّدين: R2 أو B2 أو AWS S3 إلى S3 آخر
الترحيل بين خدمتي S3 هو remote-ان وأمر واحد. يسرد rclone كلا الطرفين، ويقارنهما، وينسخ الناقص، فتستطيع تشغيل الأمر نفسه مرارًا: التشغيل الأول ينقل الكمّ الأكبر، والتشغيلات اللاحقة تنقل التغييرات فقط، والتشغيل الأخير خلال التبديل (cutover) قصير.
وتتدفق البيانات عبر الجهاز الذي يشغّل rclone: فهو ينزّل من المصدر ويرفع إلى الوجهة. شغّله على خادم بعرض نطاق جيد نحو كلا الطرفين بدل حاسوب محمول، وتحقق أولًا من تسعير مزوّد المصدر لحركة الخروج (egress). تحاسب AWS على النقل الخارج، وتشمل Backblaze B2 خروجًا مجانيًا حتى مضاعف ما تخزّنه، ولا يفرض Cloudflare R2 رسومًا على الخروج. وتحدث النسخة من جانب الخادم فقط داخل مزوّد واحد.
وإعدادات تجعل الترحيلات الكبيرة أسرع وأرخص: --fast-list لتقليل طلبات السرد، و--checksum كي يقارن rclone الأحجام والبصمات (hashes) بدل جلب وقت التعديل كائنًا بكائن، و--transfers و--checkers أعلى إن سمح المصدر بذلك. ابدأ بـcopy، لا sync، كي لا يحذف خطأ شيئًا؛ وانتقل إلى sync (بـ--dry-run أولًا) فقط للمرور الأخير إن حُذفت كائنات في المصدر خلال ذلك.
ومن أجل Backblaze B2 يمكنك استخدام نوع b2 الأصلي في rclone أو نقطة نهاية S3 الخاصة بـB2؛ وكلاهما يعمل. وتُنشأ مفاتيح R2 في لوحة Cloudflare، ويحتوي الـendpoint الخاص به على معرّف حسابك. وتشرح صفحات مقارناتنا الانتقال بالتفصيل: بديل Cloudflare R2، وبديل Backblaze B2، وبديل IDrive e2. وعلى جانب التطبيق، الشيء الوحيد الذي يتغيّر هو الـendpoint والمفاتيح.
# rclone.conf (source)
[r2]
type = s3
provider = Cloudflare
access_key_id = ...
secret_access_key = ...
endpoint = https://<ACCOUNT_ID>.r2.cloudflarestorage.com
region = auto
# 1. preview, 2. bulk copy, 3. repeat until the delta is small
rclone copy r2:media cdntr:media --dry-run
rclone copy r2:media cdntr:media \
--fast-list --checksum --transfers 32 --checkers 64 -P
# cutover: stop writes, final pass, then compare
rclone sync r2:media cdntr:media --fast-list --checksum -P
rclone check r2:media cdntr:media --one-way
التحقق من الترحيل بـrclone check
يقارن rclone check source: dest: كلا الطرفين كائنًا بكائن، ويطبع ملخصًا: كم ملفًا تطابق، وكم اختلف، وأيهما موجود على طرف واحد فقط. ولا يغيّر شيئًا. و--one-way يبحث فقط عن ملفات المصدر الناقصة أو المختلفة في الوجهة، وهذا ما تريده حين تحتوي الوجهة أصلًا على بيانات زائدة.
وتستخدم المقارنة الأحجام، وحيث يتشارك الطرفان نوع بصمة (hash)، البصمات أيضًا. وعلى S3 تلك البصمة هي MD5، وهنا المشكلة: فالكائن المرفوع في أجزاء متعددة له ETag ليس MD5 الخاص به. ويخزّن rclone MD5 الحقيقي في بيانات تعريف الكائن حين يرفع الملفات متعددة الأجزاء بنفسه، لكن الكائنات التي كتبتها أدوات أخرى غالبًا لا تملكه، فمن أجل تلك يستطيع check مقارنة الأحجام فقط ويقول ذلك في مخرجاته ("hashes could not be checked"). وحين تحتاج تأكدًا بايتًا ببايت، يقرأ --download كلتا النسختين ويقارن المحتوى، على حساب نقل كل شيء من جديد.
ومن أجل تقارير تحتفظ بها، اكتب القوائم إلى ملفات بـ--combined و--missing-on-dst و--differ. قارن rclone size على الطرفين كفحص سلامة أخير، ومن أجل remote مُشفَّر استخدم rclone cryptcheck، الذي يفحص النسخة المشفَّرة مقابل المصدر الصريح.
rclone size r2:media && rclone size cdntr:media
rclone check r2:media cdntr:media --one-way \
--combined check-report.txt \
--missing-on-dst missing.txt --differ differ.txt
# slow but exact: download and compare the bytes
rclone check r2:media cdntr:media --download
Google Drive والتشفير والتثبيت كمجلد، بإيجاز
Google Drive. اختر drive في rclone config، واختر نطاقًا (drive.readonly كافٍ للتنزيل)، ووافق على الوصول في المتصفح. وعلى خادم بلا متصفح، أجب n على الضبط التلقائي وشغّل rclone authorize "drive" على جهاز يملك متصفحًا، ثم ألصق الرمز (token) هنا. ومعرّف العميل (client ID) المدمج في rclone مشترَك بين كل المستخدمين ومحدود المعدل؛ ومن أجل استخدام مكثّف، أنشئ عميل OAuth خاصًا بك في Google Cloud وأدخله خلال الضبط. وملفات Google Docs ليست ملفات حقيقية، فيصدّرها rclone (إلى docx وxlsx وما شابه) عند التنزيل. وتحدّ Google أيضًا الرفع إلى نحو 750 غيغابايت لكل مستخدم في اليوم، فترحيل كبير *إلى* Drive يستغرق عدة أيام.
التشفير. يُغلِّف remote من نوع crypt remote آخر ويشفّر محتويات الملفات، والأسماء اختياريًا، قبل الرفع. تنشئه فوق، مثلًا، cdntr:backups، ثم تكتب من خلال remote التشفير؛ ولا يرى المزوّد سوى نص مشفَّر. وتعيش كلمة المرور والملح (salt) في rclone.conf لديك: افقدهما والبيانات غير قابلة للاستعادة، فاحفظهما احتياطيًا بعيدًا عن البيانات.
التثبيت كمجلد (mounting). يجعل rclone mount remote:bucket /mnt/bucket الـbucket يبدو كمجلد (على Windows، ثبّته على حرف محرك مثل X: مع تثبيت WinFsp). أضف --vfs-cache-mode writes أو full كي تعمل التطبيقات التي تعيد كتابة الملفات بشكل صحيح. والتثبيت كمجلد مناسب للتصفّح، ومكتبات الوسائط، والقراءات العرضية؛ لكنه ليس قرصًا، فلا تضع عليه قواعد بيانات أو أي شيء يحتاج قفل ملفات.
التنزيل من Drive؛ وإضافة remote مُشفَّر فوق bucket
rclone copy gdrive:Projects ./projects -P
# rclone.conf: encrypted backups inside an existing bucket remote
[secure]
type = crypt
remote = cdntr:backups/encrypted
filename_encryption = standard
password = <obscured by rclone config>
password2 = <obscured by rclone config>
rclone copy /srv/backups secure: -P
جدولة rclone: cron وsystemd وTask Scheduler
لا يملك rclone جدولة خاصة به؛ فهو مصمَّم ليُشغَّل بواحدة. وعلى Linux، يكفي إدخال cron لمعظم المهام. غلّف الأمر بـflock كي لا يتداخل تشغيل بطيء مع التالي، وسجّل إلى ملف، ووجّه --config إلى مسار صريح، لأن cron يعمل بـHOME مختلف وإلا فلن يجد remotes لديك.
ومن أجل sync يحذف، أضف أحزمة الأمان: --max-delete لإيقاف تشغيل سيزيل أكثر من المعتاد بكثير، و--backup-dir لنقل الملفات المُستبدَلة والمحذوفة إلى مجلد مؤرَّخ بدل فقدانها. ورمز خروج rclone هو 0 عند النجاح وغير صفري عند الفشل، فتستطيع البرنامج النصي المُغلِّف أو وحدة systemd رفع تنبيه؛ ومهمة تفشل بصمت لشهر هي الطريقة المعتادة لفقدان النسخ الاحتياطية.
وعلى أجهزة systemd، تمنحك خدمة مع مؤقِّت تسجيلًا في journal، وPersistent=true، الذي يشغّل مهمة فائتة بعد إعادة التشغيل. وعلى Windows، أنشئ مهمة Task Scheduler تشغّل rclone.exe بمسار الضبط الكامل وملف سجل، تحت حساب له وصول إلى الملفات والضبط كلاهما.
# crontab -e (02:30 every night)
30 2 * * * flock -n /tmp/rclone-backup.lock \
rclone sync /srv/backups cdntr:backups/nightly \
--config /home/backup/.config/rclone/rclone.conf \
--max-delete 200 \
--backup-dir cdntr:backups/deleted/$(date +\%F) \
--log-file /var/log/rclone-backup.log --log-level INFO
أسئلة شائعة حول rclone
ما الفرق بين rclone copy وrclone sync؟
copy يضيف ويحدّث ملفات في الوجهة ولا يحذف شيئًا أبدًا. وsync يجعل الوجهة مطابقة للمصدر، فيحذف أيضًا ملفات الوجهة غير الموجودة في المصدر. استخدم copy إلا إن احتجت مرآة للحذف، وجرّب دائمًا sync جديدًا بـ--dry-run أولًا.
هل rclone مجاني، وهل استخدامه آمن؟
نعم. rclone مفتوح المصدر تحت ترخيص MIT، بلا أي إصدار مدفوع. وهو يتحدث مباشرة مع مزوّد تخزينك؛ ولا يمرّ شيء عبر خدمة طرف ثالث. والمخاطر الحقيقية هي تسرّب rclone.conf، الذي يحمل مفاتيحك، وsync موجَّه في الاتجاه الخاطئ.
هل لـrclone واجهة رسومية على Windows؟
rclone نفسه برنامج سطر أوامر؛ وعلى Windows تشغّل rclone.exe من PowerShell أو cmd. ويأتي مع واجهة ويب تجريبية (rclone rcd --rc-web-gui)، وتوجد عدة واجهات أمامية من جهات خارجية، لكن الأوامر في هذا الدليل هي نفسها في كل مكان.
كيف أنزّل مجلدًا من Google Drive بـrclone؟
أنشئ remote من نوع drive بـrclone config، ثم شغّل rclone copy gdrive:FolderName ./local-folder -P. وتعيش الملفات المشتركة تحت --drive-shared-with-me، وتُضبط المحركات المشتركة (shared drives) كـremote خاص بها، وتُصدَّر ملفات Google Docs إلى صيغ Office أثناء التنزيل.
لماذا rclone بطيء مع كثير من الملفات الصغيرة؟
كل كائن يكلّف طلبًا واحدًا على الأقل، فالكُمون (latency)، لا عرض النطاق، هو ما يحدد السرعة. رفع --transfers و--checkers، واستخدم --fast-list للـbuckets الكبيرة، وأضف --checksum أو --size-only على S3 كي لا يجلب rclone وقت تعديل كل كائن بشكل منفصل.
ما الإعدادات التي يحتاجها rclone لتخزين الكائنات على CDN.com.tr؟
remote من نوع s3 بـprovider = Other، وendpoint = https://s3.cdn.com.tr، ومفتاح الوصول والمفتاح السري المُنشَآن في اللوحة. ويمكن أن تبقى المنطقة على الافتراضي. ومع مفتاح محدود النطاق لـbucket واحد، أضف no_check_bucket = true.