| rclone(1) | rclone(1) |
نام (NAME)
rclone - مدیریت فایلها در فضای ذخیرهسازی ابری
خلاصه دستور (SYNOPSIS)
-
نحوه استفاده: rclone [flags] rclone [command] دستورهای در دسترس: about دریافت اطلاعات سهمیه مصرفی از ریموت. archive انجام یک عملیات روی بایگانی. authorize احراز هویت ریموت. backend اجرای یک دستور مختص به بکاند. bisync انجام همگامسازی دوطرفه میان دو مسیر. cat الحاق فایلها و ارسال آنها به stdout. check بررسی تطابق فایلها در مبدأ و مقصد. checksum بررسی فایلهای مقصد در برابر یک فایل SUM. cleanup پاکسازی ریموت در صورت امکان. completion تولید اسکریپت تکمیل خودکار برای شل مشخصشده. config ورود به نشست پیکربندی تعاملی. convmv تبدیل درجا نام فایلها و دایرکتوریها. copy کپی فایلها از مبدأ به مقصد، با نادیده گرفتن فایلهای یکسان. copyto کپی فایلها از مبدأ به مقصد، با نادیده گرفتن فایلهای یکسان. copyurl کپی محتوای URL دادهشده به dest:path. cryptcheck بررسی یکپارچگی یک ریموت رمزگذاریشده. cryptdecode بازگرداندن نامهای فایل رمزگذارینشده. dedupe یافتن تعاملی فایلهای همنام تکراری و حذف یا تغییر نام آنها. delete حذف فایلهای موجود در مسیر. deletefile حذف یک تکفایل از ریموت. gendocs تولید مستندات markdown برای rclone در دایرکتوری مشخصشده. gitannex ارتباط با git-annex از طریق stdin/stdout. gui باز کردن رابط گرافیکی تحت وب. hashsum تولید یک فایل hashsum برای تمام اشیاء در مسیر. help نمایش راهنما برای دستورها، پرچمها و بکاندهای rclone. link تولید پیوند عمومی برای فایل یا پوشه. listremotes فهرست کردن تمام ریموتها در فایل کانفیگ و متغیرهای محیطی. ls فهرست کردن اشیاء در مسیر همراه با اندازه و مسیر. lsd فهرست کردن تمام دایرکتوریها/کانتینرها/باکتها در مسیر. lsf فهرست کردن دایرکتوریها و اشیاء در remote:path در قالبی مناسب پارس کردن. lsjson فهرست کردن دایرکتوریها و اشیاء در مسیر در قالب JSON. lsl فهرست کردن اشیاء در مسیر با زمان تغییر، اندازه و مسیر. md5sum تولید یک فایل md5sum برای تمام اشیاء در مسیر. mkdir ایجاد مسیر در صورتی که از قبل وجود نداشته باشد. mount مونت کردن ریموت به عنوان فایلسیستم در یک نقطه مونت. move انتقال فایلها از مبدأ به مقصد. moveto انتقال فایل یا دایرکتوری از مبدأ به مقصد. ncdu کاوش در ریموت با یک رابط کاربری متنی. nfsmount مونت کردن ریموت به عنوان فایلسیستم در یک نقطه مونت. obscure مبهمسازی گذرواژه برای استفاده در فایل کانفیگ rclone. purge حذف مسیر و تمام محتویات آن. rc اجرای یک دستور روی یک rclone در حال اجرا. rcat کپی ورودی استاندارد به فایلی در ریموت. rcd اجرای rclone صرفاً در حالت شنود دستورهای کنترل از راه دور. rmdir حذف دایرکتوری خالی در مسیر. rmdirs حذف دایرکتوریهای خالی زیر مسیر مشخصشده. selfupdate بهروزرسانی باینری rclone. serve ارائه یک ریموت روی یک پروتکل ارتباطی. settier تغییر کلاس یا سطح (tier) ذخیرهسازی اشیاء در ریموت. sha1sum تولید یک فایل sha1sum برای تمام اشیاء در مسیر. size چاپ اندازه کل و تعداد اشیاء در remote:path. sync یکسانسازی مبدأ و مقصد، فقط با اعمال تغییرات در مقصد. test اجرای یک دستور آزمایشی. touch ایجاد فایل جدید یا بهروزرسانی زمان دستکاری فایل. tree فهرست کردن محتویات ریموت با ساختاری درختگونه. version نمایش شماره نسخه. برای اطلاعات بیشتر درباره هر دستور، از "rclone [command] --help" استفاده کنید. برای مشاهده پرچمهای عمومی، از "rclone help flags" استفاده کنید. برای دیدن فهرست سرویسهای پشتیبانیشده، از "rclone help backends" استفاده کنید.
- •
-
درباره rclone
- •
-
rclone چه کارهایی میتواند برای شما انجام دهد؟
- •
-
rclone چه قابلیتهایی دارد؟
- •
-
rclone از چه ارائهدهندگانی پشتیبانی میکند؟
- •
-
بارگیری (https://rclone.org/downloads)
- •
-
نصب (https://rclone.org/install)
- •
-
حمایت مالی (https://rclone.org/donate)
درباره rclone
Rclone یک برنامه خط فرمانی برای مدیریت فایلها در فضای ذخیرهسازی ابری است. این ابزار جایگزینی غنی از امکانات برای رابطهای وب ذخیرهسازی ارائهدهندگان ابری است. بیش از ۷۰ محصول ذخیرهسازی ابری از rclone پشتیبانی میکنند؛ از جمله مخازن شیء S3، سرویسهای ذخیرهسازی فایل تجاری و مصرفی، و همچنین پروتکلهای استاندارد انتقال.
Rclone معادلهای ابری قدرتمندی برای دستورهای یونیکس rsync، cp، mv، mount، ls، ncdu، tree، rm و cat دارد. سینتکس آشنای rclone شامل پشتیبانی از خطلولههای شل (pipeline) و حفاظت به وسیله --dry-run است. از آن در خط فرمان، در اسکریپتها یا از طریق API استفاده میشود.
کاربران rclone را "چاقوی سوئیسی ذخیرهسازی ابری" و "فناوری غیرقابل تمایز از جادو" مینامند.
Rclone واقعاً مراقب دادههای شماست. این ابزار همیشه برچسبهای زمانی را حفظ کرده و مجموع مقابلهای (checksum) را بررسی میکند. انتقالها روی پهنای باند محدود، اتصالات ناپایدار، یا مشمول سهمیه مصرف را میتوان از آخرین فایل منتقلشده سالم از سر گرفت. شما میتوانید یکپارچگی فایلهای خود را بررسی (https://rclone.org/commands/rclone_check) کنید. در صورت امکان، rclone از انتقالهای سمت سرور برای به حداقل رساندن مصرف پهنای باند محلی و انتقال از یک ارائهدهنده به ارائهدهنده دیگر بدون استفاده از دیسک محلی بهره میبرد.
بکاندهای مجازی، سیستمهای فایل محلی و ابری را برای اعمال رمزنگاری (https://rclone.org/crypt)، فشردهسازی (https://rclone.org/compress)، تکهتکهسازی (https://rclone.org/chunker)، هشکردن (https://rclone.org/hasher) و پیوند دادن (https://rclone.org/union) در بر میگیرند.
Rclone هر سیستم فایل محلی، ابری یا مجازی را به عنوان یک دیسک در Windows، macOS، Linux و FreeBSD سوار میکند (mount (https://rclone.org/commands/rclone_mount)) و همچنین آنها را از طریق SFTP (https://rclone.org/commands/rclone_serve_sftp)، HTTP (https://rclone.org/commands/rclone_serve_http)، WebDAV (https://rclone.org/commands/rclone_serve_webdav)، FTP (https://rclone.org/commands/rclone_serve_ftp) و DLNA (https://rclone.org/commands/rclone_serve_dlna) ارائه میدهد.
Rclone یک نرمافزار بالغ و متنباز است که در ابتدا با الهام از rsync ساخته شده و به زبان Go (https://golang.org) نوشته شده است. جامعه پشتیبانی صمیمی آن با سناریوهای کاربری گوناگون آشنایی دارد. مخازن رسمی Ubuntu، Debian، Fedora، Brew و Chocolatey شامل rclone هستند. برای دریافت آخرین نسخه، بارگیری از rclone.org (https://rclone.org/downloads) توصیه میشود.
Rclone بهطور گسترده در Linux، Windows و Mac استفاده میشود. توسعهدهندگان شخص ثالث راهکارهای نوآورانهای برای پشتیبانگیری، بازیابی، واسط کاربری گرافیکی (GUI) و فرآیندهای تجاری با استفاده از خط فرمان یا API ابزار rclone ایجاد میکنند.
Rclone وظیفه سنگین ارتباط با فضای ذخیرهسازی ابری را به دوش میکشد.
rclone چه کارهایی میتواند برای شما انجام دهد؟
Rclone به شما کمک میکند تا:
- •
- از فایلها در فضای ذخیرهسازی ابری پشتیبانگیری (و آنها را رمزنگاری) کنید
- •
- فایلها را از فضای ذخیرهسازی ابری بازیابی (و رمزگشایی) کنید
- •
- دادههای ابری را در سایر سرویسهای ابری یا بهصورت محلی آینهسازی (mirror) کنید
- •
- دادهها را به فضای ابری، یا میان ارائهدهندگان ذخیرهسازی ابری مختلف مهاجرت دهید
- •
- چندین فضای ذخیرهسازی ابری رمزنگاریشده، کششده یا متنوع را به عنوان یک دیسک سوار (mount) کنید
- •
- دادههای نگهداریشده در فضای ذخیرهسازی ابری را با استفاده از lsf (https://rclone.org/commands/rclone_lsf)، ljson (https://rclone.org/commands/rclone_lsjson)، size (https://rclone.org/commands/rclone_size) و ncdu (https://rclone.org/commands/rclone_ncdu) تحلیل و ارزیابی کنید
- •
- سیستمهای فایل را با یکدیگر متحد (Union (https://rclone.org/union)) کنید تا چندین سیستم فایل محلی و/یا ابری را بهصورت یکپارچه نمایش دهید.SS "ویژگیها (Features)"
- •
- انتقالها
- •
- هشهای MD5 و SHA1 همواره جهت بررسی یکپارچگی فایلها بررسی میشوند
- •
- برچسبهای زمانی (Timestamps) روی فایلها حفظ میشوند
- •
- عملیات در هر زمانی میتواند از سر گرفته شود
- •
- امکان انتقال از و به شبکه، برای مثال بین دو ارائهدهنده ابری مختلف
- •
- امکان استفاده از دریافتهای چندرشتهای به دیسک محلی
- •
- Copy (https://rclone.org/commands/rclone_copy) جهت کپی فایلهای جدید یا تغییریافته به فضای ذخیرهسازی ابری
- •
- Sync (https://rclone.org/commands/rclone_sync) (یکطرفه) جهت یکسانسازی کامل یک دایرکتوری
- •
- Bisync (https://rclone.org/bisync) (دوطرفه) جهت همگام نگهداشتن دو دایرکتوری بهصورت دوطرفه
- •
- Move (https://rclone.org/commands/rclone_move) جهت انتقال فایلها به فضای ذخیرهسازی ابری و حذف نسخه محلی پس از اعتبارسنجی
- •
- Check (https://rclone.org/commands/rclone_check) جهت بررسی هشها و شناسایی فایلهای مفقود یا اضافی
- •
- Mount (https://rclone.org/commands/rclone_mount) جهت سوار کردن فضای ذخیرهسازی ابری به عنوان یک دیسک شبکه
- •
- Serve (https://rclone.org/commands/rclone_serve) جهت ارائه فایلهای محلی یا از راه دور از طریق HTTP (https://rclone.org/commands/rclone_serve_http)/WebDav (https://rclone.org/commands/rclone_serve_webdav)/FTP (https://rclone.org/commands/rclone_serve_ftp)/SFTP (https://rclone.org/commands/rclone_serve_sftp)/DLNA (https://rclone.org/commands/rclone_serve_dlna)
- •
- رابط گرافیکی کاربر (GUI) تحت وب آزمایشی (https://rclone.org/gui)
ارائهدهندگان پشتیبانیشده (Supported providers)
(موارد بسیار دیگری نیز وجود دارند که بر پایه پروتکلهای استانداردی نظیر WebDAV یا S3 ساخته شدهاند و بدون نیاز به تنظیمات اضافی کار میکنند.)
- •
- 1Fichier
- •
- Akamai Netstorage
- •
- Alibaba Cloud (Aliyun) Object Storage System (OSS)
- •
- Amazon S3
- •
- Bizfly Cloud Simple Storage
- •
- Backblaze B2
- •
- Box
- •
- Ceph
- •
- China Mobile Ecloud Elastic Object Storage (EOS)
- •
- Arvan Cloud Object Storage (AOS)
- •
- Citrix ShareFile
- •
- Cloudflare R2
- •
- Cloudinary
- •
- Cubbit DS3
- •
- DigitalOcean Spaces
- •
- Digi Storage
- •
- Dreamhost
- •
- Drime
- •
- Dropbox
- •
- Enterprise File Fabric
- •
- Exaba
- •
- Fastly Object Storage
- •
- Fastmail Files
- •
- FileLu Cloud Storage
- •
- FileLu S5 (S3-Compatible Object Storage)
- •
- Filen
- •
- Files.com
- •
- FlashBlade
- •
- FTP
- •
- Gofile
- •
- Google Cloud Storage
- •
- Google Drive
- •
- Google Photos
- •
- HDFS
- •
- Hetzner Object Storage
- •
- Hetzner Storage Box
- •
- HiDrive
- •
- Hitachi Content Platform (HCP)
- •
- HTTP
- •
- Huawei Drive
- •
- Huawei OBS
- •
- iCloud Drive
- •
- ImageKit
- •
- Internet Archive
- •
- Internxt
- •
- Jottacloud
- •
- IBM COS S3
- •
- IDrive e2
- •
- Impossible Cloud
- •
- Intercolo Object Storage
- •
- IONOS Cloud
- •
- Koofr
- •
- Leviia Object Storage
- •
- Liara Object Storage
- •
- Linkbox
- •
- Linode Object Storage
- •
- Magalu
- •
- Mail.ru Cloud
- •
- Memset Memstore
- •
- MEGA
- •
- MEGA S4
- •
- Memory
- •
- Microsoft Azure Blob Storage
- •
- Microsoft Azure Files Storage
- •
- Microsoft OneDrive
- •
- Minio
- •
- Nextcloud
- •
- Blomp Cloud Storage.IP • 2 OpenDrive
- •
- OpenStack Swift
- •
- Oracle Cloud Storage Swift
- •
- Oracle Object Storage
- •
- Outscale
- •
- OVHcloud Object Storage (Swift)
- •
- OVHcloud Object Storage (سازگار با S3)
- •
- ownCloud
- •
- pCloud
- •
- Petabox
- •
- PikPak
- •
- Pixeldrain
- •
- premiumize.me
- •
- put.io
- •
- Proton Drive
- •
- QingStor
- •
- Qiniu Cloud Object Storage (Kodo)
- •
- Quatrix by Maytech
- •
- Rabata Cloud Storage
- •
- RackCorp Object Storage
- •
- Rackspace Cloud Files
- •
- Rclone Serve S3
- •
- rsync.net
- •
- Scaleway
- •
- Scality (RING / ARTESCA)
- •
- Seafile
- •
- Seagate Lyve Cloud
- •
- SeaweedFS
- •
- Selectel
- •
- Servercore Object Storage
- •
- SFTP
- •
- Shade
- •
- Sia
- •
- SMB / CIFS
- •
- Spectra Logic
- •
- Storj
- •
- Synology
- •
- SugarSync
- •
- Tencent Cloud Object Storage (COS)
- •
- Uloz.to
- •
- US3
- •
- Wasabi
- •
- WebDAV
- •
- Yandex Disk
- •
- Zadara Object Storage
- •
- Zero Services (ZERO-Z3)
- •
- Zoho WorkDrive
- •
- Zata
- •
- سیستمفایل محلی.SS ارائهدهندگان مجازی
این بکاندها دیگر ارائهدهندگان ذخیرهسازی را تطبیق داده یا تغییر میدهند:
- •
- Alias: تغییر نام ریموتهای موجود
- •
- Archive: خواندن فایلهای آرشیو
- •
- Cache: کش کردن ریموتها (منسوخشده)
- •
- Chunker: تقسیم فایلهای بزرگ
- •
- Combine: ترکیب چندین ریموت در یک درخت دایرکتوری
- •
- Compress: فشردهسازی فایلها
- •
- Crypt: رمزگذاری فایلها
- •
- Hasher: محاسبه هش فایلها
- •
- Union: متصل کردن چندین ریموت به یکدیگر برای کار هماهنگ
پیوندها
- •
- صفحه اصلی (https://rclone.org)
- •
- صفحه پروژه گیتهاب برای کد منبع و سیستم ردیابی باگ (https://github.com/rclone/rclone)
- •
- انجمن گفتگو Rclone (https://forum.rclone.org)
- •
- بارگیریها (https://rclone.org/downloads)
نصب (INSTALL)
برنامه Rclone با زبان Go توسعه یافته و به صورت یک فایل باینری منفرد عرضه میشود.
شروع سریع
- •
- فایل باینری مربوطه را بارگیری کنید (https://rclone.org/downloads).
- •
- فایل اجرایی rclone (یا rclone.exe در ویندوز) را از فایل فشرده استخراج کنید.
- •
- برای راهاندازی، دستور rclone config را اجرا کنید. جهت جزئیات بیشتر مستندات rclone config را ببینید (https://rclone.org/docs).
- •
- به صورت اختیاری، اجرای خودکار را پیکربندی نمایید.
برای توضیحات جامعتر مربوط به لینوکس / macOS / ویندوز به ادامه مطلب مراجعه کنید.
برای چگونگی استفاده از rclone مستندات کاربرد (https://rclone.org/docs) را ببینید، یا دستور rclone -h را اجرا کنید.
نسخه نصبشده rclone را میتوان با استفاده از دستور rclone selfupdate بهراحتی به آخرین نسخه بهروزرسانی کرد (https://rclone.org/commands/rclone_selfupdate).
برای نحوه تأیید امضاهای نسخه منتشرشده، مستندات امضای انتشار (https://rclone.org/release_signing) را ببینید.
نصب از طریق اسکریپت
برای نصب rclone بر روی سیستمهای Linux/macOS/BSD، دستور زیر را اجرا کنید:
-
sudo -v ; curl https://rclone.org/install.sh | sudo bash
برای نصب نسخه آزمایشی (beta)، دستور زیر را اجرا کنید:
-
sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta
توجه داشته باشید که این اسکریپت ابتدا نسخه نصبشده rclone را بررسی میکند و در صورت عدم نیاز، مجدداً بارگیری نخواهد کرد.
نصب در لینوکس
باینری از پیش کامپایلشده
دریافت و استخراج
-
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64
کپی کردن فایل باینری
-
sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone
نصب صفحه راهنما (manpage)
-
sudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb
دستور rclone config را برای راهاندازی اجرا کنید. جهت جزئیات بیشتر مستندات rclone config را ببینید (https://rclone.org/docs).
-
rclone config
نصب با brew
-
brew install rclone
نکته: این نسخه از rclone دیگر از mount پشتیبانی نخواهد کرد (ببینید: #5373 (https://github.com/rclone/rclone/issues/5373)). اگر در macOS به سوار کردن (mount) نیاز دارید، یا یک باینری از پیشکامپایلشده را نصب کنید یا هنگام نصب از سورسکد، گزینهٔ مربوطه را فعال نمایید.
توجه داشته باشید که این یک نصاب شخص ثالث است و توسط توسعهدهندگان rclone مدیریت نمیشود، بنابراین ممکن است قدیمی باشد. نسخهٔ فعلی آن مطابق زیر است.
[تصویر: بستهٔ Homebrew (https://repology.org/badge/version-for-repo/homebrew/rclone.svg)] (https://repology.org/project/rclone/versions)
نصب با MacPorts
در macOS، برنامهٔ rclone همچنین میتواند از طریق MacPorts (https://www.macports.org) نصب شود:
-
sudo port install rclone
توجه داشته باشید که این یک نصاب شخص ثالث است و توسط توسعهدهندگان rclone مدیریت نمیشود، بنابراین ممکن است قدیمی باشد. نسخهٔ فعلی آن مطابق زیر است.
[تصویر: پورت MacPorts (https://repology.org/badge/version-for-repo/macports/rclone.svg)] (https://repology.org/project/rclone/versions)
اطلاعات بیشتر در macports.org (https://ports.macports.org/port/rclone).
باینری از پیشکامپایلشده، با استفاده از curl
برای جلوگیری از بروز مشکل با macOS Gatekeeper که الزام به امضا و تایید رسمی (notarize) باینری دارد، کافی است دانلود با curl انجام شود.
آخرین نسخهٔ rclone را دانلود کنید.
-
cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
فایل دانلودشده را از حالت فشرده خارج کرده و به پوشهٔ استخراجشده بروید.
-
unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
فایل rclone را به مسیر $PATH خود منتقل کنید. گذرواژهٔ شما پرسیده خواهد شد.
-
sudo mkdir -p /usr/local/bin sudo mv rclone /usr/local/bin/
(اجرای دستور mkdir ایمن است، حتی اگر دایرکتوری از قبل وجود داشته باشد).
فایلهای باقیمانده را حذف کنید.
-
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
برای راهاندازی، دستور rclone config را اجرا کنید. برای جزئیات بیشتر به مستندات rclone config (https://rclone.org/docs) مراجعه نمایید.
-
rclone config
هنگام بارگیری یک فایل باینری با مرورگر وب، مرورگر صفت قرنطینه (quarantine) مربوط به gatekeeper در macOS را تنظیم میکند. از نسخه Catalina به بعد، هنگام تلاش برای اجرای rclone، پنجرهای با این پیام باز خواهد شد:
-
"rclone" نمیتواند باز شود زیرا توسعهدهنده آن تأیید نشده است. macOS نمیتواند تأیید کند که این برنامه عاری از بدافزار است.
سادهترین راهکار اجرای این دستور است:
-
xattr -d com.apple.quarantine rclone
نصب در ویندوز
باینری پیشکامپایلشده
با کلیک بر روی این پیوندها، باینری متناسب با نوع پردازنده خود را دریافت کنید. اگر مطمئن نیستید، از اولین پیوند استفاده کنید.
- •
- Intel/AMD - ۶۴ بیتی (https://downloads.rclone.org/rclone-current-windows-amd64.zip)
- •
- Intel/AMD - ۳۲ بیتی (https://downloads.rclone.org/rclone-current-windows-386.zip)
- •
- ARM - ۶۴ بیتی (https://downloads.rclone.org/rclone-current-windows-arm64.zip)
این فایل را در Explorer باز کرده و rclone.exe را استخراج کنید. برنامه rclone یک فایل اجرایی پرتابل است، بنابراین میتوانید آن را در هر مکانی که مناسب است قرار دهید.
یک پنجره CMD (یا powershell) باز کرده و فایل باینری را اجرا کنید. توجه داشته باشید که rclone به طور پیشفرض رابط گرافیکی (GUI) اجرا نمیکند، بلکه در پنجره CMD اجرا میشود.
- •
- برای راهاندازی، rclone.exe config را اجرا کنید. برای جزئیات بیشتر، مستندات پیکربندی rclone (https://rclone.org/docs) را ببینید.
- •
- در صورت تمایل، اجرای خودکار را پیکربندی کنید.
اگر قصد دارید از قابلیت rclone mount (https://rclone.org/commands/rclone_mount) استفاده کنید، باید ابزار شخص ثالث WinFsp (https://winfsp.dev) را نیز نصب کنید.
مدیر بسته ویندوز (Winget)
ابزار Winget (https://learn.microsoft.com/en-us/windows/package-manager) بهصورت پیشفرض در آخرین نسخههای ویندوز نصب است. در غیر این صورت، بسته App Installer (https://www.microsoft.com/p/app-installer/9nblggh4nns1) را از Microsoft Store بهروزرسانی کنید.
برای نصب rclone
-
winget install Rclone.Rclone
برای حذف rclone
-
winget uninstall Rclone.Rclone --force
مدیر بسته Chocolatey
مطمئن شوید که Choco (https://chocolatey.org) را نصب کردهاید
-
choco search rclone choco install rclone
این کار rclone را روی سیستم ویندوزی شما نصب میکند. اگر قصد دارید از rclone mount (https://rclone.org/commands/rclone_mount) استفاده کنید، آنگاه
-
choco install winfsp
آن را نیز نصب خواهد کرد.
توجه داشته باشید که این یک نصاب شخص ثالث است که توسط توسعهدهندگان rclone کنترل نمیشود، بنابراین ممکن است قدیمی باشد. نسخه فعلی آن در ادامه آمده است.
[تصویر: بسته Chocolatey (https://repology.org/badge/version-for-repo/chocolatey/rclone.svg)] (https://repology.org/project/rclone/versions).SS مدیر بسته Scoop
مطمئن شوید که Scoop (https://scoop.sh) را نصب کردهاید
-
scoop install rclone
توجه داشته باشید که این یک نصاب شخص ثالث است که توسط توسعهدهندگان rclone کنترل نمیشود، بنابراین ممکن است قدیمی باشد. نسخه فعلی آن در ادامه آمده است.
[تصویر: بسته Scoop (https://repology.org/badge/version-for-repo/scoop/rclone.svg)] (https://repology.org/project/rclone/versions)
نصب از طریق مدیر بسته
بسیاری از توزیعهای Linux، Windows، macOS و سایر سیستمعاملها rclone را بستهبندی و توزیع میکنند.
نسخههای توزیعشده rclone اغلب تا حد زیادی قدیمی هستند و به همین دلیل، در صورت امکان استفاده از یکی دیگر از روشهای نصب را توصیه میکنیم.
میتوانید برای اطلاع از وضعیت بهروز بودن یا نبودن بسته توزیع سیستمعامل خود به اینجا مراجعه کنید.
[تصویر: وضعیت بستهبندی (https://repology.org/badge/vertical-allrepos/rclone.svg?columns=3)] (https://repology.org/project/rclone/versions)
نصب با Docker
توسعهدهندگان rclone یک ایمیج Docker برای rclone (https://hub.docker.com/r/rclone/rclone) نگهداری میکنند.
نکته: ما همچنین اکنون یک نسخه پولی از rclone با امنیت در سطح سازمانی و بدون آسیبپذیری (zero CVEs) از طریق شریک خود SecureBuild (https://securebuild.com/blog/introducing-securebuild) ارائه میدهیم. در صورت تمایل، وبگاه آنها و ایمیج Rclone SecureBuild (https://securebuild.com/images/rclone) را بررسی کنید.
این ایمیجها به عنوان بخشی از فرایند انتشار، بر پایه یک Alpine Linux مینیمال ساخته میشوند.
برچسب :latest همواره به آخرین انتشار پایدار اشاره خواهد داشت. میتوانید از برچسب :beta برای دریافت آخرین ساخت از شاخه master استفاده کنید. همچنین میتوانید از برچسبهای نسخه مانند :1.49.1، :1.49 یا :1 استفاده نمایید.
-
$ docker pull rclone/rclone:latest latest: Pulling from rclone/rclone Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11 ... $ docker run --rm rclone/rclone:latest version rclone v1.49.1 - os/arch: linux/amd64 - go version: go1.12.9
هنگام راهاندازی کانتینر Docker برای rclone از این ایمیج، چند گزینه خط فرمان وجود دارد که باید در نظر بگیرید.
- •
- باید دایرکتوری پیکربندی rclone میزبان را در /config/rclone درون کانتینر Docker مانت کنید. با توجه به این واقعیت که rclone توکنها را درون فایل پیکربندی خود بهروزرسانی میکند و فرایند بهروزرسانی شامل تغییر نام فایل است، باید کل دایرکتوری پیکربندی rclone میزبان را مانت کنید، نه فقط یک تکفایل پیکربندی rclone میزبان را.
- •
- باید دایرکتوری دادههای میزبان را در /data درون کانتینر Docker مانت کنید.
- •
- بهطور پیشفرض، باینری rclone درون کانتینر Docker با UID=0 (ریشه) اجرا میشود. در نتیجه، تمام فایلهای ایجاد شده در یک اجرا دارای UID=0 خواهند بود. اگر فایلهای پیکربندی و دادههای شما روی میزبان دارای UID:GID غیر از ریشه هستند، باید این مقادیر را در خط فرمان شروع کانتینر مشخص کنید.
- •
- اگر میخواهید به رابط RC (چه از طریق API یا رابط وب) دسترسی داشته باشید، لازم است مقدار --rc-addr را روی :5572 تنظیم نمایید تا بتوانید از خارج کانتینر به آن متصل شوید. توضیحی درباره چرایی ضرورت این کار را میتوان در مقالهای قدیمی در pythonspeed.com (https://web.archive.org/web/20200808071950/https://pythonspeed.com/articles/docker-connection-refused) یافت.
- •
- نکته: کاربرانی که این کانتینر را با شبکه docker تنظیمشده روی host اجرا میکنند، احتمالاً باید آن را طوری تنظیم کنند که تنها به localhost گوش دهد و مقدار 127.0.0.1:5572 را به عنوان مقدار --rc-addr قرار دهند.
- •
- این امکان وجود دارد که از rclone mount درون یک کانتینر داکر فضای کاربری (userspace) استفاده کنید و مانت FUSE حاصل را در دسترس میزبان قرار دهید. گزینههای دقیق docker run برای انجام این کار ممکن است بین میزبانهای مختلف کمی متفاوت باشد. برای مثال، گفتگوی موجود در این موضوع (https://github.com/moby/moby/issues/9448) را ببینید.
همچنین لازم است /etc/passwd و /etc/group میزبان را مانت کنید تا FUSE درون کانتینر کار کند.
در اینجا چند دستور آورده شده که روی یک میزبان Ubuntu 18.04.3 آزمایش شدهاند:
-
# پیکربندی روی میزبان در ~/.config/rclone/rclone.conf # دادهها روی میزبان در ~/data # افزودن تعاملی یک ریموت docker run --rm -it \ --volume ~/.config/rclone:/config/rclone \ --user $(id -u):$(id -g) \ rclone/rclone \ config # اطمینان از درستی پیکربندی با فهرست کردن ریموتها docker run --rm \ --volume ~/.config/rclone:/config/rclone \ --user $(id -u):$(id -g) \ rclone/rclone \ listremotes # انجام مانت در کانتینر Docker و دسترسپذیر کردن خروجی برای میزبان mkdir -p ~/data/mount docker run --rm \ --volume ~/.config/rclone:/config/rclone \ --volume ~/data:/data:shared \ --user $(id -u):$(id -g) \ --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \ --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \ rclone/rclone \ mount dropbox:Photos /data/mount & ls ~/data/mount kill %1
[تصویر: دریافت از Snap Store (https://snapcraft.io/static/images/badges/en/snap-store-black.svg)] (https://snapcraft.io/rclone)
اطمینان حاصل کنید که Snapd نصب شده باشد (https://snapcraft.io/docs/installing-snapd).
-
sudo snap install rclone
به دلیل محدودسازی سختگیرانه (confinement) بسته Snap، بسته snap برنامه rclone نمیتواند به دایرکتوری واقعی /home/$USER/.config/rclone دسترسی داشته باشد؛ مسیر پیشفرض پیکربندی به شرح زیر است:
- •
- دایرکتوری پیشفرض پیکربندی:
- •
- /home/$USER/snap/rclone/current/.config/rclone
نکته: به دلیل محدودسازی سختگیرانه Snap، قابلیت rclone mount پشتیبانی نمیشود.
اگر به قابلیت mount نیاز دارید، یا نسخه باینری از پیش کامپایلشده را نصب کنید یا هنگام نصب از سورسکد، گزینه مربوطه را فعال نمایید.
توجه داشته باشید که این بسته توسط نگهدارنده جامعه کاربری (https://github.com/boukendesho/rclone-snap) مدیریت میشود و نه توسط توسعهدهندگان rclone، بنابراین ممکن است بهروز نباشد. نسخه فعلی آن به شرح زیر است:
[تصویر: rclone (https://snapcraft.io/rclone/badge.svg)] (https://snapcraft.io/rclone)
نصب از سورسکد (Source installation)
اطمینان حاصل کنید که git و Go (https://golang.org) نصب شده باشند. نسخه Go 1.26 یا جدیدتر مورد نیاز است؛ استفاده از آخرین نگارش توصیه میشود. میتوانید آن را از طریق مدیر بسته خود دریافت کرده، یا از golang.org/dl (https://golang.org/dl) بارگیری کنید. سپس میتوانید دستورات زیر را اجرا نمایید:
-
git clone https://github.com/rclone/rclone.git cd rclone go build
این کار سورسکد rclone را در زیرپوشه rclone دریافت (checkout) میکند، که میتوانید بعداً آن را تغییر داده و pull request ارسال کنید. سپس فایل اجرایی rclone را در همان پوشه میسازد. به عنوان یک بررسی اولیه اکنون میتوانید ./rclone version را اجرا کنید (در Windows به صورت .\rclone version).
توجه داشته باشید که در macOS و Windows دستور mount (https://rclone.org/commands/rclone_mount) در دسترس نخواهد بود، مگر اینکه برچسب ساخت اضافی cmount را مشخص کنید.
-
go build -tags cmount
این کار فرض میکند که یک کامپایلر C سازگار با GCC (مانند GCC یا Clang) در مسیر PATH خود دارید، زیرا از cgo (https://pkg.go.dev/cmd/cgo) استفاده میکند. اما در Windows، کتابخانه cgofuse (https://github.com/winfsp/cgofuse) که پیادهسازی cmount بر پایه آن است، همچنین از ساخت بدون cgo (https://github.com/golang/go/wiki/WindowsDLLs) پشتیبانی میکند؛ یعنی از طریق تنظیم متغیر محیطی CGO_ENABLED به مقدار 0 (پیوند ایستا یا static linking). نگارشهای رسمی rclone برای Windows از نسخه 1.59 به بعد به همین روش ساخته میشوند. همچنان امکان ساخت به همراه cgo در Windows نیز وجود دارد، از طریق استفاده از پورت MinGW برای GCC؛ به عنوان مثال با نصب آن در یک توزیع MSYS2 (https://www.msys2.org) (اطمینان حاصل کنید که آن را در زیرسیستم کلاسیک mingw64 نصب میکنید، نسخه ucrt64 سازگار نیست).
علاوه بر این، برای ساخت به همراه mount در Windows، باید ابزار جانبی WinFsp (https://winfsp.dev) را با انتخاب ویژگی "Developer" نصب کنید. اگر با cgo اقدام به ساخت میکنید، باید متغیر محیطی CPATH را نیز طوری تنظیم کنید که به دایرکتوری include مربوط به fuse درون محل نصب WinFsp اشاره کند (به طور معمول C:\Program Files (x86)\WinFsp\inc\fuse).
میتوانید آرگومانهای -ldflags -s را برای حذف جدول نمادها و اطلاعات اشکالزدایی (debug) اضافه کنید تا فایل اجرایی کوچکتر شود، و همچنین -trimpath را برای حذف ارجاعات به مسیرهای محلی سیستمفایل به کار ببرید. نگارشهای رسمی rclone با هر دوی این موارد ساخته میشوند.
-
go build -trimpath -ldflags -s -tags cmount
اگر میخواهید رشته نسخه را که توسط دستور rclone version گزارش میشود سفارشی کنید، میتوانید یکی از متغیرهای fs.Version، fs.VersionTag (برای نگهداشتن پسوند پیشفرض و سفارشیسازی شماره نسخه) یا fs.VersionSuffix (برای نگهداشتن شماره پیشفرض و سفارشیسازی پسوند) را تنظیم کنید. این کار را میتوان از طریق دستور ساخت و با افزودن آن به مقدار آرگومان -ldflags مطابق زیر انجام داد:
-
go build -trimpath -ldflags "-s -X github.com/rclone/rclone/fs.Version=v9.9.9-test" -tags cmount
در Windows، فایلهای اجرایی رسمی علاوه بر اطلاعات نسخه، آیکون فایل را نیز به عنوان منابع باینری تعبیهشده به همراه دارند. برای دریافت این مورد در ساخت شخصی خود، باید دستور زیر را پیش از دستور ساخت اجرا کنید. این دستور یک فایل شیء سیستمی منبع Windows با پسوند .syso (به عنوان مثال resource_windows_amd64.syso) تولید میکند که در دستورات ساخت بعدی به طور خودکار دریافت خواهد شد.
-
go run bin/resource_windows.go
دستور بالا یک فایل منبع حاوی اطلاعات نسخه بر اساس متغیر fs.Version موجود در سورسکد در زمان اجرای دستور تولید میکند؛ این بدان معناست که در صورت تغییر مقدار این متغیر، باید دستور را مجدداً اجرا کنید تا در اطلاعات نسخه بازتاب یابد. همچنین، اگر متغیر نسخه را در دستور ساخت مطابق توضیحات بالا بازنویسی (override) کنید، لازم است هنگام تولید فایل منبع نیز این کار را انجام دهید، در غیر این صورت همچنان از مقدار موجود در سورسکد استفاده خواهد کرد.
-
go run bin/resource_windows.go -version v9.9.9-test
به جای اجرای مستقیم دستور go build، میتوانید آن را از طریق Makefile اجرا کنید. هدف پیشفرض، پسوند نسخه را از "-DEV" به "-beta" تغییر میدهد و جزئیات commit اضافی را به آن میافزاید، منابع باینری اطلاعات نسخه را در Windows تعبیه میکند و فایل اجرایی rclone حاصل را در پوشه bin مسیر GOPATH شما کپی میکند ($(go env GOPATH)/bin که به طور پیشفرض مطابق با ~/go/bin/rclone است).
-
make
برای گنجاندن دستور mount در macOS و Windows هنگام ساخت با Makefile:
-
make GOTAGS=cmount
اهداف make دیگری نیز وجود دارند که میتوانند برای ساختهای پیشرفتهتر به کار روند، از جمله کامپایل متقاطع (cross-compiling) برای تمامی سیستمعاملها/معماریهای پشتیبانیشده و بستهبندی نتایج در قالب مصنوعات انتشار (release artifacts). برای جزئیات به Makefile (https://github.com/rclone/rclone/blob/master/Makefile) و cross-compile.go (https://github.com/rclone/rclone/blob/master/bin/cross-compile.go) مراجعه کنید.
یک روش جایگزین دیگر برای نصب از سورسکد، بارگیری سورس، ساخت و نصب rclone به صورت یکجا و در قالب یک بسته استاندارد Go است. سورسکد در حافظه موقت ماژولهای Go (module cache) ذخیره شده و فایل اجرایی حاصل در پوشه bin مسیر GOPATH شما قرار خواهد گرفت ($(go env GOPATH)/bin که به طور پیشفرض مطابق با ~/go/bin/rclone است)..IP
go install github.com/rclone/rclone@latest
در برخی شرایط، در صورت گنجانده شدن تمامی backendها با SDKهای حجیم آنها، ممکن است حجم فایل اجرایی rclone برای استقرار در محیطهای بسیار محدود بیش از حد بزرگ باشد. جهت محدود کردن اندازه باینری، میتوان پیش از ساخت با go build یا make، backendهای استفادهنشده را در backends/all/all.go و دستورهای بدون استفاده را در cmd/all/all.go غیرفعال (کامنت) کرد.
نصب با Ansible (Ansible installation)
این کار را میتوان از طریق نقش ansible متعلق به Stefan Weichinger انجام داد (https://github.com/stefangweichinger/ansible-rclone).
دستورالعملها
- 1.
- اجرای دستور git clone https://github.com/stefangweichinger/ansible-rclone.git در دایرکتوری محلی roles شما
- 2.
- افزودن این نقش به میزبانهایی که میخواهید rclone روی آنها نصب شود:
-
- hosts: rclone-hosts roles: - rclone
نصب قابلحمل (Portable installation)
همانطور که در بالا ذکر شد (https://rclone.org/install/#quickstart)، نرمافزار rclone یک تکفایل اجرایی است (rclone، یا rclone.exe در Windows) که میتوانید آن را در قالب یک بایگانی zip دانلود کرده و در مکانی دلخواه استخراج کنید. هنگام اجرای دستورهای گوناگون، ممکن است فایلهایی در مکانهای مختلف ایجاد شوند؛ مانند یک فایل پیکربندی و انواع فایلهای موقت. بهطور پیشفرض، مکان این فایلها متناسب با سیستمعامل شما تعیین میشود؛ برای نمونه، فایل پیکربندی در دایرکتوری نمایه کاربر (user profile) و فایلهای موقت در دایرکتوری موقت استاندارد قرار میگیرند؛ با این حال، میتوانید تمامی آنها را سفارشیسازی کنید، برای مثال بهمنظور ایجاد یک نصب کاملاً مستقل و قابلحمل.
برای مشاهده مکانهایی که rclone استفاده خواهد کرد، دستور config paths (https://rclone.org/commands/rclone_config_paths) را اجرا کنید.
برای بازنویسی آنها، گزینههای متناظر را تعیین کنید (بهعنوان آرگومانهای خط فرمان یا متغیرهای محیط (https://rclone.org/docs/#environment-variables)):
- •
- --config (https://rclone.org/docs/#config-string)
- •
- --cache-dir (https://rclone.org/docs/#cache-dir-string)
- •
- --temp-dir (https://rclone.org/docs/#temp-dir-string)
راهاندازی خودکار (Autostart)
پس از نصب و پیکربندی rclone بر اساس توضیحات بالا، آمادهاید تا از rclone بهعنوان یک ابزار خط فرمان تعاملی استفاده نمایید. اگر هدف شما انجام عملیات دورهای است، مانند یک sync منظم (https://rclone.org/commands/rclone_sync)، احتمالاً مایل خواهید بود دستور rclone خود را در زمانبند سیستمعامل خود پیکربندی کنید. اگر نیاز به ارائه قابلیتهای شبه-سرویس دارید، نظیر remote control (https://rclone.org/rc)، واسط گرافیکی یا GUI (https://rclone.org/gui)، دستور serve (https://rclone.org/commands/rclone_serve) یا mount (https://rclone.org/commands/rclone_mount)، اغلب میخواهید یک دستور rclone همواره در پسزمینه اجرا شود؛ در این صورت، پیکربندی آن برای اجرا در زیرساخت خدمات سیستم (service) میتواند گزینه بهتری باشد. در ادامه روشهای مختلفی برای پیادهسازی این موضوع در سیستمعاملهای مختلف آورده شده است.
نکته: پیش از راهاندازی autorun، اکیداً توصیه میشود که ابتدا دستور خود را بهصورت دستی در خط فرمان آزمایش کرده باشید..SS اجرای خودکار در ویندوز
مناسبترین گزینهها برای اجرای خودکار در ویندوز عبارتند از:
- •
- اجرا هنگام ورود کاربر با استفاده از پوشهٔ Startup
- •
- اجرا هنگام ورود کاربر، هنگام راهاندازی سیستم، یا طبق زمانبندی با استفاده از Task Scheduler
- •
- اجرا هنگام راهاندازی سیستم با استفاده از سرویس ویندوز (Windows service)
اجرا در پسزمینه
ابزار Rclone یک برنامهٔ کنسولی است؛ بنابراین اگر از یک Command Prompt موجود اجرا نشود، مثلاً هنگام اجرای rclone.exe از طریق یک میانبر، پنجرهٔ Command Prompt را باز خواهد کرد. هنگام پیکربندی rclone برای اجرا از طریق Task Scheduler یا سرویس ویندوز، میتوانید آن را طوری تنظیم کنید که به صورت پنهان در پسزمینه اجرا شود. از نسخهٔ 1.54 به بعد rclone، میتوانید با افزودن گزینهٔ --no-console کاری کنید که از هر جایی به صورت مخفی اجرا شود (ممکن است هنگام شروع برنامه همچنان یک لحظه چشمک بزند). از آنجا که rclone معمولاً اطلاعات و پیامهای خطا را در کنسول مینویسد، برای مشاهدهٔ آنها باید این خروجی را به یک فایل هدایت کنید. ابزار Rclone گزینهٔ داخلی --log-file را برای این منظور دارد.
دستور نمونه برای اجرای یک همگامسازی در پسزمینه:
-
c:\rclone\rclone.exe sync c:\files remote:/files --no-console --log-file c:\rclone\logs\sync_files.txt
حساب کاربری
همانطور که در مستندات mount (https://rclone.org/commands/rclone_mount) ذکر شده است، درایوهای متصلشدهای که به عنوان Administrator ایجاد میشوند برای سایر حسابها قابل مشاهده نیستند، حتی برای حسابی که دسترسیاش به Administrator ارتقا یافته است. با اجرای دستور mount تحت حساب کاربری داخلی SYSTEM، درایوهایی ایجاد میشوند که برای همهٔ افراد در سیستم قابل دسترس خواهند بود. برای دستیابی به این هدف میتوان هم از وظایف زمانبندیشده و هم از سرویسهای ویندوز استفاده کرد.
نکته: به یاد داشته باشید که وقتی rclone به عنوان کاربر SYSTEM اجرا میشود، نمایهٔ کاربری که میبیند نمایهٔ شما نخواهد بود. این بدان معناست که اگر معمولاً rclone را با فایل پیکربندی در مکان پیشفرض اجرا میکنید، برای اینکه بتوانید هنگام اجرا به عنوان کاربر سیستم از همان پیکربندی استفاده کنید باید صراحتاً با گزینهٔ --config (https://rclone.org/docs/#config-string) محل آن را به rclone مشخص کنید؛ در غیر این صورت در مسیر نمایهٔ کاربر سیستم (C:\Windows\System32\config\systemprofile) به دنبال آن خواهد گشت. برای آزمایش دستی دستور خود از طریق یک Command Prompt، میتوانید آن را با ابزار PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) از مجموعهٔ Sysinternals مایکروسافت اجرا کنید که گزینهٔ -s را برای اجرای دستورات به عنوان کاربر SYSTEM میپذیرد.
اجرا از پوشهٔ Startup
برای اجرای سریع یک دستور rclone میتوانید به سادگی یک میانبر استاندارد در Windows Explorer برای دستور کامل rclone که قصد اجرای آن را دارید بسازید. اگر این میانبر را در پوشهٔ ویژهٔ "Startup" در منوی استارت قرار دهید، ویندوز به صورت خودکار آن را هنگام ورود به سیستم اجرا خواهد کرد. برای باز کردن این پوشه در Windows Explorer، مسیر %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup، یا مسیر C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp را (اگر میخواهید دستور برای همهٔ کاربرانی که وارد سیستم میشوند اجرا شود) وارد کنید.
این روش سادهترین راهکار برای اجرای خودکار rclone است، اما قابلیتی برای تنظیم اجرا تحت کاربری دیگر، یا تعیین شروط یا واکنشها به رویدادهای مشخص ارائه نمیدهد. راهاندازی یک وظیفهٔ زمانبندیشده همانطور که در ادامه توضیح داده شده است، اغلب نتایج بهتری برای شما به همراه خواهد داشت.
اجرا از Task Scheduler
ابزار Task Scheduler یک ابزار مدیریتی داخلی در ویندوز است و میتوان از آن برای پیکربندی شروع خودکار rclone با انعطافپذیری بسیار بالا استفاده کرد؛ مانند اجرا به صورت دورهای طبق زمانبندی، هنگام ورود کاربر، یا هنگام راهاندازی سیستم. این ابزار میتواند برای اجرا تحت کاربر فعلی پیکربندی شود، یا برای دستور mount که نیاز است در دسترس همهٔ کاربران باشد، تحت کاربر SYSTEM اجرا گردد. برای اطلاعات فنی بیشتر، به Task Scheduler for developers (https://docs.microsoft.com/windows/win32/taskschd/task-scheduler-start-page) مراجعه کنید..SS اجرا بهعنوان سرویس (Run as service)
برای اجرای rclone هنگام بالا آمدن سیستم (startup)، میتوانید به عنوان جایگزینی برای وظایف زمانبندیشده (scheduled task) که برای اجرا در زمان راهاندازی پیکربندی شدهاند، یک سرویس ویندوز ایجاد کنید که دستور rclone شما را اجرا کند.
یکپارچهسازی توکار سرویس با دستور Mount
برای دستورات mount، ابزار rclone از طریق کتابخانه شخص ثالث WinFsp که استفاده میکند، یکپارچهسازی توکار با سرویس ویندوز را ارائه میدهد. ثبت آن بهعنوان یک سرویس معمولی ویندوز آسان است، چرا که تنها کافی است دستور توکار PowerShell با نام New-Service را اجرا کنید (نیازمند امتیازات مدیر سیستم/administrative است).
نمونهای از دستور PowerShell که یک سرویس ویندوز برای سوار کردن (mount) مسیر remote:/files بهعنوان حرف درایو X: برای تمام کاربران ایجاد میکند (سرویس با حساب کاربری محلی سیستم اجرا خواهد شد):
-
New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --config c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt'
زیرساخت سرویس WinFsp (https://github.com/billziss-gh/winfsp/wiki/WinFsp-Service-Architecture) از ادغام سرویسها برای پیادهسازیهای سیستمفایل، مانند rclone، در سرویس راهانداز خودش، به عنوان نوعی "سرویسهای فرزند" پشتیبانی میکند. این مورد این مزیت اضافی را دارد که یک ارائهدهنده شبکه (network provider) را نیز پیادهسازی میکند که با روشهای استاندارد ویندوز برای مدیریت درایوهای شبکه یکپارچه میشود. این قابلیت در حال حاضر به طور رسمی توسط Rclone پشتیبانی نمیشود، اما با WinFsp نسخه 2019.3 B2 / v1.5B2 یا جدیدتر، باید از طریق بازنویسی مسیر (path rewriting) طبق آنچه در #3340 (https://github.com/rclone/rclone/issues/3340) توضیح داده شده است، امکانپذیر باشد.
یکپارچهسازی سرویس با ابزارهای شخص ثالث
برای اجرای هر دستور rclone به عنوان سرویس ویندوز، میتوان از ابزار شخص ثالث عالی NSSM (http://nssm.cc) یا همان "مدیر سرویس بدون نقص" (Non-Sucking Service Manager) استفاده کرد. این ابزار شامل ویژگیهای پیشرفتهای مانند تنظیم اولویت فرایند، تعریف متغیرهای محیطی فرایند، تغییر مسیر هر چیزی که در stdout نوشته میشود به فایل، و پاسخ سفارشی به کدهای خروج مختلف، همراه با یک رابط کاربری گرافیکی (GUI) برای پیکربندی همهچیز است (اگرچه میتوان از خط فرمان نیز از آن استفاده کرد).
همچنین چندین جایگزین دیگر نیز وجود دارد. برای اشاره به یک مورد دیگر، WinSW (https://github.com/winsw/winsw) موسوم به "Windows Service Wrapper" ارزش بررسی را دارد. این برنامه به .NET Framework نیاز دارد، اما این فریمورک روی نسخههای جدیدتر ویندوز بهصورت پیشفرض نصب است، و همچنین توزیعهای مستقل (standalone) جایگزینی ارائه میدهد که شامل زمان اجرای ضروری (.NET 5) هستند. ابزار WinSW فقط مبتنی بر خط فرمان است، که در آن باید یک فایل XML حاوی پیکربندی سرویس را به صورت دستی بسازید. این ممکن است برای برخی یک عیب باشد، اما میتواند یک مزیت نیز باشد زیرا پشتیبانگیری و استفاده مجدد از تنظیمات پیکربندی، بدون نیاز به طی کردن مراحل دستی در یک رابط گرافیکی، آسان است. نکتهای که باید به آن توجه داشت این است که بهطور پیشفرض سرویس را هنگام بروز خطا راهاندازی مجدد نمیکند و باید صراحتاً این مورد را در فایل پیکربندی (از طریق پارامتر "onfailure") فعال کرد.
شروع خودکار در لینوکس (Autostart on Linux)
راهاندازی بهعنوان سرویس (Start as a service)
برای اجرای همیشگی rclone در پسزمینه (مناسب برای دستورات mount و غیره)، میتوانید از systemd برای راهاندازی rclone بهعنوان یک سرویس سیستمی یا کاربری استفاده کنید. اجرا بهعنوان سرویس سیستمی تضمین میکند که حتی اگر کاربری که سرویس با آن اجرا میشود نشست فعالی نداشته باشد، برنامه در زمان بالا آمدن سیستم اجرا شود. اجرای rclone بهعنوان یک سرویس کاربری تضمین میکند که برنامه تنها پس از ورود کاربر پیکربندیشده به سیستم آغاز به کار کند.
اجرای دورهای از طریق cron
برای اجرای یک دستور دورهای، مانند copy/sync، میتوانید یک وظیفه زمانبندیشده cron تنظیم کنید.
نحوه استفاده (USAGE)
برنامه Rclone یک ابزار خط فرمانی برای مدیریت فایلها روی فضای ذخیرهسازی ابری است. پس از بارگیری (https://rclone.org/downloads) و نصب، برای یادگیری نحوه استفاده از آن اینجا را ادامه دهید: پیکربندی اولیه، ساختار نحو پایه، شرح زیردستورهای گوناگون، گزینههای مختلف و موارد دیگر..SS "پیکربندی (Configure)"
در ابتدا، لازم است rclone را پیکربندی کنید. از آنجا که سامانههای ذخیرهسازی شیء احراز هویت نسبتاً پیچیدهای دارند، این اطلاعات در یک فایل پیکربندی نگهداری میشوند. (برای چگونگی یافتن فایل پیکربندی و انتخاب مکان آن، مدخل --config را ببینید.)
سادهترین راه برای ایجاد پیکربندی، اجرای rclone با گزینهٔ config است:
-
rclone config
برای دستورالعملهای تفصیلی، موارد زیر را ببینید:
- •
- 1Fichier (https://rclone.org/fichier)
- •
- Akamai Netstorage (https://rclone.org/netstorage)
- •
- Alias (https://rclone.org/alias)
- •
- Archive (https://rclone.org/archive)
- •
- Amazon S3 (https://rclone.org/s3)
- •
- Backblaze B2 (https://rclone.org/b2)
- •
- Box (https://rclone.org/box)
- •
- Chunker (https://rclone.org/chunker) - تقسیم شفاف فایلهای بزرگ برای سایر ریموتها
- •
- Citrix ShareFile (https://rclone.org/sharefile)
- •
- Compress (https://rclone.org/compress)
- •
- Cloudinary (https://rclone.org/cloudinary)
- •
- Combine (https://rclone.org/combine)
- •
- Crypt (https://rclone.org/crypt) - برای رمزگذاری سایر ریموتها
- •
- DigitalOcean Spaces (https://rclone.org/s3/#digitalocean-spaces)
- •
- Digi Storage (https://rclone.org/koofr/#digi-storage)
- •
- Drime (https://rclone.org/drime)
- •
- Dropbox (https://rclone.org/dropbox)
- •
- Enterprise File Fabric (https://rclone.org/filefabric)
- •
- FileLu Cloud Storage (https://rclone.org/filelu)
- •
- Filen (https://rclone.org/filen)
- •
- Files.com (https://rclone.org/filescom)
- •
- FTP (https://rclone.org/ftp)
- •
- Gofile (https://rclone.org/gofile)
- •
- Google Cloud Storage (https://rclone.org/googlecloudstorage)
- •
- Google Drive (https://rclone.org/drive)
- •
- Google Photos (https://rclone.org/googlephotos)
- •
- Hasher (https://rclone.org/hasher) - برای مدیریت جمعهای کنترلی (checksums) برای سایر ریموتها
- •
- HDFS (https://rclone.org/hdfs)
- •
- Hetzner Storage Box (https://rclone.org/sftp/#hetzner-storage-box)
- •
- HiDrive (https://rclone.org/hidrive)
- •
- HTTP (https://rclone.org/http)
- •
- Huawei Drive (https://rclone.org/huaweidrive)
- •
- iCloud Drive (https://rclone.org/iclouddrive)
- •
- Internet Archive (https://rclone.org/internetarchive)
- •
- Internxt (https://rclone.org/internxt)
- •
- Jottacloud (https://rclone.org/jottacloud)
- •
- Koofr (https://rclone.org/koofr)
- •
- Linkbox (https://rclone.org/linkbox)
- •
- Mail.ru Cloud (https://rclone.org/mailru)
- •
- Mega (https://rclone.org/mega)
- •
- Memory (https://rclone.org/memory)
- •
- Microsoft Azure Blob Storage (https://rclone.org/azureblob)
- •
- Microsoft Azure Files Storage (https://rclone.org/azurefiles)
- •
- Microsoft OneDrive (https://rclone.org/onedrive)
- •
- OpenStack Swift / Rackspace Cloudfiles / Blomp Cloud Storage / Memset Memstore (https://rclone.org/swift)
- •
- OpenDrive (https://rclone.org/opendrive)
- •
- Oracle Object Storage (https://rclone.org/oracleobjectstorage)
- •
- Pcloud (https://rclone.org/pcloud)
- •
- PikPak (https://rclone.org/pikpak)
- •
- Pixeldrain (https://rclone.org/pixeldrain)
- •
- premiumize.me (https://rclone.org/premiumizeme)
- •
- put.io (https://rclone.org/putio)
- •
- Proton Drive (https://rclone.org/protondrive)
- •
- QingStor (https://rclone.org/qingstor)
- •
- Quatrix by Maytech (https://rclone.org/quatrix)
- •
- rsync.net (https://rclone.org/sftp/#rsync-net)
- •
- Seafile (https://rclone.org/seafile)
- •
- SFTP (https://rclone.org/sftp)
- •
- Shade (https://rclone.org/shade)
- •
- Sia (https://rclone.org/sia)
- •
- SMB (https://rclone.org/smb)
- •
- Storj (https://rclone.org/storj)
- •
- SugarSync (https://rclone.org/sugarsync)
- •
- Union (https://rclone.org/union)
- •
- Uloz.to (https://rclone.org/ulozto)
- •
- WebDAV (https://rclone.org/webdav)
- •
- Yandex Disk (https://rclone.org/yandex)
- •
- Zoho WorkDrive (https://rclone.org/zoho)
- •
- سیستم فایل محلی (https://rclone.org/local).SS "نحو پایه"
دستور rclone یک درخت دایرکتوری را از یک سامانه ذخیرهسازی به سامانهای دیگر همگامسازی میکند.
نحو آن بدین صورت است:
-
rclone subcommand [options] <parameters> <parameters...>
یک subcommand یک عملیات الزامی rclone است (مانند sync، copy، ls).
یک option یک پرچم تکحرفی (مانند -v) یا گروهی از پرچمهای تکحرفی (مانند -Pv) یا یک پرچم بلند (مانند --progress) است. هیچ گزینهای الزامی نیست. گزینهها میتوانند پس از subcommand یا در میان پارامترها یا در انتها نیز قرار گیرند، اما پیش از subcommand تنها میتوان از گزینههای سراسری استفاده کرد. هر چیزی پس از گزینهٔ -- به عنوان یک گزینه تفسیر نخواهد شد؛ بنابراین اگر نیاز دارید پارامتری اضافه کنید که با - آغاز میشود، ابتدا یک -- را به تنهایی قرار دهید، مانند
-
rclone lsf -- -directory-starting-with-dash
یک parameter معمولاً یک مسیر فایل یا یک ریموت rclone است، مانند /path/to/file یا remote:path/to/file، اما میتواند موارد دیگری نیز باشد - بخش راهنمای subcommand به شما خواهد گفت چه مواردی هستند.
مسیرهای مبدأ و مقصد با نامی که در فایل پیکربندی به سامانه ذخیرهسازی دادهاید و سپس زیرمسیر مشخص میشوند، مانند "drive:myfolder" برای دیدن "myfolder" در Google drive.
میتوانید هر تعداد مسیر ذخیرهسازی که میخواهید را در فایل پیکربندی تعریف کنید.
لطفاً در حین یادگیری rclone از پرچم --interactive/-i استفاده کنید تا از دست رفتن تصادفی دادهها جلوگیری شود.
زیرفرمانها
دستور rclone از سامانهای از زیرفرمانها استفاده میکند. برای مثال
-
rclone ls remote:path # lists a remote rclone copy /local/path remote:path # copies /local/path to the remote rclone sync --interactive /local/path remote:path # syncs /local/path to the remote
rclone config
ورود به نشست تعاملی پیکربندی.
خلاصه دستور (SYNOPSIS)
وارد یک نشست تعاملی پیکربندی شوید که در آن میتوانید ریموتهای جدید را راهاندازی کرده و ریموتهای موجود را مدیریت کنید. همچنین میتوانید برای محافظت از پیکربندی خود یک گذرواژه تنظیم یا حذف کنید.
-
rclone config [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای config
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنمای دستورها، پرچمها و backendهای rclone.
- •
- rclone config create (https://rclone.org/commands/rclone_config_create) - ایجاد یک ریموت جدید با نام، نوع و گزینهها.
- •
- rclone config delete (https://rclone.org/commands/rclone_config_delete) - حذف یک ریموت موجود.
- •
- rclone config disconnect (https://rclone.org/commands/rclone_config_disconnect) - قطع ارتباط کاربر از ریموت.
- •
- rclone config dump (https://rclone.org/commands/rclone_config_dump) - برونریزی فایل پیکربندی در قالب JSON.
- •
- rclone config edit (https://rclone.org/commands/rclone_config_edit) - ورود به نشست تعاملی پیکربندی.
- •
- rclone config encryption (https://rclone.org/commands/rclone_config_encryption) - تنظیم، حذف و بررسی رمزنگاری فایل پیکربندی.
- •
- rclone config file (https://rclone.org/commands/rclone_config_file) - نمایش مسیر فایل پیکربندی در حال استفاده.
- •
- rclone config password (https://rclone.org/commands/rclone_config_password) - بهروزرسانی گذرواژه در یک ریموت موجود.
- •
- rclone config paths (https://rclone.org/commands/rclone_config_paths) - نمایش مسیرهای استفادهشده برای پیکربندی، حافظه موقت (cache)، فایلهای موقت (temp) و غیره.
- •
- rclone config providers (https://rclone.org/commands/rclone_config_providers) - فهرست کردن تمامی ارائهدهندگان و گزینهها در قالب JSON.
- •
- rclone config reconnect (https://rclone.org/commands/rclone_config_reconnect) - احراز هویت مجدد کاربر با ریموت.
- •
- rclone config redacted (https://rclone.org/commands/rclone_config_redacted) - چاپ فایل پیکربندی سانسورشده (رمزگشاییشده)، یا پیکربندی سانسورشده برای یک ریموت منفرد.
- •
- rclone config show (https://rclone.org/commands/rclone_config_show) - چاپ فایل پیکربندی (رمزگشاییشده)، یا پیکربندی برای یک ریموت منفرد.
- •
- rclone config string (https://rclone.org/commands/rclone_config_string) - چاپ رشته اتصال (connection string) برای یک ریموت منفرد.
- •
- rclone config touch (https://rclone.org/commands/rclone_config_touch) - اطمینان از وجود فایل پیکربندی.
- •
- rclone config unset (https://rclone.org/commands/rclone_config_unset) - لغو تنظیم گزینهها در یک ریموت موجود.
- •
- rclone config update (https://rclone.org/commands/rclone_config_update) - بهروزرسانی گزینهها در یک ریموت موجود.
- •
- rclone config userinfo (https://rclone.org/commands/rclone_config_userinfo) - چاپ اطلاعات درباره کاربر واردشده در ریموت.
rclone copy
کپی فایلها از مبدأ به مقصد، با نادیده گرفتن فایلهای یکسان.
خلاصه دستور (SYNOPSIS)
مبدأ را در مقصد کپی میکند. فایلهایی را که در مبدأ و مقصد یکسان هستند منتقل نمیکند؛ این بررسی بر اساس اندازه و زمان تغییر یا MD5SUM انجام میشود. فایلها را از مقصد حذف نمیکند. اگر میخواهید فایلها را برای تطابق با مبدأ از مقصد نیز حذف کنید، به جای آن از دستور sync (https://rclone.org/commands/rclone_sync) استفاده کنید.
توجه داشته باشید که همیشه محتویات دایرکتوری همگامسازی میشود، نه خود دایرکتوری. بنابراین هنگامی که source:path یک دایرکتوری باشد، محتویات source:path کپی میشوند، نه نام دایرکتوری و محتویات آن.
برای کپی کردن تکفایلها، به جای آن از دستور copyto (https://rclone.org/commands/rclone_copyto) استفاده کنید.
اگر dest:path وجود نداشته باشد، ایجاد شده و محتویات source:path درون آن قرار میگیرد.
به عنوان مثال:
-
rclone copy source:sourcepath dest:destpath
فرض کنید دو فایل در sourcepath وجود دارد:
-
sourcepath/one.txt sourcepath/two.txt
این دستور آنها را کپی میکند به:
-
destpath/one.txt destpath/two.txt
نه به:
-
destpath/sourcepath/one.txt destpath/sourcepath/two.txt
اگر با rsync آشنایی دارید، rclone همیشه به گونهای عمل میکند که گویی یک / در انتهای مسیر قرار دادهاید - به این معنی که "محتویات این دایرکتوری را کپی کن". این موضوع برای تمامی دستورها و چه در مبدأ و چه در مقصد صدق میکند.
برای کنترل اینکه آیا rclone دایرکتوری مقصد را فهرست کند یا خیر، گزینه --no-traverse (https://rclone.org/docs/#no-traverse) را ببینید. ارائه این گزینه هنگام کپی کردن تعداد کمی فایل به مقصدی بزرگ میتواند سرعت انتقال را به شدت افزایش دهد.
به عنوان مثال، اگر فایلهای زیادی در /path/to/src دارید اما روزانه فقط تعداد کمی از آنها تغییر میکنند، میتوانید همه فایلهایی را که اخیراً تغییر کردهاند به این شکل به شکلی بسیار کارآمد کپی کنید:
-
rclone copy --max-age 24h --no-traverse /path/to/src remote:
در صورتی که backend پشتیبانی کند، rclone زمان تغییر فایلها و دایرکتوریها را همگامسازی میکند. اگر همگامسازی فراداده (metadata) مورد نیاز است، از پرچم --metadata استفاده کنید.
توجه داشته باشید که زمان تغییر و فراداده برای دایرکتوری ریشه همگامسازی نخواهد شد. برای اطلاعات بیشتر مسئله #7652 (https://github.com/rclone/rclone/issues/7652) را ببینید.
نکته: از پرچم -P/--progress برای مشاهده لحظهای آمار انتقال استفاده کنید.
نکته: از پرچم --dry-run یا --interactive/-i برای آزمایش عملیات بدون کپی کردن هیچ فایلی استفاده کنید..SS پرچمهای ثبت گزارش (Logger Flags)
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را، در هر سطر یک مسیر، در نام فایل ارائهشده (یا خروجی استاندارد stdout در صورتی که - باشد) مینویسند. آنچه آنها مینویسند در راهنمای زیر شرح داده شده است. به عنوان مثال، --differ تمام مسیرهایی را که هم در مبدأ و هم در مقصد وجود دارند اما متفاوت هستند، خواهد نوشت.
پرچم --combined فایلی (یا stdout) را مینویسد که شامل تمام مسیرهای فایل به همراه یک نماد، یک فاصله و سپس مسیر است تا مشخص کند چه اتفاقی برای آن رخ داده است. این موارد یادآور فایلهای diff هستند.
- •
- = path بدین معنی است که مسیر در مبدأ و مقصد یافت شد و یکسان بود
- •
- - path بدین معنی است که مسیر در مبدأ وجود نداشت، بنابراین فقط در مقصد است
- •
- + path بدین معنی است که مسیر در مقصد وجود نداشت، بنابراین فقط در مبدأ است
- •
- * path بدین معنی است که مسیر در مبدأ و مقصد وجود داشت اما متفاوت بود.
- •
- ! path بدین معنی است که در خواندن یا درهمسازی (هش) مبدأ یا مقصد خطایی رخ داد.
پرچم --dest-after یک فایل فهرست را با استفاده از همان پرچمهای قالببندی lsf (https://rclone.org/commands/rclone_lsf#synopsis) (شامل گزینههای قابل سفارشیسازی برای هش، زمان ویرایش و غیره (https://rclone.org/commands/rclone_lsf#synopsis)) مینویسد. از نظر مفهومی این پرچم مشابه --itemize-changes در rsync است، اما نه کاملاً یکسان -- این پرچم باید فهرستی دقیق از آنچه پس از پایان دستور در مقصد خواهد بود را در خروجی ارائه دهد.
هنگامی که پرچم --no-traverse تنظیم شده باشد، تمام گزارشهای مربوط به فایلهایی که تنها در مقصد وجود دارند ناقص بوده یا کاملاً وجود نخواهند داشت.
توجه داشته باشید که این پرچمهای ثبت گزارش چند محدودیت دارند و سناریوهای خاصی در حال حاضر پشتیبانی نمیشوند:
- •
- --max-duration / CutoffModeHard
- •
- --compare-dest / --copy-dest
- •
- انتقالهای سمت سرور کل یک دایرکتوری به صورت یکجا
- •
- تلاشهای مجدد سطح بالا (High-level retries)، زیرا موارد تکراری ایجاد میشود (برای غیرفعالسازی از --retries 1 استفاده کنید)
- •
- احتمالاً برخی سناریوهای غیرمعمول خطا
همچنین توجه داشته باشید که وضعیت هر فایل در حین اجرا ثبت میشود، نه پس از آن؛ بنابراین بیش از همه به عنوان پیشبینیکنندهای برای آنچه «باید» برای هر فایل رخ دهد مفید است (که ممکن است با آنچه واقعاً رخ داده است مطابقت داشته باشد یا نداشته باشد).
-
rclone copy source:path dest:path [flags]
گزینهها (Options)
-
--absolute قرار دادن یک / در ابتدای نام مسیرها --combined string ایجاد یک گزارش ترکیبی از تغییرات در این فایل --create-empty-src-dirs ایجاد دایرکتوریهای خالی مبدأ در مقصد پس از کپی --csv خروجی در قالب CSV --dest-after string گزارش تمام فایلهای موجود در مقصد پس از همگامسازی --differ string گزارش تمام فایلهای ناسازگار در این فایل -d, --dir-slash افزودن یک اسلش به نامهای دایرکتوری (پیشفرض true) --dirs-only فقط فهرست کردن دایرکتوریها --error string گزارش تمام فایلهای دارای خطا (درهمسازی یا خواندن) در این فایل --files-only فقط فهرست کردن فایلها (پیشفرض true) -F, --format string قالب خروجی - برای جزئیات راهنمای lsf را ببینید (پیشفرض "p") --hash h استفاده از این هش هنگامی که h در قالب MD5|SHA-1|DropboxHash استفاده شده (پیشفرض "md5") -h, --help راهنمای copy --match string گزارش تمام فایلهای منطبق در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ در این فایل -s, --separator string جداکننده برای موارد در قالب (پیشفرض ";") -t, --timeformat string تعیین قالب زمانی سفارشی - برای جزئیات مستندات را ببینید (پیشفرض: 2006-01-02 15:04:05)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای عمومی (https://rclone.org/flags) را ببینید..SS "گزینههای رونوشت (Copy Options)"
پرچمها برای هر دستوری که میتواند فایلی را رونوشت کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با اندازه و checksum (در صورت دسترسی، یا بازگشت به اندازه تنها) --compare-dest stringArray گنجاندن مسیرهای سمت سرور اضافی هنگام مقایسه --copy-dest stringArray به منزلهٔ --compare-dest است اما فایلها را نیز از مسیرها به مقصد رونوشت میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت توقف انتقالها پس از رسیدن به حد بیشینه انتقال HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی --ignore-checksum صرفنظر کردن از بررسی checksum پس از رونوشت --ignore-existing صرفنظر کردن از همه فایلهای موجود در مقصد --ignore-size نادیده گرفتن اندازه هنگام پرش؛ استفاده از modtime یا checksum -I, --ignore-times رد نکردن مواردی که با اندازه و زمان همخوانی دارند - انتقال بیقیدوشرط همهچیز --immutable دستنزدن به فایلها؛ شکست عملیات در صورت تغییر یافتن فایلهای موجود --inplace بارگیری مستقیم در فایل مقصد بهجای بارگیری اتمیک موقت و تغییر نام -l, --links تبدیل symlinkها به/از فایلهای معمولی با پسوند '.rclonelink' --max-backlog int بیشینه تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration بیشینه مدت زمانی که rclone دادهها را انتقال میدهد (پیشفرض 0s) --max-transfer SizeSuffix بیشینه حجم داده برای انتقال (پیشفرض off) -M, --metadata در صورت تنظیم، حفظ metadata هنگام رونوشت اشیاء --modify-window Duration بیشینه اختلاف زمانی مجاز برای یکسان تلقی شدن (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه قطعه برای بارگیریها / بارگذاریهای چندرشتهای، اگر توسط فایلسیستم تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از بارگیری چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانهای مورد استفاده برای بارگیری چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر در حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تبدیل مسیرها در طول فرایند رونوشت --no-check-dest بررسی نکردن مقصد؛ رونوشت در هر صورت --no-traverse پیمایش نکردن فایلسیستم مقصد هنگام رونوشت --no-update-dir-modtime بهروزرسانی نکردن زمانهای تغییر دایرکتوری --no-update-modtime بهروزرسانی نکردن modtime مقصد در صورت یکسان بودن فایلها --order-by string دستورالعملها درباره نحوه مرتبسازی انتقالها، مثلاً 'size,descending' --partial-suffix string افزودن partial-suffix به نام فایل موقت هنگامی که --inplace استفاده نشده باشد (پیشفرض ".partial") --refresh-times تازهسازی modtime فایلهای راه دور --server-side-across-configs اجازه به عملیاتهای سمت سرور (مانند copy) برای کار بین پیکربندیهای گوناگون --size-only رد کردن تنها بر اساس اندازه، نه modtime یا checksum --streaming-upload-cutoff SizeSuffix آستانه جابهجایی به بارگذاری چندبخشی در صورت نامشخص بودن اندازه فایل، بارگذاری پس از رسیدن به این حد یا پایان فایل آغاز میشود (پیشفرض 100Ki) -u, --update رد کردن فایلهایی که در مقصد جدیدتر هستند
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ خروجی با جزئیات بسیار بیشتر (تکرار برای جزئیات بیشتر)
گزینههای پالایش (Filter Options)
پرچمها برای پالایش فهرستبندی دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچگونه پردازش روی خطها (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با جداکننده NUL (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده پالایش فایل --filter-from stringArray خواندن الگوهای پالایش فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در پالایهها (غیرحساس به بزرگی و کوچکی) --include stringArray گنجاندن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنی کردن فرادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده پالایش فراداده --metadata-filter-from stringArray خواندن الگوهای پالایش فراداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray گنجاندن فرادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول فراداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
پرچمها برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت موجود بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone sync
یکسانسازی مبدأ و مقصد، فقط با تغییر دادن مقصد.
خلاصه دستور (SYNOPSIS)
همگامسازی مبدأ با مقصد، تنها با تغییر دادن مقصد. فایلهایی را که در مبدأ و مقصد یکسان هستند منتقل نمیکند؛ این بررسی از طریق اندازه و زمان تغییر (modtime) یا MD5SUM انجام میشود. مقصد برای مطابقت با مبدأ بهروزرسانی میشود، از جمله در صورت لزوم حذف فایلها (به جز اشیاء تکراری، به زیر مراجعه کنید). اگر نمیخواهید فایلها از مقصد حذف شوند، به جای آن از دستور copy (https://rclone.org/commands/rclone_copy) استفاده کنید.
مهم: از آنجا که این کار میتواند موجب از دست رفتن دادهها شود، ابتدا با پرچم --dry-run یا --interactive/i آزمایش کنید.
-
rclone sync --interactive SOURCE remote:DESTINATION
فایلهای موجود در مقصد در صورت وقوع هرگونه خطا در هر مرحله حذف نخواهند شد. اشیاء تکراری (فایلهایی با نام یکسان، در ارائهدهندگانی که از آن پشتیبانی میکنند) هنوز مدیریت نمیشوند. فایلهایی که مستثنی شدهاند (excluded) حذف نخواهند شد مگر اینکه از --delete-excluded استفاده شود. پیوندهای نمادین (symlinks) از فایلسیستمهای محلی منتقل یا حذف نخواهند شد مگر اینکه از --links استفاده شود.
همواره محتوای دایرکتوری همگامسازی میشود، نه خود دایرکتوری. بنابراین هنگامی که source:path یک دایرکتوری است، این محتوای source:path است که کپی میشود، نه نام و محتوای دایرکتوری. در صورت عدم اطمینان، توضیحات تکمیلی را در دستور copy (https://rclone.org/commands/rclone_copy) ببینید.
اگر dest:path وجود نداشته باشد، ایجاد شده و محتوای source:path در آن قرار میگیرد.
همگامسازی remoteهای همپوشان (overlapping) امکانپذیر نیست. با این حال، میتوانید مقصد را با یک قانون فیلتر از همگامسازی مستثنی کنید یا با قرار دادن یک فایل exclude-if-present در داخل دایرکتوری مقصد، به مقصدی که در داخل دایرکتوری مبدأ قرار دارد همگامسازی را انجام دهید.
اگر backend از آن پشتیبانی کند، Rclone زمانهای تغییر (modification times) فایلها و دایرکتوریها را همگامسازی خواهد کرد. اگر همگامسازی متادیتا (metadata) مورد نیاز است، از پرچم --metadata استفاده کنید.
توجه داشته باشید که زمان تغییر و متادیتا برای دایرکتوری ریشه همگامسازی نخواهد شد. برای اطلاعات بیشتر https://github.com/rclone/rclone/issues/7652 را ببینید.
نکته: برای مشاهده آمار بلادرنگ انتقال، از پرچم -P/--progress استفاده کنید.
نکته: برای مواجهه با خطاهای "Duplicate object/directory found in source/destination - ignoring" از دستور rclone dedupe استفاده کنید. برای اطلاعات بیشتر این پست تالار گفتوگو (https://forum.rclone.org/t/sync-not-clearing-duplicates/14372) را ببینید.
پرچمهای ثبت لاگ (Logger Flags)
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را بهصورت خطبهخط در نام فایل دادهشده (یا اگر - باشد در خروجی استاندارد stdout) مینویسند. آنچه آنها مینویسند در راهنمای زیر شرح داده شده است. برای مثال --differ تمام مسیرهایی را که در هر دو مبدأ و مقصد وجود دارند اما متفاوت هستند مینویسد.
پرچم --combined فایلی (یا stdout) را مینویسد که شامل تمام مسیرهای فایلها است همراه با یک نماد و سپس یک فاصله و پس از آن مسیر، تا به شما بگوید چه اتفاقی برای آن افتاده است. این موارد یادآور فایلهای diff هستند.
- •
- = path بدان معناست که path در مبدأ و مقصد پیدا شد و یکسان بود
- •
- - path بدان معناست که path در مبدأ موجود نبود، بنابراین فقط در مقصد است
- •
- + path بدان معناست که path در مقصد موجود نبود، بنابراین فقط در مبدأ است
- •
- * path بدان معناست که path در مبدأ و مقصد موجود بود اما تفاوت داشت.
- •
- ! path بدان معناست که در خواندن یا محاسبه هش مبدأ یا مقصد خطایی رخ داده است.
پرچم --dest-after یک فایل فهرست را با استفاده از همان پرچمهای قالببندیِ lsf (https://rclone.org/commands/rclone_lsf/#synopsis) مینویسد (شامل گزینههای قابلتنظیم برای hash، modtime، و غیره (https://rclone.org/commands/rclone_lsf/#synopsis)). از لحاظ مفهومی شبیه به --itemize-changes در rsync است، اما یکسان نیست -- این پرچم باید فهرست دقیقی از آنچه را که پس از پایان دستور در مقصد خواهد بود خروجی دهد.
هنگامی که پرچم --no-traverse تنظیم شده باشد، تمام گزارشهای مربوط به فایلهایی که فقط در مقصد وجود دارند ناقص بوده یا کاملاً وجود نخواهند داشت.
توجه داشته باشید که این پرچمهای ثبت لاگ دارای چند محدودیت هستند و سناریوهای خاصی در حال حاضر پشتیبانی نمیشوند:
- •
- --max-duration / CutoffModeHard
- •
- --compare-dest / --copy-dest
- •
- انتقالهای سمت سرور برای یک دایرکتوری کامل بهصورت یکجا
- •
- تلاشهای مجدد در سطح بالا (High-level retries)، زیرا موارد تکراری ایجاد خواهد شد (برای غیرفعال کردن از --retries 1 استفاده کنید)
- •
- احتمالاً برخی از سناریوهای خطای نامعمول
همچنین توجه داشته باشید که هر فایل در حین اجرا در لاگ ثبت میشود، بر خلاف پس از آن؛ بنابراین به عنوان پیشبینیکنندهای از آنچه «باید» برای هر فایل رخ دهد بیشترین کاربرد را دارد (که ممکن است با آنچه در عمل «رخ داده» مطابقت داشته باشد یا نداشته باشد).
-
rclone sync source:path dest:path [flags]
-
--absolute قرار دادن یک / در ابتدای نام مسیرها --combined string ایجاد گزارش ترکیبی از تغییرات در این فایل --create-empty-src-dirs ایجاد دایرکتوریهای خالی مبدأ در مقصد پس از همگامسازی --csv خروجی در قالب CSV --dest-after string گزارش تمام فایلهای موجود در مقصد پس از همگامسازی در این فایل --differ string گزارش تمام فایلهای ناهمخوان در این فایل -d, --dir-slash افزودن اسلش به انتهای نام دایرکتوریها (پیشفرض true) --dirs-only تنها فهرست کردن دایرکتوریها --error string گزارش تمام فایلهای دارای خطا (در هش یا خواندن) در این فایل --files-only تنها فهرست کردن فایلها (پیشفرض true) -F, --format string قالب خروجی - برای جزئیات راهنمای lsf را ببینید (پیشفرض "p") --hash h استفاده از این هش هنگامی که h در قالب به کار رفته است MD5|SHA-1|DropboxHash (پیشفرض "md5") -h, --help راهنما برای sync --match string گزارش تمام فایلهای منطبق در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ در این فایل -s, --separator string جداکننده موارد در قالب (پیشفرض ";") -t, --timeformat string تعیین قالب زمانی سفارشی - برای جزئیات مستندات را ببینید (پیشفرض: 2006-01-02 15:04:05)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای رونوشت (Copy Options)
پرچمها برای هر دستوری که میتواند فایلی را کپی کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با اندازه و چکسام (در صورت در دسترس بودن، یا رجوع به اندازه به تنهایی) --compare-dest stringArray شامل کردن مسیرهای سروری بیشتر هنگام مقایسه --copy-dest stringArray به معنی --compare-dest است اما فایلها را نیز از مسیرها به مقصد کپی میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت توقف انتقالها پس از رسیدن به حد نهایی انتقال HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن کوچکی و بزرگی حروف در هنگام همگامسازی --ignore-checksum صرفنظر از بررسی چکسامها پس از رونوشت --ignore-existing صرفنظر از تمام فایلهای موجود در مقصد --ignore-size نادیده گرفتن اندازه هنگام رد کردن؛ استفاده از modtime یا چکسام -I, --ignore-times صرفنظر نکردن از مواردی که در اندازه و زمان تطابق دارند - انتقال همه بدون قید و شرط --immutable عدم تغییر فایلها؛ در صورتی که فایلهای موجود تغییر کرده باشند با خطا مواجه شود --inplace بارگیری مستقیم در فایل مقصد به جای بارگیری اتمیک در فایل موقت و تغییر نام -l, --links تبدیل پیوندهای نمادین به/از فایلهای معمولی با پسوند '.rclonelink' --max-backlog int حداکثر تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration حداکثر مدتی که rclone دادهها را منتقل میکند (پیشفرض 0s) --max-transfer SizeSuffix حداکثر حجم داده برای انتقال (پیشفرض off) -M, --metadata در صورت تنظیم، حفظ فراداده هنگام رونوشت اشیاء --modify-window Duration حداکثر اختلاف زمانی برای یکسان در نظر گرفته شدن (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه قطعه برای بارگیری/بارگذاری چندرشتهای، اگر توسط سیستم فایل تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از بارگیری چندرشتهای برای فایلهای بالاتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانها برای استفاده در بارگیریهای چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر در حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تبدیل مسیرها در طول فرایند کپی --no-check-dest عدم بررسی مقصد؛ کپی در هر حالت --no-traverse عدم پیمایش سیستم فایل مقصد هنگام رونوشت --no-update-dir-modtime عدم بهروزرسانی زمانهای ویرایش دایرکتوری --no-update-modtime عدم بهروزرسانی modtime مقصد در صورت یکسان بودن فایلها --order-by string دستورالعملها درباره نحوه اولویتبندی انتقالها، مثلاً 'size,descending' --partial-suffix string افزودن partial-suffix به نام فایل موقت هنگامی که --inplace استفاده نشده باشد (پیشفرض ".partial") --refresh-times تازهسازی modtime فایلهای دوردست --server-side-across-configs اجازه دادن به عملیات سمت سرور (مانند رونوشت) برای کار بین پیکربندیهای گوناگون --size-only صرفنظر کردن تنها بر اساس اندازه، نه modtime یا چکسام --streaming-upload-cutoff SizeSuffix آستانه جابجایی به بارگذاری قطعهای در صورت نامشخص بودن اندازه فایل، بارگذاری پس از رسیدن به آستانه یا پایان فایل آغاز میشود (پیشفرض 100Ki) -u, --update صرفنظر از فایلهایی که روی مقصد جدیدتر هستند
گزینههای همگامسازی (Sync Options)
پرچمهای مورد استفاده برای دستورهای همگامسازی (sync)
-
--backup-dir string تهیه نسخه پشتیبان در سلسلهمراتب مبتنی بر DIR --delete-after هنگام همگامسازی، حذف فایلها در مقصد پس از انتقال (پیشفرض) --delete-before هنگام همگامسازی، حذف فایلها در مقصد پیش از انتقال --delete-during هنگام همگامسازی، حذف فایلها در حین انتقال --fix-case تغییر نام اجباری مقصد حساسنبودنبهحروف برای تطابق با مبدأ --ignore-errors حذف حتی در صورت وجود خطاهای I/O --list-cutoff int برای صرفهجویی در حافظه، مرتبسازی فهرستهای دایرکتوری روی دیسک بالاتر از این آستانه (پیشفرض 1000000) --max-delete int هنگام همگامسازی، محدود کردن تعداد حذفها (پیشفرض -1) --max-delete-size SizeSuffix هنگام همگامسازی، محدود کردن حجم کل حذفها (پیشفرض off) --suffix string پسوند برای افزودن به فایلهای تغییریافته --suffix-keep-extension حفظ پسوند فایل هنگام استفاده از --suffix --track-renames هنگام همگامسازی، ردیابی تغییر نام فایلها و انجام انتقال سمت سرور در صورت امکان --track-renames-strategy string راهبردهای مورد استفاده هنگام همگامسازی با استفاده از track-renames به صورت hash|modtime|leaf (پیشفرض "hash")
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run انجام یک اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ خروجی بسیار بیشتر (برای جزئیات بیشتر تکرار کنید)
گزینههای فیلتر
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای stdin) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون پردازش خطوط (استفاده از - برای stdin) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با جداکننده NUL (استفاده از - برای stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای stdin) --hash-filter string افراز نامهای فایل بر اساس هش k/n یا تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای stdin) --max-age Duration انتقال تنها فایلهای تازهتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، محدود کردن عمق بازگشت به این مقدار (پیشفرض -1) --max-size SizeSuffix انتقال تنها فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن فرادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (استفاده از - برای stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن فراداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن فراداده از یک فایل (استفاده از - برای stdin) --metadata-include stringArray شامل کردن فرادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول فراداده از فایل (استفاده از - برای stdin) --min-age Duration انتقال تنها فایلهای قدیمیتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix انتقال تنها فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش)
گزینههای فهرستبندی
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمانی که باید در صورت نامشخص بودن modtime فایلها و دایرکتوریها نشان داده شود (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت وجود؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و بکاندهای rclone.
rclone move
انتقال فایلها از source به dest.
خلاصه دستور (SYNOPSIS)
محتویات دایرکتوری مبدأ را به دایرکتوری مقصد منتقل میکند. در صورتی که مبدأ و مقصد همپوشانی داشته باشند و ریموت از عملیات انتقال دایرکتوری سمت سرور پشتیبانی نکند، rclone با خطا مواجه خواهد شد.
برای انتقال فایلهای تکی، در عوض از دستور moveto (https://rclone.org/commands/rclone_moveto) استفاده کنید.
اگر هیچ فیلتری استفاده نشود و در صورت امکان، این دستور source:path را بهصورت سمت سرور به dest:path منتقل میکند. پس از این، source:path دیگر وجود نخواهد داشت.
در غیر این صورت، برای هر فایل در source:path که توسط فیلترها (در صورت وجود) انتخاب شده باشد، آن را به dest:path منتقل میکند. در صورت امکان، از انتقال سمت سرور استفاده خواهد شد؛ در غیر این صورت، آن را (در صورت امکان بهصورت سمت سرور) به dest:path کپی کرده و سپس فایل اصلی را (در صورت عدم بروز خطا در کپی) در source:path حذف میکند.
اگر میخواهید دایرکتوریهای خالی مبدأ پس از انتقال حذف شوند، از پرچم --delete-empty-src-dirs استفاده کنید.
برای کنترل اینکه آیا rclone دایرکتوری مقصد را فهرستبندی کند یا خیر، گزینه --no-traverse (https://rclone.org/docs/#no-traverse) را ببینید. ارائه این گزینه هنگام انتقال تعداد کمی فایل به یک مقصد بزرگ میتواند سرعت انتقال را به میزان چشمگیری افزایش دهد.
در صورتی که بکاند پشتیبانی کند، rclone زمانهای ویرایش فایلها و دایرکتوریها را همگامسازی میکند. اگر همگامسازی فراداده نیاز باشد، از پرچم --metadata استفاده کنید.
توجه داشته باشید که زمان ویرایش و فراداده برای دایرکتوری ریشه همگامسازی نخواهد شد. برای اطلاعات بیشتر https://github.com/rclone/rclone/issues/7652 را ببینید.
مهم: از آنجا که این عملیات میتواند باعث از دست رفتن دادهها شود، ابتدا با پرچم --dry-run یا --interactive/-i آن را آزمایش کنید.
نکته: برای مشاهده آمار لحظهای انتقال از پرچم -P/--progress استفاده کنید..SS پرچمهای ثبت گزارش (Logger Flags)
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را بهصورت یک مسیر در هر خط، در نام فایل ارائهشده (یا اگر - باشد در خروجی استاندارد stdout) مینویسند. آنچه مینویسند در راهنمای زیر شرح داده شده است. برای نمونه --differ تمام مسیرهایی را که در هر دو مبدأ و مقصد وجود دارند اما متفاوت هستند مینویسد.
پرچم --combined فایلی (یا stdout) را مینویسد که شامل تمام مسیرهای فایل به همراه یک نماد، سپس یک فاصله و سپس مسیر است تا مشخص کند چه بر سر آن آمده است. این موارد یادآور فایلهای diff هستند.
- •
- = path یعنی مسیر در مبدأ و مقصد یافت شد و یکسان بود
- •
- - path یعنی مسیر در مبدأ وجود نداشت، بنابراین فقط در مقصد است
- •
- + path یعنی مسیر در مقصد وجود نداشت، بنابراین فقط در مبدأ است
- •
- * path یعنی مسیر در مبدأ و مقصد وجود داشت اما متفاوت بود.
- •
- ! path یعنی خطایی در خواندن یا درهمسازی (هش کردن) مبدأ یا مقصد رخ داده است.
پرچم --dest-after یک فایل فهرست را با استفاده از همان پرچمهای قالببندی lsf (https://rclone.org/commands/rclone_lsf/#synopsis) مینویسد (شامل گزینههای قابلتنظیم برای hash، modtime، و غیره (https://rclone.org/commands/rclone_lsf/#synopsis)). از نظر مفهومی مشابه --itemize-changes در rsync است، اما نه کاملاً یکسان -- این پرچم باید فهرستی دقیق از آنچه پس از پایان دستور در مقصد خواهد بود ارائه دهد.
هنگامی که پرچم --no-traverse تنظیم شده باشد، تمام گزارشهای مربوط به فایلهایی که تنها در مقصد وجود دارند ناقص بوده یا بهطور کامل وجود نخواهند داشت.
توجه داشته باشید که این پرچمهای ثبت گزارش محدودیتهایی دارند و سناریوهای خاصی در حال حاضر پشتیبانی نمیشوند:
- •
- --max-duration / CutoffModeHard
- •
- --compare-dest / --copy-dest
- •
- انتقالهای سمت سرور یک دایرکتوری بهطور کامل در یک نوبت
- •
- تلاشهای مجدد در سطح بالا (High-level retries)، زیرا موارد تکراری ایجاد خواهد شد (از --retries 1 برای غیرفعالسازی استفاده کنید)
- •
- احتمالاً برخی سناریوهای خطای نامعمول
همچنین توجه داشته باشید که هر فایل در حین اجرا ثبت میشود، نه پس از آن، بنابراین بیشتر به عنوان پیشبینیکنندهای برای آنچه «باید» برای هر فایل رخ دهد مفید است (که ممکن است با آنچه واقعاً رخ داده مطابقت داشته باشد یا خیر).
-
rclone move source:path dest:path [flags]
گزینهها (Options)
-
--absolute قرار دادن یک / در ابتدای نام مسیرها --combined string ایجاد یک گزارش ترکیبی از تغییرات در این فایل --create-empty-src-dirs ایجاد دایرکتوریهای خالی مبدأ در مقصد پس از انتقال --csv خروجی در قالب CSV --delete-empty-src-dirs حذف دایرکتوریهای خالی مبدأ پس از انتقال --dest-after string گزارش تمام فایلهای موجود در مقصد پس از همگامسازی --differ string گزارش تمام فایلهای نامطابق در این فایل -d, --dir-slash افزودن یک اسلش به انتهای نام دایرکتوریها (پیشفرض true) --dirs-only تنها فهرست کردن دایرکتوریها --error string گزارش تمام فایلهای دارای خطا (درهمسازی یا خواندن) در این فایل --files-only تنها فهرست کردن فایلها (پیشفرض true) -F, --format string قالب خروجی - برای جزئیات راهنمای lsf را ببینید (پیشفرض "p") --hash h استفاده از این هش هنگامی که h در قالب استفاده میشود: MD5|SHA-1|DropboxHash (پیشفرض "md5") -h, --help راهنمای دستور move --match string گزارش تمام فایلهای مطابق در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ در این فایل -s, --separator string جداکننده برای موارد موجود در قالب (پیشفرض ";") -t, --timeformat string تعیین یک قالب زمان سفارشی - برای جزئیات به اسناد مراجعه کنید (پیشفرض: 2006-01-02 15:04:05)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا ذکر نشدهاند، به صفحه پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید..SS "گزینههای کپی (Copy Options)"
پرچمها برای هر فرمانی که میتواند فایلی را کپی کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با اندازه و checksum (در صورت وجود، یا بازگشت به فقط اندازه) --compare-dest stringArray شامل کردن مسیرهای سمت سرور اضافی در حین مقایسه --copy-dest stringArray ضمن اعمال --compare-dest، فایلها را از مسیرها به مقصد نیز کپی میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت متوقف کردن انتقال هنگام رسیدن به سقف انتقال: HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی --ignore-checksum صرفنظر از بررسی checksum پس از کپی --ignore-existing صرفنظر از تمام فایلهای موجود در مقصد --ignore-size نادیده گرفتن اندازه هنگام صرفنظر کردن؛ استفاده از modtime یا checksum -I, --ignore-times نادیده نگرفتن مواردی که اندازه و زمان یکسان دارند - انتقال همهچیز بدون قید و شرط --immutable دستکاری نکردن فایلها، اعلام خطا در صورت تغییر یافتن فایلهای موجود --inplace بارگیری مستقیم در فایل مقصد بهجای بارگیری اتمیک در فایل موقت/تغییر نام -l, --links تبدیل symlinkها به/از فایلهای عادی با پسوند '.rclonelink' --max-backlog int حداکثر تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration حداکثر مدت زمانی که rclone دادهها را انتقال میدهد (پیشفرض 0s) --max-transfer SizeSuffix حداکثر حجم داده برای انتقال (پیشفرض off) -M, --metadata در صورت تنظیم، حفظ متادیتا هنگام کپی اشیاء --modify-window Duration حداکثر اختلاف زمانی برای یکسان در نظر گرفتن (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه قطعه برای بارگیری/بارگذاری چندرشتهای، اگر توسط سیستمفایل تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از بارگیری چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانها (streams) برای استفاده در بارگیری چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تغییر شکل مسیرها در طول فرایند کپی --no-check-dest مقصد بررسی نشود، کپی در هر صورت انجام پذیرد --no-traverse عدم پیمایش سیستمفایل مقصد هنگام کپی --no-update-dir-modtime عدم بهروزرسانی زمان تغییر دایرکتوریها --no-update-modtime عدم بهروزرسانی modtime مقصد در صورت یکسان بودن فایلها --order-by string دستورالعمل نحوه مرتبسازی انتقالها، مثلاً 'size,descending' --partial-suffix string افزودن partial-suffix به نام فایل موقت وقتی از --inplace استفاده نمیشود (پیشفرض ".partial") --refresh-times تازهسازی modtime فایلهای ریموت --server-side-across-configs اجازه دادن به عملیاتهای سمت سرور (مانند کپی) برای کار در میان کانفیگهای مختلف --size-only صرفنظر کردن تنها بر اساس اندازه، نه modtime یا checksum --streaming-upload-cutoff SizeSuffix آستانه جابجایی به بارگذاری قطعهای در صورت نامشخص بودن اندازه فایل (پیشفرض 100Ki) -u, --update صرفنظر کردن از فایلهایی که در مقصد تازهتر هستند
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر)
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرستبندی دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود این نام فایل --files-from stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل (استفاده از - برای stdin) --files-from-raw stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل بدون هیچ پردازشی روی خطها (استفاده از - برای stdin) --files-from0 stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل با جداکننده NUL (استفاده از - برای stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای stdin) --hash-filter string افراز نام فایلها با هش k/n یا بهصورت تصادفی با @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به بزرگی و کوچکی) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای stdin) --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنی کردن متادیتای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (استفاده از - برای stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متادیتا --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متادیتا از یک فایل (استفاده از - برای stdin) --metadata-include stringArray شامل کردن متادیتای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (استفاده از - برای stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض off)
پرچمهای فهرست کردن دایرکتوریها
-
--default-time Time زمانی که اگر modtime برای فایلها و دایرکتوریها نامشخص بود نمایش داده شود (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone delete
حذف فایلهای موجود در مسیر.
خلاصه دستور (SYNOPSIS)
حذف فایلهای موجود در مسیر. برخلاف purge (https://rclone.org/commands/rclone_purge)، این دستور از فیلترهای include/exclude پیروی میکند؛ بنابراین میتوان از آن برای حذف انتخابی فایلها استفاده کرد.
دستور rclone delete فقط فایلها را حذف میکند و به ساختار دایرکتوری دست نمیزند. اگر میخواهید یک دایرکتوری و تمام محتویات آن را حذف کنید، از دستور purge (https://rclone.org/commands/rclone_purge) استفاده کنید.
اگر پرچم --rmdirs را مشخص کنید، تمام دایرکتوریهای خالی را نیز به همراه آن حذف خواهد کرد. همچنین میتوانید از دستورهای مجزای rmdir (https://rclone.org/commands/rclone_rmdir) یا rmdirs (https://rclone.org/commands/rclone_rmdirs) صرفاً برای حذف دایرکتوریهای خالی استفاده کنید.
برای نمونه، جهت حذف تمام فایلهای بزرگتر از 100 MiB، ممکن است ابتدا بخواهید بررسی کنید چه مواردی حذف خواهند شد (از یکی از دستورهای زیر استفاده کنید):
-
rclone --min-size 100M lsl remote:path rclone --dry-run --min-size 100M delete remote:path
سپس حذف واقعی را انجام دهید:
-
rclone --min-size 100M delete remote:path
این دستور به صورت "حذف همهچیز با حداقل اندازهٔ 100 MiB" خوانده میشود، در نتیجه تمام فایلهای بزرگتر از 100 MiB را حذف میکند.
مهم: از آنجا که این کار میتواند موجب از دست رفتن دادهها شود، ابتدا با پرچم --dry-run یا پرچمهای --interactive/-i آن را بیازمایید.
-
rclone delete remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای delete --rmdirs rmdirs دایرکتوریهای خالی را حذف میکند اما ریشه را دستنخورده باقی میگذارد
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ جزئیات بسیار بیشتر (برای موارد بیشتر تکرار کنید)
پرچمهایی برای فیلترکردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنیکردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --exclude-if-present stringArray مستثنیکردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل (برای خواندن از stdin از - استفاده کنید) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچگونه پردازش خطوط (برای خواندن از stdin از - استفاده کنید) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (برای خواندن از stdin از - استفاده کنید) -f, --filter stringArray افزودن یک قاعده فیلترکردن فایل --filter-from stringArray خواندن الگوهای فیلترکردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --hash-filter string افراز نام فایلها بر اساس هش k/n یا بهصورت تصادفی @/n --ignore-case نادیدهگرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) --include stringArray شاملکردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار برحسب ثانیه یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنیکردن متادیتاهای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (برای خواندن از stdin از - استفاده کنید) --metadata-filter stringArray افزودن یک قاعده فیلترکردن متادیتا --metadata-filter-from stringArray خواندن الگوهای فیلترکردن متادیتا از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-include stringArray شاملکردن متادیتاهای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (برای خواندن از stdin از - استفاده کنید) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار برحسب ثانیه یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت موجود بودن؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone purge
حذف مسیر و تمام محتویات آن.
خلاصه دستور (SYNOPSIS)
حذف مسیر و تمام محتویات آن. توجه داشته باشید که این دستور از فیلترهای شمول/استثنا (include/exclude) پیروی نمیکند - همهچیز حذف خواهد شد. اگر میخواهید فایلها را بهصورت انتخابی حذف کنید، از دستور delete (https://rclone.org/commands/rclone_delete) استفاده نمایید. برای حذف دایرکتوریهای خالی بهتنهایی، از دستور rmdir (https://rclone.org/commands/rclone_rmdir) یا rmdirs (https://rclone.org/commands/rclone_rmdirs) استفاده کنید.
همزمانی این عملیات توسط پرچم سراسری --checkers کنترل میشود. با این حال، برخی از backendها این دستور را مستقیماً پیادهسازی میکنند که در این صورت --checkers نادیده گرفته خواهد شد.
مهم: از آنجا که این عملیات میتواند باعث از دست رفتن دادهها شود، ابتدا با پرچم --dry-run یا --interactive/-i آزمایش کنید.
-
rclone purge remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمایی برای purge
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهده گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "گزینههای مهم (Important Options)"
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ خروجی با جزئیات بیشتر (برای افزایش تکرار کنید)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone mkdir
ایجاد مسیر در صورتی که از قبل وجود نداشته باشد.
-
rclone mkdir remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای mkdir
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ خروجی با جزئیات بیشتر (برای افزایش تکرار کنید)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone rmdir
حذف دایرکتوری خالی در مسیر مشخصشده.
خلاصه دستور (SYNOPSIS)
این دستور دایرکتوری خالی مشخصشده توسط path را حذف میکند. اگر مسیر دارای هرگونه شیئی باشد، حتی زیردایرکتوریهای خالی، حذف نخواهد شد. برای انجام این کار از دستور rmdirs (https://rclone.org/commands/rclone_rmdirs) (یا delete (https://rclone.org/commands/rclone_delete) با گزینهٔ --rmdirs) استفاده کنید.
برای حذف یک مسیر و تمامی اشیاء درون آن، از دستور purge (https://rclone.org/commands/rclone_purge) استفاده کنید.
-
rclone rmdir remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای rmdir
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "گزینههای مهم (Important Options)"
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (برای جزئیات بیشتر تکرار کنید)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و بکاندهای rclone.
rclone check
بررسی مطابقت فایلها در مبدأ و مقصد.
خلاصه دستور (SYNOPSIS)
بررسی میکند که فایلهای موجود در مبدأ و مقصد با یکدیگر مطابقت داشته باشند. این دستور اندازهها و هشها (MD5 یا SHA1) را مقایسه میکند و گزارشی از فایلهایی که مطابقت ندارند ثبت مینماید. این دستور تغییری در مبدأ یا مقصد ایجاد نمیکند.
برای ریموت crypt (https://rclone.org/crypt) یک دستور اختصاصی به نام cryptcheck (https://rclone.org/commands/rclone_cryptcheck) وجود دارد که قادر است چکسامهای فایلهای رمزگذاریشده را بررسی کند.
اگر پرچم --size-only را مشخص کنید، تنها اندازهها مقایسه میشوند و هشها بررسی نخواهند شد. از این پرچم برای یک بررسی سریع استفاده کنید.
اگر پرچم --download را مشخص کنید، دادهها را از هر دو ریموت دانلود کرده و آنها را بهصورت همزمان و مستقیم (on the fly) با یکدیگر مقایسه میکند. این قابلیت برای ریموتهایی که از هش پشتیبانی نمیکنند یا در صورتی که واقعاً بخواهید تمام دادهها را به طور کامل بررسی کنید، میتواند مفید باشد.
اگر پرچم --checkfile HASH را با یک نام هش معتبر تعیین کنید، source:path باید به یک فایل متنی با قالب SUM اشاره کند.
اگر پرچم --one-way را مشخص کنید، فقط بررسی میشود که فایلهای مبدأ با فایلهای مقصد مطابقت داشته باشند، نه برعکس. این بدان معناست که فایلهای اضافی موجود در مقصد که در مبدأ نیستند، شناسایی نخواهند شد.
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را، در هر سطر یک مسیر، در نام فایل ارائهشده (یا اگر - باشد در stdout) مینویسند. آنچه این پرچمها ثبت میکنند در ادامه توضیح داده شده است. به عنوان مثال، --differ تمام مسیرهایی را که هم در مبدأ و هم در مقصد وجود دارند اما متفاوت هستند، ثبت میکند.
پرچم --combined فایلی (یا در stdout) ایجاد میکند که شامل تمام مسیرهای فایلها است؛ بهطوریکه پیش از هر مسیر، یک نماد و سپس یک فاصله قرار میگیرد تا وضعیت آن فایل را مشخص کند. این ساختار یادآور فایلهای diff است.
- •
- = path به این معنی است که path در مبدأ و مقصد یافت شد و یکسان بود
- •
- - path به این معنی است که path در مبدأ وجود نداشت، بنابراین فقط در مقصد موجود است
- •
- + path به این معنی است که path در مقصد وجود نداشت، بنابراین فقط در مبدأ موجود است
- •
- * path به این معنی است که path در مبدأ و مقصد وجود داشت ولی متفاوت بود.
- •
- ! path به این معنی است که در خواندن یا محاسبه هش مبدأ یا مقصد خطایی رخ داد.
تعداد پیشفرض بررسیهای موازی ۸ است. برای اطلاعات بیشتر، گزینه --checkers (https://rclone.org/docs/#checkers-int) را ببینید.
-
rclone check source:path dest:path [flags]
-
-C, --checkfile string در نظر گرفتن source:path به عنوان یک فایل SUM با هشهای نوع دادهشده --combined string ایجاد یک گزارش ترکیبی از تغییرات در این فایل --differ string گزارش تمام فایلهای نامطابق در این فایل --download بررسی از طریق دانلود بهجای استفاده از هش --error string گزارش تمام فایلهای دارای خطا (هشکردن یا خواندن) در این فایل -h, --help راهنمایی برای check --match string گزارش تمام فایلهای منطبق در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد به این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ به این فایل --one-way تنها بررسی یکطرفه؛ فایلهای مبدأ باید روی ریموت وجود داشته باشند
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای بررسی (Check Options)
پرچمهای مورد استفاده برای دستورهای check
-
--max-backlog int حداکثر تعداد اشیاء در backlog همگامسازی یا بررسی (پیشفرض 10000)
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (برای خواندن از stdin از - استفاده کنید) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (برای خواندن از stdin از - استفاده کنید) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچ پردازشی روی خطوط (برای خواندن از stdin از - استفاده کنید) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL به عنوان جداکننده (برای خواندن از stdin از - استفاده کنید) -f, --filter stringArray افزودن یک قاعده فیلتر فایل --filter-from stringArray خواندن الگوهای فیلتر فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --hash-filter string افراز نام فایلها با هش k/n یا به صورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (برای خواندن از stdin از - استفاده کنید) --max-age Duration تنها انتقال فایلهای جدیدتر از این برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --metadata-filter stringArray افزودن یک قاعده فیلتر متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --min-age Duration تنها انتقال فایلهای قدیمیتر از این برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش)
گزینههای فهرستبندی (Listing Options)
پرچمها برای فهرستبندی دایرکتوریها
-
--default-time Time زمان نمایش داده شده در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone ls
فهرست کردن اشیاء در مسیر مشخصشده همراه با اندازه و مسیر.
خلاصه دستور (SYNOPSIS)
اشیاء موجود در مسیر مبدأ را با قالبی خوانا برای انسان همراه با اندازه و مسیر در خروجی استاندارد فهرست میکند. بهطور پیشفرض به صورت بازگشتی عمل میکند.
بهعنوان مثال:
-
$ rclone ls swift:bucket 60295 bevajer5jef 90613 canole 94467 diwogej7 37600 fubuwic
هر یک از گزینههای فیلتر کردن را میتوان برای این دستور اعمال کرد.
چندین دستور فهرستبندی مرتبط وجود دارد:
- •
- ls تنها برای فهرست کردن اندازه و مسیر اشیاء
- •
- lsl تنها برای فهرست کردن زمان تغییر، اندازه و مسیر اشیاء
- •
- lsd تنها برای فهرست کردن دایرکتوریها
- •
- lsf برای فهرست کردن اشیاء و دایرکتوریها در قالبی با تجزیه آسان
- •
- lsjson برای فهرست کردن اشیاء و دایرکتوریها در قالب JSON
دستورهای ls، lsl و lsd طوری طراحی شدهاند که برای انسان خوانا باشند. دستور lsf طوری طراحی شده است که هم برای انسان و هم برای ماشین خوانا باشد. دستور lsjson طوری طراحی شده است که برای ماشین خوانا باشد.
توجه داشته باشید که ls و lsl بهطور پیشفرض به صورت بازگشتی عمل میکنند - برای متوقف کردن پیمایش بازگشتی از --max-depth 1 استفاده کنید.
سایر دستورهای فهرستبندی شامل lsd، lsf و lsjson بهطور پیشفرض بازگشتی نیستند - برای بازگشتی کردن آنها از -R استفاده کنید.
دستورهای فهرستبندی بهطور پیشفرض روشی بازگشتی را ترجیح میدهند که حافظه بیشتر اما تراکنشهای کمتری مصرف میکند. برای غیرفعال کردن این رفتار از --disable ListR استفاده کنید. برای جزئیات بیشتر به --fast-list (https://rclone.org/docs/#fast-list) مراجعه کنید.
فهرست کردن یک دایرکتوری ناموجود منجر به خطا خواهد شد، مگر برای ریموتهایی که نمیتوانند دایرکتوری خالی داشته باشند (مانند s3، swift یا gcs - ریموتهای مبتنی بر باکت).
-
rclone ls remote:path [flags]
-
-h, --help راهنمایی برای ls
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، به صفحهٔ پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچگونه پردازش خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افرازش نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration انتقال تنها فایلهای جدیدتر از این مقدار برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix انتقال تنها فایلهای کوچکتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration انتقال تنها فایلهای قدیمیتر از این مقدار برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix انتقال تنها فایلهای بزرگتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض off)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت موجود بودن؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone lsd
فهرست کردن تمام دایرکتوریها/ظرفها/باکتها در مسیر.
خلاصه دستور (SYNOPSIS)
دایرکتوریهای موجود در مسیر مبدأ را در خروجی استاندارد فهرست میکند. بهطور پیشفرض بهصورت بازگشتی عمل نمیکند. برای بازگشت به زیرشاخهها از پرچم -R استفاده کنید.
این دستور اندازهٔ کل دایرکتوری (در صورت مشخص بودن، وگرنه -1)، زمان آخرین تغییر (در صورت مشخص بودن، وگرنه زمان فعلی)، تعداد شیءهای موجود در دایرکتوری (در صورت مشخص بودن، وگرنه -1) و نام دایرکتوری را فهرست میکند؛ مانند:
-
$ rclone lsd swift: 494000 2018-04-26 08:43:20 10000 10000files 65 2018-04-26 08:43:20 1 1File
یا
-
$ rclone lsd drive:test -1 2016-10-17 17:41:53 -1 1000files -1 2017-01-03 14:40:54 -1 2500files -1 2017-07-08 14:39:28 -1 4000files
اگر فقط نام دایرکتوریها را میخواهید از rclone lsf --dirs-only استفاده کنید.
هر یک از گزینههای فیلتر کردن را میتوان برای این دستور اعمال کرد.
چندین دستور فهرستکردن مرتبط وجود دارد:
- •
- ls تنها برای فهرستکردن اندازه و مسیر شیءها
- •
- lsl تنها برای فهرستکردن زمان تغییر، اندازه و مسیر شیءها
- •
- lsd تنها برای فهرستکردن دایرکتوریها
- •
- lsf برای فهرستکردن شیءها و دایرکتوریها در قالبی با تجزیهٔ آسان
- •
- lsjson برای فهرستکردن شیءها و دایرکتوریها در قالب JSON
دستورهای ls، lsl و lsd طوری طراحی شدهاند که برای انسان خوانا باشند. دستور lsf طوری طراحی شده که هم برای انسان و هم برای ماشین خوانا باشد. دستور lsjson طوری طراحی شده که برای ماشین خوانا باشد.
توجه داشته باشید که ls و lsl بهطور پیشفرض بهصورت بازگشتی عمل میکنند - برای متوقف کردن بازگشت از --max-depth 1 استفاده کنید.
سایر دستورهای فهرستکردن شامل lsd، lsf و lsjson بهطور پیشفرض بازگشتی نیستند - برای بازگشتی کردن آنها از -R استفاده کنید.
دستورهای فهرستکردن بهطور پیشفرض روشی بازگشتی را ترجیح میدهند که حافظهٔ بیشتری مصرف میکند اما تراکنشهای کمتری دارد. برای جلوگیری از این رفتار از --disable ListR استفاده کنید. برای جزئیات بیشتر به --fast-list (https://rclone.org/docs/#fast-list) مراجعه کنید.
فهرستکردن یک دایرکتوری ناموجود منجر به خطا خواهد شد، مگر در ریموتهایی که نمیتوانند دایرکتوری خالی داشته باشند (مانند s3، swift یا gcs - ریموتهای مبتنی بر باکت).
-
rclone lsd remote:path [flags]
-
-h, --help راهنمایی برای lsd -R, --recursive پیمایش بازگشتی در فهرست
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای پالایش فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای روی مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچگونه پردازش روی خطها (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افرازش نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیدهگرفتن بزرگی و کوچکی حروف در فیلترها (حساس نبودن به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration انتقال تنها فایلهای جدیدتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix انتقال تنها فایلهای کوچکتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration انتقال تنها فایلهای قدیمیتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix انتقال تنها فایلهای بزرگتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض خاموش)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت موجود بودن؛ مصرف حافظهٔ بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone lsl
فهرست کردن اشیاء موجود در مسیر به همراه زمان تغییر، اندازه و مسیر.
خلاصه دستور (SYNOPSIS)
اشیاء موجود در مسیر مبدأ را در قالبی خوانا برای انسان، همراه با زمان تغییر، اندازه و مسیر در خروجی استاندارد فهرست میکند. بهطور پیشفرض بهصورت بازگشتی عمل میکند.
برای مثال:
-
$ rclone lsl swift:bucket 60295 2016-06-25 18:55:41.062626927 bevajer5jef 90613 2016-06-25 18:55:43.302607074 canole 94467 2016-06-25 18:55:43.046609333 diwogej7 37600 2016-06-25 18:55:40.814629136 fubuwic
هر یک از گزینههای فیلتر کردن را میتوان برای این دستور اعمال کرد.
چندین دستور فهرستبندی مرتبط وجود دارد:
- •
- ls تنها برای فهرست کردن اندازه و مسیر اشیاء
- •
- lsl تنها برای فهرست کردن زمان تغییر، اندازه و مسیر اشیاء
- •
- lsd تنها برای فهرست کردن دایرکتوریها
- •
- lsf برای فهرست کردن اشیاء و دایرکتوریها در قالبی با تجزیهٔ آسان
- •
- lsjson برای فهرست کردن اشیاء و دایرکتوریها در قالب JSON
دستورهای ls، lsl و lsd بهگونهای طراحی شدهاند که برای انسان خوانا باشند. دستور lsf برای خوانایی توسط انسان و ماشین طراحی شده است. دستور lsjson برای خوانایی توسط ماشین طراحی شده است.
توجه داشته باشید که ls و lsl بهطور پیشفرض بهصورت بازگشتی عمل میکنند - برای متوقف کردن بازگشت از --max-depth 1 استفاده کنید.
سایر دستورهای فهرستبندی یعنی lsd، lsf و lsjson بهطور پیشفرض بازگشتی نیستند - برای بازگشتی کردن آنها از -R استفاده کنید.
دستورهای فهرستبندی بهطور پیشفرض روش بازگشتی را ترجیح میدهند که از حافظهٔ بیشتر اما تراکنشهای کمتری استفاده میکند. برای غیرفعال کردن این رفتار از --disable ListR استفاده کنید. برای جزئیات بیشتر --fast-list (https://rclone.org/docs/#fast-list) را ببینید.
فهرست کردن یک دایرکتوری ناموجود منجر به خطا خواهد شد، مگر در ریموتهایی که نمیتوانند دایرکتوری خالی داشته باشند (مانند s3، swift یا gcs - ریموتهای مبتنی بر باکت).
-
rclone lsl remote:path [flags]
-
-h, --help راهنمایی برای lsl
گزینههای مشترک با سایر دستورها در ادامه توضیح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای روی مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (برای خواندن از stdin از - استفاده کنید) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (برای خواندن از stdin از - استفاده کنید) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچ پردازشی روی خطوط (برای خواندن از stdin از - استفاده کنید) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (برای خواندن از stdin از - استفاده کنید) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --hash-filter string بخشبندی نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیدهگرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (برای خواندن از stdin از - استفاده کنید) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار به s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار به s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت دردسترس بودن؛ مصرف حافظهٔ بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و بکاندهای rclone.
rclone md5sum
یک فایل md5sum برای تمام شیءهای موجود در مسیر تولید میکند.
خلاصه دستور (SYNOPSIS)
یک فایل md5sum برای تمام شیءهای موجود در مسیر تولید میکند. این خروجی در همان قالبی است که ابزار استاندارد md5sum تولید میکند.
بهطور پیشفرض، هش از ریموت درخواست میشود. اگر MD5 توسط ریموت پشتیبانی نشود، هیچ هشی بازگردانده نخواهد شد. با استفاده از پرچم download، فایل از ریموت بارگیری شده و بهصورت محلی هش میشود که این کار استفاده از MD5 را برای هر ریموتی امکانپذیر میکند.
برای الگوریتمهای دیگر، دستور hashsum (https://rclone.org/commands/rclone_hashsum) را ببینید. اجرای rclone md5sum remote:path معادل با اجرای rclone hashsum MD5 remote:path است.
این دستور همچنین میتواند دادههای دریافت شده روی ورودی استاندارد (stdin) را هش کند؛ با مشخص نکردن remote:path، یا با فرستادن یک خط فاصله (-) بهعنوان remote:path در زمانی که دادهای برای خواندن وجود دارد (در غیر این صورت، با خط فاصله بهصورت لفظی و بهعنوان یک مسیر نسبی رفتار خواهد شد).
-
rclone md5sum remote:path [flags]
-
--base64 خروجی مجموع هش با کُدگذاری base64 -C, --checkfile string اعتبارسنجی هشها در برابر یک فایل SUM دادهشده بهجای چاپ آنها --download دانلود فایل و محاسبهٔ هش آن بهصورت محلی؛ اگر این پرچم مشخص نشود، هش از ریموت درخواست میشود -h, --help راهنمای md5sum --output-file string خروجی دادن مجموعهای هش در یک فایل بهجای ترمینال
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای روی مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل بدون هیچگونه پردازش روی خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعدهٔ فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افرازبندی نامهای فایل بر اساس هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شامل کردن فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعدهٔ فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شامل کردن متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت موجود بودن؛ مصرف حافظهٔ بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone sha1sum
یک فایل sha1sum برای تمام اشیاء موجود در مسیر تولید میکند.
خلاصه دستور (SYNOPSIS)
یک فایل sha1sum برای تمام اشیاء موجود در مسیر تولید میکند. این خروجی در همان قالبی است که ابزار استاندارد sha1sum تولید میکند.
بهطور پیشفرض، هش از ریموت درخواست میشود. اگر SHA-1 توسط ریموت پشتیبانی نشود، هیچ هشی بازگردانده نخواهد شد. با پرچم download، فایل از ریموت دانلود شده و هش آن بهصورت محلی محاسبه میشود که امکان استفاده از SHA-1 را برای هر ریموتی فراهم میسازد.
برای سایر الگوریتمها، دستور hashsum (https://rclone.org/commands/rclone_hashsum) را ببینید. اجرای rclone sha1sum remote:path معادل اجرای rclone hashsum SHA1 remote:path است.
این دستور همچنین میتواند دادههای دریافتشده از ورودی استاندارد (stdin) را با مشخص نکردن remote:path، یا با ارسال یک خط تیره بهجای remote:path در صورتی که دادهای برای خواندن وجود داشته باشد، هش کند (در غیر این صورت، با خط تیره بهصورت لفظی بهعنوان یک مسیر نسبی برخورد خواهد شد).
این دستور همچنین در صورت مشخص نکردن remote:path، میتواند دادههای دریافتی از STDIN را هش کند.
-
rclone sha1sum remote:path [flags]
-
--base64 نمایش مقدار هش با کدگذاری base64 -C, --checkfile string اعتبارسنجی هشها در برابر یک فایل SUM مشخصشده بهجای چاپ آنها --download دانلود فایل و محاسبه هش بهصورت محلی؛ در صورت عدم تعیین این پرچم، هش از دوردست درخواست میشود -h, --help راهنمایی برای sha1sum --output-file string خروجی دادن مقادیر هش به یک فایل بهجای ترمینال
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای عمومی (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از sync استثنا شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچگونه پردازش خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با جداکننده NUL (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قانون فیلترسازی فایل --filter-from stringArray خواندن الگوهای فیلترسازی فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افرازبندی نامفایلها بر اساس هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (عدم حساسیت به حروف کوچک و بزرگ) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض غیرفعال) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قانون فیلترسازی متاداده --metadata-filter-from stringArray خواندن الگوهای فیلترسازی متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض غیرفعال)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایشی در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت موجود بودن؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone size
مجموع اندازه و تعداد اشیاء موجود در remote:path را چاپ میکند.
خلاصه دستور (SYNOPSIS)
اشیاء موجود در مسیر را شمارش کرده و اندازه کل را محاسبه میکند. نتیجه را در خروجی استاندارد چاپ میکند.
بهطور پیشفرض، خروجی در قالب خوانا برای انسان است، اما مقادیر را هم در قالب خوانا برای انسان و هم بهصورت اعداد خام نمایش میدهد (گزینه عمومی --human-readable در نظر گرفته نمیشود). برای قالببندی خروجی بهصورت JSON، از گزینه --json استفاده کنید.
بهطور پیشفرض بهصورت بازگشتی عمل میکند؛ برای متوقف کردن حالت بازگشتی از --max-depth 1 استفاده کنید.
برخی از backendها همیشه اندازه فایلها را ارائه نمیدهند؛ برای نمونه Google Photos (https://rclone.org/googlephotos/#size) و Google Docs (https://rclone.org/drive/#limitations-of-google-docs) را ببینید. در این حالت، rclone پیامی در لاگ نمایش میدهد که نشاندهنده تعداد اینگونه فایلهای یافتشده است، و آنها را در خروجی دستور size بهعنوان فایلهای خالی بهحساب میآورد.
-
rclone size remote:path [flags]
-
-h, --help راهنمایی برای size --json قالببندی خروجی به صورت JSON
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از یک فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود داشتن نام فایل --files-from stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل بدون هیچ پردازشی روی خطها (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل با استفاده از NUL به عنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها بر اساس درهمسازی k/n یا به صورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به بزرگی و کوچکی حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از یک فایل (استفاده از - برای خواندن از stdin) --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار بر حسب ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --max-depth int در صورت تعیین، محدود کردن عمق بازگشت به این مقدار (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار بر حسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از یک فایل (استفاده از - برای خواندن از stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار بر حسب ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار بر حسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال)
گزینههای فهرستبندی (Listing Options)
پرچمهایی برای فهرستبندی دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنمایی برای دستورها، پرچمها و backendهای rclone.
rclone version
نمایش شماره نسخه.
خلاصه دستور (SYNOPSIS)
نمایش شماره نسخه rclone، نسخه go، سیستمعامل و معماری هدف ساخت، سیستمعامل و نسخه هسته و چندبیتی بودن در زمان اجرا، برچسبهای ساخت و نوع فایل اجرایی (ایستا یا پویا).
برای مثال:
-
$ rclone version rclone v1.55.0 - os/version: ubuntu 18.04 (64 bit) - os/kernel: 4.15.0-136-generic (x86_64) - os/type: linux - os/arch: amd64 - go/version: go1.16 - go/linking: static - go/tags: none
نکته: پیش از نسخه 1.55 rclone، خطهای os/type و os/arch ادغام شده بودند، و خط "go/version" با عنوان "go version" برچسبگذاری شده بود.
اگر پرچم --check را مشخص کنید، یک بررسی برخط برای مقایسه نسخه شما با آخرین انتشار و آخرین نسخه beta انجام خواهد داد.
-
$ rclone version --check yours: 1.42.0.6 latest: 1.42 (released 2018-06-16) beta: 1.42.0.5 (released 2018-06-17)
یا
-
$ rclone version --check yours: 1.41 latest: 1.42 (released 2018-06-16) upgrade: https://downloads.rclone.org/v1.42 beta: 1.42.0.5 (released 2018-06-17) upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
اگر پرچم --deps را مشخص کنید، rclone فهرستی از تمام بستههایی که به آنها وابسته است و نسخههای آنها را به همراه اطلاعات دیگری درباره ساخت چاپ میکند.
-
rclone version [flags]
-
--check بررسی برای نسخه جدید --deps نمایش وابستگیهای Go -h, --help راهنما برای version
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone cleanup
پاکسازی ریموت در صورت امکان.
خلاصه دستور (SYNOPSIS)
پاکسازی ریموت در صورت امکان. سطل زباله را خالی میکند یا نسخههای قدیمی فایلها را حذف مینماید. توسط همه ریموتها پشتیبانی نمیشود.
-
rclone cleanup remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای cleanup
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای مهم (IMPORTANT OPTIONS)
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone dedupe
یافتن تعاملی نامفایلهای تکراری و حذف یا تغییر نام آنها.
خلاصه دستور (SYNOPSIS)
بهطور پیشفرض، dedupe فایلهای دارای نامهای تکراری را بهصورت تعاملی مییابد و پیشنهاد میدهد که همه به جز یکی حذف شوند یا نام آنها تغییر یابد تا متمایز شوند. این فرآیند به عنوان رفع تکرار بر اساس نام (deduping by name) شناخته میشود.
رفع تکرار بر اساس نام تنها برای گروه کوچکی از backendها (مانند Google Drive، Opendrive) که میتوانند نام فایلهای تکراری داشته باشند مفید است. میتوان آن را روی backendهای پوششدهنده (مانند crypt) نیز اجرا کرد در صورتی که backendای را پوشش دهند که از نام فایلهای تکراری پشتیبانی میکند.
با این حال، اگر --by-hash ارسال شود، dedupe در عوض فایلهای دارای هشهای تکراری را مییابد که روی هر backend دارای پشتیبانی از دستکم یک هش کار خواهد کرد. این کار میتواند برای یافتن فایلهایی با محتوای یکسان به کار رود. این فرآیند به عنوان رفع تکرار بر اساس هش (deduping by hash) شناخته میشود.
در صورت رفع تکرار بر اساس نام، ابتدا rclone دایرکتوریهای همنام را ادغام میکند. این کار را بهصورت تکرارشونده تا زمانی که تمام دایرکتوریهای همنام ادغام شوند ادامه خواهد داد.
سپس، در صورت رفع تکرار بر اساس نام، برای هر گروه از نام فایلها / هشهای تکراری، همه فایلهای یکسانی را که مییابد به جز یکی بدون درخواست تأیید حذف خواهد کرد. این بدان معناست که برای بیشتر فایلهای تکراری، دستور dedupe تعاملی نخواهد بود.
دستور dedupe فایلهایی را یکسان در نظر میگیرد که مسیر فایل و هش یکسانی داشته باشند. اگر backend از هشها پشتیبانی نکند (مانند crypt که Google Drive را پوشش میدهد)، هرگز به عنوان فایلهای یکسان تشخیص داده نخواهند شد. اگر از پرچم --size-only استفاده کنید، فایلها در صورتی که اندازه یکسانی داشته باشند یکسان در نظر گرفته میشوند (هر هشی نادیده گرفته خواهد شد). این قابلیت میتواند روی backendهای crypt که از هش پشتیبانی نمیکنند مفید باشد.
سپس rclone موارد تکراری باقیمانده را رفعورجوع میکند. اقدامی که دقیقاً انجام میشود به حالت dedupe بستگی دارد. بهطور پیشفرض، rclone برای هر مورد بهصورت تعاملی از کاربر سؤال میپرسد.
مهم: از آنجا که این عملیات میتواند باعث از دست رفتن دادهها شود، ابتدا با پرچم --dry-run یا --interactive/-i آن را بیازمایید.
در اینجا نمونهای از یک اجرا آورده شده است.
قبل - همراه با موارد تکراری
-
$ rclone lsl drive:dupes 6048320 2016-03-05 16:23:16.798000000 one.txt 6048320 2016-03-05 16:23:11.775000000 one.txt 564374 2016-03-05 16:23:06.731000000 one.txt 6048320 2016-03-05 16:18:26.092000000 one.txt 6048320 2016-03-05 16:22:46.185000000 two.txt 1744073 2016-03-05 16:22:38.104000000 two.txt 564374 2016-03-05 16:22:52.118000000 two.txt
اکنون نشست dedupe
-
$ rclone dedupe drive:dupes 2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode. one.txt: Found 4 files with duplicate names one.txt: Deleting 2/3 identical duplicates (MD5 "1eedaa9fe86fd4b8632e2ac549403b36") one.txt: 2 duplicates remain 1: 6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36 2: 564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81 s) Skip and do nothing k) Keep just one (choose which in next step) r) Rename all to be different (by changing file.jpg to file-1.jpg) s/k/r> k Enter the number of the file to keep> 1 one.txt: Deleted 1 extra copies two.txt: Found 3 files with duplicate names two.txt: 3 duplicates remain 1: 564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81 2: 6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36 3: 1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802 s) Skip and do nothing k) Keep just one (choose which in next step) r) Rename all to be different (by changing file.jpg to file-1.jpg) s/k/r> r two-1.txt: renamed from: two.txt two-2.txt: renamed from: two.txt two-3.txt: renamed from: two.txt
نتیجه به صورت زیر خواهد بود:
-
$ rclone lsl drive:dupes 6048320 2016-03-05 16:23:16.798000000 one.txt 564374 2016-03-05 16:22:52.118000000 two-1.txt 6048320 2016-03-05 16:22:46.185000000 two-2.txt 1744073 2016-03-05 16:22:38.104000000 two-3.txt
میتوان dedupe را بهصورت غیرتعاملی با استفاده از پرچم --dedupe-mode یا با استفاده از یک آرگومان اضافی با همان مقدار اجرا کرد
- •
- --dedupe-mode interactive - تعاملی همانند بالا.
- •
- --dedupe-mode skip - حذف فایلهای یکسان و سپس نادیده گرفتن هر آنچه باقی مانده است.
- •
- --dedupe-mode first - حذف فایلهای یکسان و سپس نگهداشتن نخستین مورد.
- •
- --dedupe-mode newest - حذف فایلهای یکسان و سپس نگهداشتن جدیدترین مورد.
- •
- --dedupe-mode oldest - حذف فایلهای یکسان و سپس نگهداشتن قدیمیترین مورد..IP • 2 --dedupe-mode largest - فایلهای یکسان را حذف کرده و سپس بزرگترین فایل را نگه میدارد.
- •
- --dedupe-mode smallest - فایلهای یکسان را حذف کرده و سپس کوچکترین فایل را نگه میدارد.
- •
- --dedupe-mode rename - فایلهای یکسان را حذف کرده و سپس نام بقیه را تغییر میدهد تا متمایز شوند.
- •
- --dedupe-mode list - فقط دایرکتوریها و فایلهای تکراری را فهرست میکند و هیچ تغییری ایجاد نمیکند.
برای مثال، جهت تغییر نام تمام عکسهای همنام در دایرکتوری Google Photos خود، دستور زیر را اجرا کنید:
-
rclone dedupe --dedupe-mode rename "drive:Google Photos"
یا
-
rclone dedupe rename "drive:Google Photos"
-
rclone dedupe [mode] remote:path [flags]
گزینهها (OPTIONS)
-
--by-hash Find identical hashes rather than names --dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename (default "interactive") -h, --help help for dedupe
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه گزینههای سراسری (https://rclone.org/flags) را ببینید.
گزینههای مهم (Important Options)
گزینههای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run Do a trial run with no permanent changes -i, --interactive Enable interactive mode -v, --verbose count Print lots more stuff (repeat for more)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، گزینهها و backendهای rclone.
rclone about
دریافت اطلاعات سهمیه فضا (quota) از ریموت.
خلاصه دستور (SYNOPSIS)
اطلاعات سهمیه فضا در مورد یک ریموت را در خروجی استاندارد چاپ میکند. خروجی معمولاً شامل مقدار استفادهشده، آزاد، سهمیه و محتویات سطل زباله (trash) است.
برای مثال، خروجی معمول از rclone about remote: به صورت زیر است:
-
Total: 17 GiB Used: 7.444 GiB Free: 1.315 GiB Trashed: 100.000 MiB Other: 8.241 GiB
که در آن فیلدها عبارتاند از:
- •
- Total: کل حجم در دسترس.
- •
- Used: کل حجم استفادهشده.
- •
- Free: کل فضای در دسترس برای این کاربر.
- •
- Trashed: کل فضای اشغالشده توسط سطل زباله.
- •
- Other: مقدار کل در سایر فضاهای ذخیرهسازی (مانند Gmail، Google Photos).
- •
- Objects: تعداد کل اشیاء در فضای ذخیرهسازی.
تمامی اندازهها بر حسب تعداد بایت هستند.
اعمال گزینه --full به دستور، بایتها را به طور کامل چاپ میکند، مانند:
-
Total: 18253611008 Used: 7993453766 Free: 1411001220 Trashed: 104857602 Other: 8849156022
گزینه --json خروجی مناسب و ماشینخوان تولید میکند، مانند:
-
{ "total": 18253611008, "used": 7993453766, "trashed": 104857602, "other": 8849156022, "free": 1411001220 }
همه backendها تمامی فیلدها را چاپ نمیکنند. اطلاعاتی که توسط یک backend ارائه نشود، در خروجی گنجانده نمیشود. در مواردی که مقدار نامحدود باشد، حذف میگردد.
برخی backendها به هیچ وجه از دستور rclone about پشتیبانی نمیکنند؛ فهرست کامل را در مستندات (https://rclone.org/overview/#optional-features) ببینید.
-
rclone about remote: [flags]
-
--full اعداد کامل بهجای خوانا برای انسان -h, --help راهنما برای about --json قالببندی خروجی بهصورت JSON
برای دیدن گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone archive
انجام یک عملیات روی یک بایگانی.
خلاصه دستور (SYNOPSIS)
انجام یک عملیات روی یک بایگانی. برای تعیین پروتکل، نیاز به استفاده از یک زیردستور است؛ مانند:
-
rclone archive list remote:file.zip
هر زیردستور گزینههای ویژهٔ خود را دارد که میتوانید آنها را در راهنمای مربوطهشان ببینید.
برای قالبهای بایگانی پشتیبانیشده، rclone archive create (https://rclone.org/commands/rclone_archive_create) را ببینید.
-
rclone archive <action> [opts] <source> [<destination>] [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای archive
برای دیدن گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
- •
- rclone archive create (https://rclone.org/commands/rclone_archive_create) - بایگانی کردن فایل(های) مبدأ در مقصد.
- •
- rclone archive extract (https://rclone.org/commands/rclone_archive_extract) - استخراج بایگانیها از مبدأ به مقصد.
- •
- rclone archive list (https://rclone.org/commands/rclone_archive_list) - فهرست کردن محتویات بایگانی از مبدأ.
rclone archive create
بایگانی کردن فایل(های) مبدأ در مقصد.
خلاصه دستور (SYNOPSIS)
از فایلهای موجود در source:path یک بایگانی میسازد و آن را در dest:path ذخیره میکند. اگر dest:path مشخص نشده باشد، خروجی در کنسول نوشته خواهد شد.
قالبهای معتبر برای پرچم --format در زیر فهرست شدهاند. اگر --format تنظیم نشده باشد، rclone آن را از روی پسوند dest:path حدس خواهد زد.
| قالب | پسوندها |
| zip | .zip |
| tar | .tar |
| tar.gz | .tar.gz, .tgz, .taz |
| tar.bz2 | .tar.bz2, .tb2, .tbz, .tbz2, .tz2 |
| tar.lz | .tar.lz |
| tar.lz4 | .tar.lz4 |
| tar.xz | .tar.xz, .txz |
| tar.zst | .tar.zst, .tzst |
| tar.br | .tar.br |
| tar.sz | .tar.sz |
| tar.mz | .tar.mz |
پرچمهای --prefix و --full-path پیشوند فایلها را در بایگانی کنترل میکنند.
اگر پرچم --full-path تنظیم شده باشد، فایلها مسیر کامل مبدأ را بهعنوان پیشوند خواهند داشت.
اگر پرچم --prefix=<value> تنظیم شده باشد، فایلها <value> را بهعنوان پیشوند خواهند داشت. با --prefix=<value> امکان ایجاد نامهای فایل نامعتبر وجود دارد، بنابراین با احتیاط استفاده کنید. پرچم --prefix نسبت به --full-path اولویت دارد.
با فرض دایرکتوری /sourcedir با محتویات زیر:
-
file1.txt dir1/file2.txt
اجرای دستور rclone archive create /sourcedir /dest.tar.gz یک بایگانی با محتویات زیر ایجاد میکند:
-
file1.txt dir1/ dir1/file2.txt
اجرای دستور rclone archive create --full-path /sourcedir /dest.tar.gz یک بایگانی با محتویات زیر ایجاد میکند:.IP
sourcedir/file1.txt sourcedir/dir1/ sourcedir/dir1/file2.txt
اجرای دستور rclone archive create --prefix=my_new_path /sourcedir /dest.tar.gz آرشیوی با محتویات زیر ایجاد خواهد کرد:
-
my_new_path/file1.txt my_new_path/dir1/ my_new_path/dir1/file2.txt
-
rclone archive create [flags] <source> [<destination>]
گزینهها (OPTIONS)
-
--format string ایجاد آرشیو با قالب مشخص یا حدس از روی پسوند. --full-path تنظیم پیشوند برای فایلهای درون آرشیو روی مسیر مبدأ -h, --help راهنمای create --prefix string تنظیم پیشوند برای فایلهای درون آرشیو روی مقدار واردشده یا مسیر مبدأ
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone archive (https://rclone.org/commands/rclone_archive) - انجام یک عملیات روی یک آرشیو.
rclone archive extract
استخراج آرشیوها از مبدأ به مقصد.
خلاصه دستور (SYNOPSIS)
استخراج محتویات آرشیو به یک پوشه مقصد با تشخیص خودکار قالب. برای دیدن قالبهای آرشیو پشتیبانیشده، rclone archive create (https://rclone.org/commands/rclone_archive_create) را بررسی کنید.
برای نمونه در این آرشیو:
-
$ rclone archive list --long remote:archive.zip 6 2025-10-30 09:46:23.000000000 file.txt 0 2025-10-30 09:46:57.000000000 dir/ 4 2025-10-30 09:46:57.000000000 dir/bye.txt
میتوانید استخراج را بدین صورت اجرا کنید:
-
$ rclone archive extract remote:archive.zip remote:extracted
که نتیجه زیر را میدهد:
-
$ rclone tree remote:extracted / ├── dir │ └── bye.txt └── file.txt
مبدأ یا مقصد یا هر دوی آنها میتوانند محلی یا دوردست (remote) باشند.
میتوان از فیلترها برای استخراج تنها فایلهای مشخصی استفاده کرد:
-
$ rclone archive extract archive.zip partial --include "bye.*" $ rclone tree partial / └── dir └── bye.txt
از بکاند archive (https://rclone.org/archive) نیز میتوان برای استخراج فایلها استفاده کرد. همچنین میتوان از آن برای سوار کردن (mount) فقطخواندنی آرشیوها استفاده کرد، اما این بخش از مجموعه قالبهای متفاوتی نسبت به دستورهای archive پشتیبانی میکند.
-
rclone archive extract [flags] <source> <destination>
-
-h, --help راهنمایی برای extract
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone archive (https://rclone.org/commands/rclone_archive) - انجام یک عملیات روی یک بایگانی.
rclone archive list
فهرستکردن محتویات بایگانی از مبدأ.
خلاصه دستور (SYNOPSIS)
محتویات یک بایگانی را با تشخیص خودکار قالب آن، در کنسول فهرست میکند. برای قالبهای بایگانی پشتیبانیشده، rclone archive create (https://rclone.org/commands/rclone_archive_create) را ببینید.
برای مثال:
-
$ rclone archive list remote:archive.zip 6 file.txt 0 dir/ 4 dir/bye.txt
یا با پرچم --long برای اطلاعات بیشتر:
-
$ rclone archive list --long remote:archive.zip 6 2025-10-30 09:46:23.000000000 file.txt 0 2025-10-30 09:46:57.000000000 dir/ 4 2025-10-30 09:46:57.000000000 dir/bye.txt
یا با پرچم --plain که برای اسکریپتنویسی مفید است:
-
$ rclone archive list --plain /path/to/archive.zip file.txt dir/ dir/bye.txt
یا با --dirs-only:
-
$ rclone archive list --plain --dirs-only /path/to/archive.zip dir/
یا با --files-only:
-
$ rclone archive list --plain --files-only /path/to/archive.zip file.txt dir/bye.txt
فیلترها نیز میتوانند استفاده شوند:
-
$ rclone archive list --long archive.zip --include "bye.*" 4 2025-10-30 09:46:57.000000000 dir/bye.txt
همچنین میتوان از بکاند archive (https://rclone.org/archive) برای فهرستکردن فایلها استفاده کرد. از این بکاند میتوان برای سوار کردن (mount) فقطخواندنی بایگانیها نیز بهره برد، اما از مجموعهای متفاوت از قالبهای بایگانی نسبت به دستورات archive پشتیبانی میکند.
-
rclone archive list [flags] <source>
-
--dirs-only تنها فهرست کردن دایرکتوریها --files-only تنها فهرست کردن فایلها -h, --help راهنمای list --long فهرست کردن ویژگیهای اضافی --plain تنها فهرست کردن نام فایلها
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone archive (https://rclone.org/commands/rclone_archive) - انجام یک عملیات روی یک آرشیو.
rclone authorize
احراز هویت ریموت.
خلاصه دستور (SYNOPSIS)
احراز هویت ریموت. برای احراز هویت یک rclone ریموت یا headless از طریق دستگاهی دارای مرورگر استفاده میشود. مطابق دستورالعمل rclone config استفاده کنید. همچنین مستندات راهاندازی ریموت را ببینید.
این دستور به ۱ تا ۳ آرگومان نیاز دارد:
- •
- نام یک backend (مانند "drive"، "s3")
- •
- یا یک قطعهدادهٔ JSON کدگذاریشده با base64 بهدستآمده از یک نشست پیشین rclone config
- •
- یا یک جفت client_id و client_secret بهدستآمده از سرویس ریموت
از --auth-no-open-browser برای جلوگیری از باز شدن خودکار پیوند احراز هویت در مرورگر پیشفرض توسط rclone استفاده کنید.
از --template برای تولید خروجی HTML از طریق یک قالب سفارشی Go استفاده کنید. اگر یک رشتهٔ خالی به عنوان آرگومان به این گزینه داده شود، از قالب پیشفرض استفاده میشود.
-
rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]
گزینهها (OPTIONS)
-
--auth-no-open-browser عدم باز کردن خودکار پیوند احراز هویت در مرورگر پیشفرض -h, --help راهنمای authorize --template string مسیر یک قالب سفارشی Go برای تولید پاسخهای HTML
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورات، پرچمها و backendهای rclone.
rclone backend
اجرای یک دستور مختص backend.
خلاصه دستور (SYNOPSIS)
این دستور یک فرمان مختص backend را اجرا میکند. خود دستورات (به جز "help" و "features") توسط backendها تعریف میشوند و برای تعاریف آنها باید به مستندات backend مراجعه کنید.
میتوانید با استفاده از دستورات زیر بررسی کنید که یک backend چه دستوراتی را پیادهسازی کرده است:
-
rclone backend help remote: rclone backend help <backendname>
همچنین میتوانید اطلاعاتی دربارهٔ backend با استفاده از این دستور بهدست آورید (برای اطلاعات بیشتر operations/fsinfo (https://rclone.org/rc/#operations-fsinfo) را در مستندات کنترل از راه دور ببینید).
-
rclone backend features remote:
گزینهها را با -o به دستور backend ارسال کنید. این مقدار باید به صورت key=value یا key باشد، مانند:
-
rclone backend stats remote:path stats -o format=json -o long
آرگومانها را با قرار دادن آنها در انتهای خط به backend ارسال کنید:
-
rclone backend cleanup remote:path file1 file2 file3
توجه داشته باشید که برای اجرای این دستورات روی یک backend در حال اجرا، backend/command (https://rclone.org/rc/#backend-command) را در مستندات rc ببینید.
-
rclone backend <command> remote:path [opts] <args> [flags]
-
-h, --help راهنمایی برای backend --json همیشه خروجی در قالب JSON باشد -o, --option stringArray گزینه به شکل name=value یا name
گزینههای مشترک با دیگر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، به صفحه نشانهای سراسری (https://rclone.org/flags) مراجعه کنید.
گزینههای مهم (Important Options)
نشانهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (برای جزئیات بیشتر تکرار کنید)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، نشانها و backendهای rclone.
rclone bisync
همگامسازی دوطرفه بین دو مسیر را انجام میدهد.
خلاصه دستور (SYNOPSIS)
همگامسازی دوطرفه بین دو مسیر را انجام میدهد.
ابزار Bisync (https://rclone.org/bisync) یک راهکار همگامسازی ابری دوطرفه در rclone فراهم میکند. این ابزار فهرست فایلسیستمهای Path1 و Path2 را از اجرای قبلی نگهداری میکند. در هر اجرای متوالی، این ابزار:
- •
- فایلهای موجود در Path1 و Path2 را فهرست کرده و تغییرات هر دو طرف را بررسی میکند. تغییرات شامل فایلهای New، Newer، Older و Deleted است.
- •
- تغییرات روی Path1 را به Path2 منتقل میکند و برعکس.
دستور Bisync یک دستور پیشرفته به شمار میرود، بنابراین با احتیاط از آن استفاده کنید. اطمینان حاصل کنید که پیش از استفاده، کل راهنما (https://rclone.org/bisync) (بهویژه بخش محدودیتها (https://rclone.org/bisync/#limitations)) را مطالعه کرده و متوجه شدهاید، در غیر این صورت ممکن است اطلاعات از بین بروند. پرسشها را میتوان در تالار گفتگوی Rclone (https://forum.rclone.org) مطرح کرد.
برای جزئیات، توضیحات کامل bisync (https://rclone.org/bisync) را ببینید.
-
rclone bisync remote1:path1 remote2:path2 [flags]
گزینهها (OPTIONS)
-
--backup-dir1 string --backup-dir برای Path1. باید مسیری بدون همپوشانی روی همان ریموت باشد. --backup-dir2 string --backup-dir برای Path2. باید مسیری بدون همپوشانی روی همان ریموت باشد. --check-access اطمینان از وجود فایلهای مورد انتظار RCLONE_TEST در هر دو فایلسیستم Path1 و Path2، در غیر این صورت لغو عملیات. --check-filename string نام فایل برای --check-access (پیشفرض: RCLONE_TEST) --check-sync string کنترل مقایسه فهرستهای نهایی: true|false|only (پیشفرض: true) (پیشفرض "true") --compare string فهرست جداشده با کاما از گزینههای مقایسه ویژه bisync مانند 'size,modtime,checksum' (پیشفرض: 'size,modtime') --conflict-loser ConflictLoserAction اقدام لازم در برابر فایل مغلوب تعارض همگامسازی (در صورت وجود برنده) یا هر دو فایل (در صورت نبود برنده): ، num، pathname، delete (پیشفرض: num) --conflict-resolve string حل خودکار تعارضها با اولویت دادن به نسخهای که: none, path1, path2, newer, older, larger, smaller باشد (پیشفرض: none) (پیشفرض "none") --conflict-suffix string پسوند مورد استفاده هنگام تغییر نام --conflict-loser. میتواند یک رشته یا دو رشته جداشده با کاما برای تخصیص پسوندهای متفاوت به Path1/Path2 باشد. (پیشفرض: 'conflict') --create-empty-src-dirs همگامسازی ایجاد و حذف دایرکتوریهای خالی. (با --remove-empty-dirs سازگار نیست) --download-hash محاسبه هش با دانلود در صورت در دسترس نبودن از راههای دیگر. (هشدار: ممکن است کند باشد و حجم زیادی مصرف کند!) --filters-file string خواندن الگوهای فیلترسازی از یک فایل --force نادیده گرفتن بررسی ایمنی --max-delete و اجرای همگامسازی. استفاده به همراه --verbose توصیه میشود -h, --help راهنمایی برای bisync --ignore-listing-checksum عدم استفاده از checksum برای فهرستگیریها (افزودن --ignore-checksum برای صرفنظر از بررسیهای checksum پس از کپی) --max-lock Duration منقضی دانستن فایلهای قفل قدیمیتر از این مقدار (پیشفرض: 0 (هرگز منقضی نشود)) (حداقل: 2m) (پیشفرض 0s) --no-cleanup نگهداری فایلهای کاری (کاربردی برای عیبیابی و آزمایش). --no-slow-hash نادیده گرفتن checksum فهرستگیری تنها در backendهایی که کند هستند --recover بازیابی خودکار پس از توقفها بدون نیاز به --resync. --remove-empty-dirs حذف تمام دایرکتوریهای خالی در مرحله پاکسازی نهایی. --resilient امکان تلاش مجدد در اجراهای بعدی پس از خطاهای خاص کماهمیتتر، به جای الزام به --resync. -1, --resync اجرای همگامسازی مجدد (resync). معادل با --resync-mode path1. ابتدا استفاده از --verbose یا --dry-run را مد نظر قرار دهید. --resync-mode string در حین resync، اولویت دادن به نسخهای که: path1, path2, newer, older, larger, smaller باشد (پیشفرض: path1 در صورت --resync، در غیر این صورت none برای عدم resync.) (پیشفرض "none") --slow-hash-sync-only نادیده گرفتن checksumهای کند برای فهرستها و دلتاها، ولی لحاظ کردن آنها در فراخوانیهای همگامسازی. --workdir string استفاده از دایرکتوری کاری سفارشی - کاربردی برای آزمایش. (پیشفرض: $HOME/.cache/rclone/bisync)
گزینههای مشترک با دیگر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، به صفحه نشانهای سراسری (https://rclone.org/flags) مراجعه کنید..SS "گزینههای کپی (Copy Options)"
پرچمها برای هر آنچه که میتواند فایلی را کپی کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با اندازه و checksum (در صورت دسترسی، یا بازگشت به فقط اندازه) --compare-dest stringArray لحاظ کردن مسیرهای سمت سرور اضافی در طول مقایسه --copy-dest stringArray ضمن اعمال --compare-dest، فایلها را نیز از مسیرها به مقصد کپی میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت متوقف کردن انتقالها هنگام رسیدن به سقف انتقال: HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی --ignore-checksum صرفنظر از بررسی checksum پس از کپی --ignore-existing صرفنظر از تمام فایلهای موجود در مقصد --ignore-size نادیده گرفتن اندازه هنگام صرفنظر کردن؛ استفاده از modtime یا checksum -I, --ignore-times عدم صرفنظر از موارد با اندازه و زمان یکسان - انتقال همه بدون قید و شرط --immutable عدم تغییر فایلها؛ در صورت تغییر فایلهای موجود با شکست مواجه شود --inplace دانلود مستقیم درون فایل مقصد به جای دانلود اتمیک در فایل موقت و تغییر نام -l, --links تبدیل پیوندهای نمادین (symlinks) به/از فایلهای عادی با پسوند '.rclonelink' --max-backlog int حداکثر تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration حداکثر مدتی که rclone دادهها را انتقال میدهد (پیشفرض 0s) --max-transfer SizeSuffix حداکثر حجم داده برای انتقال (پیشفرض off) -M, --metadata در صورت تنظیم، حفظ متادیتا هنگام کپی کردن اشیاء --modify-window Duration حداکثر اختلاف زمانی برای یکسان در نظر گرفته شدن (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه تکه برای دانلودها/آپلودهای چندرشتهای، اگر توسط سیستمفایل تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از دانلود چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانها برای استفاده در دانلودهای چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر در حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تبدیل مسیرها در طول فرایند کپی --no-check-dest مقصد را بررسی نکن، در هر صورت کپی کن --no-traverse عدم پیمایش سیستمفایل مقصد هنگام کپی --no-update-dir-modtime زمان تغییر دایرکتوریها بهروزرسانی نشود --no-update-modtime در صورت یکسان بودن فایلها، modtime مقصد بهروزرسانی نشود --order-by string دستورالعمل چگونگی مرتبسازی انتقالها، مانند 'size,descending' --partial-suffix string افزودن partial-suffix به نام فایل موقت هنگامی که --inplace استفاده نشده است (پیشفرض ".partial") --refresh-times تازهسازی modtime فایلهای راه دور --server-side-across-configs اجازه به عملیات سمت سرور (مانند کپی) برای کار میان پیکربندیهای مختلف --size-only صرفنظر کردن فقط بر اساس اندازه، نه modtime یا checksum --streaming-upload-cutoff SizeSuffix آستانه جابجایی به آپلود تکهای در صورت نامشخص بودن اندازه فایل، آپلود پس از رسیدن به آستانه یا پایان فایل آغاز میشود (پیشفرض 100Ki) -u, --update صرفنظر از فایلهایی که در مقصد جدیدتر هستند
گزینههای همگامسازی (Sync Options)
پرچمهای مورد استفاده برای دستورهای همگامسازی
-
--backup-dir string تهیه پشتیبان در ساختار سلسلهمراتبی مستقر در DIR --delete-after هنگام همگامسازی، حذف فایلها در مقصد پس از انتقال (پیشفرض) --delete-before هنگام همگامسازی، حذف فایلها در مقصد پیش از انتقال --delete-during هنگام همگامسازی، حذف فایلها در حین انتقال --fix-case تغییر نام اجباری مقصد بدون حساسیت به حروف جهت مطابقت با مبدأ --ignore-errors حذف حتی در صورت بروز خطاهای I/O --list-cutoff int برای صرفهجویی در حافظه، مرتبسازی فهرستهای دایرکتوری روی دیسک بیش از این آستانه (پیشفرض 1000000) --max-delete int هنگام همگامسازی، محدود کردن تعداد حذفها (پیشفرض -1) --max-delete-size SizeSuffix هنگام همگامسازی، محدود کردن کل حجم حذفیات (پیشفرض off) --suffix string پسوند برای افزودن به فایلهای تغییریافته --suffix-keep-extension حفظ پسوند فایل هنگام استفاده از --suffix --track-renames هنگام همگامسازی، ردگیری تغییر نام فایلها و انتقال سمت سرور در صورت امکان --track-renames-strategy string راهبردهای مورد استفاده هنگام همگامسازی با track-renames: hash|modtime|leaf (پیشفرض "hash")
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر)
گزینههای فیلتر (Filter Options)
پرچمها برای فیلتر کردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای مستثنیشده از همگامسازی در مقصد --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون پردازش خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با جداکننده NUL (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها با هش k/n یا تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار به ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تعیین، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنی کردن متادیتاهای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متادیتا --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متادیتا از فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادیتاهای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (استفاده از - برای خواندن از stdin) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار به ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض off) - •
-
rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone cat
فایلها را متصل کرده و به stdout ارسال میکند.
خلاصه دستور (SYNOPSIS)
فایلها را به خروجی استاندارد ارسال میکند.
میتوانید برای چاپ خروجی یک فایل منفرد، به این شکل از آن استفاده کنید:
-
rclone cat remote:path/to/file
یا به این صورت برای ارسال هر فایلی در dir یا زیرپوشههای آن به خروجی:
-
rclone cat remote:path/to/dir
یا به این شکل برای ارسال فایلهای .txt در dir یا زیرپوشههای آن به خروجی:
-
rclone --include "*.txt" cat remote:path/to/dir
از پرچم --head برای چاپ نویسهها تنها در ابتدا، از --tail برای انتها، و از --offset و --count برای چاپ بخشی در میانه استفاده کنید. توجه داشته باشید که اگر مقدار offset منفی باشد، شمارش از انتها انجام میشود؛ بنابراین --offset -1 --count 1 معادل --tail 1 است.
از پرچم --separator برای چاپ یک مقدار جداکننده میان فایلها استفاده کنید. حتماً نویسههای خاص را برای پوسته گریزدهی (shell-escape) کنید. برای نمونه، جهت چاپ یک خط تازه میان فایلها، از موارد زیر استفاده کنید:
- •
- bash:
-
rclone --include "*.txt" --separator $'\n' cat remote:path/to/dir
- •
- powershell:
-
rclone --include "*.txt" --separator "`n" cat remote:path/to/dir
-
rclone cat remote:path [flags]
گزینهها (OPTIONS)
-
--count int تنها چاپ N نویسه (پیشفرض -1) --discard دور انداختن خروجی به جای چاپ آن --head int تنها چاپ N نویسه نخست -h, --help راهنمای cat --offset int شروع چاپ از آفست N (یا از انتها در صورت منفی بودن) --separator string جداکننده مورد استفاده میان اشیاء هنگام چاپ چندین فایل --tail int تنها چاپ N نویسه پایانی
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (برای خواندن از stdin از - استفاده کنید) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود داشتن نام فایل --files-from stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل (برای خواندن از stdin از - استفاده کنید) --files-from-raw stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل بدون هیچ پردازشی روی خطوط (برای خواندن از stdin از - استفاده کنید) --files-from0 stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (برای خواندن از stdin از - استفاده کنید) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --hash-filter string افراز نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف کوچک و بزرگ) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (برای خواندن از stdin از - استفاده کنید) --max-age Duration انتقال فایلهای جدیدتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، محدود کردن عمق بازگشت به این مقدار (پیشفرض -1) --max-size SizeSuffix انتقال فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --min-age Duration انتقال فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix انتقال فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت در دسترس بودن؛ حافظه بیشتری مصرف میکند اما تراکنشهای کمتری دارد
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone checksum
بررسی فایلهای مقصد در مقایسه با یک فایل SUM.
خلاصه دستور (SYNOPSIS)
بررسی میکند که مقادیر درهمسازی (hashsums) فایلهای مقصد با فایل SUM مطابقت داشته باشند. این دستور هشها (مانند MD5، SHA1 و غیره) را مقایسه کرده و گزارشی از فایلهایی که مطابقت ندارند ثبت میکند. این دستور تغییری در سیستم فایل ایجاد نمیکند.
برای اهداف خروجی، فایل sumfile بهعنوان مبدأ و dst:path بهعنوان مقصد در نظر گرفته میشود.
اگر پرچم --download را مشخص کنید، دادهها را از ریموت دانلود کرده و هش محتوا را بهطور همزمان و برخط محاسبه میکند. این قابلیت میتواند برای ریموتهایی که از هش پشتیبانی نمیکنند یا اگر واقعاً قصد بررسی تمام دادهها را دارید مفید باشد.
توجه داشته باشید که مقادیر هش در فایل SUM به بزرگی و کوچکی حروف حساس نیستند.
اگر پرچم --one-way را مشخص کنید، فقط بررسی میکند که فایلهای موجود در مبدأ با فایلهای مقصد مطابقت داشته باشند، نه برعکس. این بدان معناست که فایلهای اضافی موجود در مقصد که در مبدأ نیستند شناسایی نخواهند شد.
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را، هر کدام در یک خط، در نام فایل ارائهشده (یا اگر - باشد در خروجی استاندارد stdout) مینویسند. آنچه مینویسند در راهنمای زیر شرح داده شده است. بهعنوان مثال، --differ تمام مسیرهایی را که هم در مبدأ و هم در مقصد وجود دارند اما با یکدیگر تفاوت دارند مینویسد.
پرچم --combined فایلی (یا در stdout) مینویسد که شامل تمام مسیرهای فایل به همراه یک نماد، سپس یک فاصله و پس از آن مسیر است تا نشان دهد چه اتفاقی برای آن افتاده است. این موارد یادآور فایلهای diff هستند.
- •
- = path به این معنی است که مسیر در مبدأ و مقصد یافت شد و یکسان بود
- •
- - path به این معنی است که مسیر در مبدأ وجود نداشت، بنابراین فقط در مقصد موجود است
- •
- + path به این معنی است که مسیر در مقصد وجود نداشت، بنابراین فقط در مبدأ موجود است
- •
- * path به این معنی است که مسیر در مبدأ و مقصد وجود داشت اما با یکدیگر متفاوت بود.
- •
- ! path به این معنی است که در خواندن یا محاسبه هش مبدأ یا مقصد خطایی رخ داده است.
تعداد پیشفرض بررسیهای موازی ۸ است. برای اطلاعات بیشتر گزینه --checkers (https://rclone.org/docs/#checkers-int) را ببینید.
-
rclone checksum <hash> sumfile dst:path [flags]
-
--combined string ایجاد یک گزارش ترکیبی از تغییرات در این فایل --differ string گزارش تمام فایلهای غیرمنطبق در این فایل --download بررسی از طریق درهمسازی (هشکردن) محتوا --error string گزارش تمام فایلهای دارای خطا (درهمسازی یا خواندن) در این فایل -h, --help راهنما برای checksum --match string گزارش تمام فایلهای منطبق در این فایل --missing-on-dst string گزارش تمام فایلهای مفقود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای مفقود در مبدأ در این فایل --one-way بررسی فقط بهصورت یکطرفه، فایلهای مبدأ باید در ریموت موجود باشند
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلترکردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنیکردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --exclude-if-present stringArray مستثنیکردن دایرکتوریها در صورت وجود این نام فایل --files-from stringArray خواندن فهرست نامهای فایلهای مبدأ از یک فایل (برای خواندن از stdin از - استفاده کنید) --files-from-raw stringArray خواندن فهرست نامهای فایلهای مبدأ از یک فایل بدون هیچ پردازشی روی خطوط (برای خواندن از stdin از - استفاده کنید) --files-from0 stringArray خواندن فهرست نامهای فایلهای مبدأ از یک فایل با استفاده از NUL بهعنوان جداکننده (برای خواندن از stdin از - استفاده کنید) -f, --filter stringArray افزودن یک قاعده فیلترکردن فایل --filter-from stringArray خواندن الگوهای فیلترکردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --hash-filter string افرازبندی نامهای فایل با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیدهگرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به بزرگی و کوچکی حروف) --include stringArray شاملکردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --max-age Duration فقط انتقال فایلهایی با عمر کمتر از این مقدار، برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار، برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنیکردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-filter stringArray افزودن یک قاعده فیلترکردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلترکردن متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-include stringArray شاملکردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --min-age Duration فقط انتقال فایلهایی با عمر بیشتر از این مقدار، برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار، برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
گزینههای فهرستکردن (Listing Options)
پرچمهایی برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستکردن بازگشتی در صورت دردسترس بودن؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone completion
تولید اسکریپت تکمیل خودکار (completion) برای یک پوسته مشخص.
خلاصه دستور (SYNOPSIS)
یک اسکریپت تکمیل خودکار پوسته برای rclone تولید میکند. برای مشاهده فهرست پوستههای پشتیبانیشده، با --help اجرا کنید.
گزینهها (OPTIONS)
-
-h, --help راهنما برای completion
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنمای دستورها، پرچمها و backendهای rclone.
- •
- rclone completion bash (https://rclone.org/commands/rclone_completion_bash) - خروجی دادن اسکریپت تکمیل خودکار bash برای rclone.
- •
- rclone completion fish (https://rclone.org/commands/rclone_completion_fish) - خروجی دادن اسکریپت تکمیل خودکار fish برای rclone.
- •
- rclone completion powershell (https://rclone.org/commands/rclone_completion_powershell) - خروجی دادن اسکریپت تکمیل خودکار powershell برای rclone.
- •
- rclone completion zsh (https://rclone.org/commands/rclone_completion_zsh) - خروجی دادن اسکریپت تکمیل خودکار zsh برای rclone.
rclone completion bash
خروجی دادن اسکریپت تکمیل خودکار bash برای rclone.
خلاصه دستور (SYNOPSIS)
یک اسکریپت تکمیل خودکار شل bash برای rclone تولید میکند.
بهطور پیشفرض، هنگامی که بدون هیچ آرگومانی اجرا شود،
-
rclone completion bash
اسکریپت تولیدشده در مسیر زیر نوشته خواهد شد:
-
/etc/bash_completion.d/rclone
و بنابراین احتمالاً rclone باید به عنوان کاربر root یا با sudo اجرا شود.
اگر مسیری به یک فایل را به عنوان آرگومان خط فرمان مشخص کنید، اسکریپت تولیدشده در آن فایل نوشته خواهد شد که در این صورت نباید نیازی به دسترسیهای کاربر root داشته باشید.
اگر output_file برابر با "-" باشد، خروجی در stdout نوشته خواهد شد.
اگر اسکریپت را در مکان پیشفرض نصب کردهاید، میتوانید برای استفاده از اسکریپت تکمیل خودکار، از نشست خود خارج شده و دوباره وارد شوید (logout و login مجدد).
همچنین میتوانید اسکریپت را مستقیماً source کنید:
-
. /path/to/my_bash_completion_scripts/rclone
و قابلیت تکمیل خودکار به شل فعلی شما افزوده خواهد شد.
-
rclone completion bash [output_file] [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای bash
برای مشاهده گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone completion (https://rclone.org/commands/rclone_completion) - تولید اسکریپت تکمیل خودکار برای یک پوسته مشخص.
rclone completion fish
تولید اسکریپت تکمیل خودکار fish برای rclone.
خلاصه دستور (SYNOPSIS)
یک اسکریپت تکمیل خودکار fish برای rclone تولید میکند.
این دستور بهطور پیشفرض در /etc/fish/completions/rclone.fish مینویسد، بنابراین احتمالاً باید با sudo یا بهعنوان کاربر ریشه (root) اجرا شود، برای مثال:
-
sudo rclone completion fish
برای استفاده از اسکریپتهای تکمیل خودکار، خارج شده و دوباره وارد شوید، یا آنها را مستقیماً بارگذاری (source) کنید:
-
. /etc/fish/completions/rclone.fish
اگر یک آرگومان خط فرمان مشخص کنید، اسکریپت در آنجا نوشته خواهد شد.
اگر output_file برابر با "-" باشد، خروجی در stdout نوشته خواهد شد.
-
rclone completion fish [output_file] [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای fish
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone completion (https://rclone.org/commands/rclone_completion) - تولید اسکریپت تکمیل خودکار برای یک پوسته مشخص.
rclone completion powershell
تولید اسکریپت تکمیل خودکار powershell برای rclone.
خلاصه دستور (SYNOPSIS)
اسکریپت تکمیل خودکار را برای powershell تولید میکند.
برای بارگذاری تکمیلهای خودکار در نشست جاری پوسته خود:
-
rclone completion powershell | Out-String | Invoke-Expression
برای بارگذاری تکمیلهای خودکار در هر نشست جدید، خروجی دستور بالا را به پروفایل powershell خود اضافه کنید.
اگر output_file برابر با "-" بوده یا مشخص نشده باشد، خروجی در stdout نوشته خواهد شد.
-
rclone completion powershell [output_file] [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای powershell
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone completion (https://rclone.org/commands/rclone_completion) - تولید اسکریپت تکمیل خودکار (completion) برای یک شل مشخص.
rclone completion zsh
تولید اسکریپت تکمیل خودکار zsh برای rclone.
خلاصه دستور (SYNOPSIS)
یک اسکریپت تکمیل خودکار (autocompletion) شل zsh برای rclone تولید میکند.
این دستور بهطور پیشفرض در مسیر /usr/share/zsh/vendor-completions/_rclone مینویسد، بنابراین احتمالا نیاز است با sudo یا به عنوان کاربر root اجرا شود، مانند:
-
sudo rclone completion zsh
برای استفاده از اسکریپتهای تکمیل خودکار، خارج شده و دوباره وارد شوید (logout و login کنید)، یا آنها را مستقیماً بارگذاری (source) کنید:
-
autoload -U compinit && compinit
اگر یک آرگومان خط فرمان مشخص کنید، اسکریپت در آنجا نوشته خواهد شد.
اگر output_file مقدار "-" باشد، خروجی در stdout نوشته خواهد شد.
-
rclone completion zsh [output_file] [flags]
گزینهها (OPTIONS)
-
-h, --help help for zsh
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone completion (https://rclone.org/commands/rclone_completion) - تولید اسکریپت تکمیل خودکار برای یک شل مشخص.
rclone config create
ایجاد یک ریموت جدید با نام، نوع و گزینهها.
خلاصه دستور (SYNOPSIS)
ایجاد یک ریموت جدید با name، type و گزینهها. گزینهها باید بهصورت جفتهای key value یا بهصورت key=value ارسال شوند.
بهعنوان مثال، برای ایجاد یک ریموت swift با نام myremote با استفاده از پیکربندی خودکار، این دستور را اجرا میکنید:
-
rclone config create myremote swift env_auth true rclone config create myremote swift env_auth=true
بنابراین برای مثال اگر میخواستید یک ریموت Google Drive را با استفاده از احراز هویت از راه دور پیکربندی کنید، این کار را انجام میدادید:
-
rclone config create mydrive drive config_is_local=false
توجه داشته باشید که اگر فرایند پیکربندی در حالت عادی سؤالی بپرسد، مقدار پیشفرض در نظر گرفته میشود (مگر اینکه از --non-interactive استفاده شده باشد). هر بار که این اتفاق رخ دهد، rclone پیامی عادی یا در سطح DEBUG چاپ میکند که نحوه تغییر دادن مقدار انتخابی را توضیح میدهد.
اگر هر یک از پارامترهای ارسالی یک فیلد گذرواژه باشد، rclone پیش از قرار دادن آن در فایل پیکربندی، در صورتی که از قبل مبهم نشده باشد، بهطور خودکار آن را مبهم (obscure) میکند.
نکته: اگر پارامتر گذرواژه ۲۲ کاراکتر یا بیشتر باشد و فقط از کاراکترهای base64 تشکیل شده باشد، rclone ممکن است در مورد اینکه آیا گذرواژه از قبل مبهم شده است یا خیر دچار سردرگمی شود و گذرواژههای مبهمنشده را در فایل پیکربندی قرار دهد. اگر میخواهید ۱۰۰٪ مطمئن شوید که گذرواژهها مبهم میشوند، از پرچم --obscure استفاده کنید، یا اگر ۱۰۰٪ اطمینان دارید که از قبل گذرواژههای مبهمشده ارسال میکنید، از --no-obscure استفاده نمایید. همچنین میتوانید گذرواژههای مبهمشده را با استفاده از دستور rclone config password تنظیم کنید.
پرچم --non-interactive برای استفاده برنامههایی است که مایلند بهجای استفاده از پرسشهای پیکربندی متنی rclone، خودشان rclone را پیکربندی کنند. اگر این پرچم تنظیم شده باشد و rclone نیاز به پرسیدن سؤالی از کاربر داشته باشد، یک قطعه JSON حاوی پرسش برگردانده خواهد شد.
این خروجی شبیه به این خواهد بود (برخی جزئیات نامربوط حذف شدهاند):
-
{ "State": "*oauth-islocal,teamdrive,,", "Option": { "Name": "config_is_local", "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n", "Default": true, "Examples": [ { "Value": "true", "Help": "Yes" }, { "Value": "false", "Help": "No" } ], "Required": false, "IsPassword": false, "Type": "bool", "Exclusive": true, }, "Error": "", }
قالب Option مشابه مقداری است که توسط rclone config providers بازگردانده میشود. این پرسش باید از کاربر پرسیده شود و در قالب گزینه --result همراه با پارامتر --state به rclone بازگردانده شود.
کلیدهای Option بهصورت زیر استفاده میشوند:
- •
- Name - نام متغیر - به کاربر نمایش داده شود
- •
- Help - متن راهنما. در ۸۰ کاراکتر شکسته شده است (hard wrapped). هر نشانی اینترنتی (URL) باید قابل کلیک باشد.
- •
- Default - مقدار پیشفرض - اگر کاربر فقط مقدار پیشفرض را میخواهد، این مقدار را برگردانید.
- •
- Examples - کاربر باید بتواند یکی از این موارد را انتخاب کند
- •
- Required - مقدار نباید خالی باشد
- •
- IsPassword - این مقدار یک گذرواژه است و باید به همین صورت ویرایش شود
- •
- Type - نوع مقدار، مانند bool، string، int و غیره
- •
- Exclusive - در صورت تنظیم، ورود متن دلخواه مجاز نیست و فقط مقادیر Examples مجاز هستند
- •
- کلیدهای نامربوط: Provider، ShortOpt، Hide، NoPrefix، Advanced
اگر Error مقداردهی شده باشد، باید همزمان با پرسش به کاربر نمایش داده شود.
-
rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
توجه داشته باشید که هنگام استفاده از --continue تمام گذرواژهها باید بهصورت واضح (متن خام، نه مبهمشده) ارسال شوند. هر مقدار پیکربندی پیشفرضی نیز باید در هر بار فراخوانی --continue ارسال شود..PP در پایان فرآیند غیرتعاملی، rclone نتیجهای را با State به صورت یک رشته خالی بازمیگرداند.
اگر --all داده شود، rclone تمام پرسشهای پیکربندی را خواهد پرسید، نه فقط پرسشهای پس از پیکربندی را. طبق معمول، از هر پارامتری به عنوان مقدار پیشفرض برای پرسشها استفاده میشود.
توجه داشته باشید که bin/config.py در سورسکد rclone این پروتکل را به عنوان یک نمایش خوانا پیادهسازی میکند.
-
rclone config create name type [key value]* [flags]
گزینهها (OPTIONS)
-
--all پرسیدن تمام پرسشهای پیکربندی --continue ادامه فرآیند پیکربندی با یک پاسخ -h, --help راهنما برای create --no-obscure اجبار به مبهمسازی نشدن هیچیک از گذرواژهها --no-output هیچ خروجیای ارائه نشود --non-interactive عدم تعامل با کاربر و بازگرداندن پرسشها --obscure اجبار به مبهمسازی گذرواژهها --result string نتیجه - استفاده همراه با --continue --state string وضعیت - استفاده همراه با --continue
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config delete
حذف یک remote موجود.
-
rclone config delete name [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای delete
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config disconnect
قطع اتصال کاربر از remote
خلاصه دستور (SYNOPSIS)
این دستور، remote: دادهشده به سامانه ذخیرهسازی ابری را قطع میکند.
این عمل معمولاً به معنی باطل کردن توکن oauth است.
برای اتصال مجدد از "rclone config reconnect" استفاده کنید.
-
rclone config disconnect remote: [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای disconnect
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config dump
تخلیه فایل پیکربندی در قالب JSON.
-
rclone config dump [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای dump
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config edit
ورود به نشست پیکربندی تعاملی.
خلاصه دستور (SYNOPSIS)
ورود به یک نشست پیکربندی تعاملی که در آن میتوانید ریموتهای جدید را راهاندازی کرده و موارد موجود را مدیریت کنید. همچنین میتوانید برای محافظت از پیکربندی خود، گذرواژهای تعیین یا حذف نمایید.
-
rclone config edit [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای edit
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config encryption
تنظیم، حذف و بررسی رمزگذاری فایل پیکربندی
خلاصه دستور (SYNOPSIS)
این دستور با استفاده از زیردستورهای زیر، رمزگذاری فایل پیکربندی را تنظیم، پاک و بررسی میکند.
گزینهها (OPTIONS)
-
-h, --help راهنمای encryption
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
- •
- rclone config encryption check (https://rclone.org/commands/rclone_config_encryption_check) - بررسی رمزگذاریشده بودن فایل پیکربندی
- •
- rclone config encryption remove (https://rclone.org/commands/rclone_config_encryption_remove) - حذف گذرواژه رمزگذاری فایل پیکربندی
- •
- rclone config encryption set (https://rclone.org/commands/rclone_config_encryption_set) - تنظیم یا تغییر گذرواژه رمزگذاری فایل پیکربندی.SH rclone config encryption check
بررسی رمزنگاری بودن فایل پیکربندی
خلاصه دستور (SYNOPSIS)
این دستور بررسی میکند که فایل پیکربندی رمزنگاری شده باشد و شما بتوانید آن را رمزگشایی کنید.
این دستور تلاش خواهد کرد تا با استفاده از گذرواژهای که ارائه میدهید، پیکربندی را رمزگشایی کند.
اگر رمزگشایی با شکست مواجه شود، در صورت استفاده از --password-command یک کد خروج غیرصفر بازمیگرداند؛ در غیر این صورت، دوباره گذرواژه را درخواست میکند.
اگر فایل پیکربندی رمزنگاری نشده باشد، یک کد خروج غیرصفر بازمیگرداند.
-
rclone config encryption check [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای check
برای گزینههای سراسری که در اینجا ذکر نشدهاند، به صفحه پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید.
همچنین ببینید (SEE ALSO)
- •
- rclone config encryption (https://rclone.org/commands/rclone_config_encryption) - تنظیم، حذف و بررسی رمزنگاری فایل پیکربندی
rclone config encryption remove
حذف گذرواژه رمزنگاری فایل پیکربندی
خلاصه دستور (SYNOPSIS)
حذف گذرواژه رمزنگاری فایل پیکربندی
این دستور رمزنگاری فایل پیکربندی را حذف کرده و آن را به حالت رمزنگارینشده بازمیگرداند.
اگر --password-command در حال استفاده باشد، این دستور برای ارائه گذرواژه قبلی پیکربندی فراخوانی خواهد شد.
اگر پیکربندی رمزنگاری نشده باشد، هیچ خطایی بازگردانده نخواهد شد و این دستور هیچ کاری انجام نمیدهد.
-
rclone config encryption remove [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای remove
برای گزینههای سراسری که در اینجا ذکر نشدهاند، به صفحه پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید.
همچنین ببینید (SEE ALSO)
- •
- rclone config encryption (https://rclone.org/commands/rclone_config_encryption) - تنظیم، حذف و بررسی رمزنگاری فایل پیکربندی
rclone config encryption set
تنظیم یا تغییر گذرواژه رمزنگاری فایل پیکربندی
خلاصه دستور (SYNOPSIS)
این دستور گذرواژه رمزنگاری فایل پیکربندی را تنظیم میکند یا تغییر میدهد.
اگر هیچ گذرواژهای برای پیکربندی تنظیم نشده باشد، یک گذرواژه جدید تنظیم میکند؛ در غیر این صورت، گذرواژه موجود را تغییر میدهد.
توجه داشته باشید که اگر در حال تغییر گذرواژه رمزنگاری با استفاده از --password-command هستید، این دستور یک بار برای رمزگشایی پیکربندی با استفاده از گذرواژه قدیمی و بار دیگر برای خواندن گذرواژه جدید جهت رمزنگاری مجدد پیکربندی فراخوانی خواهد شد.
هنگامی که --password-command برای تغییر گذرواژه فراخوانی شود، متغیر محیطی RCLONE_PASSWORD_CHANGE=1 تنظیم خواهد شد. بنابراین در صورت تغییر برنامهریزیشده گذرواژهها، میتوانید از این متغیر محیطی برای تشخیص اینکه کدام گذرواژه را باید ارائه دهید، استفاده کنید.
همچنین میتوانید ابتدا گذرواژه را حذف کنید (با rclone config encryption remove)، سپس دوباره با این دستور آن را تنظیم نمایید؛ در صورتی که با قرار گرفتن کوتاهمدت فایل پیکربندیِ رمزنگارینشده بر روی دیسک مشکلی نداشته باشید، این روش ممکن است آسانتر باشد.
-
rclone config encryption set [flags]
-
-h, --help راهنمای set
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config encryption (https://rclone.org/commands/rclone_config_encryption) - تنظیم، حذف و بررسی رمزگذاری برای فایل پیکربندی
rclone config file
نمایش مسیر فایل پیکربندی مورد استفاده.
-
rclone config file [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای file
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config password
بهروزرسانی گذرواژه در یک ریموت موجود.
خلاصه دستور (SYNOPSIS)
بهروزرسانی گذرواژهٔ یک ریموت موجود. گذرواژه باید به صورت جفتهای key password یا به صورت key=password ارسال شود. مقدار password باید به صورت آشکار (مبهمنشده) وارد شود.
برای مثال، جهت تنظیم گذرواژهٔ ریموتی با نام myremote به این ترتیب عمل کنید:
-
rclone config password myremote fieldname mypassword rclone config password myremote fieldname=mypassword
این دستور اکنون منسوخ شده است، زیرا هر دو دستور "config update" و "config create" مستقیماً از مبهمسازی گذرواژهها پشتیبانی میکنند.
-
rclone config password name [key value]+ [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای password
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config paths
نمایش مسیرهای مورد استفاده برای پیکربندی، کَش، فایلهای موقت و غیره.
-
rclone config paths [flags]
-
-h, --help راهنما برای paths
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config providers
فهرست کردن تمام ارائهدهندهها (providers) و گزینهها در قالب JSON.
-
rclone config providers [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای providers
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config reconnect
احراز هویت مجدد کاربر با ریموت.
خلاصه دستور (SYNOPSIS)
این دستور remote: ارائهشده را مجدداً به سیستم ذخیرهسازی ابری متصل میکند.
برای قطع اتصال ریموت از "rclone config disconnect" استفاده کنید.
این کار معمولاً به معنای طی کردن دوبارهٔ فرآیند تعاملی oauth است.
-
rclone config reconnect remote: [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای reconnect
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config redacted
چاپ فایل پیکربندی پالایششده (رمزگشاییشده)، یا پیکربندی پالایششده برای یک ریموت مشخص.
خلاصه دستور (SYNOPSIS)
این دستور یک نسخهٔ پالایششده از فایل پیکربندی را چاپ میکند؛ چه کل فایل پیکربندی و چه برای یک ریموت مشخص.
فایل پیکربندی با جایگزین کردن تمام گذرواژهها و دیگر اطلاعات حساس با XXX پالایش خواهد شد.
این کار فایل پیکربندی را برای ارسال آنلاین جهت دریافت پشتیبانی مناسب میسازد.
پیش از ارسال باید دوباره بررسی شود، زیرا ممکن است پالایش اطلاعات کاملاً بینقص نباشد.
-
rclone config redacted [<remote>] [flags]
-
-h, --help راهنما برای redacted
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config show
چاپ فایل پیکربندی (رمزگشاییشده)، یا پیکربندی یک remote تکی.
-
rclone config show [<remote>] [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای show
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config string
چاپ رشته اتصال برای یک remote تکی.
خلاصه دستور (SYNOPSIS)
چاپ یک رشته اتصال برای یک remote تکی.
رشتههای اتصال (https://rclone.org/docs/#connection-strings) میتوانند در هر جایی که به یک remote نیاز است استفاده شوند و میتوانند راحتتر از استفاده از فایل پیکربندی باشند، بهویژه در صورت استفاده از RC API.
همچنین میتوان پارامترهای backend را به دستور ارائه کرد.
مثال:
-
$ rclone config string s3:rclone --s3-no-check-bucket :s3,access_key_id=XXX,no_check_bucket,provider=AWS,region=eu-west-2,secret_access_key=YYY:rclone
توجه: این رشتهها برای استفاده در پوستهها (مانند bash، powershell، windows cmd) نقلقولگذاری نشدهاند. بیشتر آنها در صورت قرار گرفتن در "علامت نقلقول دوتایی (double quotes)" کار خواهند کرد، اما رشتههای اتصالی که حاوی علامت نقلقول دوتایی هستند به نقلقولگذاری بیشتری نیاز خواهند داشت که شدیداً به نوع پوسته وابسته است.
-
rclone config string <remote> [flags]
گزینهها (OPTIONS)
-
-h, --help راهنما برای string
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config touch
اطمینان از وجود فایل پیکربندی.
-
rclone config touch [flags]
گزینهها (OPTIONS)
-
-h, --help help for touch
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config unset
لغو تنظیم گزینهها در یک ریموت موجود.
خلاصه دستور (SYNOPSIS)
حذف یک یا چند گزینه از یک ریموت موجود. گزینههایی که باید حذف شوند باید بهصورت فهرستی از نامهای کلید وارد شوند.
بهعنوان مثال، برای حذف گزینههای client_id و client_secret از ریموتی با نام myremote، دستور زیر را اجرا میکنید:
-
rclone config unset myremote client_id client_secret
این کار کلیدها را بهطور کامل از فایل پیکربندی حذف میکند، که با تنظیم آنها به یک رشتهٔ خالی از طریق config update متفاوت است. حذف یک کلید، رفتار پیشفرض rclone را برای آن گزینه بازمیگرداند، در حالی که تنظیم آن به یک رشتهٔ خالی، مقدار پیشفرض را با یک مقدار خالی بازنویسی میکند.
نمیتوانید type یک ریموت را لغو تنظیم کنید - در عوض از config delete برای حذف کامل ریموت استفاده کنید.
-
rclone config unset name [key]+ [flags]
گزینهها (OPTIONS)
-
-h, --help help for unset
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config update
بهروزرسانی گزینهها در یک ریموت موجود.
خلاصه دستور (SYNOPSIS)
بهروزرسانی گزینههای یک ریموت موجود. گزینهها باید بهصورت جفتهای key value یا بهصورت key=value وارد شوند.
بهعنوان مثال، برای بهروزرسانی فیلد env_auth در یک ریموت با نام myremote دستور زیر را اجرا میکنید:
-
rclone config update myremote env_auth true rclone config update myremote env_auth=true
اگر ریموت از OAuth استفاده میکند، توکن بهروزرسانی خواهد شد؛ اگر به این کار نیازی ندارید، یک پارامتر اضافی را به این صورت درج کنید:
-
rclone config update myremote env_auth=true config_refresh_token=false
توجه داشته باشید که اگر فرایند پیکربندی بهطور معمول سؤالی بپرسد، مقدار پیشفرض در نظر گرفته میشود (مگر اینکه از --non-interactive استفاده شود). هر بار که این رخ دهد، rclone پیامی عادی یا پیامی با سطح اشکالزدایی (DEBUG) چاپ میکند که نحوهٔ اثرگذاری بر مقدار انتخابی را شرح میدهد.
اگر هر یک از پارامترهای واردشده یک فیلد گذرواژه باشد، rclone قبل از قرار دادن آنها در فایل پیکربندی، در صورتی که از قبل مبهم نشده باشند، بهطور خودکار آنها را مبهم میکند.
توجه اگر پارامتر گذرواژه ۲۲ نویسه یا طولانیتر باشد و تنها از نویسههای base64 تشکیل شده باشد، rclone ممکن است دربارهٔ اینکه آیا گذرواژه از قبل مبهم شده است یا خیر دچار سردرگمی شود و گذرواژههای مبهمنشده را در فایل پیکربندی قرار دهد. اگر میخواهید ۱۰۰٪ مطمئن شوید که گذرواژهها مبهم میشوند، از پرچم --obscure استفاده کنید، یا چنانچه ۱۰۰٪ مطمئن هستید که در حال حاضر گذرواژههای مبهمشده را ارسال میکنید، از --no-obscure استفاده نمایید. همچنین میتوانید با استفاده از دستور rclone config password گذرواژههای مبهمشده را تعیین کنید.
پرچم --non-interactive برای استفادهٔ برنامههایی است که مایلند پیکربندی rclone را خودشان انجام دهند، بهجای آنکه از پرسشهای پیکربندی متنی rclone استفاده کنند. اگر این پرچم تنظیم شود و rclone نیاز داشته باشد سؤالی از کاربر بپرسد، یک شیء دادهای (blob) از نوع JSON حاوی آن پرسش بازگردانده میشود.
این شیء چیزی شبیه به نمونهٔ زیر خواهد بود (برخی جزئیات غیرمرتبط حذف شدهاند):
-
{ "State": "*oauth-islocal,teamdrive,,", "Option": { "Name": "config_is_local", "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n", "Default": true, "Examples": [ { "Value": "true", "Help": "Yes" }, { "Value": "false", "Help": "No" } ], "Required": false, "IsPassword": false, "Type": "bool", "Exclusive": true, }, "Error": "", }
قالب Option همانند خروجی بازگرداندهشده توسط rclone config providers است. سؤال باید از کاربر پرسیده شود و همراه با پارامتر --state بهعنوان گزینهٔ --result به rclone بازگردانده شود.
کلیدهای Option بهصورت زیر استفاده میشوند:
- •
- Name - نام متغیر - برای نمایش به کاربر
- •
- Help - متن راهنما. شکستهشده با حداکثر طول ۸۰ نویسه. هر نشانی اینترنتی (URL) باید قابل کلیک باشد.
- •
- Default - مقدار پیشفرض - در صورتی که کاربر فقط پیشفرض را میخواهد، این مقدار بازگردانده شود.
- •
- Examples - کاربر باید بتواند یکی از اینها را انتخاب کند
- •
- Required - مقدار نباید خالی باشد
- •
- IsPassword - مقدار یک گذرواژه است و باید به همین صورت ویرایش شود
- •
- Type - نوع مقدار، مانند bool، string، int و موارد دیگر.IP • 2 Exclusive - در صورت تنظیم، هیچ ورودی آزادی مجاز نیست و تنها Examples پذیرفته میشود
- •
- کلیدهای نامرتبط: Provider، ShortOpt، Hide، NoPrefix، Advanced
اگر Error تنظیم شده باشد، باید همزمان با پرسش به کاربر نمایش داده شود.
-
rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
توجه داشته باشید هنگام استفاده از --continue تمام گذرواژهها باید بهصورت متن آشکار (نه مبهمشده) ارسال شوند. هرگونه مقدار پیشفرض پیکربندی باید در هر بار فراخوانی --continue ارسال شود.
در پایان فرآیند غیرتعاملی، rclone نتیجهای را بازمیگرداند که در آن State یک رشته خالی است.
اگر --all ارسال شود، rclone تمام پرسشهای پیکربندی را خواهد پرسید، نه فقط پرسشهای پس از پیکربندی را. هر پارامتری طبق معمول بهعنوان پیشفرض برای پرسشها استفاده میشود.
توجه داشته باشید که bin/config.py در سورسکد rclone این پروتکل را بهعنوان یک نمونه نمایشی خوانا پیادهسازی میکند.
-
rclone config update name [key value]+ [flags]
گزینهها (OPTIONS)
-
--all پرسیدن تمام پرسشهای پیکربندی --continue ادامه فرآیند پیکربندی با یک پاسخ -h, --help راهنمای update --no-obscure اجبار به عدم ابهامسازی گذرواژهها --no-output هیچ خروجیای ارائه نشود --non-interactive عدم تعامل با کاربر و بازگرداندن پرسشها --obscure اجبار به مبهمسازی تمام گذرواژهها --result string نتیجه - استفاده همراه با --continue --state string وضعیت - استفاده همراه با --continue
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone config userinfo
اطلاعات مربوط به کاربر واردشده به ریموت را چاپ میکند.
خلاصه دستور (SYNOPSIS)
این دستور جزئیات فرد واردشده به سیستم ذخیرهسازی ابری را چاپ میکند.
-
rclone config userinfo remote: [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای userinfo --json قالببندی خروجی بهصورت JSON
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone config (https://rclone.org/commands/rclone_config) - ورود به یک نشست پیکربندی تعاملی.
rclone convmv
نامهای فایل و دایرکتوری را درجا تبدیل میکند.
خلاصه دستور (SYNOPSIS)
دستور convmv از تبدیلهای پیشرفتهٔ نام مسیر برای تبدیل و تغییر نام فایلها و دایرکتوریها با اِعمال پیشوندها، پسوندها و سایر دگرگونیها پشتیبانی میکند.
| دستور | توضیحات |
| --name-transform prefix=XXXX | مقدار XXXX را به ابتدای نام فایل اضافه میکند. |
| --name-transform suffix=XXXX | مقدار XXXX را پس از پسوند، به انتهای نام فایل اضافه میکند. |
| --name-transform suffix_keep_extension=XXXX | ضمن حفظ پسوند اصلی فایل، مقدار XXXX را به انتهای نام فایل اضافه میکند. |
| --name-transform trimprefix=XXXX | در صورت وجود مقدار XXXX در ابتدای نام فایل، آن را حذف میکند. |
| --name-transform trimsuffix=XXXX | در صورت وجود مقدار XXXX در انتهای نام فایل، آن را حذف میکند. |
| --name-transform regex=pattern/replacement | یک تبدیل مبتنی بر عبارات باقاعده (regex) را اعمال میکند. |
| --name-transform replace=old:new | رخدادهای old را با new در نام فایل جایگزین میکند. |
| --name-transform date={YYYYMMDD} | قالب تاریخ مشخصشده را به صورت پیشوند یا پسوند اضافه میکند. |
| --name-transform truncate=N | طول نام فایل را حداکثر تا N نویسه کوتاه میکند. |
| --name-transform truncate_keep_extension=N | ضمن حفظ پسوند اصلی فایل، طول نام فایل را حداکثر تا N نویسه کوتاه میکند. |
| --name-transform truncate_bytes=N | طول نام فایل را حداکثر تا N بایت (نه نویسه) کوتاه میکند. |
| --name-transform truncate_bytes_keep_extension=N | ضمن حفظ پسوند اصلی فایل، طول نام فایل را حداکثر تا N بایت (نه نویسه) کوتاه میکند. |
| --name-transform base64encode | نام فایل را با Base64 کدگذاری میکند. |
| --name-transform base64decode | نام فایل کدگذاریشده با Base64 را رمزگشایی میکند. |
| --name-transform encoder=ENCODING | نام فایل را به کدگذاری مشخصشده تبدیل میکند (مانند ISO-8859-1، Windows-1252، Macintosh). |
| --name-transform decoder=ENCODING | نام فایل را از کدگذاری مشخصشده رمزگشایی میکند. |
| --name-transform charmap=MAP | یک تبدیل بر اساس نگاشت نویسهها (charmap) را اعمال میکند. |
| --name-transform lowercase | نام فایل را به حروف کوچک تبدیل میکند. |
| --name-transform uppercase | نام فایل را به حروف بزرگ تبدیل میکند. |
| --name-transform titlecase | نام فایل را به صورت Title Case (حرف اول هر واژه بزرگ) تبدیل میکند. |
| --name-transform ascii | نویسههای غیر ASCII را حذف میکند. |
| --name-transform url | نام فایل را به صورت کدگذاری URL تبدیل میکند. |
| --name-transform nfc | نام فایل را به فرم یکسانسازی یونیکد NFC تبدیل میکند. |
| --name-transform nfd | نام فایل را به فرم یکسانسازی یونیکد NFD تبدیل میکند. |
| --name-transform nfkc | نام فایل را به فرم یکسانسازی یونیکد NFKC تبدیل میکند. |
| --name-transform nfkd | نام فایل را به فرم یکسانسازی یونیکد NFKD تبدیل میکند. |
| --name-transform command=/path/to/my/programfile names. | یک برنامهٔ خارجی را برای اعمال تبدیل اجرا میکند. |
حالتهای تبدیل:
-
none nfc nfd nfkc nfkd replace prefix suffix suffix_keep_extension trimprefix trimsuffix index date truncate truncate_keep_extension truncate_bytes truncate_bytes_keep_extension base64encode base64decode encoder decoder ISO-8859-1 Windows-1252 Macintosh charmap lowercase uppercase titlecase ascii url regex command نگاشتهای نویسه (Char maps):
-
IBM-Code-Page-037 IBM-Code-Page-437 IBM-Code-Page-850 IBM-Code-Page-852 IBM-Code-Page-855 Windows-Code-Page-858 IBM-Code-Page-860 IBM-Code-Page-862 IBM-Code-Page-863 IBM-Code-Page-865 IBM-Code-Page-866 IBM-Code-Page-1047 IBM-Code-Page-1140 ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-13 ISO-8859-14 ISO-8859-15 ISO-8859-16 KOI8-R KOI8-U Macintosh Macintosh-Cyrillic Windows-874 Windows-1250 Windows-1251 Windows-1252 Windows-1253 Windows-1254 Windows-1255 Windows-1256 Windows-1257 Windows-1258 X-User-Defined
ماسکهای کدگذاری (Encoding masks):
-
Asterisk BackQuote BackSlash Colon CrLf Ctl Del Dollar Dot DoubleQuote Exclamation Hash InvalidUtf8 LeftCrLfHtVt LeftPeriod LeftSpace LeftTilde LtGt None Percent Pipe Question Raw RightCrLfHtVt RightPeriod RightSpace Semicolon SingleQuote Slash SquareBracket
مثالها:
-
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,uppercase" // Output: STORIES/THE QUICK BROWN FOX!.TXT
-
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,replace=Fox:Turtle" --name-transform "all,replace=Quick:Slow" // Output: stories/The Slow Brown Turtle!.txt
-
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,base64encode" // Output: c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0
-
rclone convmv "c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0" --name-transform "all,base64decode" // Output: stories/The Quick Brown Fox!.txt
-
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfc" // Output: stories/The Quick Brown 🦊 Fox Went to the Café!.txt
-
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfd" // Output: stories/The Quick Brown 🦊 Fox Went to the Café!.txt
-
rclone convmv "stories/The Quick Brown 🦊 Fox!.txt" --name-transform "all,ascii" // Output: stories/The Quick Brown Fox!.txt
-
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,trimsuffix=.txt" // Output: stories/The Quick Brown Fox!
-
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,prefix=OLD_" // Output: OLD_stories/OLD_The Quick Brown Fox!.txt
-
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,charmap=ISO-8859-7" // Output: stories/The Quick Brown _ Fox Went to the Caf_!.txt
-
rclone convmv "stories/The Quick Brown Fox: A Memoir [draft].txt" --name-transform "all,encoder=Colon,SquareBracket" // Output: stories/The Quick Brown Fox: A Memoir [draft].txt
-
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,truncate=21" // Output: stories/The Quick Brown 🦊 Fox
-
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=echo" // Output: stories/The Quick Brown Fox!.txt
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}" // Output: stories/The Quick Brown Fox!-20260904
-
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}" // Output: stories/The Quick Brown Fox!-2026-09-04 0450PM -
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab" // Output: ababababababab/ababab ababababab ababababab ababab!abababab
دستور regex عموماً عبارتهای منظم به سبک پرل (Perl-style) را میپذیرد؛ نحو دقیق آن در مرجع عبارتهای منظم Go (https://golang.org/pkg/regexp/syntax) تعریف شده است. رشته جایگزینی میتواند شامل متغیرهای گروههای ضبطکننده (capturing groups) باشد و با استفاده از نحو $name یا ${name} به آنها ارجاع دهد، که در آن name میتواند به یک گروه ضبطکننده نامگذاریشده یا صرفاً به شماره شاخص آن اشاره کند. برای درج نویسه واقعی $، از $$ استفاده کنید.
میتوان از چندین تبدیل بهصورت متوالی استفاده کرد که به همان ترتیبی که در خط فرمان مشخص شدهاند، اعمال میشوند.
گزینه --name-transform در دستورهای sync، copy و move نیز در دسترس است.
فایلها در برابر دایرکتوریها (Files vs Directories)
بهطور پیشفرض، --name-transform فقط بر روی نام فایلها اعمال میشود؛ به این معنی که تنها نام نهایی فایل (leaf) تبدیل خواهد شد. با این حال، برخی از تبدیلها بهتر است روی کل مسیر یا فقط روی دایرکتوریها اعمال شوند. برای انتخاب اینکه کدام بخش از مسیر فایل تحت تأثیر قرار گیرد، میتوان برچسبهایی را به --name-transform اضافه کرد.
| برچسب | اثر |
| file | تنها تبدیل نام نهایی فایلها (پیشفرض) |
| dir | تنها تبدیل نام دایرکتوریها - ممکن است در هر کجای مسیر قرار داشته باشند |
| all | تبدیل کل مسیر برای فایلها و دایرکتوریها |
این کار با افزودن برچسب به نام تبدیل انجام میشود، مانند: --name-transform file,prefix=ABC یا --name-transform dir,prefix=DEF.
برای برخی تبدیلها، استفاده از all احتمالاً مفیدتر خواهد بود؛ برای نمونه: --name-transform all,nfc.
توجه داشته باشید که --name-transform نباید جداکنندههای مسیر / را به نام اضافه کند، زیرا این کار باعث ایجاد خطا خواهد شد..SS "ترتیب و تداخلها (Ordering and Conflicts)"
- •
- تبدیلها به ترتیبی که توسط کاربر مشخص شده است اعمال خواهند شد.
- •
- اگر برچسب file در حال استفاده باشد (پیشفرض)، تنها نام انتهایی فایلها تبدیل خواهد شد.
- •
- اگر برچسب dir در حال استفاده باشد، دایرکتوریها در هر کجای مسیر تبدیل خواهند شد.
- •
- اگر برچسب all در حال استفاده باشد، دایرکتوریها و فایلها در هر کجای مسیر تبدیل خواهند شد.
- •
- هر تبدیل در هر نوبت روی یک بخش از مسیر اجرا خواهد شد.
- •
- اگر یک تبدیل کاراکتر / اضافه کند یا منجر به یک بخش خالی در مسیر شود، یک خطا خواهد بود.
- •
- قرار دادن تبدیلها در یک ترتیب منطقی بر عهدهٔ کاربر است.
- •
- تبدیلهای متناقض، مانند prefix که در ادامهٔ آن trimprefix بیاید یا nfc که در ادامهٔ آن nfd بیاید، امکانپذیر هستند.
- •
- بهجای اعمال انحصار متقابل، تبدیلها به ترتیبی که کاربر مشخص کرده است بهصورت متوالی اعمال میشوند و امکان موارد استفادهٔ عمدی را فراهم میکنند (مانند حذف یک پیشوند قبل از افزودن پیشوندی دیگر).
- •
- کاربران باید آگاه باشند که برخی ترکیبها ممکن است به نتایج غیرمنتظره منجر شوند و باید تبدیلها را پیش از اجرا با استفاده از --dry-run راستیآزمایی کنند.
شرایط رقابتی و رفتار غیرقطعی (Race Conditions and Non-Deterministic Behavior)
برخی از تبدیلها، مانند replace=old:new، ممکن است تداخلهایی ایجاد کنند که در آنها چندین فایل مبدأ به یک نام مقصد یکسان نگاشت میشوند. این امر هنگام انجام انتقالهای همروند میتواند به شرایط رقابتی منجر شود. پیشبینی این موارد بر عهدهٔ کاربر است.
- •
- اگر دو فایل از مبدأ پس از تبدیل به نام یکسانی در مقصد نگاشت شوند، وضعیت نهایی ممکن است غیرقطعی باشد.
- •
- اجرای rclone check پس از یک همگامسازی با استفاده از چنین تبدیلهایی ممکن است به دلیل نتایج رونویسیشده، فایلهای مفقود یا متفاوت را بهاشتباه گزارش کند.
برای به حداقل رساندن خطرات، کاربران باید:
- •
- تبدیلهایی را که ممکن است تداخل ایجاد کنند با دقت بازبینی کنند.
- •
- از --dry-run برای بررسی تغییرات پیش از اجرای همگامسازی استفاده کنند (اما به یاد داشته باشند که این گزینه تأثیر تبدیلهای غیرقطعی را نشان نخواهد داد).
- •
- از تبدیلهایی که باعث میشوند چندین فایل مبدأ مجزا به یک نام مقصد یکسان نگاشت شوند، خودداری کنند.
- •
- در صورت لزوم، غیرفعال کردن همروندی با --transfers=1 را مد نظر قرار دهند.
- •
- برخی تبدیلها (مانند prefix) هر بار که استفاده شوند اثری فزاینده خواهند داشت. هنگام استفاده از bisync از این موارد اجتناب کنید.
-
rclone convmv dest:path --name-transform XXX [flags]
گزینهها (OPTIONS)
-
--create-empty-src-dirs ایجاد دایرکتوریهای خالی مبدأ در مقصد پس از انتقال --delete-empty-src-dirs حذف دایرکتوریهای خالی مبدأ پس از انتقال -h, --help راهنمایی برای convmv
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای کپی (Copy Options)
پرچمهایی برای هر عملیاتی که میتواند یک فایل را کپی کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با اندازه و checksum (در صورت دسترسی، یا بازگشت به فقط اندازه) --compare-dest stringArray گنجاندن مسیرهای سمت سرور اضافی در طول مقایسه --copy-dest stringArray شامل --compare-dest است اما فایلها را نیز از مسیرها به مقصد کپی میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت توقف انتقالها پس از رسیدن به حد نهایی، یکی از HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی --ignore-checksum صرفنظر کردن از بررسی checksum پس از کپی --ignore-existing رد شدن از تمام فایلهایی که در مقصد وجود دارند --ignore-size نادیده گرفتن اندازه هنگام رد شدن؛ استفاده از modtime یا checksum -I, --ignore-times رد نشدن از موارد دارای اندازه و زمان یکسان - انتقال همه بدون قید و شرط --immutable دستکاری نکردن فایلها؛ ناموفق شدن در صورت تغییر یافتن فایلهای موجود --inplace بارگیری مستقیم در فایل مقصد به جای بارگیری اتمیک در فایل موقت/تغییر نام -l, --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' --max-backlog int حداکثر تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration حداکثر مدت زمانی که rclone دادهها را انتقال میدهد (پیشفرض 0s) --max-transfer SizeSuffix حداکثر حجم داده برای انتقال (پیشفرض off) -M, --metadata در صورت تنظیم، حفظ فراداده هنگام کپی کردن اشیاء --modify-window Duration حداکثر اختلاف زمانی برای یکسان در نظر گرفتن (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه قطعهها برای بارگیری / بارگذاری چندرشتهای، اگر توسط سیستمفایل تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از بارگیری چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانهای مورد استفاده در بارگیری چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تبدیل مسیرها در طول فرایند کپی --no-check-dest بررسی نکردن مقصد، کپی کردن در هر صورت --no-traverse عدم پیمایش سیستمفایل مقصد هنگام کپی --no-update-dir-modtime بهروزرسانی نکردن زمانهای تغییر دایرکتوری --no-update-modtime بهروزرسانی نکردن modtime مقصد در صورت یکسان بودن فایلها --order-by string دستورالعملها درباره نحوه مرتبسازی انتقالها، مانند 'size,descending' --partial-suffix string افزودن partial-suffix به نام فایل موقت هنگامی که --inplace استفاده نمیشود (پیشفرض ".partial") --refresh-times تازهسازی modtime فایلهای راه دور --server-side-across-configs اجازه دادن به عملیاتهای سمت سرور (مانند کپی) برای کار در پیکربندیهای مختلف --size-only رد شدن تنها بر پایه اندازه، نه بر اساس modtime یا checksum --streaming-upload-cutoff SizeSuffix حد آستانه برای جابجایی به بارگذاری تکهای در صورت نامعلوم بودن اندازه فایل؛ بارگذاری پس از رسیدن به آستانه یا اتمام فایل آغاز میشود (پیشفرض 100Ki) -u, --update رد شدن از فایلهایی که در مقصد جدیدتر هستند
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال هیچ تغییر دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر)
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچ پردازشی روی خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL به عنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نامفایلها بر اساس هش k/n یا به صورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای گنجاندن فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنی کردن فرادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن فراداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن فراداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن فرادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای گنجاندن فراداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
پرچمها برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (See Also)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone copyto
کپی کردن فایلها از مبدأ به مقصد، با نادیده گرفتن فایلهای یکسان.
خلاصه دستور (Synopsis)
اگر source:path یک فایل یا دایرکتوری باشد، آن را در یک فایل یا دایرکتوری به نام dest:path کپی میکند.
از این دستور میتوان برای کپی کردن یک فایل تکی به مقصدی با نامی متفاوت از مبدأ استفاده کرد - برای نمونه، بارگذاری و تغییر نام در یک مرحله. اگر مبدأ یک دایرکتوری باشد، دقیقاً مانند دستور copy (https://rclone.org/commands/rclone_copy) عمل میکند.
بنابراین
-
rclone copyto src dst
که در آن src و dst مسیرهای rclone هستند، چه بهصورت remote:path یا /path/to/local یا C:\windows\path\if\on\windows.
این دستور موارد زیر را انجام خواهد داد:
-
اگر src فایل باشد آن را در dst کپی میکند، و در صورت وجود فایل قبلی آن را بازنویسی میکند اگر src دایرکتوری باشد آن را در dst کپی میکند، و در صورت وجود فایلهای قبلی آنها را بازنویسی میکند برای جزئیات کامل به دستور copy مراجعه کنید
این دستور فایلهایی را که در src و dst یکسان باشند (با بررسی اندازه و زمان ویرایش یا MD5SUM) انتقال نمیدهد. همچنین هیچ فایلی را از مقصد حذف نمیکند.
اگر قصد دارید تنها محدودهای از بایتهای یک فایل را کپی کنید، لطفاً rclone cat --offset X --count Y را ببینید.
نکته: از پرچم -P/--progress برای مشاهده آمار بلادرنگ انتقال استفاده کنید.
پرچمهای گزارشگیری (Logger Flags)
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را، هر کدام در یک خط، در نام فایل دادهشده (یا stdout اگر - باشد) مینویسند. آنچه مینویسند در راهنمای زیر شرح داده شده است. برای نمونه --differ تمام مسیرهایی را که در هر دو مبدأ و مقصد وجود دارند ولی متفاوت هستند، مینویسد.
پرچم --combined فایلی (یا stdout) مینویسد که شامل تمام مسیرهای فایل به همراه یک نماد، سپس یک فاصله و سپس مسیر است تا وضعیت رویداده برای آن را به شما اعلام کند. این خروجی یادآور فایلهای diff است.
- •
- = path به این معنی است که مسیر در مبدأ و مقصد یافت شد و یکسان بود
- •
- - path به این معنی است که مسیر در مبدأ وجود نداشت، بنابراین فقط در مقصد قرار دارد
- •
- + path به این معنی است که مسیر در مقصد وجود نداشت، بنابراین فقط در مبدأ قرار دارد
- •
- * path به این معنی است که مسیر در مبدأ و مقصد وجود داشت اما متفاوت بود.
- •
- ! path به این معنی است که در خواندن یا محاسبه هش مبدأ یا مقصد خطایی رخ داده است.
پرچم --dest-after یک فایل فهرست را با استفاده از همان پرچمهای قالببندی lsf (https://rclone.org/commands/rclone_lsf#synopsis) (شامل گزینههای قابل تنظیم برای hash، modtime و غیره (https://rclone.org/commands/rclone_lsf#synopsis)) مینویسد. از نظر مفهومی مشابه --itemize-changes در rsync است، اما یکسان نیست -- این پرچم باید فهرستی دقیق از آنچه پس از پایان دستور در مقصد خواهد بود را در خروجی ارائه دهد.
هنگامی که پرچم --no-traverse تنظیم شده باشد، تمام گزارشهای مربوط به فایلهایی که تنها در مقصد وجود دارند ناقص بوده یا بهطور کامل ثبت نخواهند شد.
توجه داشته باشید که این پرچمهای گزارشگیری محدودیتهایی دارند و برخی سناریوها در حال حاضر پشتیبانی نمیشوند:
- •
- --max-duration / CutoffModeHard
- •
- --compare-dest / --copy-dest
- •
- انتقال سمت سرور (server-side moves) برای کل یک دایرکتوری بهطور همزمان
- •
- تلاشهای مجدد در سطح بالا (High-level retries)، زیرا موارد تکراری ایجاد خواهد شد (برای غیرفعال کردن از --retries 1 استفاده کنید)
- •
- احتمالاً برخی از سناریوهای غیرمعمول خطا
همچنین توجه داشته باشید که هر فایل در حین اجرا گزارش میشود، نه پس از آن؛ بنابراین بیشتر به عنوان پیشبینیکنندهای برای آنچه «باید» برای هر فایل رخ دهد مفید است (که ممکن است با آنچه واقعاً رخ داده است مطابقت داشته باشد یا خیر).
-
rclone copyto source:path dest:path [flags]
-
--absolute قرار دادن یک / در ابتدای نام مسیرها --combined string ایجاد گزارش ترکیبی از تغییرات در این فایل --csv خروجی در قالب CSV --dest-after string گزارش تمام فایلهای موجود در مقصد پس از همگامسازی در این فایل --differ string گزارش تمام فایلهای ناهمخوان در این فایل -d, --dir-slash افزودن اسلش به انتهای نام دایرکتوریها (پیشفرض true) --dirs-only فقط فهرست کردن دایرکتوریها --error string گزارش تمام فایلهای دارای خطا (در هشکردن یا خواندن) در این فایل --files-only فقط فهرست کردن فایلها (پیشفرض true) -F, --format string قالب خروجی - برای جزئیات راهنمای lsf را ببینید (پیشفرض "p") --hash h استفاده از این هش هنگامی که h در قالب به کار رفته است: MD5|SHA-1|DropboxHash (پیشفرض "md5") -h, --help راهنمای copyto --match string گزارش تمام فایلهای منطبق در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ در این فایل -s, --separator string جداکننده برای موارد موجود در قالب (پیشفرض ";") -t, --timeformat string تعیین قالب زمانی سفارشی - برای جزئیات مستندات را ببینید (پیشفرض: 2006-01-02 15:04:05)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای کپی (Copy Options)
پرچمها برای هر عملیاتی که میتواند فایلی را کپی کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با استفاده از اندازه و چکسام (در صورت وجود، یا بازگشت به اندازه تنها) --compare-dest stringArray شامل کردن مسیرهای اضافی سمت سرور هنگام مقایسه --copy-dest stringArray ضمن اعمال --compare-dest، فایلها را نیز از مسیرها به مقصد کپی میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت متوقف کردن انتقالها هنگام رسیدن به حد مجاز انتقال HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی --ignore-checksum صرفنظر از بررسی چکسامها پس از کپی --ignore-existing صرفنظر از تمام فایلهایی که در مقصد موجودند --ignore-size نادیده گرفتن اندازه هنگام صرفنظر کردن و استفاده از modtime یا چکسام -I, --ignore-times صرفنظر نکردن از موارد همسان از نظر اندازه و زمان - انتقال همه بدون قید و شرط --immutable عدم تغییر فایلها؛ در صورت تغییر یافتن فایلهای موجود با خطا مواجه شود --inplace بارگیری مستقیم در فایل مقصد بهجای بارگیری اتمیک در فایل موقت/تغییر نام -l, --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' --max-backlog int حداکثر تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration حداکثر مدتی که rclone به انتقال دادهها خواهد پرداخت (پیشفرض 0s) --max-transfer SizeSuffix حداکثر حجم داده برای انتقال (پیشفرض غیرفعال) -M, --metadata در صورت تنظیم، متادیتا هنگام کپی اشیاء حفظ میشود --modify-window Duration حداکثر اختلاف زمانی مجاز برای یکسان در نظر گرفتن (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه قطعه برای بارگیریها/بارگذاریهای چندرشتهای، اگر توسط فایلسیستم تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از بارگیری چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانها برای استفاده در بارگیری چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر درون حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تبدیل مسیرها در طول فرایند کپی --no-check-dest بررسی نکردن مقصد، کپی تحت هر شرایطی --no-traverse عدم پیمایش سیستم فایل مقصد هنگام کپی --no-update-dir-modtime بهروزرسانی نکردن زمان ویرایش دایرکتوریها --no-update-modtime بهروزرسانی نکردن زمان ویرایش (modtime) مقصد در صورت یکسان بودن فایلها --order-by string دستورالعملها برای نحوه اولویتبندی و ترتیب انتقالها، مثلاً 'size,descending' --partial-suffix string افزودن پسوند جزئی به نام فایل موقت هنگامی که --inplace استفاده نشده است (پیشفرض ".partial") --refresh-times تازهسازی زمان ویرایش (modtime) فایلهای راه دور --server-side-across-configs مجاز ساختن عملیاتهای سمت سرور (مانند کپی) بین پیکربندیهای مختلف --size-only صرفنظر کردن فقط بر اساس اندازه، نه modtime یا چکسام --streaming-upload-cutoff SizeSuffix حد آستانه برای جابجایی به بارگذاری تکهای در صورت نامشخص بودن اندازه فایل (پیشفرض 100Ki) -u, --update صرفنظر از فایلهایی که در مقصد جدیدتر هستند
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعال کردن حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر)
پرچمها برای پالایش فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای روی مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (برای خواندن از stdin از - استفاده کنید) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (برای خواندن از stdin از - استفاده کنید) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچ پردازشی روی خطوط (برای خواندن از stdin از - استفاده کنید) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (برای خواندن از stdin از - استفاده کنید) -f, --filter stringArray افزودن یک قاعدهٔ پالایش فایل --filter-from stringArray خواندن الگوهای پالایش فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) --hash-filter string افراز نام فایلها با هش k/n یا تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در پالایهها (حساس نبودن به حروف بزرگ و کوچک) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (برای خواندن از stdin از - استفاده کنید) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --metadata-filter stringArray افزودن یک قاعدهٔ پالایش متاداده --metadata-filter-from stringArray خواندن الگوهای پالایش متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (برای خواندن از stdin از - استفاده کنید) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
گزینههای فهرستبندی (Listing Options)
پرچمها برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورتی که modtime برای فایلها و دایرکتوریها نامشخص باشد (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ حافظهٔ بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone copyurl
کپی کردن محتوای URL ارائهشده به dest:path.
خلاصه دستور (SYNOPSIS)
دانلود محتوای یک URL و کپی کردن آن به مقصد بدون ذخیره در فضای ذخیرهسازی موقت.
تنظیم --auto-filename تلاش خواهد کرد تا نام فایل را بهطور خودکار از URL (پس از هرگونه تغییر مسیر) تشخیص داده و در مسیر مقصد استفاده کند.
علاوه بر این، با --header-filename، اگر نام فایل مشخصی در سرآیندهای HTTP تعیین شده باشد، بهجای نام برگرفته از URL استفاده خواهد شد. علاوه بر این، با --print-filename، نام فایل نهایی چاپ خواهد شد.
تنظیم --no-clobber از بازنویسی فایل در مقصد، در صورتی که فایلی با همان نام وجود داشته باشد، جلوگیری میکند.
تنظیم --stdout یا تعیین نام فایل خروجی بهصورت - باعث میشود که خروجی در خروجی استاندارد نوشته شود.
تنظیم --urls به شما امکان میدهد یک فایل CSV از URLها را در قالب URL, FILENAME وارد کنید. اگر --urls استفاده شود، در آرگومانها فایل حاوی URLها را جایگزین URL کنید، مانند:
-
rclone copyurl --urls myurls.csv remote:dir
نامهای فایل ناموجود بهطور خودکار تولید خواهند شد، معادل استفاده از --auto-filename. توجه داشته باشید که --stdout و --print-filename با --urls ناسازگار هستند. این کار --transfers کپی را بهصورت موازی انجام میدهد. توجه داشته باشید که اگر --auto-filename برای همهٔ URLها مورد نظر باشد، میتوان از فایلی تنها حاوی URLها و بدون نام فایل استفاده کرد.
هر FILENAME در فایل CSV میتواند با یک مسیر نسبی آغاز شود که به مسیر مقصد ارائهشده در خط فرمان ضمیمه خواهد شد. برای مثال، اجرای دستور نشاندادهشده در بالا با فایل CSV زیر، دو فایل را در مقصد خواهد نوشت: remote:dir/local/path/bar.json و remote:dir/another/local/directory/qux.json
-
https://example.org/foo/bar.json,local/path/bar.json https://example.org/qux/baz.json,another/local/directory/qux.json
اگر نمیتوانید rclone copyurl را به کار بیندازید، مواردی وجود دارد که میتوانید امتحان کنید:
- •
-
--disable-http2 در صورت دردسترس بودن، rclone از HTTP2 استفاده خواهد کرد - غیرفعال کردن آن را امتحان کنید
- •
-
--bind 0.0.0.0 در صورت دردسترس بودن، rclone از IPv6 استفاده خواهد کرد - غیرفعال کردن آن را امتحان کنید
- •
-
--bind ::0 برای غیرفعال کردن IPv4
- •
-
--user agent curl - برخی از سایتها دارای فهرست مجاز (whitelist) برای user-agent ابزار curl هستند - این را امتحان کنید
- •
-
مطمئن شوید که سایت با curl بهطور مستقیم کار میکند
-
rclone copyurl https://example.com dest:path [flags]
گزینهها (Options)
-
-a, --auto-filename دریافت نام فایل از URL و استفاده از آن برای مسیر فایل مقصد --header-filename دریافت نام فایل از سرآیند Content-Disposition -h, --help راهنمای copyurl --no-clobber جلوگیری از رونویسی فایلی با همین نام -p, --print-filename چاپ نام بهدستآمده از --auto-filename --stdout نوشتن خروجی در stdout بهجای فایل --urls استفاده از فایل CSV پیوندها برای پردازش چند URL
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run اجرای آزمایشی بدون ایجاد تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ جزئیات بسیار بیشتر (برای جزئیات بیشتر تکرار کنید)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone cryptcheck
دستور cryptcheck صحت و یکپارچگی یک ریموت رمزشده را بررسی میکند.
خلاصه دستور (SYNOPSIS)
یک ریموت را در برابر یک ریموت رمزشده (https://rclone.org/crypt) بررسی میکند. این معادل اجرای rclone check (https://rclone.org/commands/rclone_check) است، با این تفاوت که میتواند چکسامهای ریموت رمزشده را بررسی کند.
برای این که این دستور کار کند، ریموت زیربنایی cryptedremote باید از نوعی چکسام پشتیبانی کند.
نحوهٔ کارکرد آن به این صورت است که nonce را از هر فایل در cryptedremote: خوانده و از آن برای رمزگذاری هر فایل در remote: استفاده میکند. سپس چکسام فایل زیرین در cryptedremote: را با چکسام فایلی که بهتازگی رمزگذاری کرده است مقایسه میکند.
به این صورت از آن استفاده کنید:
-
rclone cryptcheck /path/to/files encryptedremote:path
میتوانید به این شکل نیز از آن استفاده کنید، اما این کار مستلزم بارگیری تمام فایلها در remote:path خواهد بود.
-
rclone cryptcheck remote:path encryptedremote:path
پس از اجرا، وضعیت encryptedremote: را ثبت (log) خواهد کرد.
اگر پرچم --one-way را مشخص کنید، فقط مطابقت داشتن فایلهای مبدأ با فایلهای مقصد را بررسی میکند، نه برعکس. این بدان معناست که فایلهای اضافی موجود در مقصد که در مبدأ نیستند شناسایی نخواهند شد.
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را، هر کدام در یک خط، در نام فایل ارائهشده (یا اگر - باشد در stdout) مینویسند. آنچه مینویسند در راهنمای زیر شرح داده شده است. به عنوان مثال، --differ تمام مسیرهایی را که هم در مبدأ و هم در مقصد وجود دارند اما متفاوت هستند، خواهد نوشت.
پرچم --combined فایلی (یا در stdout) مینویسد که شامل تمام مسیرهای فایل است همراه با یک نماد و سپس یک فاصله و بعد مسیر فایل، تا نشان دهد چه اتفاقی برای آن افتاده است. این ساختار یادآور فایلهای diff است.
- •
- = path به این معنی است که مسیر در مبدأ و مقصد یافت شد و یکسان بود.
- •
- - path به این معنی است که مسیر در مبدأ وجود نداشت و فقط در مقصد بود.
- •
- + path به این معنی است که مسیر در مقصد وجود نداشت و فقط در مبدأ بود.
- •
- * path به این معنی است که مسیر در مبدأ و مقصد وجود داشت اما متفاوت بود.
- •
- ! path به این معنی است که هنگام خواندن یا هش کردن مبدأ یا مقصد خطایی رخ داده است.
تعداد پیشفرض بررسیهای موازی ۸ است. برای اطلاعات بیشتر گزینهٔ --checkers (https://rclone.org/docs/#checkers-int) را ببینید.
-
rclone cryptcheck remote:path cryptedremote:path [flags]
-
--combined string ایجاد گزارش ترکیبی از تغییرات در این فایل --differ string گزارش تمام فایلهای ناهمخوان در این فایل --error string گزارش تمام فایلهای دارای خطا (هشکردن یا خواندن) در این فایل -h, --help راهنمای cryptcheck --match string گزارش تمام فایلهای همخوان در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ در این فایل --one-way بررسی فقط بهصورت یکطرفه؛ فایلهای مبدأ باید روی ریموت موجود باشند
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای بررسی (Check Options)
پرچمهای مورد استفاده برای دستورهای بررسی (check)
-
--max-backlog int حداکثر تعداد اشیاء در صف انتظار همگامسازی یا بررسی (پیشفرض 10000)
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هرگونه پردازش روی خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها بر اساس هش k/n یا تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration انتقال فقط فایلهای جدیدتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix انتقال فقط فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن متادیتاهای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متادیتا --metadata-filter-from stringArray خواندن الگوهای فیلتر متادیتا از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادیتاهای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (استفاده از - برای خواندن از stdin) --min-age Duration انتقال فقط فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix انتقال فقط فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش)
گزینههای فهرستبندی (Listing Options)
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمانی که در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها نمایش داده میشود (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت موجود بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone cryptdecode
دستور Cryptdecode نامهای غیررمزگذاریشدهٔ فایلها را بازمیگرداند.
خلاصه دستور (SYNOPSIS)
هنگامی که فهرستی از نامهای رمزگذاریشدهٔ فایلها به آن داده شود، نامهای غیررمزگذاریشده را بازمیگرداند. محدودیت این فهرست ۱۰ مورد است.
اگر پرچم --reverse را تعیین کنید، نامهای رمزگذاریشدهٔ فایلها را بازمیگرداند.
نحوهٔ استفاده به این صورت است:
-
rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2 rclone cryptdecode --reverse encryptedremote: filename1 filename2
روش دیگر برای انجام این کار استفاده از دستور rclone backend encode (یا decode) است. برای اطلاعات بیشتر، مستندات مربوط به لایهٔ crypt (https://rclone.org/crypt) را ببینید.
-
rclone cryptdecode encryptedremote: encryptedfilename [flags]
-
-h, --help راهنمای cryptdecode --reverse معکوس کردن cryptdecode، نام فایلها را رمزگذاری میکند
برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، به صفحه پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone deletefile
حذف یک فایل منفرد از ریموت.
خلاصه دستور (SYNOPSIS)
حذف یک فایل منفرد از ریموت. برخلاف delete نمیتوان از آن برای حذف یک دایرکتوری استفاده کرد و از فیلترهای include/exclude پیروی نمیکند - اگر فایل مشخصشده وجود داشته باشد، همیشه حذف خواهد شد.
-
rclone deletefile remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای deletefile
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، به صفحه پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید.
گزینههای مهم
پرچمهای مهم و کاربردی برای اکثر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ جزئیات بسیار بیشتر (برای موارد بیشتر تکرار کنید)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone gendocs
خروجی دادن مستندات markdown برای rclone در دایرکتوری ارائهشده.
خلاصه دستور (SYNOPSIS)
این دستور مستندات markdown را برای دستورهای rclone در دایرکتوری ارائهشده تولید میکند. این مستندات در قالبی مناسب هستند تا hugo بتواند آنها را برای وبسایت rclone.org رندر کند.
-
rclone gendocs output_directory [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای gendocs
برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، به صفحه پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنمای دستورها، پرچمها و backendهای rclone.
rclone gitannex
از طریق stdin/stdout با git-annex ارتباط برقرار میکند.
خلاصه دستور (SYNOPSIS)
زیرفرمان gitannex در rclone به git-annex (https://git-annex.branchable.com) امکان میدهد تا محتوا را در یک ریموت rclone ذخیره و بازیابی کند. این زیرفرمان برای اجرا توسط خود git-annex طراحی شده است، نه اجرای مستقیم توسط کاربران.
نصب در لینوکس (INSTALLATION ON LINUX)
- 1.
- اگر نسخه git-annex شما 10.20240430 (https://git-annex.branchable.com/news/version_10.20240430) یا جدیدتر است، از این مرحله صرفنظر کنید. در غیر این صورت، باید در مکانی روی PATH خود یک پیوند نمادین (symlink) با نامی مشخص ایجاد کنید. این پیوند نمادین به git-annex کمک میکند تا به rclone اعلام کند که قصد اجرای زیرفرمان "gitannex" را دارد.
ایجاد پیوند نمادین کمکی در "$HOME/bin":
-
ln -s "$(realpath rclone)" "$HOME/bin/git-annex-remote-rclone-builtin" بررسی کنید که پیوند نمادین جدید در PATH شما قرار دارد: ```console which git-annex-remote-rclone-builtin
- 2.
- یک ریموت جدید به مخزن git-annex خود اضافه کنید. این ریموت جدید git-annex را به زیرفرمان rclone gitannex متصل میکند.
با درخواست از git-annex برای توصیف پارامترهای پیکربندی موجود ریموت شروع کنید.
اگر از مرحله ۱ صرفنظر کردید:
-
git annex initremote MyRemote type=rclone --whatelse
اگر در مرحله ۱ یک پیوند نمادین ایجاد کردید:
-
git annex initremote MyRemote type=external externaltype=rclone-builtin --whatelse
نکته: اگر در حال انتقال ریموت موجود git-annex-remote-rclone (https://github.com/git-annex-remote-rclone/git-annex-remote-rclone) برای استفاده از rclone gitannex هستید، احتمالاً میتوانید از پارامترهای پیکربندی عیناً و بدون تغییر نام استفاده کنید. مترادفهای پارامترها را با --whatelse همانطور که در بالا نشان داده شده است بررسی کنید.
مثال زیر یک ریموت git-annex جدید به نام "MyRemote" ایجاد میکند که از ریموت rclone به نام "SomeRcloneRemote" استفاده خواهد کرد. آن ریموت rclone باید در فایل rclone.conf شما پیکربندی شده باشد، که محل قرارگیری آن با دستور rclone config file قابل تشخیص است.
-
git annex initremote MyRemote \ type=external \ externaltype=rclone-builtin \ encryption=none \ rcloneremotename=SomeRcloneRemote \ rcloneprefix=git-annex-content \ rclonelayout=nodir
- 3.
- پیش از آنکه دادههای باارزش خود را به این دستور بسپارید، حتماً ریموت را آزمایش کنید. این دستور بسیار جدید است و بر روی بسیاری از backendهای rclone آزمایش نشده است. احتیاط کنید (مسئولیت استفاده بر عهده خودتان است)!
-
git annex testremote MyRemote
ضمیمهسازی موفقی داشته باشید!
-
rclone gitannex [flags]
-
-h, --help راهنمایی برای gitannex
برای دیدن گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنمایی برای دستورها، پرچمها و backendهای rclone.
rclone gui
باز کردن رابط کاربری گرافیکی (GUI) مبتنی بر وب.
خلاصه دستور (SYNOPSIS)
این دستور یک رابط کاربری گرافیکی (GUI) تحت وبِ تعبیهشده را برای rclone راهاندازی میکند و آن را در مرورگر پیشفرض شما باز میکند.
این دستور یک سرور RC API و یک سرور GUI را روی درگاههای جداگانهٔ localhost راهاندازی میکند، اعتبارنامههای ورود را بهطور خودکار تولید میکند مگر اینکه --no-auth مشخص شده باشد، و مرورگر را در حالت از پیش احراز هویت شده باز میکند.
-
rclone gui
بهطور پیشفرض rclone gui رابط کاربری تحت وبی را ارائه میدهد که در زمان ساخت، از https://github.com/rclone/rclone-web درون فایل باینری rclone تعبیه شده است. شما میتوانید با مشخص کردن مسیر یک دایرکتوری استخراجشدهٔ GUI یا یک آرشیو dist.zip (برای مثال فایلی که از صفحهٔ انتشارهای rclone-web بارگیری شده باشد) این رفتار را جایگزین کنید:
-
rclone gui ./my-dist/ rclone gui ./dist.zip
این قابلیت برای توسعه و آزمایش مکرر روی GUI بهصورت محلی بدون نیاز به ساخت مجدد rclone، یا برای ارائهٔ نسخهای از GUI متفاوت با نسخهٔ تعبیهشده، کاربردی است.
از --no-open-browser برای جلوگیری از باز شدن خودکار مرورگر استفاده کنید:
-
rclone gui --no-open-browser
از --addr برای مقید کردن GUI به یک نشانی مشخص استفاده کنید:
-
rclone gui --addr localhost:5580
از --user و --pass برای تنظیم اعتبارنامههای ورود مشخص استفاده کنید:
-
rclone gui --user admin --pass secret
از --no-auth برای غیرفعال کردن کامل احراز هویت استفاده کنید:
-
rclone gui --no-auth
برای راهنمایی بیشتر، مستندات GUI را ببینید (https://rclone.org/gui).
-
rclone gui [path] [flags]
-
--addr stringArray IPaddress:Port برای سرور GUI (پیشفرض: درگاه خودکار انتخابشده روی localhost) --api-addr stringArray IPaddress:Port برای سرور RC API (پیشفرض: درگاه خودکار انتخابشده روی localhost) --enable-metrics فعالسازی اندپوینت سازگار با OpenMetrics/Prometheus در /metrics -h, --help راهنمای gui --no-auth عدم نیاز به احراز هویت برای RC API --no-open-browser صرفنظر از باز کردن خودکار مرورگر --pass string گذرواژه برای احراز هویت RC --user string نام کاربری برای احراز هویت RC
گزینههای مشترک با سایر دستورها در ادامه توضیح داده شدهاند. برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای RC
پرچمهایی برای کنترل API کنترل از راه دور (Remote Control)
-
--rc فعالسازی سرور کنترل از راه دور (remote control) --rc-addr stringArray IPaddress:Port یا :Port برای مقید کردن سرور به آن (پیشفرض localhost:5572) --rc-allow-origin string مبدأیی که درخواست بیندامنه (CORS) میتواند از آن اجرا شود --rc-baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید --rc-cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) --rc-client-ca string مرجع صدور گواهی (CA) کلاینت جهت اعتبارسنجی کلاینتها --rc-enable-metrics فعالسازی مسیر معیارهای Prometheus در سرور کنترل از راه دور --rc-files string مسیر فایلهای محلی برای ارائه در سرور HTTP --rc-htpasswd string یک فایل htpasswd - در صورت عدم ارائه، احراز هویتی انجام نمیشود --rc-job-expire-duration Duration منقضی کردن کارهای غیرهمگام پایانیافته قدیمیتر از این مقدار (پیشفرض 1m0s) --rc-job-expire-interval Duration بازه زمانی بررسی کارهای غیرهمگام منقضیشده (پیشفرض 10s) --rc-key string کلید خصوصی TLS PEM --rc-max-header-bytes int حداکثر اندازه هدر درخواست (پیشفرض 4096) --rc-min-tls-version string حداقل نسخه قابل قبول TLS (پیشفرض "tls1.0") --rc-no-auth عدم نیاز به احراز هویت برای متدهای خاص --rc-pass string گذرواژه برای احراز هویت --rc-realm string حوزه (Realm) برای احراز هویت --rc-response-header stringArray تنظیم هدر HTTP برای همه پاسخها، با بازنویسی مقادیر موجود --rc-salt string سالت درهمسازی گذرواژه (پیشفرض "dlPL2MqE") --rc-serve فعالسازی ارائه اشیاء دوردست (remote) --rc-serve-no-modtime عدم خواندن زمان تغییر (میتواند کارها را سریعتر کند) --rc-server-read-timeout Duration مهلت زمانی خواندن داده توسط سرور (پیشفرض 1h0m0s) --rc-server-write-timeout Duration مهلت زمانی نوشتن داده توسط سرور (پیشفرض 1h0m0s) --rc-template string قالب مشخصشده توسط کاربر --rc-user string نام کاربری برای احراز هویت --rc-user-from-header string نام کاربری از یک هدر تعریفشده HTTP --rc-web-fetch-url string آدرس URL برای دریافت انتشارها برای webgui (پیشفرض "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest") --rc-web-gui راهاندازی WebGUI روی localhost --rc-web-gui-force-update اجبار به بهروزرسانی به آخرین نسخه web gui --rc-web-gui-no-open-browser عدم باز کردن خودکار مرورگر --rc-web-gui-update بررسی و بهروزرسانی به آخرین نسخه web gui
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone hashsum
یک فایل hashsum برای همه اشیاء موجود در مسیر تولید میکند.
خلاصه دستور (SYNOPSIS)
با استفاده از درهمساز (hash) نامبردهشده، یک فایل هش برای همه اشیاء موجود در مسیر تولید میکند. خروجی در همان قالب ابزار استاندارد md5sum/sha1sum است.
بهطور پیشفرض، هش از remote درخواست میشود. اگر هش توسط remote پشتیبانی نشود، هیچ هشی بازگردانده نخواهد شد. با پرچم download، فایل از remote بارگیری شده و بهصورت محلی هش میشود که امکان استفاده از هر هشی را برای هر remote فراهم میکند.
برای الگوریتمهای MD5 و SHA1 دستورهای اختصاصی نیز وجود دارد: md5sum (https://rclone.org/commands/rclone_md5sum) و sha1sum (https://rclone.org/commands/rclone_sha1sum).
این دستور همچنین میتواند دادههای دریافتشده از ورودی استاندارد (stdin) را هش کند؛ با مشخص نکردن remote:path، یا با ارسال یک خط تیره به عنوان remote:path در زمانی که دادهای برای خواندن وجود دارد (اگر دادهای نباشد، خط تیره بهصورت لفظی و به عنوان یک مسیر نسبی در نظر گرفته خواهد شد).
برای مشاهدهٔ فهرست تمام هشهای پشتیبانیشده، آن را بدون هش اجرا کنید؛ مانند:
-
$ rclone hashsum Supported hashes are: - md5 - sha1 - whirlpool - crc32 - sha256 - sha512 - blake3 - xxh3 - xxh128
سپس
-
rclone hashsum MD5 remote:path
توجه داشته باشید که نامهای هش به حروف بزرگ و کوچک حساس نیستند و مقادیر با حروف کوچک خروجی داده میشوند.
-
rclone hashsum [<hash> remote:path] [flags]
-
--base64 خروجی مجموع هش با کدگذاری base64 -C, --checkfile string اعتبارسنجی هشها در برابر یک فایل SUM معین به جای چاپ آنها --download دانلود فایل و محاسبه هش محلی آن؛ اگر این پرچم مشخص نشود، هش از ریموت درخواست میشود -h, --help راهنمای hashsum --output-file string ارسال خروجی هشها به یک فایل به جای ترمینال
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای عمومی (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرستبندیهای دایرکتوری
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از یک فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچگونه پردازش خطوط (استفاده از - برای stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با جداکننده NUL (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از یک فایل (استفاده از - برای خواندن از stdin) --max-age Duration انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض 1-) --max-size SizeSuffix انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض غیرفعال) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --min-size SizeSuffix انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض غیرفعال)
گزینههای فهرستبندی (Listing Options)
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت موجود بودن؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone link
تولید پیوند عمومی به فایل/پوشه.
خلاصه دستور (SYNOPSIS)
ایجاد، بازیابی یا حذف پیوند عمومی برای فایل یا پوشه دادهشده.
-
rclone link remote:path/to/file rclone link remote:path/to/folder/ rclone link --unlink remote:path/to/folder/ rclone link --expire 1d remote:path/to/file
اگر پرچم --expire را مشخص کنید، زمان انقضا را تعیین میکند؛ در غیر این صورت از مقدار پیشفرض (۱۰۰ سال) استفاده خواهد کرد. نکته همه backendها از پرچم --expire پشتیبانی نمیکنند - اگر backend از آن پشتیبانی نکند، پیوند بازگرداندهشده منقضی نخواهد شد.
برای حذف پیوندهای عمومی موجودِ فایل یا پوشه، از پرچم --unlink استفاده کنید. نکته همه backendها از پرچم "--unlink" پشتیبانی نمیکنند - مواردی که پشتیبانی نمیکنند صرفاً آن را نادیده میگیرند.
در صورت موفقیت، آخرین خط خروجی حاوی پیوند خواهد بود. قابلیتهای دقیق به ریموت بستگی دارد، اما پیوند بهطور پیشفرض همواره با کمترین محدودیتها ایجاد میشود - برای مثال بدون انقضا، بدون محافظت با گذرواژه، و قابل دسترس بدون حساب کاربری.
-
rclone link remote:path [flags]
-
--expire Duration مدت زمانی که پیوند معتبر خواهد بود (پیشفرض غیرفعال) -h, --help راهنمای link --unlink حذف پیوند عمومی موجود به فایل/پوشه
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone listremotes
فهرست کردن تمام ریموتهای موجود در فایل پیکربندی و متغیرهای محیطی تعریفشده.
خلاصه دستور (SYNOPSIS)
تمام ریموتهای موجود در فایل پیکربندی یا ریموتهای منطبق با یک فیلتر اختیاری را فهرست میکند.
بهطور پیشفرض نتیجه را در قالبی خوانا برای انسان و به صورت فهرستی ساده از نامهای ریموت چاپ میکند؛ یا اگر همراه با پرچم --long استفاده شود، در یک قالب جدولبندیشده شامل نامها، نوعها و توضیحات ریموت نمایش میدهد. استفاده از پرچم --json در عوض خروجی ماشینخوان تولید میکند که همیشه شامل همه مشخصهها - از جمله منبع (فایل یا محیط) - است.
نتیجه میتواند با یک آرگومان فیلتر که برای تمام مشخصهها اعمال میشود، و/یا پرچمهای فیلتر ویژهٔ هر مشخصه پالایش شود. مقادیر باید مطابق با نحو الگوی پالایش معمول rclone مشخص شوند.
بهطور پیشفرض، پالایش از تطبیق مهارنشده (non-anchored) استفاده میکند، بنابراین --type box با dropbox نیز تطابق دارد. برای تطبیق صرفاً مقادیر کامل، از --exact استفاده کنید.
-
rclone listremotes [<filter>] [flags]
گزینهها (OPTIONS)
-
--description string پالایش ریموتها بر اساس توضیحات --exact تطبیق دقیق رشتههای فیلتر به جای استفاده از تطبیق glob مهارنشده -h, --help راهنمای listremotes --json قالببندی خروجی به صورت JSON --long نمایش نوع و توضیحات علاوه بر نام --name string پالایش ریموتها بر اساس نام --order-by string دستورالعملها برای نحوه مرتبسازی نتیجه، مثلاً 'type,name=descending' --source string پالایش ریموتها بر اساس منبع، مثلاً 'file' یا 'environment' --type string پالایش ریموتها بر اساس نوع
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone lsf
فهرست کردن دایرکتوریها و اشیاء در remote:path با قالب مناسب برای تجزیه.
خلاصه دستور (SYNOPSIS)
محتویات مسیر مبدأ (دایرکتوریها و اشیاء) را در قالبی که تجزیه آن توسط اسکریپتها آسان باشد در خروجی استاندارد فهرست میکند. بهطور پیشفرض این خروجی فقط شامل نامهای اشیاء و دایرکتوریها خواهد بود، هر کدام در یک خط. دایرکتوریها دارای پسوند / خواهند بود.
برای نمونه:
-
$ rclone lsf swift:bucket bevajer5jef canole diwogej7 ferejej3gux/ fubuwic
از گزینهٔ --format برای کنترل مواردی که فهرست میشوند استفاده کنید. بهطور پیشفرض این مقدار فقط مسیر است، اما میتوانید از این پارامترها برای کنترل خروجی استفاده کنید:
-
p - مسیر (path) s - اندازه (size) t - زمان تغییر (modification time) h - هش (hash) i - شناسه شیء (ID) o - شناسه اصلی شیء زیرین m - نوع MimeType شیء در صورت مشخص بودن e - نام رمزگذاریشده T - لایه ذخیرهسازی در صورت مشخص بودن، مثلاً "Hot" یا "Cool" M - متادیتای شیء در قالب JSON blob، مثلاً {"key":"value"}
برخی از backendها از شناسههای ترکیبی استفاده میکنند. بهویژه میانبرهای Google Drive معمولاً ارجاعزدایی میشوند و فیلد "i" آنها شامل شناسه شیء هدف و به دنبال آن شناسه میانبر است که با یک tab از هم جدا شدهاند. این tab بخشی از فیلد شناسه است و با --separator تغییر نمیکند. برای نادیده گرفتن مدخلهای میانبر، از --drive-skip-shortcuts استفاده کنید.
بنابراین اگر مسیر، اندازه و زمان تغییر را میخواهید، از --format "pst" یا احتمالاً از --format "tsp" برای قرار دادن مسیر در انتها استفاده میکنید.
برای نمونه:
-
$ rclone lsf --format "tsp" swift:bucket 2016-06-25 18:55:41;60295;bevajer5jef 2016-06-25 18:55:43;90613;canole 2016-06-25 18:55:43;94467;diwogej7 2018-04-26 08:50:45;0;ferejej3gux/ 2016-06-25 18:55:40;37600;fubuwic
اگر در قالب از "h" استفاده کنید، بهطور پیشفرض هش MD5 را دریافت خواهید کرد؛ برای تغییر نوع هش دلخواه از پرچم --hash استفاده کنید. توجه داشته باشید که اگر هش روی شیء در دسترس نباشد (و برای دایرکتوریها) ممکن است به صورت یک رشته خالی برگردانده شود، اگر خطایی در خواندن آن از شیء وجود داشته باشد مقدار "ERROR" و اگر آن شیء از آن نوع هش پشتیبانی نکند مقدار "UNSUPPORTED" بازگردانده میشود.
برای مثال، جهت شبیهسازی دستور md5sum میتوانید از این دستور استفاده کنید:
-
rclone lsf -R --hash MD5 --format hp --separator " " --files-only .
برای نمونه:
-
$ rclone lsf -R --hash MD5 --format hp --separator " " --files-only swift:bucket 7908e352297f0f530b84a756f188baa3 bevajer5jef cd65ac234e6fea5925974a51cdd865cc canole 03b5341b4f234b9d984d03ad076bae91 diwogej7 8fd37c3810dd660778137ac3a66cc06d fubuwic 99713e14a4c4ff553acaf1930fad985b gixacuh7ku
(اگرچه دستور "rclone md5sum ." روش سادهتری برای نوشتن این کار است.)
بهطور پیشفرض جداکننده ";" است؛ این مقدار با پرچم --separator قابل تغییر است. توجه داشته باشید که جداکنندهها در مسیر escape نمیشوند، بنابراین قرار دادن آن در آخر یک راهکار مناسب است.
برای نمونه:
-
$ rclone lsf --separator "," --format "tshp" swift:bucket 2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef 2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole 2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7 2018-04-26 08:52:53,0,,ferejej3gux/ 2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic میتوانید خروجی را در قالب استاندارد CSV تولید کنید. این کار مواردی را که حاوی کاما (,) باشند، درون " گریزدهی (escape) میکند.
برای مثال:
-
$ rclone lsf --csv --files-only --format ps remote:path test.log,22355 test.sh,449 "this file contains a comma, in the file name.txt",6
توجه داشته باشید که پارامتر --absolute برای ساخت فهرستهایی از فایلها جهت ارسال به rclone copy با پرچم --files-from-raw مفید است.
برای مثال، برای یافتن تمام فایلهای تغییریافته طی یک روز و کپی کردن تنها همان فایلها (بدون پیمایش کل ساختار دایرکتوری):
-
rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files rclone copy --files-from-raw new_files /path/to/local remote:path
قالب زمانی پیشفرض '2006-01-02 15:04:05' است. سایر قالبها (https://pkg.go.dev/time#pkg-constants) را میتوان با پرچم --time-format مشخص کرد. مثالها:
-
rclone lsf remote:path --format pt --time-format 'Jan 2, 2006 at 3:04pm (MST)' rclone lsf remote:path --format pt --time-format '2006-01-02 15:04:05.000000000' rclone lsf remote:path --format pt --time-format '2006-01-02T15:04:05.999999999Z07:00' rclone lsf remote:path --format pt --time-format RFC3339 rclone lsf remote:path --format pt --time-format DateOnly rclone lsf remote:path --format pt --time-format max rclone lsf remote:path --format pt --time-format unix rclone lsf remote:path --format pt --time-format unixnano
گزینهٔ --time-format max بهطور خودکار 2006-01-02 15:04:05.000000000 را به حداکثر دقت پشتیبانیشده توسط ریموت کوتاه میکند.
هر یک از گزینههای فیلتر کردن را میتوان بر روی این دستور اعمال کرد.
چندین دستور فهرستبندی مرتبط وجود دارد:
- •
- ls تنها برای فهرست کردن اندازه و مسیر اشیاء
- •
- lsl تنها برای فهرست کردن زمان تغییر، اندازه و مسیر اشیاء
- •
- lsd تنها برای فهرست کردن دایرکتوریها
- •
- lsf برای فهرست کردن اشیاء و دایرکتوریها در قالبی با تجزیهٔ آسان
- •
- lsjson برای فهرست کردن اشیاء و دایرکتوریها در قالب JSON
دستورهای ls، lsl و lsd بهگونهای طراحی شدهاند که برای انسان خوانا باشند. lsf برای خوانایی همزمان توسط انسان و ماشین طراحی شده است. lsjson برای خوانایی توسط ماشین طراحی شده است.
توجه داشته باشید که ls و lsl بهطور پیشفرض بازگشتی عمل میکنند - از --max-depth 1 برای متوقف کردن بازگشت استفاده کنید.
سایر دستورهای فهرستگیری مانند lsd، lsf و lsjson بهطور پیشفرض بازگشتی نیستند - از -R برای بازگشتی کردن آنها استفاده کنید.
دستورهای فهرستگیری بهطور پیشفرض روش بازگشتی را ترجیح میدهند که از حافظهٔ بیشتر اما تراکنشهای کمتری استفاده میکند. برای غیرفعال کردن این رفتار از --disable ListR استفاده کنید. برای جزئیات بیشتر --fast-list (https://rclone.org/docs/#fast-list) را ببینید.
فهرست کردن یک دایرکتوری ناموجود منجر به بروز خطا میشود، مگر در ریموتهایی که نمیتوانند دایرکتوری خالی داشته باشند (مانند s3، swift یا gcs - ریموتهای مبتنی بر باکت).
-
rclone lsf remote:path [flags]
-
--absolute قرار دادن / در ابتدای نامهای مسیر --csv خروجی در قالب CSV -d, --dir-slash افزودن اسلش به انتهای نامهای دایرکتوری (پیشفرض true) --dirs-only فقط فهرست کردن دایرکتوریها --files-only فقط فهرست کردن فایلها -F, --format string قالب خروجی - برای جزئیات به راهنما مراجعه کنید (پیشفرض "p") --hash h استفاده از این هش هنگامی که h در قالب استفاده میشود MD5|SHA-1|DropboxHash (پیشفرض "md5") -h, --help راهنمای lsf -R, --recursive پیمایش بازگشتی در فهرست -s, --separator string جداکننده برای موارد موجود در قالب (پیشفرض ";") -t, --time-format string مشخص کردن قالب زمانی سفارشی - برای جزئیات به مستندات مراجعه کنید (پیشفرض: 2006-01-02 15:04:05)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمهایی برای فیلتر کردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای روی مقصد که از همگامسازی استثنا شدهاند --exclude stringArray استثنا کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (از - برای خواندن از stdin استفاده کنید) --exclude-if-present stringArray استثنا کردن دایرکتوریها در صورت وجود filename --files-from stringArray خواندن فهرست نامهای فایل منبع از فایل (از - برای خواندن از stdin استفاده کنید) --files-from-raw stringArray خواندن فهرست نامهای فایل منبع از فایل بدون هیچگونه پردازش خطوط (از - برای خواندن از stdin استفاده کنید) --files-from0 stringArray خواندن فهرست نامهای فایل منبع از فایل با استفاده از NUL به عنوان جداکننده (از - برای خواندن از stdin استفاده کنید) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (از - برای خواندن از stdin استفاده کنید) --hash-filter string افراز نامهای فایل بر اساس هش k/n یا تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف کوچک و بزرگ) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (از - برای خواندن از stdin استفاده کنید) --max-age Duration انتقال تنها فایلهای تازهتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix انتقال تنها فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray استثنا کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (از - برای خواندن از stdin استفاده کنید) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (از - برای خواندن از stdin استفاده کنید) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (از - برای خواندن از stdin استفاده کنید) --min-age Duration انتقال تنها فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix انتقال تنها فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
گزینههای فهرستبندی (Listing Options)
پرچمهایی برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت موجود بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone lsjson
فهرست کردن دایرکتوریها و اشیاء موجود در مسیر در قالب JSON.
خلاصه دستور (SYNOPSIS)
فهرست کردن دایرکتوریها و اشیاء موجود در مسیر در قالب JSON.
خروجی آرایهای از موردها (Items) است، که هر مورد به این صورت است:
-
{ "Hashes" : { "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f", "MD5" : "b1946ac92492d2347c6235b4d2611184", "DropboxHash" : "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc" }, "ID": "y2djkhiujf83u33", "OrigID": "UYOJVTUW00Q1RzTDA", "IsBucket" : false, "IsDir" : false, "MimeType" : "application/octet-stream", "ModTime" : "2017-05-31T16:15:57.034468261+01:00", "Name" : "file.txt", "Encrypted" : "v0qpsdq8anpci8n929v3uu9338", "EncryptedPath" : "kja9098349023498/v0qpsdq8anpci8n929v3uu9338", "Path" : "full/path/goes/here/file.txt", "Size" : 6, "Tier" : "hot", }
مجموعهٔ دقیق ویژگیهای گنجاندهشده به backend بستگی دارد:
- •
- ویژگی IsBucket فقط برای ریموتهای مبتنی بر باکت و تنها برای دایرکتوریهایی که باکت هستند گنجانده میشود. این ویژگی در صورتی که مقدار آن true نباشد همیشه حذف خواهد شد.
- •
- ویژگیهای Encrypted و EncryptedPath فقط برای ریموتهای رمزگذاریشده و (همانطور که در زیر اشاره شده) تنها در صورت تنظیم گزینهٔ --encrypted گنجانده میشوند.
گزینههای مختلف ممکن است بر اینکه کدام ویژگیها گنجانده شوند نیز تأثیر بگذارند:
- •
- اگر --hash مشخص نشده باشد، ویژگی Hashes حذف خواهد شد. انواع هش را میتوان با پارامتر --hash-type مشخص کرد (که ممکن است تکرار شود). تنظیم --hash-type به معنی فعال شدن ضمنی --hash است.
- •
- اگر --no-modtime مشخص شود، ویژگی ModTime خالی خواهد بود. این کار میتواند در ریموتهایی که خواندن ModTime در آنها نیازمند یک درخواست اضافی است (مانند s3، swift) به کارها سرعت ببخشد.
- •
- اگر --no-mimetype مشخص شود، ویژگی MimeType خالی خواهد بود. این کار میتواند در ریموتهایی که خواندن MimeType در آنها نیازمند یک درخواست اضافی است (مانند s3، swift) به کارها سرعت ببخشد.
- •
- اگر --encrypted مشخص نشود، ویژگیهای Encrypted و EncryptedPath حذف خواهند شد - حتی برای ریموتهای رمزگذاریشده.
- •
- اگر --metadata تنظیم شود، یک ویژگی اضافی Metadata برگردانده خواهد شد. این ویژگی حاوی متاداده (https://rclone.org/docs/#metadata) در قالب استاندارد rclone به صورت یک شیء JSON خواهد بود.
حالت پیشفرض، فهرست کردن دایرکتوریها و فایلها/اشیاء است، اما این رفتار را میتوان با گزینههای زیر تغییر داد:
- •
- اگر --dirs-only مشخص شود، تنها دایرکتوریها برگردانده خواهند شد، نه فایلها/اشیاء.
- •
- اگر --files-only مشخص شود، تنها فایلها برگردانده خواهند شد، نه دایرکتوریها.
اگر --stat تنظیم شود، خروجی آرایهای از موارد نخواهد بود، بلکه در عوض یک تکبلوک JSON دربارهٔ موردی که به آن اشاره شده برگردانده میشود. این حالت در صورتی که مورد یافت نشود خطایی برمیگرداند؛ با این حال در backendهای مبتنی بر باکت (مانند s3، gcs، b2، azureblob و غیره) در صورت پیدا نشدن مورد، یک دایرکتوری خالی برمیگرداند، چرا که در آنجا تشخیص دایرکتوریهای خالی از دایرکتوریهای ناموجود امکانپذیر نیست.
فیلد Path تنها پوشههای زیر مسیر ریموتِ در حال فهرست شدن را نمایش میدهد. اگر "remote:path" حاوی فایل "subfolder/file.txt" باشد، مقدار Path برای "file.txt" برابر با "subfolder/file.txt" خواهد بود، نه "remote:path/subfolder/file.txt". هنگام استفاده بدون --recursive مقدار Path همواره با Name یکسان خواهد بود.
زمان در قالب RFC3339 با دقت حداکثر تا نانوثانیه است. تعداد ارقام اعشاری در ثانیهها به دقتی که ریموت میتواند زمانها را نگهداری کند بستگی دارد؛ بنابراین اگر زمانها تا نزدیکترین میلیثانیه دقیق باشند (مانند Google Drive) همیشه ۳ رقم نمایش داده میشود ("2017-05-31T16:15:57.034+01:00")، در حالی که اگر زمانها تا نزدیکترین ثانیه دقیق باشند (Dropbox، Box، WebDav و غیره) هیچ رقمی نمایش داده نخواهد شد ("2017-05-31T16:15:57+01:00").
کل خروجی را میتوان به عنوان یک بلوک JSON پردازش کرد، یا متناوباً میتوان آن را خط به خط پردازش نمود زیرا هر مورد در خطوط جداگانه نوشته میشود (به جز در صورت استفاده از --stat).
هر یک از گزینههای فیلتر کردن را میتوان بر این دستور اعمال کرد.
چندین دستور فهرستبندی مرتبط دیگر نیز وجود دارد:
- •
- دستور ls تنها برای فهرست کردن اندازه و مسیر اشیاء
- •
- دستور lsl تنها برای فهرست کردن زمان تغییر، اندازه و مسیر اشیاء.IP • 2 lsd فقط برای فهرست کردن دایرکتوریها
- •
- lsf برای فهرست کردن اشیاء و دایرکتوریها در قالبی با تجزیه آسان
- •
- lsjson برای فهرست کردن اشیاء و دایرکتوریها در قالب JSON
دستورهای ls، lsl و lsd به گونهای طراحی شدهاند که برای انسان خوانا باشند. دستور lsf برای خوانایی هم توسط انسان و هم توسط ماشین طراحی شده است. دستور lsjson به گونهای طراحی شده است که برای ماشین خوانا باشد.
توجه داشته باشید که ls و lsl بهطور پیشفرض بهصورت بازگشتی عمل میکنند - برای متوقف کردن پیمایش بازگشتی از --max-depth 1 استفاده کنید.
سایر دستورهای فهرستگیری شامل lsd، lsf و lsjson بهطور پیشفرض بازگشتی نیستند - برای بازگشتی کردن آنها از -R استفاده کنید.
دستورهای فهرستگیری بهطور پیشفرض روشی بازگشتی را ترجیح میدهند که حافظه بیشتری مصرف میکند اما تراکنشهای کمتری دارد. برای غیرفعال کردن این رفتار از --disable ListR استفاده کنید. برای جزئیات بیشتر به --fast-list (https://rclone.org/docs/#fast-list) مراجعه کنید.
فهرست کردن یک دایرکتوری ناموجود منجر به خطا خواهد شد، به جز در ریموتهایی که نمیتوانند دایرکتوری خالی داشته باشند (مانند s3، swift یا gcs - ریموتهای مبتنی بر باکت).
-
rclone lsjson remote:path [flags]
گزینهها (OPTIONS)
-
--dirs-only نمایش تنها دایرکتوریها در فهرست --encrypted نمایش نامهای رمزگذاریشده --files-only نمایش تنها فایلها در فهرست --hash گنجاندن هشها در خروجی (ممکن است زمان بیشتری ببرد) --hash-type stringArray نمایش تنها این نوع هش (میتواند تکرار شود) -h, --help راهنمای lsjson -M, --metadata افزودن متادیتا به فهرست --no-mimetype عدم خواندن نوع mime (میتواند سرعت را افزایش دهد) --no-modtime عدم خواندن زمان تغییر (میتواند سرعت را افزایش دهد) --original نمایش شناسه (ID) شیء زیرین -R, --recursive پیمایش بازگشتی در فهرست --stat فقط بازگرداندن اطلاعات فایل مورد اشاره
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهده گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای فیلتر (Filter Options)
پرچمها برای فیلتر کردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون پردازش خطوط (استفاده از - برای stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با جداکننده NUL (استفاده از - برای stdin) -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از فایل (استفاده از - برای stdin) --hash-filter string افرازبندی نامفایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای stdin) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار به ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، عمق بازگشت را محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنی کردن متادیتای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (استفاده از - برای stdin) --metadata-filter stringArray افزودن یک قانون فیلتر کردن متادیتا --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متادیتا از فایل (استفاده از - برای stdin) --metadata-include stringArray شامل کردن متادیتای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (استفاده از - برای stdin) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار به ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش)
پرچمها برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ مصرف حافظه بیشتر اما تراکنشهای کمتر
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورات، پرچمها و backendهای rclone.
rclone mount
سوار کردن (mount) ریموت بهعنوان سیستمفایل بر روی یک نقطه اتصال (mountpoint).
خلاصه دستور (SYNOPSIS)
دستور Rclone mount به سیستمعاملهای Linux، FreeBSD، macOS و Windows امکان میدهد تا هر یک از سیستمهای ذخیرهسازی ابری Rclone را با استفاده از FUSE بهعنوان یک سیستمفایل سوار (mount) کنند.
ابتدا ریموت خود را با استفاده از rclone config پیکربندی کنید. با دستوراتی مانند rclone ls و غیره بررسی کنید که بهدرستی کار میکند.
در Linux و macOS، میتوانید mount را در هر دو حالت پیشزمینه (foreground) یا پسزمینه (background یا دیمن) اجرا کنید. دستور mount بهطور پیشفرض در حالت پیشزمینه اجرا میشود. برای اجبار به اجرا در حالت پسزمینه، از پرچم --daemon استفاده کنید. در Windows اجرای mount فقط در حالت پیشزمینه امکانپذیر است و این پرچم نادیده گرفته میشود.
در حالت پسزمینه، rclone مانند یک برنامه استاندارد mount در یونیکس عمل میکند: برنامه اصلی آغاز به کار کرده، یک فرایند پسزمینه rclone را برای برپایی و نگهداری نقطه اتصال ایجاد (spawn) میکند، تا زمان موفقیت یا اتمام مهلت زمانی (timeout) منتظر میماند و با کد خروج مناسب پایان مییابد (در صورت شکست، فرایند فرزند را متوقف میکند).
در Linux/macOS/FreeBSD عملیات سوار کردن را به این صورت آغاز کنید، که در آن /path/to/local/mount یک دایرکتوری خالی و موجود است:
-
rclone mount remote:path/to/files /path/to/local/mount
در Windows میتوانید عملیات سوار کردن را به روشهای مختلفی آغاز کنید. برای جزئیات به بخش زیر مراجعه کنید. اگر سوار کردن در حالت پیشزمینه بهصورت تعاملی از یک پنجره کنسول اجرا شود، rclone نقطه اتصال را مدیریت کرده و کنسول را اشغال میکند؛ بنابراین تا زمانی که rclone متوقف شود (مثلاً با فشردن Ctrl-C)، باید از پنجره دیگری برای کار با نقطه اتصال استفاده شود.
مثالهای زیر نقطه اتصال را به یک درایو با تخصیص خودکار، به یک درایو مشخص با شناسه X:، به مسیر C:\path\parent\mount (جایی که درایو یا دایرکتوری والد باید وجود داشته باشد و دایرکتوری mount نباید از قبل وجود داشته باشد، و هنگام سوار کردن بهعنوان یک درایو شبکه پشتیبانی نمیشود)، و آخرین مثال آن را بهعنوان یک اشتراک شبکه \\cloud\remote سوار کرده و به یک درایو با تخصیص خودکار نگاشت میکند:
-
rclone mount remote:path/to/files * rclone mount remote:path/to/files X: rclone mount remote:path/to/files C:\path\parent\mount rclone mount remote:path/to/files \\cloud\remote
هنگامی که برنامه در حالت پیشزمینه پایان مییابد، چه از طریق Ctrl+C یا با دریافت سیگنال SIGINT یا SIGTERM، نقطه اتصال باید بهطور خودکار متوقف شود.
هنگام اجرا در حالت پسزمینه، کاربر باید نقطه اتصال را بهصورت دستی متوقف کند:
-
# Linux fusermount -u /path/to/local/mount #... or on some systems fusermount3 -u /path/to/local/mount # OS X or Linux when using nfsmount umount /path/to/local/mount
عملیات umount ممکن است با شکست مواجه شود، برای مثال زمانی که نقطه اتصال مشغول (busy) باشد. در این شرایط، مسئولیت متوقف کردن دستی نقطه اتصال بر عهده کاربر است.
اندازه سیستمفایل سوارشده بر اساس اطلاعات دریافتشده از ریموت تنظیم خواهد شد، همانند اطلاعاتی که توسط دستور rclone about (https://rclone.org/commands/rclone_about) بازگردانده میشود. ریموتهای دارای فضای نامحدود ممکن است فقط اندازه مصرفشده را گزارش دهند؛ در این صورت فرض میشود که 1 PiB فضای خالی اضافه وجود دارد. اگر ریموت اصلاً از ویژگی about پشتیبانی (https://rclone.org/overview/#optional-features) نکند، مقدار 1 PiB هم بهعنوان اندازه کل و هم بهعنوان فضای خالی در نظر گرفته میشود..SS نصب در ویندوز (Installing on Windows)
برای اجرای rclone mount on Windows، باید WinFsp (https://winfsp.dev) را بارگیری و نصب کنید.
ابزار WinFsp (https://github.com/winfsp/winfsp) یک پروکسی سیستم فایل متنباز برای ویندوز (Windows File System Proxy) است که پیادهسازی سیستمهای فایل در فضای کاربری (user space) را برای ویندوز آسان میکند. این ابزار یک لایه شبیهساز FUSE ارائه میدهد که rclone در ترکیب با cgofuse (https://github.com/winfsp/cgofuse) از آن استفاده میکند. هر دوی این بستهها توسط Bill Zissimopoulos توسعه یافتهاند که در طول پیادهسازی rclone mount برای ویندوز بسیار یاریرسان بود.
حالتهای سوار کردن در ویندوز (Mounting modes on windows)
برخلاف سایر سیستمعاملها، Microsoft Windows نوع سیستم فایل متفاوتی را برای درایوهای شبکه و درایوهای دیسک ثابت (fixed) ارائه میدهد. ویندوز دسترسی را با این فرض بهینهسازی میکند که درایوهای دیسک ثابت سریع و قابل اطمینان هستند، در حالی که درایوهای شبکه تاخیر نسبتاً بالا و قابلیت اطمینان کمتری دارند. برخی تنظیمات نیز میتوانند بین این دو نوع متفاوت باشند؛ برای مثال، اینکه Windows Explorer در درایوهای شبکه تنها آیکونها را نمایش دهد و برای فایلهای ویدیویی و تصویری بندانگشتی (thumbnail) پیشنمایش تولید نکند.
در بیشتر موارد، rclone بهطور پیشفرض ریموت را به عنوان یک درایو دیسک ثابت معمولی سوار (mount) میکند. با این حال، میتوانید آن را به عنوان یک درایو شبکه ریموت، که اغلب به عنوان یک اشتراک شبکه (network share) توصیف میشود نیز سوار کنید. اگر یک ریموت rclone را با استفاده از حالت پیشفرض (درایو ثابت) سوار کردید و با خطاهای غیرمنتظره برنامه، هنگ کردن یا سایر مشکلات مواجه شدید، سوار کردن آن به عنوان درایو شبکه را مد نظر قرار دهید.
هنگام سوار کردن به عنوان درایو دیسک ثابت، میتوانید آن را روی یک حرف درایو (drive letter) بلااستفاده، یا روی مسیری که نشاندهنده یک زیرشاخه ناموجود از یک پوشه یا درایو مادرِ موجود است، سوار کنید. استفاده از مقدار ویژه * به rclone اعلام میکند که اولین حرف درایو در دسترس را بهطور خودکار و با شروع از :Z به سمت عقب اختصاص دهد. مثالها:
-
rclone mount remote:path/to/files * rclone mount remote:path/to/files X: rclone mount remote:path/to/files C:\path\parent\mount rclone mount remote:path/to/files X:
گزینه --volname میتواند برای تنظیم یک نام حجم (volume name) سفارشی برای سیستم فایل سوارشده استفاده شود. حالت پیشفرض، استفاده از نام و مسیر ریموت است.
برای سوار کردن به عنوان درایو شبکه، میتوانید گزینه --network-mode را به دستور mount خود اضافه کنید. سوار کردن روی مسیر یک پوشه در این حالت پشتیبانی نمیشود، این محدودیتی است که ویندوز روی junctionها اعمال میکند، بنابراین ریموت همیشه باید روی یک حرف درایو سوار شود.
-
rclone mount remote:path/to/files X: --network-mode
نام حجمی که با --volname مشخص میشود، برای ایجاد مسیر اشتراک شبکه استفاده خواهد شد. یک مسیر کامل UNC، مانند \\cloud\remote، و در صورت نیاز همراه با مسیر \\cloud\remote\madeup\path، دقیقاً به همان صورت استفاده خواهد شد. هر رشته دیگری پس از پیشوند پیشفرض \\server\ به عنوان بخش اشتراک (share part) به کار خواهد رفت. اگر هیچ نام حجمی مشخص نشود، از \\server\share استفاده میشود. هنگام سوار کردن بیش از یک درایو، باید اطمینان حاصل کنید که نام حجم یکتا است، در غیر این صورت دستور mount شکست خواهد خورد. نام اشتراک به عنوان برچسب حجم (volume label) برای درایو نگاشتشده در نظر گرفته میشود و در Windows Explorer و غیره نمایش مییابد، در حالی که مسیر کامل \\server\share توسط net use و موارد مشابه به عنوان مسیر ریموت UNC گزارش خواهد شد؛ درست مانند نگاشت یک درایو شبکه معمولی.
اگر یک مسیر کامل UNC اشتراک شبکه را با --volname مشخص کنید، این کار بهطور ضمنی گزینه --network-mode را فعال میکند، بنابراین دو مثال زیر نتیجه یکسانی خواهند داشت:
-
rclone mount remote:path/to/files X: --network-mode rclone mount remote:path/to/files X: --volname \\server\share
همچنین میتوانید مسیر UNC اشتراک شبکه را به عنوان خودِ نقطه اتصال (mountpoint) تعیین کنید. در این حالت rclone دقیقاً مشابه * بهطور خودکار یک حرف درایو را به عنوان نقطه اتصال اختصاص میدهد و از مسیر UNC مشخصشده به عنوان نام حجم استفاده میکند، درست مانند اینکه با گزینه --volname مشخص شده باشد. این کار نیز بهطور ضمنی گزینه --network-mode را فعال خواهد کرد. این بدان معناست که دو مثال زیر نتیجه یکسانی دارند:
-
rclone mount remote:path/to/files \\cloud\remote rclone mount remote:path/to/files * --volname \\cloud\remote
روش دیگری نیز برای فعال کردن حالت شبکه و تنظیم مسیر اشتراک وجود دارد که از طریق ارسال مستقیم گزینه «بومی» libfuse/WinFsp انجام میشود: --fuse-flag --VolumePrefix=\server\share. توجه داشته باشید که در این حالت مسیر باید تنها با پیشوند یک بکاسلش تکی باشد.
نکته: در نسخههای پیشین rclone این تنها روش پشتیبانیشده بود.
اطلاعات بیشتر درباره نگاشت درایو (Drive mapping) را در (https://en.wikipedia.org/wiki/Drive_mapping) مطالعه کنید.
همچنین بخش «محدودیتها» (Limitations) در ادامه را ببینید..SS مجوزهای سیستمفایل Windows
لایه شبیهساز FUSE در Windows باید بین مدل مجوز مبتنی بر POSIX مورد استفاده در FUSE و مدل مجوز مورد استفاده در Windows که مبتنی بر فهرستهای کنترل دسترسی (ACL) است، تبدیل انجام دهد.
سیستمفایل سوارشده بهطور معمول سه مدخل در فهرست کنترل دسترسی (ACL) خود دریافت میکند که نشاندهنده مجوزها برای محدودههای مجوز POSIX هستند: مالک (Owner)، گروه (group) و دیگران (others). بهطور پیشفرض، مالک و گروه از کاربر جاری گرفته میشوند و گروه توکار "Everyone" برای نمایش دیگران استفاده میشود. کاربر/گروه را میتوان با گزینههای FUSE یعنی "UserName" و "GroupName" سفارشی کرد، برای مثال: -o UserName=user123 -o GroupName="Authenticated Users". مجوزهای هر مدخل بر اساس گزینههای --dir-perms و --file-perms تنظیم خواهند شد که مقداری را در نشانهگذاری عددی سنتی Unix دریافت میکنند (https://en.wikipedia.org/wiki/File-system_permissions#Numeric_notation).
مجوزهای پیشفرض متناظر با --file-perms 0666 --dir-perms 0777 هستند، یعنی مجوز خواندن و نوشتن برای همگان (everyone). این بدان معناست که شما قادر به اجرای هیچ برنامهای از مسیر سوارشده نخواهید بود. برای انجام این کار باید مجوزهای اجرا را اضافه کنید، برای مثال --file-perms 0777 --dir-perms 0777 برای افزودن آن به همگان. اگر برنامه نیاز به نوشتن فایلها داشته باشد، به احتمال زیاد باید VFS File Caching را نیز فعال کنید (همچنین بخش محدودیتها را ببینید). توجه داشته باشید که مجوز نوشتن پیشفرض برای حسابهایی غیر از مالک محدودیتهایی دارد؛ بهویژه فاقد مجوز "write extended attributes" است، همانطور که در ادامه توضیح داده میشود.
نگاشت مجوزها همیشه بدیهی نیست و نتیجهای که در Windows Explorer میبینید ممکن است دقیقاً همان چیزی نباشد که انتظار داشتید. برای نمونه، هنگام تنظیم مقداری که شامل دسترسی نوشتن برای محدوده گروه یا دیگران است، این مقدار به مجوزهای جداگانه "write attributes"، "write data" و "append data" نگاشت میشود، اما شامل "write extended attributes" نخواهد بود. سپس Windows این مورد را به جای مجوز پایه "Write"، به عنوان مجوز "Special" نشان میدهد، چرا که "Write" مجوز "write extended attributes" را نیز پوشش میدهد. هنگام تنظیم رقم 0 برای گروه یا دیگران به منظور نشان دادن عدم دسترسی، آنها همچنان مجوزهای جداگانه "read attributes"، "read extended attributes" و "read permissions" را دریافت خواهند کرد. این کار به دلایل سازگاری انجام میشود، مثلاً برای اینکه به کاربران بدون مجوزهای اضافی اجازه دهد بتوانند مانند Unix فرادادههای پایه فایلها را بخوانند.
ابزار WinFsp 2021 (نسخه 1.9) گزینه جدید FUSE به نام "FileSecurity" را معرفی کرد که امکان مشخص کردن کامل توصیفگرهای امنیت فایل را با استفاده از SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-string-format) فراهم میکند. با این گزینه، در مقایسه با استفاده از مجوزهای POSIX شرح دادهشده در بالا، کنترل دقیقی روی مجوزهای حاصل به دست میآورید و هیچ مجوز اضافی بهطور خودکار برای سازگاری با Unix اضافه نخواهد شد. چند مورد کاربرد نمونه در ادامه میآید.
اگر مجوزهای POSIX را فقط برای اجازه دسترسی به مالک با استفاده از --file-perms 0600 --dir-perms 0700 تنظیم کنید، به گروه کاربری و گروه توکار "Everyone" همچنان برخی مجوزهای ویژه، همانطور که در بالا توضیح داده شد، داده خواهد شد. سپس برخی از برنامهها ممکن است این را (بهاشتباه) به این صورت تفسیر کنند که فایل برای همه قابل دسترسی است؛ برای نمونه یک کلاینت SSH ممکن است درباره "unprotected private key file" هشدار دهد. میتوانید با مشخص کردن -o FileSecurity="D:P(A;;FA;;;OW)" این مشکل را دور بزنید، که دسترسی کامل به فایل (FA) را فقط برای مالک (OW) تنظیم میکند و نه هیچ چیز دیگر.
همچنین هنگام تنظیم مجوزهای نوشتن، به جز برای مالک، همانطور که در بالا ذکر شد، این شامل مجوز "write extended attributes" نمیشود. این امر ممکن است برنامهها را از نوشتن روی فایلها باز دارد و به جای آن خطای permission denied بدهد. برای تنظیم مجوزهای نوشتن کارآمد برای گروه توکار "Everyone"، مشابه آنچه بهطور پیشفرض دریافت میکند اما با اضافه شدن "write extended attributes"، میتوانید -o FileSecurity="D:P(A;;FRFW;;;WD)" را مشخص کنید که خواندن فایل (FR) و نوشتن فایل (FW) را برای همگان (WD) تنظیم میکند. اگر به اجرای فایل (FX) نیز نیاز است، آن را به -o FileSecurity="D:P(A;;FRFWFX;;;WD)" تغییر دهید، یا دسترسی کامل به فایل (FA) را تنظیم کنید تا با -o FileSecurity="D:P(A;;FA;;;WD)" به مجوزهای دسترسی کامل، از جمله حذف، دست یابید..SS هشدارهای ویندوز (Windows caveats)
درایوهایی که با دسترسی Administrator ایجاد میشوند برای سایر حسابها قابل مشاهده نیستند، حتی حسابی که با ویژگی کنترل حساب کاربری (UAC) به Administrator ارتقا یافته باشد. نتیجه این امر آن است که اگر از طریق یک Command Prompt که به عنوان Administrator اجرا شده است به یک حرف درایو متصل شوید (mount کنید)، و سپس تلاش کنید از طریق Windows Explorer (که به صورت Administrator اجرا نمیشود) به همان درایو دسترسی داشته باشید، درایو سوار شده را نخواهید دید.
اگر نیازی به دسترسی به درایو از طریق برنامههایی که با دسترسیهای مدیریتی اجرا میشوند ندارید، سادهترین راه برای رفع این مشکل این است که عمل سوار کردن (mount) را همیشه از طریق یک خط فرمان غیرارتقایافته (non-elevated) انجام دهید.
برای اینکه درایوهای نگاشتشده بدون توجه به ارتقایافته بودن یا نبودن، برای حساب کاربری ایجادکننده آنها در دسترس باشند، تنظیم ویژهای در ویندوز موسوم به linked connections (https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/mapped-drives-not-available-from-elevated-command#detail-to-configure-the-enablelinkedconnections-registry-entry) وجود دارد که میتوان آن را فعال کرد.
همچنین میتوان با اجرای فرایند ایجادکننده به عنوان حساب داخلی SYSTEM، درایو سوار شده را در دسترس همه افراد در سیستم قرار داد. چندین راه برای انجام این کار وجود دارد: یکی استفاده از ابزار خط فرمانی PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) از مجموعه Sysinternals مایکروسافت است که گزینه -s را برای راهاندازی فرایندها به عنوان حساب SYSTEM دارد. گزینه دیگر، اجرای دستور mount از طریق یک Windows Scheduled Task یا یک Windows Service است که برای اجرا به عنوان حساب SYSTEM پیکربندی شده باشد. روش سوم، استفاده از زیرساخت WinFsp.Launcher (https://github.com/winfsp/winfsp/wiki/WinFsp-Service-Architecture) است. اطلاعات بیشتر را در مستندات نصب (https://rclone.org/install) مطالعه کنید. توجه داشته باشید که هنگام اجرای rclone به عنوان کاربری دیگر، از فایل پیکربندی نمایه (پروفایل) شما استفاده نخواهد شد مگر اینکه با گزینه --config (https://rclone.org/docs/#config-string) آن را مشخص کنید. همچنین توجه داشته باشید که در این حالت حساب SYSTEM دسترسیهای مالک (owner) را خواهد داشت، و سایر حسابها بر اساس محدودههای گروهی (group) یا دیگران (others) مجوز دسترسی خواهند داشت. همانطور که در بالا اشاره شد، این حسابها مجوز "write extended attributes" را دریافت نخواهند کرد، و این ممکن است مانع از نوشتن روی فایلها شود. میتوانید با استفاده از گزینه FileSecurity این مشکل را دور بزنید؛ مثال بالا را ببینید.
توجه داشته باشید که نگاشت به یک مسیر دایرکتوری، به جای یک حرف درایو، از محدودیتهای مشابه رنج نمیبرد.
سوار کردن در مکاواس (Mounting on macOS)
سوار کردن در macOS میتواند از طریق سرور داخلی NFS (https://rclone.org/commands/rclone_serve_nfs)، macFUSE (https://osxfuse.github.io) (که با نام osxfuse نیز شناخته میشود) یا FUSE-T (https://www.fuse-t.org) انجام شود. macFUSE یک درایور سنتی FUSE است که از افزونه هسته macOS موسوم به (kext) بهره میبرد. FUSE-T یک سیستم FUSE جایگزین است که از طریق یک سرور محلی NFSv4 عملیات "mount" را انجام میدهد.
نرمالسازی یونیکد (Unicode Normalization)
اکیداً توصیه میشود که مقدار پیشفرض --no-unicode-normalization=false برای تمام دستورهای mount و serve در macOS حفظ شود. برای جزئیات، vfs-case-sensitivity (https://rclone.org/commands/rclone_mount/#vfs-case-sensitivity) را ببینید.
سوار کردن NFS (NFS mount)
برای macOS (و سایر پلتفرمهایی که این مسیر در آنها پشتیبانی میشود)، دستور اختصاصی rclone nfsmount (https://rclone.org/commands/rclone_nfsmount) را در اولویت قرار دهید. این دستور سرور NFS را راهاندازی کرده و عمل سوار کردن را برای شما انجام میدهد. دستور rclone mount به خودی خود همچنان از FUSE (یا همان macFUSE/FUSE-T) استفاده میکند و از طریق هیچ پرچمی به NFS تغییر وضعیت نمیدهد.
این روش یک سرور NFS را با استفاده از دستور serve nfs (https://rclone.org/commands/rclone_serve_nfs) راهاندازی کرده و آن را در نقطه سوار کردن (mountpoint) مشخصشده سوار میکند. اگر این را در حالت پسزمینه با استفاده از |--daemon| اجرا میکنید، باید سیگنال SIGTERM را با استفاده از دستور |kill| به فرایند rclone ارسال کنید تا سوار کردن متوقف شود.
توجه داشته باشید که --nfs-cache-handle-limit حداکثر تعداد هندلهای فایل کششده ذخیرهشده توسط نگهدارنده کش nfsmount را کنترل میکند. این مقدار نباید خیلی پایین تنظیم شود، در غیر این صورت ممکن است هنگام تلاش برای دسترسی به فایلها با خطا مواجه شوید. مقدار پیشفرض 1000000 است، اما در صورتی که میزان مصرف منابع سیستم توسط سرور مشکلساز شد، کاهش این حد مجاز را در نظر بگیرید..SS نکات macFUSE
در صورت نصب macFUSE با استفاده از بستههای dmg (https://github.com/osxfuse/osxfuse/releases) از وبسایت، rclone کتابخانههای macFUSE را بدون نیاز به هیچ اقدام دیگری پیدا خواهد کرد. اما اگر macFUSE با استفاده از مدیر بسته macports (https://www.macports.org) نصب شده باشد، مراحل تکمیلی زیر مورد نیاز است.
-
sudo mkdir /usr/local/lib cd /usr/local/lib sudo ln -s /opt/local/lib/libfuse.2.dylib
محدودیتها، هشدارها و نکات FUSE-T
محدودیتها، هشدارها و نکاتی درباره نحوه کارکرد آن وجود دارد. این موارد تا نسخه 1.0.14 از FUSE-T معتبر هستند.
بهروزرسانی ModTime در زمان خواندن
طبق ویکی FUSE-T (https://github.com/macos-fuse-t/fuse-t/wiki#caveats):
زمانهای دسترسی و تغییر فایل را نمیتوان به طور جداگانه تنظیم کرد، چرا که به نظر میرسد مشکلی در کلاینت NFS باشد که همیشه هر دو را تغییر میدهد. این مورد با دستورهای touch -m و touch -a قابل بازتولید است
این بدان معناست که مشاهده فایلها با ابزارهای گوناگون، بهویژه Finder در macOS، باعث میشود rclone زمان تغییر فایل (modification time) را بهروزرسانی کند. این امر ممکن است موجب شود rclone یک نسخه کامل و جدید از فایل را بارگذاری کند.
سوار کردن فقطخواندنی
هنگام سوار کردن با گزینه --read-only، تلاش برای نوشتن در فایلها به صورت بیصدا با شکست مواجه میشود، بر خلاف macFUSE که هشدار واضحی صادر میکند.
سوار کردن در لینوکس
در نسخههای جدیدتر Ubuntu، ممکن است هنگام اجرای rclone mount با خطای زیر مواجه شوید:
NOTICE: mount helper error: fusermount3: mount failed: Permission denied CRITICAL: Fatal error: failed to mount FUSE fs: fusermount: exit status 1
این ممکن است به دلیل محدودیتهای جدیدتر Apparmor (https://wiki.ubuntu.com/AppArmor) باشد که میتوان آنها را با sudo aa-disable /usr/bin/fusermount3 غیرفعال کرد (ممکن است لازم باشد از قبل sudo apt install apparmor-utils را اجرا کنید).
سوار کردن در OpenBSD
دستور rclone nfsmount در OpenBSD با راهاندازی سرور serve nfs (https://rclone.org/commands/rclone_serve_nfs) و سوار کردن آن از طریق دستور سیستمی mount_nfs(8) کار میکند؛ یعنی همان رویکردی که برای روش سوار کردن NFS در macOS به کار میرود. هیچ گزینه سوار کردنی مبتنی بر FUSE در OpenBSD وجود ندارد، بنابراین nfsmount تنها راه برای سوار کردن ریموتهای rclone به عنوان یک سیستمفایل محلی در آنجا است.
ثبت portmap
کلاینت NFS کرنل در OpenBSD، دمون mountd را به جای اتصال به یک درگاه ثابت، از طریق portmapper سیستم پیدا میکند؛ بنابراین، سرور NFS درونپروسهای rclone باید پیش از سوار شدن، در portmap ثبت شود. سرور serve nfs را روی یک پورت ثابت اجرا کنید، سرویسهای NFS سیستم را متوقف کنید تا تداخلی ایجاد نشود، سپس آن پورت را در portmap برای هر دو برنامه RPC یعنی nfs و mountd ثبت نمایید (این راهکار توسط hjicks در #8578 (https://github.com/rclone/rclone/issues/8578#issuecomment-2799229652) ارائه شده است):
-
rclone serve nfs --addr localhost:<PORT> remote:path doas rcctl stop nfsd portmap doas pkill -9 mountd # mountd can't be stopped via rcctl(8) doas rcctl -f start portmap doas rpcinfo -s nfs 3 <PORT> doas rpcinfo -s mountd 3 <PORT>
مقدار <PORT> را با پورتی که به --addr دادهاید جایگزین کنید. پورت 2049 نیز کار میکند، اما نیازمند اجرای rclone با دسترسی root یا تنظیم sysctl(8) در securelevel 0 است؛ بنابراین برای آزمایش، یک پورت غیرممتاز سادهتر است..SS استفاده از mount_nfs -T به جای mount
اشتراک NFS صادرشده (exported) را مستقیماً با mount_nfs(8) و با استفاده از پرچم -T برای اجبار به استفاده از TCP سوار کنید، نه از طریق پوششدهنده عمومی mount(8) - دستور mount(8) در OpenBSD پرچم -T را تشخیص نمیدهد و آن را با خطای زیر رد میکند: unknown option -- T:
-
mount_nfs -T localhost:/ /path/to/local/mount
دستور rclone nfsmount این کار را بهطور خودکار در OpenBSD برای شما انجام میدهد (مستقیماً mount_nfs را با -T فراخوانی میکند به جای اینکه از طریق mount عمل کند)، بنابراین این کار تنها در صورتی لازم است که اشتراک serve nfs را بهصورت دستی سوار کنید.
AUTH_UNIX و محدودیتهای موجود (AUTH_UNIX and existing limitations)
کلاینت NFS هسته در OpenBSD (و سایر BSDها) نیازمند آن است که سرور شیوه احراز هویت AUTH_UNIX را در طول دستتکانی MOUNT RPC ارائه دهد؛ سروری که تنها AUTH_NULL را ارائه کند با خطای زیر رد میشود: mount_nfs: can't access /: Authentication error. سرور NFS در rclone به همین دلیل AUTH_UNIX را اعلان میکند، هرچند که هیچ کنترل دسترسی بر پایه هر کاربر (per-user) را روی آن پیادهسازی نمیکند - برای پیشزمینه این موضوع و وضعیت فعلی پشتیبانی از OpenBSD، گزارش شماره #8578 (https://github.com/rclone/rclone/issues/8578) را ببینید.
محدودیتها (Limitations)
بدون استفاده از --vfs-cache-mode، این دستور تنها میتواند فایلها را بهصورت ترتیبی بنویسد و فقط هنگام خواندن امکان پیمایش (seek) دارد. این بدان معناست که بسیاری از برنامهها بدون --vfs-cache-mode writes یا --vfs-cache-mode full با فایلهای خود روی نقطه اتصال rclone کار نخواهند کرد. برای اطلاعات بیشتر بخش VFS File Caching را ببینید. هنگام استفاده از سوار کردن NFS در macOS، اگر |--vfs-cache-mode| را مشخص نکنید، نقطه اتصال فقطخواندنی خواهد بود.
ریموتهای مبتنی بر باکت (Bucket-based remotes) - شامل Azure Blob، Swift، S3، Google Cloud Storage و B2 - نمیتوانند دایرکتوریهای خالی را ذخیره کنند. از میان اینها، تنها Azure Blob، Google Cloud Storage و S3 میتوانند هنگام افزودن --xxx-directory_markers آنها را حفظ کنند؛ در غیر این صورت، دایرکتوریهای خالی به محض خروج از حافظه موقت دایرکتوری ناپدید خواهند شد.
هنگامی که rclone mount در Unix با پرچم --daemon اجرا میشود، برنامه اصلی rclone منتظر آماده شدن نقطه اتصال در پسزمینه میماند یا تا زمانی که مهلت تعیینشده توسط پرچم --daemon-wait به پایان برسد. در Linux وضعیت سوار شدن با استفاده از ProcFS قابل بررسی است، بنابراین این پرچم در واقع حداکثر زمان انتظار را تعیین میکند، در حالی که زمان انتظار واقعی میتواند کمتر باشد. در macOS / BSD زمان انتظار ثابت است و بررسی فقط در پایان انجام میشود. توصیه میکنیم زمان انتظار را در macOS بهطور معقول تنظیم کنید.
در حال حاضر تنها روی Linux، FreeBSD، OS X و Windows پشتیبانی میشود.
مقایسه rclone mount با rclone sync/copy
سیستمهای فایل انتظار دارند همهچیز ۱۰۰٪ قابلاطمینان باشد، در حالی که سیستمهای ذخیرهسازی ابری با قابلیت اطمینان ۱۰۰٪ فاصله زیادی دارند. دستورهای rclone sync/copy با تلاشهای مجدد فراوان با این مسئله کنار میآیند. با این حال، rclone mount بدون ایجاد نسخههای محلی از بارگذاریها، نمیتواند به همان شیوه از تلاشهای مجدد استفاده کند. برای راهکارهایی جهت بالا بردن قابلیت اطمینان سوار کردن، به بخش VFS File Caching مراجعه کنید.
حافظه موقت مشخصهها (Attribute caching)
میتوانید از پرچم --attr-timeout برای تنظیم مدتزمانی که هسته مشخصهها (اندازه، زمان تغییر و غیره) را برای مدخلهای دایرکتوری در حافظه موقت (کَش) نگه میدارد، استفاده کنید.
مقدار پیشفرض 1s است که فایلها را دقیقاً به اندازهای کَش میکند که از فراخوانیهای برگشتی مکرر هسته به rclone جلوگیری شود.
از نظر تئوری، 0s باید مقدار صحیحی برای سیستمهای فایلی باشد که میتوانند خارج از کنترل هسته تغییر کنند. با این حال این کار مشکلات متعددی ایجاد میکند؛ مانند مصرف بیش از حد حافظه توسط rclone (https://github.com/rclone/rclone/issues/2157)، عدم سرویسدهی فایلها به samba توسط rclone (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-issue/5112) و زمان بسیار زیاد برای فهرست کردن دایرکتوریها (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
هسته میتواند اطلاعات مربوط به یک فایل را به مدت زمان مشخصشده توسط --attr-timeout ذخیره کند. اگر طول فایل ریموت در طول این بازه زمانی تغییر کند، ممکن است با خرابی فایل مواجه شوید. این خرابی یا بهصورت فایلی بریدهشده (truncated) یا فایلی با دادههای زائد در انتهای آن ظاهر میشود. با --attr-timeout 1s این اتفاق بسیار نامحتمل اما ممکن است. هر چه --attr-timeout را بالاتر تنظیم کنید، احتمال آن بیشتر میشود. مقدار پیشفرض "1s" کمترین تنظیمی است که مشکلات بالا را تخفیف میدهد.
اگر آن را بالاتر تنظیم کنید (مثلاً 10s یا 1m)، هسته مراجعات کمتری به rclone خواهد داشت و کارایی افزایش مییابد؛ با این حال احتمال بروز مشکل خرابی فایل که در بالا ذکر شد بیشتر خواهد بود.
اگر فایلها روی ریموت خارج از کنترل rclone تغییر نکنند، هیچ احتمال خرابی وجود ندارد.
این قابلیت مشابه تنظیم گزینه attr_timeout در mount.fuse است..SS "فیلترها (Filters)"
توجه داشته باشید که از همهٔ فیلترهای rclone میتوان برای انتخاب زیرمجموعهای از فایلها جهت نمایش در سوار کردن (mount) استفاده کرد.
systemd
هنگام اجرای rclone mount بهصورت یک سرویس systemd، امکان استفاده از Type=notify وجود دارد. در این حالت، سرویس پس از راهاندازی موفقیتآمیز نقطهٔ سوار کردن (mountpoint) به وضعیت آغازشده (started) وارد خواهد شد. واحدهایی (units) که سرویس mount مربوط به rclone را بهعنوان یک پیشنیاز مشخص کردهاند، در این حالت همهٔ فایلها و پوشهها را بلافاصله مشاهده خواهند کرد.
توجه داشته باشید که systemd واحدهای mount را بدون هیچگونه متغیر محیطی، از جمله PATH یا HOME اجرا میکند. این بدان معناست که بسط مدک (~) کار نخواهد کرد و باید --config و --cache-dir را صراحتاً بهصورت مسیرهای مطلق از طریق آرگومانهای rclone مشخص کنید. از آنجا که سوار کردن نیازمند برنامهٔ fusermount یا fusermount3 است، rclone در این سناریو از مقدار جایگزین PATH یعنی /bin:/usr/bin استفاده خواهد کرد. لطفاً اطمینان حاصل کنید که fusermount/fusermount3 در این PATH موجود باشد.
استفاده از rclone بهعنوان دستیار سوار کردن یونیکس (Rclone as Unix mount helper)
برنامهٔ بنیادین یونیکس /bin/mount معمولاً آرگومان -t FSTYPE را دریافت کرده و سپس برنامهٔ کمکی /sbin/mount.FSTYPE را با انتقال گزینههای mount بهصورت -o key=val,... یا --opt=... اجرا میکند. قابلیت Automount (کلاسیک یا systemd) نیز به شیوهای مشابه عمل میکند.
ابزار rclone بهطور پیشفرض گزینههایی با سبک گنو مانند --key val را انتظار دارد. برای اجرای آن بهعنوان یک دستیار سوار کردن (mount helper)، باید فایل باینری rclone را به /sbin/mount.rclone و در صورت تمایل به /usr/bin/rclonefs پیوند نمادین بزنید؛ مانند: ln -s /usr/bin/rclone /sbin/mount.rclone. ابزار rclone این وضعیت را تشخیص داده و آرگومانهای خط فرمان را بهدرستی برمیگرداند.
اکنون میتوانید mountهای کلاسیک را به این صورت اجرا کنید:
-
mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
یا واحدهای mount در systemd ایجاد کنید:
-
# /etc/systemd/system/mnt-data.mount [Unit] Description=Mount for /mnt/data [Mount] Type=rclone What=sftp1:subdir Where=/mnt/data Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
که بهصورت اختیاری میتواند با یک واحد automount در systemd همراه شود:
-
# /etc/systemd/system/mnt-data.automount [Unit] Description=AutoMount for /mnt/data [Automount] Where=/mnt/data TimeoutIdleSec=600 [Install] WantedBy=multi-user.target
یا سطری مشابه زیر را به /etc/fstab بیفزایید:
-
sftp1:subdir /mnt/data rclone rw,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone 0 0
یا از Automountd کلاسیک استفاده کنید. به یاد داشته باشید که مقادیر صریح config=...,cache-dir=... را بهعنوان راهحلی برای اجرای واحدهای mount بدون متغیر HOME قید کنید.
ابزار rclone در حالت دستیار سوار کردن، آرگومان(های) -o را با ویرگول جدا کرده، _ را با - جایگزین میکند و برای تشکیل گزینههای خط فرمان، -- را به ابتدای آنها اضافه میکند. گزینههای حاوی ویرگول یا فاصله را میتوان در نقلقول تکی یا دوتایی محصور کرد. هرگونه نقلقول درونی در داخل نقلقولهای بیرونیِ همنوع، باید تکرار (مضاعف) شود.
نحو گزینههای mount شامل چند گزینهٔ ویژه است که رفتار متفاوتی دارند:
- •
- عبارت env.NAME=VALUE یک متغیر محیطی را برای فرآیند mount تعیین میکند. این قابلیت برای Automountd و Systemd.mount که امکان تنظیم محیط سفارشی را برای دستیارهای mount نمیدهند کارآمد است. معمولاً از env.HTTPS_PROXY=proxy.host:3128 یا env.HOME=/root استفاده خواهید کرد.
- •
- عبارت command=cmount میتواند برای اجرای cmount یا هر دستور دیگر rclone به جای دستور پیشفرض mount به کار رود.
- •
- گزینهٔ args2env گزینههای mount را به جای آرگومانهای خط فرمان، از طریق متغیرهای محیطی به دستیار mount که در پسزمینه اجرا میشود انتقال میدهد. این ویژگی امکان پنهانسازی اطلاعات حساس از دستورهایی نظیر ps یا pgrep را فراهم میآورد.
- •
- عبارت vv... به گزینهٔ مناسب --verbose=N تبدیل خواهد شد.
- •
- گزینههای استاندارد mount مانند x-systemd.automount، _netdev، nosuid و موارد مشابه فقط برای Automountd در نظر گرفته شدهاند و توسط rclone نادیده گرفته میشوند..SS "VFS - سامانه فایل مجازی (Virtual File System)"
این دستور از لایه VFS استفاده میکند. این لایه، آبجکتهای فضای ذخیرهسازی ابری مورد استفاده rclone را به ساختاری تبدیل میکند که بسیار بیشتر شبیه به یک سامانه فایل دیسکی به نظر میرسد.
آبجکتهای ذخیرهسازی ابری ویژگیهای بسیاری دارند که شبیه فایلهای دیسکی نیستند - شما نمیتوانید آنها را گسترش دهید یا در میانهٔ آنها بنویسید؛ بنابراین لایه VFS باید با این موضوع تعامل داشته باشد. از آنجا که هیچ راه منفرد و کاملاً درستی برای انجام این کار وجود ندارد، گزینههای گوناگونی در ادامه توضیح داده شدهاند.
لایه VFS همچنین یک کش دایرکتوری را پیادهسازی میکند - این بخش، اطلاعات مربوط به فایلها و دایرکتوریها (اما نه دادههای آنها) را در حافظه کش میکند.
کش دایرکتوری VFS (VFS Directory Cache)
با استفاده از پرچم --dir-cache-time میتوانید کنترل کنید که یک دایرکتوری تا چه مدت بهروز در نظر گرفته شود و از سمت backend بازخوانی نگردد. تغییرات ایجادشده از طریق VFS بیدرنگ نمایش داده خواهند شد یا کش را نامعتبر (invalidate) میکنند.
-
--dir-cache-time duration Time to cache directory entries for (default 5m0s) --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
با این حال، در صورتی که backend پیکربندیشده از بررسی دورهای برای تغییرات (polling) پشتیبانی نکند، تغییراتی که مستقیماً از طریق رابط کاربری وب در فضای ذخیرهسازی ابری یا توسط نسخهٔ دیگری از rclone اعمال شوند تنها پس از انقضای کش دایرکتوری شناسایی خواهند شد. اگر backend از polling پشتیبانی کند، تغییرات در بازهٔ زمانیِ polling دریافت و اعمال میشوند.
شما میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا صرفنظر از عمر کشها، تمام کشهای دایرکتوری را تخلیه (flush) کند. با فرض اینکه تنها یک نسخه از rclone در حال اجرا است، میتوانید کش را به این شکل بازنشانی کنید:
-
kill -SIGHUP $(pidof rclone)
اگر rclone را همراه با کنترل از راه دور (remote control) پیکربندی کرده باشید، میتوانید با استفاده از rclone rc تمام کش دایرکتوری را تخلیه کنید:
-
rclone rc vfs/forget
یا فایلها یا دایرکتوریهای مشخص را پاکسازی کنید:
-
rclone rc vfs/forget file=path/to/file dir=path/to/dir
بافر کردن فایل در VFS (VFS File Buffering)
پرچم --buffer-size مقدار حافظهای را که از پیش برای بافر کردن دادهها اختصاص مییابد، تعیین میکند.
هر فایلِ باز تلاش خواهد کرد تا در تمام طول مدت، مقدار مشخصشده از دادهها را در حافظه نگه دارد. دادههای بافرشده مقید به یک فایل باز هستند و به اشتراک گذاشته نمیشوند.
این پرچم یک حد بالا برای حافظهٔ مصرفی به ازای هر فایل باز است. بافر تنها برای دادههایی حافظه مصرف میکند که دانلود شدهاند اما هنوز خوانده نشدهاند. اگر بافر خالی باشد، تنها مقدار بسیار اندکی از حافظه استفاده خواهد شد.
بیشینهٔ حافظهٔ استفادهشده توسط rclone برای بافرینگ میتواند تا سقف --buffer-size * open files باشد.
کش کردن فایل در VFS (VFS File Caching)
این پرچمها گزینههای کش فایل در VFS را کنترل میکنند. کش کردن فایل برای این که لایهٔ VFS سازگار با یک سامانه فایل عادی به نظر برسد ضروری است. این قابلیت را میتوان به بهای از دست رفتن بخشی از سازگاری غیرفعال کرد.
برای نمونه، اگر بخواهید همزمان عملیات خواندن و نوشتن را روی یک فایل انجام دهید، باید کش VFS را فعال کنید. برای جزئیات بیشتر به بخشهای زیر نگاه کنید.
توجه داشته باشید که کش VFS از backend کش (cache backend) مجزا است و ممکن است به یکی از آنها یا هر دو نیاز داشته باشید.
-
--cache-dir string Directory rclone will use for caching. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
اگر rclone با گزینهٔ -vv اجرا شود، مسیر قرارگیری کش فایل را در خروجی نمایش میدهد. فایلها در ناحیهٔ فایلهای کش کاربر ذخیره میشوند که وابسته به سیستمعامل است، اما میتوان آن را با --cache-dir یا با تنظیم متغیر محیطی مربوطه مدیریت کرد.
کش دارای ۴ حالت گوناگون است که با --vfs-cache-mode انتخاب میشوند. هرچه حالت کش بالاتر باشد، سازگاری rclone در ازای مصرف فضای دیسک افزایش مییابد.
توجه داشته باشید که فایلها تنها زمانی به remote بازنویسی میشوند (write back) که بسته شده باشند و به مدت --vfs-write-back ثانیه به آنها دسترسی پیدا نشده باشد. اگر rclone متوقف شود یا پیش از آپلود فایلها به کار خود پایان دهد، این فایلها در اجرای بعدی rclone با همان پرچمها بارگذاری خواهند شد.
در صورت استفاده از --vfs-cache-max-size یا --vfs-cache-min-free-space، توجه داشته باشید که حجم کش ممکن است به دو دلیل از این سهمیهها فراتر رود. نخست به این دلیل که بررسی حجم تنها در فواصل زمانی --vfs-cache-poll-interval صورت میگیرد. دوم به این دلیل که فایلهای باز را نمیتوان از کش بیرون انداخت (evict کرد). هنگامی که اندازه از --vfs-cache-max-size یا --vfs-cache-min-free-space بیشتر شود، rclone ابتدا تلاش میکند فایلهایی را که کمترین دسترسی را داشتهاند از کش خارج کند. برنامه rclone این کار را از فایلهایی آغاز میکند که برای طولانیترین زمان دستنخورده باقی ماندهاند. این راهبرد پاکسازی کش کارآمد است و احتمال باقی ماندن فایلهای مرتبطتر در کش بیشتر خواهد بود.
گزینهٔ --vfs-cache-max-age پس از گذشت مدتزمان تعیینشده از آخرین دسترسی، فایلها را از کش حذف میکند؛ مبنای این فرایند زمان آخرین دسترسی است، نه زمانی که فایل نخستین بار به کش افزوده شد. مقدار پیشفرض ۱ ساعت فایلهایی را که به مدت ۱ ساعت دسترسی نداشتهاند، از کش بیرون میاندازد. هنگامی که به یک فایل کششده دسترسی پیدا شود، تایمر ۱ ساعته به ۰ بازنشانی شده و مجدداً پیش از حذف ۱ ساعت منتظر خواهد ماند. زمان را با نشانهگذاری استاندارد مانند s، m، h، d، w مشخص کنید.
در صورت استفاده از --vfs-cache-mode > off، شما نباید دو نسخه از rclone را با استفاده از یک کش VFS یکسان و با ریموتهای یکسان یا همپوشان اجرا کنید. انجام این کار بالقوه میتواند منجر به خرابی دادهها شود. میتوانید با اختصاص دادن سلسلهمراتب کش مجزا به هر rclone از طریق --cache-dir از بروز این مشکل جلوگیری کنید. در صورتی که ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off
در این حالت (پیشفرض)، کَش مستقیماً از ریموت خوانده و مستقیماً روی آن مینویسد بدون اینکه چیزی روی دیسک کَش شود.
این امر به این معناست که برخی عملیاتها امکانپذیر نخواهند بود:
- •
- فایلها نمیتوانند همزمان برای خواندن و نوشتن (read AND write) باز شوند
- •
- امکان جستوجو/پیمایش (seek) در فایلهای بازشده برای نوشتن وجود ندارد
- •
- فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC برای آنها تنظیم شده باشد
- •
- فایلهای بازشده برای خواندن همراه با O_TRUNC، بهصورت فقطنوشتنی باز خواهند شد
- •
- فایلهای بازشده بهصورت فقطنوشتنی بهگونهای رفتار میکنند که انگار O_TRUNC مشخص شده است
- •
- حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند
- •
- اگر بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد
--vfs-cache-mode minimal
این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای بازشده برای خواندن و نوشتن همزمان، روی دیسک بافر میشوند. این یعنی فایلهای بازشده برای نوشتن سازگاری بسیار بیشتری خواهند داشت، اما حداقل فضای دیسک مصرف میشود.
این عملیاتها امکانپذیر نیستند:
- •
- امکان جستوجو/پیمایش (seek) در فایلهای بازشده بهصورت فقطنوشتنی وجود ندارد
- •
- فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC برای آنها تنظیم شده باشد
- •
- فایلهای بازشده بهصورت فقطنوشتنی O_APPEND و O_TRUNC را نادیده میگیرند
- •
- اگر بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد
--vfs-cache-mode writes
در این حالت، فایلهای بازشده بهصورت فقطخواندنی همچنان مستقیماً از ریموت خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند.
این حالت باید از تمام عملیاتهای عادی سیستمفایل پشتیبانی کند.
اگر یک بارگذاری با شکست مواجه شود، در فواصل زمانی با افزایش تصاعدی تا حداکثر ۱ دقیقه مجدداً تلاش خواهد شد.
--vfs-cache-mode full
در این حالت، تمام خواندنها و نوشتنها روی دیسک و از دیسک بافر میشوند. هنگامی که دادهها از ریموت خوانده میشوند نیز روی دیسک بافر خواهند شد.
در این حالت، فایلهای موجود در کَش بهصورت فایلهای کمپشت (sparse files) خواهند بود و rclone پیگیری خواهد کرد که کدام بخشهای فایل بارگیری شدهاند.
بنابراین اگر برنامهای تنها بخش ابتدایی هر فایل را بخواند، rclone نیز تنها ابتدای فایل را بافر میکند. این فایلها در کَش با اندازه کامل به نظر میرسند، اما فایلهای کمپشتی هستند که تنها دادههای بارگیریشده در آنها وجود دارد.
این حالت باید از تمام عملیاتهای عادی سیستمفایل پشتیبانی کند و در باقی موارد با --vfs-cache-mode writes یکسان است.
هنگام خواندن یک فایل، rclone به اندازه --buffer-size بهعلاوه --vfs-read-ahead بایت به جلو پیشخوانی میکند. مقدار --buffer-size در حافظه بافر میشود در حالی که --vfs-read-ahead روی دیسک بافر میگردد.
هنگام استفاده از این حالت، توصیه میشود که --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز، --vfs-read-ahead بزرگ در نظر گرفته شود.
مهم: همه سیستمفایلها از فایلهای کمپشت پشتیبانی نمیکنند؛ بهویژه FAT/exFAT پشتیبانی نمیکنند. اگر دایرکتوری کَش روی سیستمفایلی باشد که از فایلهای کمپشت پشتیبانی نمیکند، عملکرد rclone بسیار ضعیف خواهد بود و در صورت تشخیص چنین موردی، یک پیام ERROR ثبت خواهد کرد.
اثرانگشتگذاری (Fingerprinting)
بخشهای مختلف VFS از اثرانگشتگذاری برای بررسی اینکه آیا نسخه محلی فایل نسبت به فایل ریموت تغییر کرده است یا خیر استفاده میکنند. اثرانگشتها از موارد زیر ساخته میشوند:
- •
- اندازه
- •
- زمان تغییر
- •
- هش
در صورتی که برای شیء موجود باشند.
در برخی backendها، خواندن بعضی از این مشخصهها کند است (نیاز به یک فراخوانی API اضافی برای هر شیء یا پردازش اضافی دارند).
برای نمونه، hash در backendهای local و sftp کند است زیرا باید کل فایل را بخوانند و هش آن را محاسبه کنند؛ همچنین modtime در backendهای s3، swift، ftp و qinqstor کند است زیرا برای دریافت آن نیاز به فراخوانی API اضافی دارند.
اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیاتهای کند را در اثرانگشت لحاظ نمیکند. این کار دقت اثرانگشتگذاری را کاهش میدهد اما بسیار سریعتر بوده و زمان باز شدن فایلهای کَششده را بهبود میبخشد.
اگر یک کَش vfs را روی backendهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود.
توجه داشته باشید که اگر مقدار این پرچم را تغییر دهید، ممکن است اثرانگشت فایلهای موجود در کَش نامعتبر شده و نیاز به بارگیری مجدد فایلها باشد..SS خواندن تکهای در VFS (VFS Chunked Reading)
هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را بهصورت تکهای (chunk) دریافت میکند. بدین معنا که rclone بهجای درخواست کل فایل، تکه مشخصشده را درخواست میکند. این امر میتواند با درخواست تنها آن تکههایی از ریموت که واقعاً خوانده میشوند، سهمیه دانلود مصرفی را برای برخی ریموتها کاهش دهد؛ هرچند این کار به بهای افزایش تعداد درخواستها تمام میشود.
این پرچمها تکهتکه کردن را کنترل میکنند:
-
--vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128M) --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه دوبرابر شدن تکه (پیشفرض off) --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان
رفتار تکهبندی بسته به پارامتر --vfs-read-chunk-streams متفاوت است.
--vfs-read-chunk-streams == 0
دستور rclone خواندن را با تکهای به اندازه --vfs-read-chunk-size آغاز میکند و سپس با هر بار خواندن، اندازه آن را دو برابر میسازد. هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر از --vfs-read-chunk-size باشد، اندازه تکه برای هر فایلِ باز تنها تا زمانی دو برابر میشود که به مقدار مشخصشده برسد. اگر این مقدار "off" باشد (که حالت پیشفرض است)، این محدودیت غیرفعال بوده و اندازه تکه بدون محدودیت رشد خواهد کرد.
با --vfs-read-chunk-size 100M و --vfs-read-chunk-size-limit 0 بخشهای زیر بارگیری خواهند شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و به همین ترتیب. هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه بهصورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و غیره خواهد بود.
تنظیم --vfs-read-chunk-size روی 0 یا "off" خواندن تکهای را غیرفعال میکند.
تکهها در حافظه بافر نخواهند شد.
--vfs-read-chunk-streams > 0
دستور rclone به تعداد --vfs-read-chunk-streams تکه با اندازه --vfs-read-chunk-size را بهصورت همروند میخواند. اندازه تکه برای هر بار خواندن ثابت باقی خواهد ماند.
این ویژگی کارایی را در پیوندهای با تأخیر زیاد یا پیوندهای با پهنای باند بسیار بالا به ذخیرهسازهای شیء با عملکرد بالا، به شدت بهبود میبخشد.
برای یافتن مقادیر بهینه --vfs-read-chunk-size و --vfs-read-chunk-streams به مقداری آزمون و خطا نیاز است، چرا که این مقادیر به backend مورد استفاده و تأخیر دسترسی به آن بستگی دارند.
برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطه شروع مناسب میتواند --vfs-read-chunk-streams 16 و --vfs-read-chunk-size 4M باشد. در آزمایشهای انجامشده با AWS S3، مقیاسپذیری کارایی تقریباً متناسب با تنظیم --vfs-read-chunk-streams افزایش یافته است.
تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز مناسب باشد، اما بسته به میزان تأخیر، ممکن است برای دستیابی به توان عملیاتی مطلوب به مقدار بیشتری از --vfs-read-chunk-streams نیاز باشد.
کارایی VFS (VFS Performance)
این پرچمها ممکن است برای فعال یا غیرفعال کردن ویژگیهای VFS به دلایل کارایی یا موارد دیگر استفاده شوند. همچنین ویژگی خواندن تکهای را ببینید.
بهویژه S3 و Swift از پرچم --no-modtime (یا استفاده از --use-server-modtime برای اثری اندکی متفاوت) سود بسیار زیادی میبرند، زیرا هر بار خواندن زمان تغییر فایل، نیازمند یک تراکنش است.
-
--no-checksum عدم مقایسه چکسامها در بارگذاری/دانلود. --no-modtime عدم خواندن/نوشتن زمان ویرایش (میتواند سرعت را افزایش دهد). --no-seek عدم اجازه پیمایش (seek) در فایلها. --read-only تنها اجازه دسترسی فقطخواندنی.
گاهی اوقات عملیات خواندن یا نوشتن خارج از ترتیب به rclone تحویل داده میشوند. دستور rclone بهجای انجام پیمایش (seek)، مدت کوتاهی منتظر میماند تا عملیات خواندن یا نوشتنِ مرتب در نوبت خود دریافت شود. این پرچمها تنها زمانی اثرگذار هستند که از فایل کش روی دیسک استفاده نشود.
-
--vfs-read-wait duration مدت زمان انتظار برای خواندن مرتب پیش از پیمایش (پیشفرض 20ms) --vfs-write-wait duration مدت زمان انتظار برای نوشتن مرتب پیش از اعلام خطا (پیشفرض 1s)
هنگام استفاده از کش نوشتن VFS (--vfs-cache-mode با مقدار writes یا full)، پرچم سراسری --transfers میتواند برای تنظیم تعداد بارگذاریهای موازی فایلهای تغییریافته از کش تنظیم شود (پرچم سراسری مرتبط --checkers بر روی VFS بیتأثیر است).
-
--transfers int تعداد انتقالهای همزمان فایل برای اجرا (پیشفرض 4)
بهطور پیشفرض VFS از پیوندهای نمادین (symlinks) پشتیبانی نمیکند. با این حال، این قابلیت میتواند با هر یک از پرچمهای زیر فعال شود:
-
--links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS
از آنجا که بیشتر سیستمهای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل عادی با پسوندی ویژه ذخیره میکند. بنابراین فایلی که بهصورت یک پیوند نمادین link-to-file.txt دیده میشود، روی فضای ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن مسیر مقصد پیوند نمادین خواهد بود.
توجه داشته باشید که --links تبدیل پیوند نمادین را بهصورت سراسری در rclone فعال میکند - این شامل هر backend که از این مفهوم پشتیبانی کند (برای نمونه backend محلی) میشود. --vfs-links آن را تنها برای لایهٔ VFS فعال میسازد.
این طرح با روش مورد استفاده توسط backend محلی با پرچم --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points).
پرچم --vfs-links برای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است.
این پرچم هنوز با سایر دستورهای rclone serve آزمایش نشده است.
یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده پیوندهای نمادین فرعی (sub-symlinks) را تحلیل (resolve) کند. برای نمونه، درخت دایرکتوری زیر را در نظر بگیرید:
-
. ├── dir │ └── file.txt └── linked-dir -> dir
لایهٔ VFS مورد linked-dir را بهدرستی تحلیل میکند، اما linked-dir/file.txt را خیر. این موضوع برای دستورهای آزمایششده مشکلی نیست اما ممکن است برای سایر دستورها مشکلساز باشد.
توجه داشته باشید که یک مشکل باز در زمینهٔ پشتیبانی از پیوندهای نمادین وجود دارد: گزارش اشکال #8245 (https://github.com/rclone/rclone/issues/8245) مبنی بر اینکه هنگام انتقال پیوندهای نمادین به دایرکتوریهایی که فایلی با همان نام در آنها وجود دارد (یا برعکس)، فایلهای تکراری ایجاد میشوند.
حساسیت VFS به بزرگی و کوچکی حروف (VFS Case Sensitivity)
سیستمهای فایل لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف تفاوت داشته باشند، و هنگام باز کردن فایل باید دقیقاً از همان حالت حروف استفاده شود.
سیستمهای فایل در نسخههای نوین ویندوز به بزرگی و کوچکی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-preserving): هرچند فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که برای ساخت فایل استفاده شده ذخیره میشود و برای برنامهها قابل پرسوجو است. وجود دو فایل در یک دایرکتوری یکسان که تفاوت آنها تنها در بزرگی و کوچکی حروف باشد، مجاز نیست.
معمولاً سیستمهای فایل در macOS به بزرگی و کوچکی حروف حساس نیستند. امکان حساس کردن سیستمهای فایل macOS به بزرگی و کوچکی حروف وجود دارد اما حالت پیشفرض نیست.
پرچم VFS به نام --vfs-case-insensitive نحوهٔ مدیریت این دو حالت را توسط rclone کنترل میکند. اگر مقدار آن "false" باشد، rclone نام فایلها را همانگونه که هست به remote ارسال میکند. اگر پرچم "true" باشد (یا بدون مقدار در خط فرمان مشخص شود)، rclone ممکن است همانطور که در ادامه توضیح داده شده، عملیات "اصلاح" (fixup) را انجام دهد.
کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف متفاوت از آنچه روی remote ذخیره شده مشخص کند. اگر آرگومان به فایلی موجود با دقیقاً همان نام اشاره داشته باشد، حالت حروف فایل موجود روی دیسک استفاده خواهد شد. با این حال، اگر نام فایلی با همان نام دقیق یافت نشود ولی نامی وجود داشته باشد که تفاوت آن تنها در بزرگی و کوچکی حروف است، rclone بهطور شفاف نام را اصلاح میکند. این اصلاح تنها زمانی رخ میدهد که یک فایل از پیش موجود درخواست شده باشد. حساسیت به بزرگی و کوچکی حروف برای نام فایلهایی که بهتازگی توسط rclone ایجاد میشوند توسط remote زیرین کنترل میشود.
توجه داشته باشید که حساسیت به بزرگی و کوچکی حروف در سیستمعامل اجراکنندهٔ rclone (مقصد) ممکن است با حساسیت سیستم فایل ارائهشده توسط rclone (مبدأ) متفاوت باشد. این پرچم مشخص میکند که آیا عملیات "اصلاح" برای برآورده ساختن الزامات مقصد انجام شود یا خیر.
اگر پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی که rclone روی آن اجرا میشود بستگی دارد: در ویندوز و macOS مقدار "true"، و در غیر این صورت "false". اگر پرچم بدون مقدار ارائه شود، برابر با "true" خواهد بود.
پرچم --no-unicode-normalization کنترل میکند که آیا عملیات "اصلاح" مشابهی برای نامفایلهایی که تفاوت دارند اما از نظر یونیکد همارز رسمی (canonically equivalent) هستند (https://en.wikipedia.org/wiki/Unicode_equivalence)، انجام شود یا خیر. یکسانسازی یونیکد (Unicode normalization) میتواند بهویژه برای کاربران macOS که فرم NFD را به فرم NFC استفادهشده در بیشتر پلتفرمهای دیگر ترجیح میدهد، مفید باشد. بنابراین، برای جلوگیری از مشکلات سازگاری در کدگذاری، اکیداً توصیه میشود که مقدار پیشفرض false در macOS حفظ شود.
در شرایط (احتمالاً نادر) وجود چند نامفایل تکراری در یک دایرکتوری پس از اعمال یکسانسازی حالت حروف و یونیکد، پرچم --vfs-block-norm-dupes امکان پنهانسازی این موارد تکراری را فراهم میآورد. این کار با کاهش کارایی همراه است، چرا که rclone هنگام فهرستکردن یک دایرکتوری باید کل آن را برای یافتن موارد تکراری پویش (scan) کند. به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. با این وجود، کاربران macOS ممکن است استفاده از آن را مد نظر قرار دهند؛ چرا که در غیر این صورت، اگر یک دایرکتوری remote هم نسخههای NFC و هم NFD از یک نامفایل یکسان را داشته باشد، شرایط عجیبی رخ خواهد داد: هر دو نسخهٔ فایل در نقطهٔ mount قابل مشاهده خواهند بود و به نظر میرسد هر دو قابل ویرایش هستند، اما در عمل ویرایش هر یک از نسخهها در پسزمینه تنها به ویرایش نسخهٔ NFD منجر میشود. --vfs-block-norm-dupes با شناسایی این وضعیت، پنهان کردن موارد تکراری و ثبت یک خطا در گزارشها، مشابه آنچه در rclone sync مدیریت میشود، از بروز این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS (VFS Disk Options)
این گزینه به شما اجازه میدهد آمارهای مربوط به سیستمفایل را به صورت دستی تنظیم کنید. این ویژگی میتواند زمانی مفید باشد که نتوان این آمار را به صورت خودکار و درست خواند.
-
--vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1)
گزارش جایگزین از بایتهای استفادهشده (Alternate report of used bytes)
برخی از backendها، بهویژه S3، مقدار بایتهای استفادهشده را گزارش نمیکنند. اگر نیاز دارید که این اطلاعات هنگام اجرای df روی سیستمفایل در دسترس باشد، پرچم --vfs-used-is-size را به rclone پاس دهید. با تنظیم این پرچم، rclone به جای اتکا به backend برای گزارش این اطلاعات، کل remote را مشابه با rclone size پویش کرده و کل فضای استفادهشده را خودش محاسبه میکند.
هشدار: بر خلاف rclone size، این پرچم فیلترها را نادیده میگیرد تا نتیجه دقیق باشد. با این حال، این کار بسیار ناکارآمد است و ممکن است فراخوانیهای API زیادی مصرف کند که به هزینههای اضافی منجر شود. تنها به عنوان آخرین راهکار و فقط همراه با کشکردن از آن استفاده کنید.
متادیتای VFS (VFS Metadata)
اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید کاری کنید که VFS فایلهایی را که حاوی متادیتا (https://rclone.org/docs/#metadata) هستند به صورت یک شیء JSON نمایان سازد. این فایلها در فهرست دایرکتوری ظاهر نخواهند شد، اما میتوان روی آنها stat گرفت و آنها را باز کرد؛ و به محض اینکه باز شدند، تا زمان منقضی شدن کش دایرکتوری در فهرستهای دایرکتوری ظاهر خواهند شد.
توجه داشته باشید که برخی backendها متادیتا ایجاد نمیکنند مگر اینکه پرچم --metadata را ارسال کنید.
به عنوان مثال، با استفاده از rclone mount به همراه --metadata --vfs-metadata-extension .metadata خواهیم داشت:
-
$ ls -l /mnt/ total 1048577 -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G $ cat /mnt/1G.metadata { "atime": "2025-03-04T17:34:22.317069787Z", "btime": "2025-03-03T16:03:37.708253808Z", "gid": "1000", "mode": "100664", "mtime": "2025-03-03T16:03:39.640238323Z", "uid": "1000" } $ ls -l /mnt/ total 1048578 -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata
اگر فایل فاقد متادیتا باشد، به صورت {} بازگردانده میشود و در صورت بروز خطا در خواندن متادیتا، خطا به صورت {"error":"error string"} بازگردانده خواهد شد.
-
rclone mount remote:path /path/to/mountpoint [flags]
گزینهها (OPTIONS)
-
--allow-idmap اجازه دادن به اتصالهای id-mapped (فقط Linux 6.12+ و mount2) --allow-non-empty اجازه اتصال روی یک دایرکتوری غیرخالی (در Windows پشتیبانی نمیشود) --allow-other اجازه دسترسی به سایر کاربران (در Windows پشتیبانی نمیشود) --allow-root اجازه دسترسی به کاربر root (در Windows پشتیبانی نمیشود) --async-read استفاده از خواندنهای ناهمگام (در Windows پشتیبانی نمیشود) (پیشفرض true) --attr-timeout Duration مدت زمانی که ویژگیهای فایل/دایرکتوری کش میشوند (پیشفرض 1s) --daemon اجرای mount در پسزمینه و خروج از فرآیند والد (از آنجا که خروجی پسزمینه سرکوب میشود، از --log-file با --log-format=pid,... برای نظارت استفاده کنید) (در Windows پشتیبانی نمیشود) --daemon-timeout Duration محدودیت زمانی برای پاسخدهی rclone به هسته (در Windows پشتیبانی نمیشود) (پیشفرض 0s) --daemon-wait Duration مدت زمان انتظار برای اتصال آماده از دیمن (حداکثر زمان در Linux، زمان خواب ثابت در OSX/BSD) (در Windows پشتیبانی نمیشود) (پیشفرض 1m0s) --debug-fuse اشکالزدایی بخشهای داخلی FUSE - نیازمند -v --default-permissions وادار کردن هسته به اعمال کنترل دسترسی بر اساس حالت فایل (در Windows پشتیبانی نمیشود) --devname string تنظیم نام دستگاه - پیشفرض remote:path است --dir-cache-time Duration مدت زمان کش کردن مدخلهای دایرکتوری (پیشفرض 5m0s) --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) --direct-io استفاده از Direct IO، کش کردن دادهها را غیرفعال میکند --file-perms FileMode مجوزهای فایل (پیشفرض 666) --fuse-flag stringArray پرچمها یا آرگومانهایی که مستقیماً به libfuse/WinFsp فرستاده میشوند (در صورت نیاز تکرار شود) --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) -h, --help راهنما برای mount --link-perms FileMode مجوزهای پیوند (پیشفرض 666) --max-read-ahead SizeSuffix تعداد بایتهایی که میتوان برای خواندنهای متوالی پیشواکشی کرد (در Windows پشتیبانی نمیشود) (پیشفرض 128Ki) --mount-case-insensitive Tristate اعلام به سیستمعامل مبنی بر اینکه اتصال به حروف کوچک و بزرگ حساس نیست (true) یا حساس است (false) صرفنظر از backend (مقدار auto) (پیشفرض unset) --network-mode اتصال به عنوان درایو شبکه راه دور، به جای درایو دیسک ثابت (فقط در Windows پشتیبانی میشود) --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/بارگیری --no-modtime عدم خواندن/نوشتن زمان اصلاح (میتواند کارها را سرعت ببخشد) --no-seek عدم اجازه seek در فایلها --noappledouble نادیده گرفتن فایلهای Apple Double (._) و .DS_Store (فقط در OSX پشتیبانی میشود) (پیشفرض true) --noapplexattr نادیده گرفتن تمام ویژگیهای توسعهیافته "com.apple.*" (فقط در OSX پشتیبانی میشود) -o, --option stringArray گزینه برای libfuse/WinFsp (در صورت نیاز تکرار شود) --poll-interval Duration زمان انتظار بین نظرسنجیها برای تغییرات، باید کمتر از dir-cache-time باشد و فقط روی remoteهای پشتیبانیشده (تنظیم 0 برای غیرفعالسازی) (پیشفرض 1m0s) --read-only تنها اجازه دسترسی فقطخواندنی --uid uint32 بازنویسی فیلد uid تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) --umask FileMode بازنویسی بیتهای مجوز تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) --vfs-block-norm-dupes اگر نامهای فایل تکراری در همان دایرکتوری (پس از یکسانسازی) وجود داشته باشد، خطا ثبت شده و موارد تکراری پنهان میشوند (ممکن است افت کارایی داشته باشد) --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء در کش (پیشفرض 1h0m0s) --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء موجود در کش (پیشفرض off) --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی کش (پیشفرض off) --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) --vfs-cache-poll-interval Duration بازه زمانی نظرسنجی کش برای یافتن اشیاء کهنه (پیشفرض 1m0s) --vfs-case-insensitive در صورت پیدا نشدن نام فایل، یافتن تطابق غیرحساس به حروف کوچک و بزرگ --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) --vfs-fast-fingerprint استفاده از اثرانگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات --vfs-handle-caching Duration مدت زمان زنده نگهداشتن دسته فایل (file handle) و بارگیریکنندهها پس از آخرین بستن (پیشفرض 5s) --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS --vfs-metadata-extension string تنظیم پسوند برای خواندن متادیتا از آن --vfs-read-ahead SizeSuffix پیشواکشی اضافی فراتر از --buffer-size هنگام استفاده از cache-mode full --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ به صورت تکهای (chunk) (پیشفرض 128Mi) --vfs-read-chunk-size-limit SizeSuffix در صورت بزرگتر بودن از --vfs-read-chunk-size، اندازه تکه پس از هر بار خواندن دو برابر میشود تا به این حد برسد ('off' نامحدود است) (پیشفرض off) --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان --vfs-read-wait Duration مدت زمان انتظار برای خواندن متوالی قبل از seek کردن (پیشفرض 20ms) --vfs-refresh تازهسازی بازگشتی کش دایرکتوری در پسزمینه هنگام شروع --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای اندازه Used --vfs-write-back Duration مدت زمان پسنویسی فایلها پس از آخرین استفاده هنگام بهکارگیری کش (پیشفرض 5s) --vfs-write-wait Duration مدت زمان انتظار برای نوشتن متوالی پیش از اعلام خطا (پیشفرض 1s) --volname string تنظیم نام حجم (فقط در Windows و OSX پشتیبانی میشود) --write-back-cache وادار کردن هسته به بافر کردن نوشتنها پیش از ارسال آنها به rclone (بدون این، از کش writethrough استفاده میشود) (در Windows پشتیبانی نمیشود)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "گزینههای فیلتر (Filter Options)"
پرچمهایی برای فیلتر کردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نامفایل --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچ پردازشی روی خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افرازبندی نام فایلها با هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال) --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone moveto
انتقال فایل یا دایرکتوری از مبدأ به مقصد.
خلاصه دستور (SYNOPSIS)
اگر source:path یک فایل یا دایرکتوری باشد، آن را به یک فایل یا دایرکتوری با نام dest:path منتقل میکند.
این دستور میتواند برای تغییر نام فایلها یا بارگذاری فایلهای تکی با نامی غیر از نام فعلی آنها استفاده شود. اگر مبدأ یک دایرکتوری باشد، دقیقاً مانند دستور move (https://rclone.org/commands/rclone_move) عمل میکند.
بنابراین:
-
rclone moveto src dst
که در آن src و dst مسیرهای rclone هستند، چه بهصورت remote:path یا /path/to/local یا C:.
عملکرد این دستور بدین صورت خواهد بود:
-
اگر src فایل باشد آن را به dst منتقل میکند و در صورت وجود فایل فعلی، آن را بازنویسی میکند اگر src دایرکتوری باشد آن را به dst منتقل میکند و در صورت وجود فایلهای فعلی، آنها را بازنویسی میکند برای جزئیات کامل به دستور move مراجعه کنید
این دستور فایلهایی را که بر اساس اندازه و زمان ویرایش یا MD5SUM در src و dst یکسان هستند منتقل نمیکند. پس از انتقال موفقیتآمیز، src حذف خواهد شد.
مهم: از آنجا که این کار میتواند موجب از دست رفتن دادهها شود، ابتدا با پرچم --dry-run یا --interactive/-i آزمایش کنید.
نکته: از پرچم -P/--progress برای مشاهده آمار لحظهای انتقال استفاده کنید..SS پرچمهای لاگر (Logger Flags)
پرچمهای --differ، --missing-on-dst، --missing-on-src، --match و --error مسیرها را، در هر سطر یک مورد، در نام فایل دادهشده (یا اگر - باشد در stdout) مینویسند. آنچه آنها مینویسند در راهنمای زیر شرح داده شده است. برای نمونه، --differ تمام مسیرهایی را که هم در مبدأ و هم در مقصد موجودند اما تفاوت دارند، مینویسد.
پرچم --combined فایلی (یا در stdout) مینویسد که شامل تمام مسیرهای فایل به همراه یک نماد، سپس یک فاصله (space) و در ادامه مسیر است تا مشخص کند چه اتفاقی برای آن افتاده است. این خروجی یادآور فایلهای diff است.
- •
- = path یعنی مسیر در مبدأ و مقصد پیدا شد و یکسان بود
- •
- - path یعنی مسیر در مبدأ موجود نبود، بنابراین فقط در مقصد وجود دارد
- •
- + path یعنی مسیر در مقصد موجود نبود، بنابراین فقط در مبدأ وجود دارد
- •
- * path یعنی مسیر در مبدأ و مقصد موجود بود اما تفاوت داشت.
- •
- ! path یعنی در خواندن یا درهمسازی (هش کردن) مبدأ یا مقصد خطایی رخ داده است.
پرچم --dest-after یک فایل فهرست را با استفاده از همان پرچمهای قالببندی lsf (https://rclone.org/commands/rclone_lsf/#synopsis) مینویسد (شامل گزینههای قابل سفارشیسازی برای hash، modtime و غیره (https://rclone.org/commands/rclone_lsf/#synopsis)). از نظر مفهومی شبیه به گزینه --itemize-changes در rsync است، اما یکسان نیست -- این پرچم باید فهرستی دقیق از آنچه پس از پایان دستور در مقصد خواهد بود را خروجی دهد.
هنگامی که پرچم --no-traverse تنظیم شده باشد، تمام گزارشهای مربوط به فایلهایی که فقط در مقصد وجود دارند، ناقص بوده یا بهطور کامل ثبت نخواهند شد.
توجه داشته باشید که این پرچمهای لاگر محدودیتهایی دارند و سناریوهای خاصی در حال حاضر پشتیبانی نمیشوند:
- •
- --max-duration / CutoffModeHard
- •
- --compare-dest / --copy-dest
- •
- انتقالهای سمت سرور برای یک دایرکتوری کامل بهصورت یکجا
- •
- تلاشهای مجدد در سطح بالا (High-level retries)، زیرا موارد تکراری ایجاد خواهد شد (برای غیرفعال کردن از --retries 1 استفاده کنید)
- •
- احتمالاً برخی سناریوهای خطای غیرعادی
همچنین توجه داشته باشید که هر فایل در حین اجرا ثبت میشود و نه پس از آن؛ بنابراین بیشترین کاربرد آن به عنوان پیشبینیکنندهای از آنچه «باید» برای هر فایل رخ دهد است (که ممکن است با آنچه واقعاً رخ داده است مطابقت داشته باشد یا خیر).
-
rclone moveto source:path dest:path [flags]
گزینهها (Options)
-
--absolute قراردادن یک / در ابتدای نام مسیرها --combined string ایجاد یک گزارش ترکیبی از تغییرات در این فایل --csv خروجی با قالب CSV --dest-after string گزارش تمام فایلهای موجود در مقصد پس از همگامسازی --differ string گزارش تمام فایلهای ناهمخوان در این فایل -d, --dir-slash افزودن یک اسلش به نامهای دایرکتوری (پیشفرض: true) --dirs-only فقط فهرستکردن دایرکتوریها --error string گزارش تمام فایلهای دارای خطا (درهمسازی یا خواندن) در این فایل --files-only فقط فهرستکردن فایلها (پیشفرض: true) -F, --format string قالب خروجی - برای جزئیات راهنمای lsf را ببینید (پیشفرض: "p") --hash h استفاده از این هش هنگامی که h در قالب MD5|SHA-1|DropboxHash به کار رفته باشد (پیشفرض: "md5") -h, --help راهنمای moveto --match string گزارش تمام فایلهای همخوان در این فایل --missing-on-dst string گزارش تمام فایلهای ناموجود در مقصد در این فایل --missing-on-src string گزارش تمام فایلهای ناموجود در مبدأ در این فایل -s, --separator string جداکننده موارد در قالب (پیشفرض: ";") -t, --timeformat string مشخصکردن یک قالب سفارشی زمان - برای جزئیات به مستندات مراجعه کنید (پیشفرض: 2006-01-02 15:04:05)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای کپی (Copy Options)
پرچمها برای هر دستوری که میتواند فایلی را کپی کند
-
--check-first انجام تمام بررسیها پیش از آغاز انتقالها -c, --checksum بررسی تغییرات با اندازه و checksum (در صورت دسترسی، یا بازگشت به اندازه به تنهایی) --compare-dest stringArray لحاظ کردن مسیرهای سمت سرور اضافی در طول مقایسه --copy-dest stringArray ضمن اعمال --compare-dest، فایلها را از مسیرها به مقصد نیز کپی میکند --cutoff-mode HARD|SOFT|CAUTIOUS حالت توقف انتقالها پس از رسیدن به حد بیشینه انتقال HARD|SOFT|CAUTIOUS (پیشفرض HARD) --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی --ignore-checksum صرفنظر از بررسی checksumها پس از کپی --ignore-existing صرفنظر از تمام فایلهایی که در مقصد وجود دارند --ignore-size نادیده گرفتن اندازه هنگام صرفنظر کردن؛ استفاده از modtime یا checksum -I, --ignore-times عدم صرفنظر از مواردی که با اندازه و زمان همخوانی دارند - انتقال همه بدون قید و شرط --immutable عدم تغییر فایلها؛ در صورت تغییر فایلهای موجود، با خطا مواجه شود --inplace دانلود مستقیم به فایل مقصد به جای دانلود اتمیک در فایل موقت/تغییر نام -l, --links تبدیل symlinkها به/از فایلهای عادی با پسوند '.rclonelink' --max-backlog int بیشینه تعداد اشیاء در صف همگامسازی یا بررسی (پیشفرض 10000) --max-duration Duration بیشینه مدت زمانی که rclone دادهها را انتقال میدهد (پیشفرض 0s) --max-transfer SizeSuffix بیشینه حجم داده برای انتقال (پیشفرض off) -M, --metadata در صورت تعیین، حفظ متادیتا هنگام کپی کردن اشیاء --modify-window Duration بیشینه اختلاف زمانی برای یکسان در نظر گرفتن فایلها (پیشفرض 1ns) --multi-thread-chunk-size SizeSuffix اندازه تکه (chunk) برای دانلود/آپلود چندرشتهای، اگر توسط سیستمفایل تعیین نشده باشد (پیشفرض 64Mi) --multi-thread-cutoff SizeSuffix استفاده از دانلود چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) --multi-thread-streams int تعداد جریانها (streams) برای دانلودهای چندرشتهای (پیشفرض 4) --multi-thread-write-buffer-size SizeSuffix اندازه بافر درونحافظهای برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) --name-transform stringArray تبدیل مسیرها در طول فرآیند کپی --no-check-dest بررسی نکردن مقصد، کپی در هر صورت انجام شود --no-traverse عدم پیمایش سیستمفایل مقصد هنگام کپی --no-update-dir-modtime بهروزرسانی نکردن زمان تغییر دایرکتوریها --no-update-modtime بهروزرسانی نکردن modtime مقصد در صورت یکسان بودن فایلها --order-by string دستورالعملها برای نحوه مرتبسازی انتقالها، مانند 'size,descending' --partial-suffix string افزودن partial-suffix به نام فایل موقت هنگامی که --inplace استفاده نشده باشد (پیشفرض ".partial") --refresh-times تازهسازی modtime فایلهای ریموت --server-side-across-configs اجازه به عملیاتهای سمت سرور (مانند کپی) برای کار در میان پیکربندیهای مختلف --size-only صرفنظر کردن فقط بر اساس اندازه، نه modtime یا checksum --streaming-upload-cutoff SizeSuffix حد آستانه برای تغییر به آپلود تکهای اگر اندازه فایل نامشخص باشد؛ انتقال پس از رسیدن به آستانه یا اتمام فایل آغاز میشود (پیشفرض 100Ki) -u, --update صرفنظر از فایلهایی که در مقصد جدیدتر هستند
گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر)
گزینههای فیلتر (Filter Options)
پرچمهایی برای پالایش فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای مستثنا شده از همگامسازی در مقصد --exclude stringArray مستثنا کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنا کردن دایرکتوریها در صورت وجود داشتن filename --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچگونه پردازش روی خطوط (استفاده از - برای stdin) --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL به عنوان جداکننده (استفاده از - برای stdin) -f, --filter stringArray افزودن یک قاعده پالایش فایل --filter-from stringArray خواندن الگوهای پالایش فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افرازبندی نامفایلها بر اساس هش k/n یا به صورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off) --metadata-exclude stringArray مستثنا کردن متادیتای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده پالایش متادیتا --metadata-filter-from stringArray خواندن الگوهای پالایش متادیتا از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادیتای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (استفاده از - برای خواندن از stdin) --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض off) --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض off)
پرچمها برای فهرستکردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرست بازگشتی در صورت در دسترس بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone ncdu
کاوش در یک remote با یک رابط کاربری مبتنی بر متن.
خلاصه دستور (SYNOPSIS)
این دستور یک رابط کاربری مبتنی بر متن را نمایش میدهد که امکان پیمایش در یک remote را فراهم میکند. این ابزار بیش از همه برای پاسخ به این پرسش مفید است - "چه چیزی تمام فضای دیسک من را مصرف کرده است؟".
برای ساخت رابط کاربری، ابتدا کل remote مشخصشده را پویش کرده و نمایشی از آن در حافظه میسازد. میتوان در طول این مرحلهٔ پویش از rclone ncdu استفاده کرد و مشاهده خواهید کرد که همگام با پیشرفت کار، ساختار دایرکتوری را میسازد.
میتوانید با فشردن کلیدها با رابط کاربری تعامل داشته باشید؛ برای روشن و خاموش کردن راهنما '?' را فشار دهید. کلیدهای پشتیبانیشده عبارتند از:
-
↑,↓ یا k,j برای حرکت →,l برای ورود ←,h برای بازگشت g تغییر وضعیت نمودار c تغییر وضعیت شمارشها a تغییر وضعیت میانگین اندازه در دایرکتوری m تغییر وضعیت زمان ویرایش u تغییر وضعیت قالب خوانا برای انسان n,s,C,A,M مرتبسازی بر اساس name,size,count,asize,mtime d حذف فایل/دایرکتوری v انتخاب فایل/دایرکتوری V ورود به حالت انتخاب بصری D حذف فایلها/دایرکتوریهای انتخابشده y کپی مسیر جاری به کلیپبورد Y نمایش مسیر جاری ^L نوسازی صفحه (رفع بهمریختگی صفحه) r محاسبه مجدد اندازه فایلها ? برای روشن و خاموش کردن راهنما ESC برای بستن جعبه منو q/^c برای خروج
فایلها/دایرکتوریهای فهرستشده ممکن است با یک پرچم تکنویسهای پیشوند شوند، که برخی از آنها با توضیحی در کروشه در انتهای خط همراه هستند. این پرچمها معانی زیر را دارند:
-
e به این معنی است که این یک دایرکتوری خالی است، یعنی حاوی هیچ فایلی نیست (اما ممکن است شامل زیردایرکتوریهای خالی باشد) ~ به این معنی است که این دایرکتوری فایلهایی دارد (احتمالاً در زیردایرکتوریها) با اندازه نامشخص، و بنابراین ممکن است اندازه دایرکتوری کمتر از مقدار واقعی تخمین زده شود (و اندازه میانگین نادقیق باشد، زیرا میانگین فایلهایی با اندازه مشخص است). . به این معنی است که هنگام خواندن یک زیردایرکتوری خطایی رخ داده است، و بنابراین ممکن است اندازه دایرکتوری کمتر از مقدار واقعی تخمین زده شود (و اندازه میانگین نادقیق باشد) ! به این معنی است که هنگام خواندن این دایرکتوری خطایی رخ داده است
این دستور ادای احترامی به ابزار ncdu (https://dev.yorhel.nl/ncdu) است، اما برای remoteهای rclone. در حال حاضر فاقد بسیاری از ویژگیها است، اما در وضعیت فعلی نیز بسیار کاربردی است. برخلاف ncdu، فایلهای استثناشده را نشان نمیدهد.
توجه داشته باشید که حذف فایلها/دایرکتوریهای بزرگ ممکن است مدتی طول بکشد. رابط کاربری در این مدت پاسخگو نخواهد بود، زیرا عملیات حذف بهصورت همگام انجام میشود.
برای فهرستکردن غیرتعاملی remote، دستور tree (https://rclone.org/commands/rclone_tree) را ببینید. صرفاً برای دریافت حجم کل remote نیز میتوانید از دستور size (https://rclone.org/commands/rclone_size) استفاده کنید.
-
rclone ncdu remote:path [flags]
-
-h, --help راهنمایی برای ncdu
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید.
گزینههای پالایش (Filter Options)
پرچمها برای پالایش فهرست دایرکتوریها
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند --exclude stringArray مستثنی کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچ پردازشی روی خطها (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده پالایش فایل --filter-from stringArray خواندن الگوهای پالایش فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها بر پایه هش k/n یا بهصورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration تنها انتقال فایلهای تازهتر از این برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --max-depth int در صورت تعیین، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض غیرفعال) --metadata-exclude stringArray مستثنی کردن فرادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده پالایش فراداده --metadata-filter-from stringArray خواندن الگوهای پالایش فراداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن فرادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شمول فراداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض غیرفعال)
گزینههای فهرستکردن (Listing Options)
پرچمها برای فهرست کردن دایرکتوریها
-
--default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone nfsmount
سوار کردن ریموت بهعنوان سیستمفایل بر روی یک نقطهٔ اتصال (mountpoint).
خلاصه دستور (SYNOPSIS)
دستور rclone nfsmount به لینوکس، FreeBSD، macOS و ویندوز امکان میدهد تا هر یک از سامانههای ذخیرهسازی ابری Rclone را با استفاده از FUSE بهعنوان یک سیستمفایل متصل (mount) کنند.
ابتدا ریموت خود را با استفاده از rclone config پیکربندی کنید. بررسی کنید که با دستورهایی مانند rclone ls بهدرستی کار کند.
در لینوکس و macOS، میتوانید mount را در هر دو حالت پیشزمینه (foreground) یا پسزمینه (daemon) اجرا کنید. عملیات mount بهطور پیشفرض در حالت پیشزمینه اجرا میشود. از پرچم --daemon برای اجبار به اجرا در حالت پسزمینه استفاده کنید. در ویندوز تنها میتوانید mount را در حالت پیشزمینه اجرا کنید و این پرچم نادیده گرفته میشود.
در حالت پسزمینه، rclone مانند یک برنامهٔ استاندارد mount یونیکس عمل میکند: برنامهٔ اصلی شروع به کار کرده، یک فرایند پسزمینهٔ rclone را برای راهاندازی و نگهداری mount ایجاد میکند، تا زمان موفقیت یا پایان مهلت زمانی (timeout) منتظر میماند و با کد مناسب خارج میشود (و در صورت شکست، فرایند فرزند را میکشد).
در لینوکس/macOS/FreeBSD، اتصال را به این صورت آغاز کنید، که در آن /path/to/local/mount یک دایرکتوری خالی و موجود است:
-
rclone nfsmount remote:path/to/files /path/to/local/mount
در ویندوز میتوانید اتصال را به روشهای مختلفی آغاز کنید. برای جزئیات به بخشهای زیر مراجعه کنید. اگر mount پیشزمینه بهصورت تعاملی از یک پنجرهٔ کنسول استفاده شود، rclone اتصال را ارائه کرده و کنسول را اشغال میکند؛ بنابراین تا زمان توقف rclone (برای نمونه با فشردن Ctrl-C) باید از پنجرهٔ دیگری برای کار با مسیر متصلشده استفاده شود.
مثالهای زیر اتصال را به یک درایو تخصیصیافته بهطور خودکار، به یک حرف درایو مشخص X:، به مسیر C:\path\parent\mount (که در آن دایرکتوری والد یا درایو باید موجود باشد، و mount باید وجود نداشته باشد، و هنگام اتصال بهعنوان درایو شبکه پشتیبانی نمیشود)، و مثال آخر اتصال بهصورت اشتراک شبکهٔ \\cloud\remote و نگاشت آن به یک درایو بهطور خودکار تخصیصیافته را نشان میدهند:
-
rclone nfsmount remote:path/to/files * rclone nfsmount remote:path/to/files X: rclone nfsmount remote:path/to/files C:\path\parent\mount rclone nfsmount remote:path/to/files \\cloud\remote
هنگامی که برنامه در حالت پیشزمینه به پایان برسد، چه از طریق Ctrl+C و چه با دریافت سیگنال SIGINT یا SIGTERM، اتصال باید بهطور خودکار متوقف شود.
هنگام اجرا در حالت پسزمینه، کاربر باید اتصال را بهصورت دستی متوقف کند:
-
# Linux fusermount -u /path/to/local/mount #... or on some systems fusermount3 -u /path/to/local/mount # OS X or Linux when using nfsmount umount /path/to/local/mount
عملیات umount ممکن است با شکست مواجه شود، بهعنوان نمونه هنگامی که نقطهٔ اتصال مشغول باشد. در چنین حالتی، مسئولیت متوقف کردن دستی اتصال بر عهدهٔ کاربر خواهد بود.
اندازهٔ سیستمفایل سوارشده بر اساس اطلاعات دریافتشده از ریموت تنظیم خواهد شد؛ مشابه مقداری که توسط دستور rclone about (https://rclone.org/commands/rclone_about) بازگردانده میشود. ریموتهای دارای فضای ذخیرهسازی نامحدود ممکن است تنها فضای مصرفشده را گزارش دهند، که در این صورت 1 PiB فضای آزاد اضافی برای آن در نظر گرفته میشود. اگر ریموت اصلاً از ویژگی about پشتیبانی نکند (https://rclone.org/overview/#optional-features)، مقدار 1 PiB هم بهعنوان اندازهٔ کل و هم اندازهٔ آزاد در نظر گرفته میشود..SS "نصب در ویندوز (Installing on Windows)"
برای اجرای rclone nfsmount on Windows، باید WinFsp (https://winfsp.dev) را بارگیری و نصب کنید.
پروژهٔ WinFsp (https://github.com/winfsp/winfsp) یک پروکسی متنباز فایلسیستم ویندوز (Windows File System Proxy) است که نوشتن سیستمهای فایل در فضای کاربری (user space) را برای ویندوز آسان میکند. این ابزار یک لایه شبیهسازی FUSE ارائه میدهد که rclone در ترکیب با cgofuse (https://github.com/winfsp/cgofuse) از آن استفاده میکند. هر دوی این بستهها توسط Bill Zissimopoulos توسعه داده شدهاند که در طول پیادهسازی rclone nfsmount برای ویندوز بسیار یاریرسان بود.
حالتهای سوار کردن در ویندوز (Mounting modes on windows)
برخلاف سایر سیستمعاملها، Microsoft Windows نوع سیستمفایل متفاوتی را برای درایوهای شبکه و درایوهای ثابت (fixed) ارائه میدهد. ویندوز دسترسی را با این فرض بهینهسازی میکند که درایوهای دیسک ثابت سریع و قابلاعتماد هستند، در حالی که درایوهای شبکه تاخیر نسبتاً بالا و قابلیت اطمینان کمتری دارند. برخی تنظیمات نیز میتوانند بین این دو نوع تمایز قائل شوند؛ برای نمونه اینکه Windows Explorer روی درایوهای شبکه صرفاً آیکونها را نمایش دهد و برای فایلهای ویدیویی و تصویری پیشنمایش بندانگشتی ایجاد نکند.
در بیشتر موارد، rclone بهطور پیشفرض ریموت را بهعنوان یک درایو دیسک ثابت و عادی سوار میکند. با این حال، میتوانید آن را بهعنوان یک درایو شبکه دوردست که اغلب بهعنوان اشتراک شبکه (network share) توصیف میشود نیز سوار کنید. اگر یک ریموت rclone را با حالت پیشفرضِ درایو ثابت سوار کردید و با خطاهای غیرمنتظره برنامه، قفل شدن (freeze) یا مشکلات دیگر مواجه شدید، سوار کردن آن را بهعنوان درایو شبکه در نظر بگیرید.
هنگام سوار کردن بهعنوان درایو دیسک ثابت، میتوانید آن را به یک حرف درایو بلااستفاده، یا به مسیری که بیانگر یک زیردایرکتوری ناموجود از یک درایو یا دایرکتوری والد موجود است، سوار کنید. استفاده از مقدار ویژهٔ * به rclone میگوید که بهطور خودکار حرف درایو دردسترس بعدی را با شروع از Z: و حرکت به سمت عقب، اختصاص دهد. مثالها:
-
rclone nfsmount remote:path/to/files * rclone nfsmount remote:path/to/files X: rclone nfsmount remote:path/to/files C:\path\parent\mount rclone nfsmount remote:path/to/files X:
گزینهٔ --volname میتواند برای تنظیم یک نام حجم سفارشی برای سیستمفایل سوارشده به کار رود. پیشفرض این است که از نام و مسیر ریموت استفاده شود.
برای سوار کردن بهعنوان درایو شبکه، میتوانید گزینهٔ --network-mode را به دستور nfsmount خود اضافه کنید. سوار کردن در مسیر یک دایرکتوری در این حالت پشتیبانی نمیشود؛ این محدودیتی است که ویندوز بر junctionها اعمال میکند، بنابراین ریموت همیشه باید به یک حرف درایو سوار شود.
-
rclone nfsmount remote:path/to/files X: --network-mode
نام حجم مشخصشده با --volname برای ایجاد مسیر اشتراک شبکه استفاده خواهد شد. یک مسیر کامل UNC، مانند \\cloud\remote، اختیاری همراه با مسیر \\cloud\remote\madeup\path، دقیقاً به همان صورت استفاده خواهد شد. هر رشتهٔ دیگری پس از پیشوند پیشفرض \\server\ بهعنوان بخش اشتراک (share) استفاده خواهد شد. اگر هیچ نام حجمی مشخص نشود، آنگاه از \\server\share استفاده خواهد شد. هنگامی که بیش از یک درایو را سوار میکنید، باید مطمئن شوید که نام حجم یکتا است، در غیر این صورت دستور mount با شکست مواجه خواهد شد. نام اشتراک بهعنوان برچسب حجم (volume label) برای درایو نگاشتشده در نظر گرفته میشود و در Windows Explorer و غیره نمایش مییابد، در حالی که مسیر کامل \\server\share درست مانند یک نگاشت معمولی درایو شبکه، توسط net use و غیره بهعنوان مسیر دوردست UNC گزارش خواهد شد.
اگر یک مسیر کامل UNC اشتراک شبکه را با --volname مشخص کنید، این کار بهطور ضمنی گزینهٔ --network-mode را فعال میکند، بنابراین دو مثال زیر نتیجه یکسانی دارند:
-
rclone nfsmount remote:path/to/files X: --network-mode rclone nfsmount remote:path/to/files X: --volname \\server\share
همچنین میتوانید خودِ مسیر UNC اشتراک شبکه را بهعنوان نقطه سوار کردن (mountpoint) مشخص کنید. در این صورت rclone بهطور خودکار مانند * یک حرف درایو را اختصاص داده و از آن بهعنوان نقطه سوار کردن استفاده میکند، و در عوض از مسیر UNC مشخصشده بهعنوان نام حجم استفاده خواهد کرد؛ گویی که با گزینهٔ --volname تعیین شده باشد. این کار نیز بهطور ضمنی گزینهٔ --network-mode را فعال خواهد کرد. این بدان معناست که دو مثال زیر نتیجه یکسانی دارند:
-
rclone nfsmount remote:path/to/files \\cloud\remote rclone nfsmount remote:path/to/files * --volname \\cloud\remote
راه دیگری نیز برای فعال کردن حالت شبکه و تنظیم مسیر اشتراک وجود دارد، و آن ارسال مستقیم گزینهٔ "بومی" libfuse/WinFsp است: --fuse-flag --VolumePrefix=\server\share. توجه داشته باشید که در این حالت مسیر باید تنها با پیشوند یک بکاسلش تکی باشد.
نکته: در نسخههای قبلی rclone این تنها روش پشتیبانیشده بود.
دربارهٔ نگاشت درایو بیشتر بخوانید: (https://en.wikipedia.org/wiki/Drive_mapping)
همچنین بخش «محدودیتها» (Limitations) در زیر را ببینید..SS مجوزهای سیستمفایل ویندوز (Windows filesystem permissions)
لایه شبیهساز FUSE در ویندوز باید تبدیل بین مدل مجوز مبتنی بر POSIX مورد استفاده در FUSE و مدل مجوز استفادهشده در ویندوز بر پایه فهرستهای کنترل دسترسی (ACL) را انجام دهد.
سیستمفایل سوارشده معمولاً سه مدخل در فهرست کنترل دسترسی (ACL) خود دریافت میکند، که نمایانگر مجوزها برای دامنههای مجوز POSIX هستند: مالک (Owner)، گروه (group) و دیگران (others). بهطور پیشفرض، مالک و گروه از کاربر فعلی گرفته میشوند و گروه توکار "Everyone" برای نشان دادن دیگران به کار میرود. کاربر/گروه را میتوان با گزینههای FUSE شامل "UserName" و "GroupName" سفارشیسازی کرد، برای مثال: -o UserName=user123 -o GroupName="Authenticated Users". مجوزهای هر مدخل بر اساس گزینههای --dir-perms و --file-perms تنظیم میشوند، که مقداری را در نمادگذاری عددی سنتی یونیکس میپذیرند (https://en.wikipedia.org/wiki/File-system_permissions#Numeric_notation).
مجوزهای پیشفرض معادل با --file-perms 0666 --dir-perms 0777 هستند، یعنی مجوزهای خواندن و نوشتن برای همگان. این بدان معناست که شما قادر به اجرای هیچ برنامهای از نقطه سوارشده نخواهید بود. برای این که بتوانید این کار را انجام دهید باید مجوزهای اجرا را اضافه کنید، برای مثال --file-perms 0777 --dir-perms 0777 تا آن را برای همگان اضافه کند. اگر برنامه نیاز به نوشتن فایلها داشته باشد، این احتمال وجود دارد که مجبور باشید VFS File Caching را نیز فعال کنید (محدودیتها را نیز ببینید). توجه داشته باشید که مجوز نوشتن پیشفرض محدودیتهایی برای حسابهایی غیر از مالک دارد، به طور مشخص فاقد مجوز "write extended attributes" است، همانطور که در ادامه توضیح داده شده است.
نگاشت مجوزها همیشه بدیهی نیست، و نتیجهای که در Windows Explorer مشاهده میکنید ممکن است دقیقاً آن چیزی نباشد که انتظار داشتید. برای مثال، هنگام تنظیم مقداری که شامل دسترسی نوشتن برای دامنه گروه یا دیگران باشد، این مقدار به مجوزهای تکی "write attributes"، "write data" و "append data" نگاشت میشود، اما شامل "write extended attributes" نخواهد بود. سپس ویندوز این را به عنوان مجوز پایهای "Special" به جای "Write" نشان میدهد، زیرا "Write" مجوز "write extended attributes" را نیز پوشش میدهد. هنگام تنظیم رقم 0 برای گروه یا دیگران، به منظور نشان دادن عدم وجود مجوز، آنها همچنان مجوزهای تکی "read attributes"، "read extended attributes" و "read permissions" را دریافت خواهند کرد. این کار به دلایل سازگاری انجام میشود، به عنوان مثال تا به کاربرانی که مجوزهای اضافی ندارند اجازه دهد متادیتاهای پایه درباره فایلها را مانند یونیکس بخوانند.
ابزار WinFsp 2021 (نسخه 1.9) گزینه جدید FUSE با نام "FileSecurity" را معرفی کرد، که امکان تعیین کامل توصیفکنندههای امنیتی فایل را با استفاده از SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-string-format) فراهم میکند. با این کار، در مقایسه با استفاده از مجوزهای POSIX توضیحدادهشده در بالا، کنترل دقیقی بر مجوزهای حاصل به دست میآورید، و هیچ مجوز اضافی بهطور خودکار برای سازگاری با یونیکس اضافه نخواهد شد. چند نمونه از موارد استفاده در ادامه میآید.
اگر با استفاده از --file-perms 0600 --dir-perms 0700 مجوزهای POSIX را فقط برای اجازه دسترسی به مالک تنظیم کنید، همانطور که در بالا شرح داده شد، به گروه کاربر و گروه توکار "Everyone" همچنان برخی مجوزهای ویژه داده خواهد شد. سپس برخی برنامهها ممکن است این موضوع را (به اشتباه) به عنوان قابل دسترس بودن فایل توسط همگان تفسیر کنند، برای مثال یک کلاینت SSH ممکن است هشداری در مورد "unprotected private key file" بدهد. میتوانید با مشخص کردن -o FileSecurity="D:P(A;;FA;;;OW)" این مشکل را دور بزنید، که دسترسی همهجانبه فایل (FA) را برای مالک (OW) تنظیم میکند و نه هیچ چیز دیگر.
بنابراین هنگام تنظیم مجوزهای نوشتن، به جز برای مالک، این مقدار شامل مجوز "write extended attributes" نمیشود، همانطور که در بالا ذکر شد. این امر ممکن است مانع از نوشتن برنامهها در فایلها شود و در عوض خطای permission denied بدهد. برای تنظیم مجوزهای نوشتن کارآمد برای گروه توکار "Everyone"، مشابه آنچه بهطور پیشفرض دریافت میکند اما با افزودن "write extended attributes"، میتوانید -o FileSecurity="D:P(A;;FRFW;;;WD)" را مشخص کنید، که خواندن فایل (FR) و نوشتن فایل (FW) را برای همگان (WD) تنظیم میکند. اگر اجرای فایل (FX) نیز مورد نیاز است، آن را به -o FileSecurity="D:P(A;;FRFWFX;;;WD)" تغییر دهید، یا با -o FileSecurity="D:P(A;;FA;;;WD)" دسترسی همهجانبه فایل (FA) را برای دریافت مجوزهای دسترسی کامل، از جمله حذف، تنظیم نمایید..SS نکات و هشدارهای Windows
درایوهایی که با دسترسی Administrator ایجاد میشوند برای سایر حسابهای کاربری قابل مشاهده نیستند، حتی حسابی که با ویژگی User Account Control (UAC) به سطح Administrator ارتقا یافته باشد. نتیجه این امر آن است که اگر از طریق یک Command Prompt اجرا شده با دسترسی Administrator به یک حرف درایو متصل (mount) شوید و سپس تلاش کنید از طریق Windows Explorer (که به عنوان Administrator اجرا نمیشود) به همان درایو دسترسی پیدا کنید، قادر به دیدن درایو سوارشده نخواهید بود.
اگر نیازی به دسترسی به درایو از طریق برنامههای در حال اجرا با دسترسیهای مدیریتی (administrative) ندارید، سادهترین راهکار برای دور زدن این مشکل این است که همیشه عملیات سوار کردن (mount) را از طریق یک خط فرمان بدون ارتقای دسترسی (non-elevated) انجام دهید.
برای اینکه درایوهای نگاشتشده (mapped drives) صرفنظر از ارتقای دسترسی یا عدم آن برای حساب کاربری ایجادکننده در دسترس باشند، یک تنظیم ویژه در Windows به نام اتصالات پیوندیافته (linked connections) (https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/mapped-drives-not-available-from-elevated-command#detail-to-configure-the-enablelinkedconnections-registry-entry) وجود دارد که میتوان آن را فعال کرد.
همچنین این امکان وجود دارد که با اجرای فرایند ایجادکننده سوار کردن تحت حساب کاربری توکار SYSTEM، درایو متصلشده را برای همه افراد حاضر در سیستم در دسترس قرار داد. چندین راهکار برای انجام این کار وجود دارد: یکی استفاده از ابزار خط فرمانی PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) از مجموعه Sysinternals مایکروسافت است که دارای گزینه -s برای اجرای فرایندها تحت حساب کاربری SYSTEM میباشد. گزینه دیگر، اجرای دستور mount از طریق یک وظیفه زمانبندیشده Windows (Scheduled Task) یا یک Windows Service است که برای اجرا تحت حساب SYSTEM پیکربندی شده باشد. راهکار سوم استفاده از زیرساخت WinFsp.Launcher (https://github.com/winfsp/winfsp/wiki/WinFsp-Service-Architecture) است. اطلاعات بیشتر را در مستندات نصب (https://rclone.org/install) مطالعه کنید. توجه داشته باشید که هنگام اجرای rclone با کاربری دیگر، از فایل پیکربندی موجود در نمایه (profile) شما استفاده نخواهد شد، مگر اینکه با گزینه --config (https://rclone.org/docs/#config-string) این موضوع را مشخص کنید. همچنین توجه داشته باشید که در این حالت، حساب کاربری SYSTEM دارای مجوزهای مالک (owner) خواهد بود و سایر حسابها بر اساس حوزههای گروه (group) یا دیگران (others) مجوز خواهند داشت. همانطور که در بالا ذکر شد، در این صورت آنها مجوز "write extended attributes" را دریافت نخواهند کرد و این امر ممکن است از نوشتن در فایلها جلوگیری کند. میتوانید با استفاده از گزینه FileSecurity این مشکل را برطرف کنید؛ مثال بالا را مشاهده نمایید.
توجه داشته باشید که نگاشت به یک مسیر دایرکتوری، به جای یک حرف درایو، با چنین محدودیتهایی مواجه نمیشود.
سوار کردن (Mounting) در macOS
سوار کردن در macOS میتواند از طریق کارساز توکار NFS (https://rclone.org/commands/rclone_serve_nfs)، macFUSE (https://osxfuse.github.io) (همچنین شناختهشده با نام osxfuse) یا FUSE-T (https://www.fuse-t.org) انجام شود. سامانه macFUSE یک گرداننده سنتی FUSE است که از افزونه هسته macOS (kext) بهره میبرد. سامانه FUSE-T یک سیستم FUSE جایگزین است که عمل سوار کردن ("mount") را از طریق یک کارساز محلی NFSv4 انجام میدهد.
نرمالسازی یونیکد (Unicode Normalization)
اکیداً توصیه میشود که مقدار پیشفرض --no-unicode-normalization=false برای تمام دستورهای mount و serve در macOS حفظ شود. برای جزئیات بیشتر، ببینید: vfs-case-sensitivity (https://rclone.org/commands/rclone_mount/#vfs-case-sensitivity).
سوار کردن با NFS (NFS mount)
برای macOS (و سایر بسترهایی که از این روش پشتیبانی میکنند)، استفاده از دستور اختصاصی rclone nfsmount (https://rclone.org/commands/rclone_nfsmount) را در اولویت قرار دهید. این دستور کارساز NFS را راهاندازی کرده و عملیات سوار کردن را برای شما انجام میدهد. خود دستور rclone mount همچنان از FUSE (شامل macFUSE/FUSE-T) استفاده میکند و از طریق پرچم به NFS تغییر حالت نمیدهد.
این روش یک کارساز NFS را با استفاده از دستور serve nfs (https://rclone.org/commands/rclone_serve_nfs) راهاندازی کرده و آن را در نقطه اتصال (mountpoint) مشخصشده سوار میکند. اگر این را با استفاده از |--daemon| در حالت پسزمینه اجرا کنید، برای متوقف کردن اتصال mount باید با استفاده از دستور |kill| سیگنال SIGTERM را به فرایند rclone ارسال کنید.
توجه داشته باشید که --nfs-cache-handle-limit بیشینه تعداد دستگیرههای فایل (file handles) ذخیرهشده در حافظه نهان توسط گرداننده کش nfsmount را کنترل میکند. این مقدار نباید بیش از حد کم تنظیم شود، در غیر این صورت ممکن است هنگام دسترسی به فایلها با خطا مواجه شوید. مقدار پیشفرض 1000000 است، اما در صورتی که مصرف منابع سیستم توسط سرور مشکلاتی ایجاد کرد، کاهش این حد را مد نظر قرار دهید..SS نکات macFUSE
در صورت نصب macFUSE با استفاده از بستههای dmg (https://github.com/osxfuse/osxfuse/releases) از وبسایت، rclone کتابخانههای macFUSE را بدون نیاز به هیچ اقدام دیگری پیدا خواهد کرد. با این حال، اگر macFUSE با استفاده از مدیر بسته macports (https://www.macports.org) نصب شده باشد، مراحل اضافی زیر مورد نیاز است.
-
sudo mkdir /usr/local/lib cd /usr/local/lib sudo ln -s /opt/local/lib/libfuse.2.dylib
محدودیتها، هشدارها و نکات FUSE-T
محدودیتها، هشدارها و نکاتی درباره نحوه کارکرد آن وجود دارد. این موارد مربوط به نسخه 1.0.14 از FUSE-T هستند.
بهروزرسانی ModTime در هنگام خواندن
مطابق با ویکی FUSE-T (https://github.com/macos-fuse-t/fuse-t/wiki#caveats):
زمان دسترسی و زمان تغییر فایل نمیتوانند بهطور جداگانه تنظیم شوند، زیرا به نظر میرسد این مشکلی در کلاینت NFS باشد که همواره هر دو را تغییر میدهد. با دستورهای touch -m و touch -a قابل بازتولید است.
این بدان معناست که مشاهده فایلها با ابزارهای مختلف، بهویژه Finder در macOS، باعث میشود rclone زمان تغییر فایل را بهروزرسانی کند. این موضوع ممکن است سبب شود rclone یک نسخه کامل و جدید از فایل را بارگذاری کند.
سوار کردنهای فقطخواندنی (Read Only)
هنگام سوار کردن با --read-only، تلاش برای نوشتن در فایلها برخلاف macFUSE که با یک هشدار واضح همراه است، در سکوت (بدون پیام خطا) با شکست مواجه خواهد شد.
سوار کردن روی لینوکس
در نسخههای جدیدتر Ubuntu، ممکن است هنگام اجرای rclone mount با خطای زیر مواجه شوید:
NOTICE: mount helper error: fusermount3: mount failed: Permission denied CRITICAL: Fatal error: failed to mount FUSE fs: fusermount: exit status 1
این ممکن است به دلیل محدودیتهای جدیدتر Apparmor (https://wiki.ubuntu.com/AppArmor) باشد که میتوان با دستور sudo aa-disable /usr/bin/fusermount3 آن را غیرفعال کرد (ممکن است قبل از آن به اجرای sudo apt install apparmor-utils نیاز داشته باشید).
سوار کردن روی OpenBSD
دستور rclone nfsmount در OpenBSD با راهاندازی کارساز serve nfs (https://rclone.org/commands/rclone_serve_nfs) و سوار کردن آن از طریق mount_nfs(8) سیستم کار میکند؛ همان رویکردی که برای روش سوار کردن NFS در macOS استفاده میشود. در OpenBSD هیچ گزینه سوار کردنی مبتنی بر FUSE وجود ندارد، بنابراین nfsmount تنها راه برای سوار کردن ریموتهای rclone به عنوان یک سیستمفایل محلی در آنجا است.
ثبت در portmap
کلاینت NFS در هسته OpenBSD دیمن mountd را از طریق portmapper سیستم پیدا میکند و به یک درگاه ثابت متصل نمیشود، بنابراین کارساز NFS درونپروسهای rclone قبل از این که بتواند سوار شود، باید در portmap ثبت شود. کارساز serve nfs را روی یک درگاه ثابت آغاز کنید، سرویسهای NFS سیستم را متوقف کنید تا با آن تداخل نداشته باشند، سپس آن درگاه را برای هر دو برنامه RPC nfs و mountd در portmap ثبت کنید (این دستورالعمل ارائه شده توسط hjicks در #8578 (https://github.com/rclone/rclone/issues/8578#issuecomment-2799229652) است):
-
rclone serve nfs --addr localhost:<PORT> remote:path doas rcctl stop nfsd portmap doas pkill -9 mountd # mountd can't be stopped via rcctl(8) doas rcctl -f start portmap doas rpcinfo -s nfs 3 <PORT> doas rpcinfo -s mountd 3 <PORT>
عبارت <PORT> را با درگاه دادهشده به --addr جایگزین کنید. درگاه 2049 نیز کار میکند، اما نیازمند اجرای rclone به عنوان ریشه (root) یا تنظیم sysctl(8) در securelevel 0 است، بنابراین یک درگاه بدون امتیاز برای آزمایش سادهتر است..SS استفاده از mount_nfs -T، نه mount
اشتراک NFS برونریزیشده را مستقیماً با استفاده از mount_nfs(8) و پرچم -T برای اجبار به استفاده از TCP سوار (mount) کنید، نه با پوسته عمومی mount(8) - برنامه mount(8) در OpenBSD گزینه -T را متوجه نمیشود و آن را با خطای unknown option -- T رد میکند:
-
mount_nfs -T localhost:/ /path/to/local/mount
دستور rclone nfsmount این کار را بهطور خودکار در OpenBSD برای شما انجام میدهد (مستقیماً mount_nfs را با -T فراخوانی میکند، بهجای اینکه از mount استفاده کند)، بنابراین این دستور فقط زمانی لازم است که اشتراک serve nfs را بهصورت دستی متصل میکنید.
AUTH_UNIX و محدودیتهای موجود
کلاینت NFS هسته OpenBSD (و سایر سامانههای BSD) نیازمند آن است که کارگزار حین دستتکانی MOUNT RPC شیوه احراز هویت AUTH_UNIX را ارائه دهد؛ کارگزاری که فقط AUTH_NULL را پیشنهاد دهد با خطای mount_nfs: can't access /: Authentication error رد میشود. کارگزار NFS در rclone به همین دلیل AUTH_UNIX را اعلان میکند، هرچند که هیچ کنترل دسترسی به ازای کاربر روی آن پیادهسازی نمیکند - برای پیشینه این موضوع و وضعیت فعلی پشتیبانی از OpenBSD، گزارش مشکل #8578 (https://github.com/rclone/rclone/issues/8578) را ببینید.
محدودیتها
بدون استفاده از --vfs-cache-mode، این دستور تنها میتواند فایلها را بهصورت ترتیبی بنویسد و عمل seek فقط هنگام خواندن ممکن است. این بدان معناست که بسیاری از برنامهها بدون --vfs-cache-mode writes یا --vfs-cache-mode full با فایلهایشان روی اتصال rclone کار نخواهند کرد. برای اطلاعات بیشتر، بخش VFS File Caching را ببینید. هنگام استفاده از سوار کردن NFS در macOS، در صورتی که |--vfs-cache-mode| را مشخص نکنید، نقطه اتصال فقطخواندنی خواهد بود.
فضاهای ریموت مبتنی بر باکت (Bucket) - شامل Azure Blob، Swift، S3، Google Cloud Storage و B2 - قادر به ذخیره دایرکتوریهای خالی نیستند. از میان اینها، تنها Azure Blob، Google Cloud Storage و S3 میتوانند هنگام افزودن --xxx-directory_markers آنها را حفظ کنند؛ در غیر این صورت، دایرکتوریهای خالی به محض خروج از حافظه موقت دایرکتوری ناپدید خواهند شد.
هنگامی که rclone mount در سیستمهای یونیکس با پرچم --daemon فراخوانی میشود، برنامه اصلی rclone منتظر میماند تا سوار شدن پسزمینه آماده شود یا اینکه مهلت زمانی مشخصشده توسط پرچم --daemon-wait سررسد. در لینوکس، وضعیت اتصال با استفاده از ProcFS قابل بررسی است، بنابراین این پرچم در واقع حداکثر زمان انتظار را تعیین میکند، در حالی که زمان انتظار واقعی میتواند کمتر باشد. در macOS / BSD زمان انتظار ثابت است و بررسی تنها در پایان انجام میشود. توصیه میکنیم زمان انتظار را در macOS معقولانه تنظیم کنید.
در حال حاضر فقط روی Linux، FreeBSD، OS X و Windows پشتیبانی میشود.
مقایسه rclone nfsmount و rclone sync/copy
سیستمهای فایل انتظار دارند همهچیز ۱۰۰٪ قابل اطمینان باشد، در حالی که سیستمهای ذخیرهسازی ابری با قابلیت اطمینان ۱۰۰٪ فاصله زیادی دارند. دستورهای rclone sync/copy با تلاشهای مجدد فراوان این مشکل را رفع میکنند. با این حال، rclone nfsmount نمیتواند بدون ایجاد رونوشت محلی از بارگذاریها، به همان شیوه از تلاشهای مجدد استفاده کند. برای راهکارهایی جهت افزایش قابلیت اطمینان nfsmount، به بخش VFS File Caching نگاهی بیندازید.
حافظه موقت صفات (Attribute caching)
میتوانید از پرچم --attr-timeout برای تنظیم مدتزمانی که هسته صفات ورودیهای دایرکتوری (اندازه، زمان تغییر و غیره) را در حافظه موقت نگه میدارد، استفاده کنید.
مقدار پیشفرض 1s است که فایلها را تنها به اندازهای در حافظه موقت نگه میدارد تا از فراخوانیهای بیشازحد rclone توسط هسته جلوگیری شود.
از نظر تئوری، برای سیستمهای فایلی که میتوانند بیرون از کنترل هسته تغییر کنند، 0s باید مقدار درستی باشد. با این حال، این تنظیم مشکلات متعددی ایجاد میکند؛ از جمله مصرف بیش از حد حافظه توسط rclone (https://github.com/rclone/rclone/issues/2157)، ناتوانی rclone در ارائه فایلها به samba (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-issue/5112) و زمان بیش از اندازه طولانی برای فهرست کردن دایرکتوریها (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
هسته میتواند اطلاعات مربوط به یک فایل را برای مدتزمان تعیینشده با --attr-timeout در حافظه موقت نگه دارد. اگر طول فایل روی سیستم ریموت در طول این پنجره زمانی تغییر کند، ممکن است شاهد خرابی فایل باشید. این خرابی بهصورت یک فایل ناقص یا فایلی با دادههای زائد در انتها بروز خواهد کرد. با مقدار --attr-timeout 1s وقوع این اتفاق بسیار نامحتمل است اما غیرممکن نیست. هرچه مقدار --attr-timeout را بالاتر ببرید، احتمال آن بیشتر میشود. تنظیم پیشفرض "1s" پایینترین میزانی است که مشکلات بالا را به حداقل میرساند.
اگر آن را روی مقادیر بالاتری تنظیم کنید (مثلاً 10s یا 1m)، هسته دفعات کمتری rclone را فراخوانی کرده و کارایی بالاتر میرود، اما در مقابل شانس بروز مشکل خرابی بالا بیشتر خواهد شد.
اگر فایلها روی سیستم ریموت خارج از کنترل rclone تغییر نکنند، هیچ احتمالی برای خرابی وجود ندارد.
این گزینه دقیقاً معادل تنظیم گزینه attr_timeout در mount.fuse است..SS فیلترها (Filters)
توجه داشته باشید که از تمام فیلترهای rclone میتوان برای انتخاب زیرمجموعهای از فایلها جهت نمایش در mount استفاده کرد.
سیستمدی (systemd)
هنگام اجرای rclone nfsmount به عنوان یک سرویس systemd، امکان استفاده از Type=notify وجود دارد. در این حالت، سرویس پس از راهاندازی موفقیتآمیز نقطه سوار کردن (mountpoint) وارد وضعیت شروعشده (started) خواهد شد. واحدهایی (Units) که سرویس rclone nfsmount به عنوان پیشنیاز برای آنها مشخص شده است، در این حالت بلافاصله تمام فایلها و پوشهها را مشاهده خواهند کرد.
توجه داشته باشید که systemd واحدهای سوار کردن (mount units) را بدون هیچگونه متغیر محیطی، از جمله PATH یا HOME اجرا میکند. این بدان معناست که بسط تیلدا (~) کار نخواهد کرد و باید --config و --cache-dir را به طور صریح به صورت مسیرهای مطلق از طریق آرگومانهای rclone ارائه دهید. از آنجا که سوار کردن نیازمند برنامه fusermount یا fusermount3 است، rclone در این سناریو از مقدار پیشفرض جایگزین (fallback PATH) به صورت /bin:/usr/bin استفاده خواهد کرد. لطفاً اطمینان حاصل کنید که fusermount/fusermount3 در این PATH وجود دارد.
rclone به عنوان دستیار سوار کردن یونیکس (Rclone as Unix mount helper)
برنامه اصلی یونیکس /bin/mount به طور معمول آرگومان -t FSTYPE را دریافت کرده و سپس برنامه کمکی /sbin/mount.FSTYPE را با ارسال گزینههای سوار کردن به صورت -o key=val,... یا --opt=... اجرا میکند. ابزار Automount (کلاسیک یا systemd) نیز به شیوهای مشابه عمل میکند.
برنامه rclone به طور پیشفرض انتظار پرچمهای سبک گنو به صورت --key val را دارد. برای اجرای آن به عنوان یک دستیار سوار کردن، باید باینری rclone را به /sbin/mount.rclone و به صورت اختیاری به /usr/bin/rclonefs پیوند نمادین (symlink) دهید؛ به عنوان مثال: ln -s /usr/bin/rclone /sbin/mount.rclone. برنامه rclone این مورد را تشخیص داده و آرگومانهای خط فرمان را به طور مناسب تبدیل میکند.
اکنون میتوانید سوار کردنهای کلاسیک را مانند زیر اجرا کنید:
-
mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
یا واحدهای سوار کردن systemd بسازید:
-
# /etc/systemd/system/mnt-data.mount [Unit] Description=Mount for /mnt/data [Mount] Type=rclone What=sftp1:subdir Where=/mnt/data Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
که به صورت اختیاری میتواند همراه با واحد خودکارسازی سوار کردن (automount unit) در systemd باشد:
-
# /etc/systemd/system/mnt-data.automount [Unit] Description=AutoMount for /mnt/data [Automount] Where=/mnt/data TimeoutIdleSec=600 [Install] WantedBy=multi-user.target
یا در /etc/fstab خطی مانند زیر اضافه کنید:
-
sftp1:subdir /mnt/data rclone rw,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone 0 0
یا از Automountd کلاسیک استفاده کنید. به یاد داشته باشید که برای دور زدن مشکل اجرای واحدهای mount بدون متغیر HOME، مقادیر صریح config=...,cache-dir=... را تعیین کنید.
برنامه rclone در حالت دستیار سوار کردن (mount helper)، آرگومان(های) -o را با کاما جدا میکند، _ را با - جایگزین کرده و -- را به ابتدای آنها میافزاید تا پرچمهای خط فرمان به دست آیند. گزینههای حاوی کاما یا فاصله را میتوان درون علامتهای نقلقول تکی یا دوتایی قرار داد. هر نقلقول داخلی درون نقلقول خارجی از همان نوع باید تکرار (دو برابر) شود.
نحو گزینههای سوار کردن شامل چند گزینه اضافی است که رفتار ویژهای با آنها میشود:
- •
- env.NAME=VALUE یک متغیر محیطی برای فرایند سوار کردن تنظیم میکند. این مورد به Automountd و Systemd.mount که اجازه تنظیم متغیرهای محیطی سفارشی را برای دستیارهای mount نمیدهند، کمک میکند. به طور معمول از env.HTTPS_PROXY=proxy.host:3128 یا env.HOME=/root استفاده خواهید کرد.
- •
- command=cmount میتواند برای اجرای cmount یا هر دستور دیگر rclone به جای دستور پیشفرض mount استفاده شود.
- •
- args2env گزینههای سوار کردن را به جای آرگومانهای خط فرمان، از طریق متغیرهای محیطی به دستیار mount در حال اجرا در پسزمینه ارسال میکند. این کار امکان پنهان کردن اطلاعات حساس و محرمانه را از دستوراتی مانند ps یا pgrep فراهم میسازد.
- •
- vv... به --verbose=N متناظر تبدیل خواهد شد.
- •
- گزینههای استاندارد سوار کردن مانند x-systemd.automount، _netdev، nosuid و مانند آنها تنها برای Automountd در نظر گرفته شدهاند و توسط rclone نادیده گرفته میشوند..SS VFS - سامانه فایل مجازی (Virtual File System)
این دستور از لایه VFS استفاده میکند. این لایه اشیاء ذخیرهسازی ابری مورد استفاده rclone را به ساختاری بسیار شبیهتر به یک سامانه فایل دیسک تبدیل میکند.
اشیاء ذخیرهسازی ابری ویژگیهای متعددی دارند که شبیه فایلهای دیسک نیست - نمیتوانید اندازه آنها را گسترش دهید یا در میانهشان بنویسید؛ بنابراین لایه VFS باید با این موضوع کنار بیاید. از آنجا که هیچ راه منفرد و کاملاً درستی برای انجام این کار وجود ندارد، گزینههای گوناگونی در ادامه توضیح داده شده است.
لایه VFS همچنین یک حافظه موقت دایرکتوری پیادهسازی میکند - این قابلیت، اطلاعات مربوط به فایلها و دایرکتوریها (نه دادههای درون آنها) را در حافظه موقت نگهداری میکند.
حافظه موقت دایرکتوری VFS (VFS Directory Cache)
با استفاده از پرچم --dir-cache-time میتوانید کنترل کنید که یک دایرکتوری تا چه مدت بهروز در نظر گرفته شود و از سمت بکاند بازخوانی نشود. تغییرات اعمالشده از طریق VFS بلافاصله نمایان میشوند یا حافظه موقت را نامعتبر میکنند.
-
--dir-cache-time duration مدتزمان نگهداری مدخلهای دایرکتوری در حافظه موقت (پیشفرض 5m0s) --poll-interval duration مدتزمان انتظار میان بررسی تغییرات. باید از dir-cache-time کمتر باشد. فقط روی ریموتهای پشتیبانیشده. برای غیرفعالسازی روی 0 تنظیم شود (پیشفرض 1m0s)
با این حال، تغییراتی که مستقیماً از طریق رابط وب یا یک نمونه دیگر rclone روی فضای ذخیرهسازی ابری اعمال شوند، در صورتی که بکاند پیکربندیشده از پایش تغییرات پشتیبانی نکند، تنها پس از منقضی شدن حافظه موقت دایرکتوری اعمال خواهند شد. اگر بکاند از پایش پشتیبانی کند، تغییرات در بازه زمانی تعیینشده برای پایش دریافت خواهند شد.
میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا تمام حافظههای موقت دایرکتوری را بدون در نظر گرفتن عمرشان پاکسازی کند. با فرض اینکه تنها یک نمونه rclone در حال اجرا است، میتوانید حافظه موقت را به این صورت بازنشانی کنید:
-
kill -SIGHUP $(pidof rclone)
اگر rclone را همراه با کنترل از راه دور پیکربندی کنید، میتوانید از rclone rc برای پاکسازی کل حافظه موقت دایرکتوری استفاده نمایید:
-
rclone rc vfs/forget
یا برای فایلها یا دایرکتوریهای تکی:
-
rclone rc vfs/forget file=path/to/file dir=path/to/dir
بافر کردن فایل VFS (VFS File Buffering)
پرچم --buffer-size مقدار حافظهای را که برای پیشبافر کردن دادهها استفاده خواهد شد تعیین میکند.
هر فایلِ باز تلاش میکند مقدار داده مشخصشده را همواره در حافظه نگهداری کند. دادههای بافرشده مقید به یک فایل باز هستند و به اشتراک گذاشته نخواهند شد.
این پرچم یک حد بالا برای حافظه مصرفی به ازای هر فایل باز است. بافر تنها برای دادههایی که بارگیری شدهاند اما هنوز خوانده نشدهاند از حافظه استفاده خواهد کرد. اگر بافر خالی باشد، تنها مقدار ناچیزی از حافظه مصرف خواهد شد.
حداکثر حافظه استفادهشده توسط rclone برای بافر کردن میتواند تا --buffer-size * open files باشد.
حافظه موقت فایل VFS (VFS File Caching)
این پرچمها گزینههای حافظه موقت فایل VFS را کنترل میکنند. حافظه موقت فایل برای سازگار جلوه دادن لایه VFS با یک سامانه فایل عادی ضروری است. میتوان آن را به قیمت از دست رفتن بخشی از سازگاری غیرفعال کرد.
برای مثال، اگر بخواهید همزمان روی یک فایل بخوانید و بنویسید، باید حافظه موقت VFS را فعال کنید. برای جزئیات بیشتر به ادامه مطلب مراجعه کنید.
توجه داشته باشید که حافظه موقت VFS از بکاند cache مجزاست و ممکن است به یکی از آنها یا هر دو نیاز داشته باشید.
-
--cache-dir string دایرکتوریای که rclone برای ذخیره حافظه موقت استفاده خواهد کرد. --vfs-cache-mode CacheMode حالت حافظه موقت off|minimal|writes|full (پیشفرض off) --vfs-cache-max-age duration حداکثر زمان از آخرین دسترسی به اشیاء در حافظه موقت (پیشفرض 1h0m0s) --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء موجود در حافظه موقت (پیشفرض off) --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی حافظه موقت (پیشفرض off) --vfs-cache-poll-interval duration بازه زمانی بررسی حافظه موقت برای اشیاء بیاستفاده (پیشفرض 1m0s) --vfs-write-back duration مدتزمان بازنویسی فایلها پس از آخرین استفاده هنگام استفاده از کش (پیشفرض 5s)
در صورت اجرا با -vv، دستور rclone مسیر حافظه موقت فایل را چاپ خواهد کرد. فایلها در ناحیه فایلهای حافظه موقت کاربر ذخیره میشوند که به سیستمعامل وابسته است اما میتوان آن را با --cache-dir یا تنظیم متغیر محیطی مناسب کنترل کرد.
حافظه موقت دارای ۴ حالت مختلف است که توسط --vfs-cache-mode انتخاب میشوند. هرچه حالت حافظه موقت بالاتر باشد، سازگاری rclone به قیمت مصرف فضای دیسک بیشتر خواهد شد.
توجه داشته باشید که فایلها تنها زمانی به ریموت بازنویسی میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه مورد دسترسی قرار نگرفته باشند. اگر rclone بسته شود یا پیش از بارگذاری فایلها از کار بیفتد، در اجرای بعدی rclone با همان پرچمها، این فایلها بارگذاری خواهند شد.
در صورت استفاده از --vfs-cache-max-size یا --vfs-cache-min-free-space، توجه داشته باشید که ممکن است حافظه موقت به دو دلیل از این سهمیهها فراتر رود. نخست به این دلیل که بررسی سهمیه تنها در هر --vfs-cache-poll-interval انجام میشود. دوم به این دلیل که فایلهای باز را نمیتوان از حافظه موقت خارج کرد. هنگامی که اندازه از --vfs-cache-max-size یا --vfs-cache-min-free-space فراتر رود، rclone تلاش میکند ابتدا فایلهایی را که کمترین دسترسی را داشتهاند از حافظه موقت بیرون بیندازد. rclone با فایلهایی شروع میکند که طولانیترین زمان عدم دسترسی را داشتهاند. این راهبرد تخلیه حافظه موقت کارآمد است و احتمال بیشتری دارد که فایلهای مرتبطتر در حافظه موقت باقی بمانند.
گزینه --vfs-cache-max-age فایلها را پس از گذشت مدتزمان تعیینشده از آخرین دسترسی، از حافظه موقت پاک میکند؛ این معیار بر اساس زمان دسترسی است، نه زمانی که فایل برای نخستین بار به حافظه موقت اضافه شده است. مقدار پیشفرض ۱ ساعت فایلهایی را که به مدت ۱ ساعت مورد دسترسی قرار نگرفتهاند از حافظه موقت حذف خواهد کرد. هنگامی که به یک فایل موجود در حافظه موقت دسترسی پیدا شود، تایمر ۱ ساعته به ۰ بازنشانی میشود و پیش از حذف، ۱ ساعت دیگر منتظر میماند. زمان را با نمادگذاری استاندارد (s، m، h، d، w) مشخص کنید.
در صورت استفاده از --vfs-cache-mode > off، نباید دو نسخه از rclone را با استفاده از یک حافظه موقت VFS یکسان با ریموتهای یکسان یا همپوشان اجرا کنید. انجام این کار بالقوه میتواند باعث خرابی دادهها شود. میتوانید با اختصاص دادن سلسلهمراتب حافظه موقت اختصاصی به هر rclone با استفاده از --cache-dir، این مشکل را برطرف کنید. اگر ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off
در این حالت (پیشفرض)، کَش مستقیماً از ریموت میخواند و بدون کَش کردن هیچچیز روی دیسک، مستقیماً روی ریموت مینویسد.
این امر بدین معناست که برخی از عملیات امکانپذیر نخواهند بود:
- •
- فایلها را نمیتوان همزمان برای هر دو حالت خواندن و نوشتن باز کرد
- •
- فایلهای باز شده برای نوشتن را نمیتوان پیمایش (seek) کرد
- •
- فایلهای موجود که برای نوشتن باز میشوند باید دارای O_TRUNC تنظیمشده باشند
- •
- فایلهای باز شده برای خواندن همراه با O_TRUNC، بهصورت فقط-نوشتنی باز خواهند شد
- •
- فایلهای باز شده بهصورت فقط-نوشتنی طوری رفتار خواهند کرد که گویی O_TRUNC مشخص شده است
- •
- حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند
- •
- اگر یک بارگذاری (upload) با شکست مواجه شود، امکان تلاش مجدد وجود ندارد
--vfs-cache-mode minimal
این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای خواندن و نوشتن روی دیسک بافر میشوند. این بدان معناست که فایلهای باز شده برای نوشتن بسیار سازگارتر خواهند بود، اما حداقل فضای دیسک مصرف میشود.
این عملیات امکانپذیر نیستند:
- •
- فایلهای باز شده بهصورت فقط-نوشتنی را نمیتوان پیمایش (seek) کرد
- •
- فایلهای موجود که برای نوشتن باز میشوند باید دارای O_TRUNC تنظیمشده باشند
- •
- فایلهای باز شده بهصورت فقط-نوشتنی، O_APPEND و O_TRUNC را نادیده خواهند گرفت
- •
- اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد
--vfs-cache-mode writes
در این حالت، فایلهای باز شده بهصورت فقط-خواندنی همچنان مستقیماً از ریموت خوانده میشوند، در حالی که فایلهای فقط-نوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند.
این حالت باید از تمام عملیات عادی سیستم فایل پشتیبانی کند.
اگر یک بارگذاری با شکست مواجه شود، تلاش مجدد در فواصل زمانی با افزایش نمایی تا حداکثر ۱ دقیقه انجام خواهد شد.
--vfs-cache-mode full
در این حالت تمام عملیات خواندن و نوشتن روی دیسک بافر میشوند (از دیسک و به دیسک). هنگامی که دادهها از ریموت خوانده میشوند، آنها نیز روی دیسک بافر میگردند.
در این حالت، فایلهای موجود در کَش بهصورت فایلهای پراکنده (sparse files) خواهند بود و rclone بخشهای دانلودشده از فایلها را رهگیری میکند.
بنابراین اگر برنامهای فقط ابتدای هر فایل را بخواند، rclone نیز تنها ابتدای فایل را بافر خواهد کرد. این فایلها در کَش با اندازه کامل خود نمایش داده میشوند، اما در واقع فایلهای پراکندهای هستند که فقط دادههای دانلودشده درون آنها موجود است.
این حالت باید از تمام عملیات عادی سیستم فایل پشتیبانی کند و در سایر موارد دقیقاً مشابه --vfs-cache-mode writes است.
هنگام خواندن یک فایل، rclone به میزان --buffer-size بهعلاوه --vfs-read-ahead بایت جلوتر را میخواند. مقدار --buffer-size در حافظه (RAM) بافر میشود در حالی که --vfs-read-ahead روی دیسک بافر میگردد.
هنگام استفاده از این حالت، توصیه میشود که --buffer-size خیلی بزرگ تنظیم نشود و در صورت نیاز، --vfs-read-ahead روی مقداری بزرگ تنظیم گردد.
مهم: همه سیستمهای فایل از فایلهای پراکنده پشتیبانی نمیکنند. بهویژه FAT/exFAT پشتیبانی نمیکنند. اگر دایرکتوری کَش روی سیستم فایلی باشد که از فایلهای پراکنده پشتیبانی نمیکند، rclone عملکرد بسیار ضعیفی خواهد داشت و در صورت تشخیص چنین وضعیتی، یک پیام ERROR ثبت خواهد کرد.
انگشتنگاری (Fingerprinting)
بخشهای مختلف VFS از انگشتنگاری استفاده میکنند تا بررسی کنند آیا نسخه محلی فایل نسبت به فایل ریموت تغییر کرده است یا خیر. اثرانگشتها از موارد زیر ساخته میشوند:
- •
- اندازه (size)
- •
- زمان آخرین تغییر (modification time)
- •
- هش (hash)
در صورتی که روی یک شیء در دسترس باشند.
در برخی بکاندها، خواندن برخی از این مشخصهها کُند است (به ازای هر شیء به یک فراخوانی API اضافی یا پردازش اضافه نیاز دارند).
بهعنوان مثال، hash در بکاندهای local و sftp کُند است زیرا باید کل فایل را خوانده و هش آن را محاسبه کنند؛ و modtime در بکاندهای s3، swift، ftp و qinqstor کُند است زیرا برای دریافت آن به یک فراخوانی API اضافی نیاز دارند.
اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیات کُند را در اثرانگشت لحاظ نخواهد کرد. این کار دقت انگشتنگاری را کاهش میدهد اما سرعت آن را بسیار بالا میبرد و زمان باز شدن فایلهای کَششده را بهبود میبخشد.
اگر یک کَش VFS را روی بکاندهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود.
توجه داشته باشید که در صورت تغییر مقدار این پرچم، اثرانگشت فایلهای موجود در کَش ممکن است باطل شود و فایلها باید مجدداً دانلود شوند..SS خواندن تکهای در VFS (VFS Chunked Reading)
هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را به صورت تکهای میخواند. این بدان معناست که rclone به جای درخواست کل فایل، تنها تکهٔ مشخصشده را میخواند. این کار میتواند با درخواست تکههایی از ریموت که واقعاً خوانده میشوند، سهمیهٔ بارگیری مصرفی برخی ریموتها را کاهش دهد، هرچند که باعث افزایش تعداد درخواستها میشود.
این پرچمها رفتار تکهتکه کردن را کنترل میکنند:
-
--vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128M) --vfs-read-chunk-size-limit SizeSuffix بیشینه اندازه دو برابر شدن تکهها (پیشفرض off) --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان
رفتار تکهتکه کردن بسته به پارامتر --vfs-read-chunk-streams متفاوت خواهد بود.
--vfs-read-chunk-streams == 0
دستور rclone خواندن را با تکهای به اندازهٔ --vfs-read-chunk-size آغاز کرده و سپس اندازه را برای هر بار خواندن دو برابر میکند. هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر از --vfs-read-chunk-size باشد، اندازهٔ تکه برای هر فایلِ باز تنها تا زمان رسیدن به مقدار مشخصشده دو برابر خواهد شد. اگر مقدار برابر با "off" باشد (که پیشفرض است)، محدودیت غیرفعال بوده و اندازهٔ تکه بهصورت نامحدود رشد خواهد کرد.
با --vfs-read-chunk-size 100M و --vfs-read-chunk-size-limit 0، بخشهای زیر بارگیری خواهند شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و الی آخر. هنگامی که --vfs-read-chunk-size-limit 500M تعیین شده باشد، نتیجه بهصورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و الی آخر خواهد بود.
تنظیم --vfs-read-chunk-size روی 0 یا "off" خواندن تکهای را غیرفعال میکند.
تکهها در حافظه بافر نخواهند شد.
--vfs-read-chunk-streams > 0
دستور rclone به تعداد --vfs-read-chunk-streams تکه با اندازهٔ --vfs-read-chunk-size را بهصورت همزمان میخواند. اندازه برای هر بار خواندن ثابت باقی خواهد ماند.
این کار کارایی را در پیوندهای با تاخیر بالا یا پهنای باند بسیار زیاد به فضاهای ذخیرهسازی شیء با کارایی بالا، بهطور چشمگیری بهبود میبخشد.
برای یافتن مقادیر بهینهٔ --vfs-read-chunk-size و --vfs-read-chunk-streams به مقداری آزمون و خطا نیاز خواهد بود، زیرا این مقادیر به بخش پسین مورد استفاده و تاخیر ارتباط با آن بستگی دارد.
برای فضاهای ذخیرهسازی شیء با کارایی بالا (مانند AWS S3)، یک نقطهٔ شروع منطقی میتواند --vfs-read-chunk-streams 16 و --vfs-read-chunk-size 4M باشد. در آزمایشهای انجامشده با AWS S3، کارایی تقریباً متناسب با تنظیم --vfs-read-chunk-streams مقیاسپذیر بوده است.
تنظیمات مشابه باید برای پیوندهای با تاخیر بالا نیز عمل کند، اما بسته به میزان تاخیر ممکن است برای دستیابی به توان عملیاتی مطلوب، به --vfs-read-chunk-streams بیشتری نیاز باشد.
کارایی VFS (VFS Performance)
این پرچمها میتوانند برای فعال یا غیرفعال کردن قابلیتهای VFS به دلایل کارایی یا موارد دیگر استفاده شوند. همچنین ویژگی خواندن تکهای را مشاهده کنید.
بهویژه S3 و Swift از پرچم --no-modtime بهرهٔ فراوانی میبرند (یا برای تأثیری کمی متفاوت از --use-server-modtime استفاده کنید)، زیرا هر بار خواندن زمان ویرایش، یک تراکنش مصرف میکند.
-
--no-checksum عدم مقایسه چِکسامها هنگام بارگذاری/بارگیری. --no-modtime عدم خواندن/نوشتن زمان ویرایش (میتواند سرعت را افزایش دهد). --no-seek عدم اجازه پرش (seek) در فایلها. --read-only تنها اجازه دسترسی فقطخواندنی.
گاهی عملیات خواندن یا نوشتن خارج از ترتیب به rclone تحویل داده میشوند. دستور rclone به جای پرش (seek)، مدت زمان کوتاهی منتظر دریافت عملیات خواندن یا نوشتنِ متوالی میماند. این پرچمها تنها زمانی اثرگذار خواهند بود که از فایل کَش روی دیسک استفاده نشود.
-
--vfs-read-wait duration مدت زمان انتظار برای خواندن متوالی قبل از پرش (پیشفرض 20ms) --vfs-write-wait duration مدت زمان انتظار برای نوشتن متوالی قبل از اعلام خطا (پیشفرض 1s)
هنگام استفاده از کَش نوشتن VFS (--vfs-cache-mode با مقدار writes یا full)، میتوان پرچم سراسری --transfers را برای تنظیم تعداد بارگذاریهای موازی فایلهای تغییریافته از کَش تعیین کرد (پرچم سراسری مرتبط --checkers هیچ تأثیری بر روی VFS ندارد).
-
--transfers int تعداد انتقالهای همزمان فایل (پیشفرض 4)
بهطور پیشفرض VFS از پیوندهای نمادین پشتیبانی نمیکند. با این حال، میتوان این قابلیت را با هر یک از گزینههای زیر فعال کرد:
-
--links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS
از آنجا که بیشتر سیستمهای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل عادی با پسوندی ویژه ذخیره میکند. بنابراین فایلی که بهصورت پیوند نمادین link-to-file.txt دیده میشود، در فضای ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن مسیر مقصد پیوند نمادین خواهد بود.
توجه داشته باشید که --links تبدیل پیوندهای نمادین را بهطور سراسری در rclone فعال میکند - این شامل هر backend که از این مفهوم پشتیبانی کند میشود (برای نمونه backend محلی). گزینه --vfs-links آن را فقط برای لایه VFS فعال میسازد.
این طرح با سازوکار مورد استفاده توسط backend محلی با گزینه --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points).
گزینه --vfs-links برای دستورهای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است.
این گزینه هنوز با سایر دستورهای rclone serve آزمایش نشده است.
یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده، زیرپیوندهای نمادین (sub-symlinks) را حل کند. برای نمونه با در نظر گرفتن این درخت دایرکتوری:
-
. ├── dir │ └── file.txt └── linked-dir -> dir
لایه VFS مسیر linked-dir را بهدرستی حل میکند، اما linked-dir/file.txt را خیر. این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند، اما ممکن است برای دستورهای دیگر مشکلساز باشد.
توجه داشته باشید که یک مشکل حلنشده در پشتیبانی از پیوندهای نمادین با شناسه issue #8245 (https://github.com/rclone/rclone/issues/8245) وجود دارد که در آن هنگام انتقال پیوندهای نمادین به دایرکتوریهایی با فایل همنام (یا برعکس)، فایلهای تکراری ایجاد میشوند.
حساسیت VFS به بزرگی و کوچکی حروف (VFS Case Sensitivity)
سیستمهای فایل لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً از همان حالت حروف استفاده شود.
سیستمهای فایل در نسخههای نوین ویندوز نسبت به بزرگی و کوچکی حروف حساس نیستند ولی حالت حروف را حفظ میکنند (case-insensitive but case-preserving): با اینکه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که برای ساخت فایل استفاده شده حفظ میشود و برنامهها میتوانند از آن پرسوجو کنند. در این سیستمها مجاز نیست که دو فایل در یک دایرکتوری، فقط از نظر بزرگی و کوچکی حروف با یکدیگر تفاوت داشته باشند.
معمولاً سیستمهای فایل در macOS به بزرگی و کوچکی حروف حساس نیستند. امکان حساس کردن سیستمهای فایل macOS به بزرگی و کوچکی حروف وجود دارد، اما این حالت پیشفرض نیست.
گزینه --vfs-case-insensitive در VFS نحوه مدیریت این دو حالت را توسط rclone کنترل میکند. اگر مقدار آن "false" باشد، rclone نام فایلها را دستنخورده به remote ارسال میکند. اگر این گزینه برابر با "true" باشد (یا بدون مقدار در خط فرمان مشخص شود)، rclone ممکن است همانطور که در زیر توضیح داده شده یک "اصلاح" انجام دهد.
کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف مشخص کند که با آنچه در remote ذخیره شده متفاوت باشد. اگر یک آرگومان به فایلی موجود با دقیقاً همان نام اشاره کند، حالت حروف فایل موجود روی دیسک استفاده خواهد شد. با این حال، اگر فایلی با دقیقاً همان نام پیدا نشود اما نامی وجود داشته باشد که تنها در بزرگی و کوچکی حروف متفاوت است، rclone بهطور شفاف نام را اصلاح میکند. این اصلاح فقط هنگامی رخ میدهد که فایلی موجود درخواست شده باشد. حساسیت به بزرگی و کوچکی حروف نامهایی که از نو توسط rclone ساخته میشوند، توسط remote زیرین کنترل میشود.
توجه داشته باشید که حساسیت سیستمعامل اجراکننده rclone (مقصد یا target) به بزرگی و کوچکی حروف ممکن است با حساسیت سیستم فایلی که توسط rclone ارائه میشود (مبدأ یا source) تفاوت داشته باشد. این گزینه کنترل میکند که آیا برای برآورده کردن نیازهای مقصد، "اصلاح" انجام گیرد یا خیر.
اگر این گزینه در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی که rclone روی آن اجرا میشود بستگی دارد: در ویندوز و macOS برابر با "true" و در غیر این صورت "false". اگر این گزینه بدون مقدار آورده شود، مقدار آن "true" خواهد بود.
گزینه --no-unicode-normalization مشخص میکند که آیا "اصلاح" مشابهی برای نام فایلهایی که متفاوت هستند اما از نظر یونیکد همارزی قانونی (https://en.wikipedia.org/wiki/Unicode_equivalence) دارند انجام شود یا خیر. عادیسازی یونیکد بهویژه برای کاربران macOS مفید است؛ سیستمعاملی که قالب NFD را به قالب NFC (که در اکثر پلتفرمهای دیگر استفاده میشود) ترجیح میدهد. بنابراین اکیداً توصیه میشود که در macOS مقدار پیشفرض false حفظ شود تا از مشکلات سازگاری انکودینگ جلوگیری به عمل آید.
در صورت وقوع حالت (احتمالاً بعید) که یک دایرکتوری پس از اعمال یکسانسازی حروف و عادیسازی یونیکد، چندین نام فایل تکراری داشته باشد، گزینه --vfs-block-norm-dupes امکان پنهانسازی این موارد تکراری را فراهم میکند. این کار با کاهش کارایی همراه است، زیرا rclone هنگام فهرست کردن یک دایرکتوری، مجبور خواهد بود کل دایرکتوری را برای یافتن موارد تکراری پویش کند. به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. با این وجود، کاربران macOS ممکن است بخواهند از این گزینه استفاده کنند؛ زیرا در غیر این صورت، اگر یک دایرکتوری در remote شامل هر دو نسخه NFC و NFD از یک نام فایل باشد، وضعیت نامتعارفی رخ خواهد داد: هر دو نسخه فایل در نقطه اتصال (mount) نمایان خواهند بود و هر دو قابل ویرایش به نظر میرسند، اما در عمل ویرایش هر نسخه منجر به این میشود که در پشت صحنه فقط نسخه NFD ویرایش شود. گزینه --vfs-block-norm-dupes با شناسایی این سناریو، پنهان کردن موارد تکراری و ثبت یک خطا در گزارشها، مشابه نحوه مدیریت این موضوع در rclone sync، از این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS
این پرچم به شما امکان میدهد آمار و اطلاعات مربوط به سیستم فایل را به صورت دستی تنظیم کنید. این ویژگی زمانی میتواند مفید باشد که این آمار نتوانند به صورت خودکار و صحیح خوانده شوند.
-
--vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1)
گزارش جایگزین بایتهای استفادهشده
برخی از backendها، بهویژه S3، میزان بایتهای استفادهشده را گزارش نمیکنند. اگر هنگام اجرای df روی سیستم فایل به این اطلاعات نیاز دارید، پرچم --vfs-used-is-size را به rclone ارسال کنید. با تنظیم این پرچم، rclone به جای اتکا به backend برای گزارش این اطلاعات، کل ریموت را مشابه rclone size پویش کرده و خودش کل فضای استفادهشده را محاسبه میکند.
هشدار: بر خلاف rclone size، این پرچم فیلترها را نادیده میگیرد تا نتیجه دقیق باشد. با این حال، این کار بسیار ناکارآمد است و ممکن است باعث فراخوانیهای فراوان API و در نتیجه هزینههای اضافی شود. تنها به عنوان آخرین راهکار و فقط همراه با حافظه موقت (caching) از آن استفاده کنید.
متادیتای VFS
اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید VFS را وادار کنید فایلهایی را که حاوی متادیتا (https://rclone.org/docs/#metadata) هستند به عنوان یک blob در قالب JSON ارائه دهد. این فایلها در فهرست دایرکتوری ظاهر نخواهند شد، اما میتوان روی آنها stat اجرا کرد و آنها را باز نمود، و پس از باز شدن، تا زمان منقضی شدن حافظه موقت دایرکتوری در فهرست دایرکتوری ظاهر خواهند شد.
توجه داشته باشید که برخی از backendها متادیتا را ایجاد نمیکنند مگر اینکه پرچم --metadata را ارسال کنید.
به عنوان مثال، با اجرای rclone mount به همراه --metadata --vfs-metadata-extension .metadata خروجی زیر به دست میآید:
-
$ ls -l /mnt/ total 1048577 -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G $ cat /mnt/1G.metadata { "atime": "2025-03-04T17:34:22.317069787Z", "btime": "2025-03-03T16:03:37.708253808Z", "gid": "1000", "mode": "100664", "mtime": "2025-03-03T16:03:39.640238323Z", "uid": "1000" } $ ls -l /mnt/ total 1048578 -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata
اگر فایل فاقد متادیتا باشد، به صورت {} بازگردانده میشود و در صورت بروز خطا در خواندن متادیتا، خطا به صورت {"error":"error string"} برگردانده خواهد شد.
-
rclone nfsmount remote:path /path/to/mountpoint [flags]
گزینهها (OPTIONS)
-
--addr string آدرسIP:درگاه یا :درگاه برای مقیدسازی سرور به آن --allow-idmap اجازه سوارکردن با نگاشت شناسه (id-mapped) (تنها لینوکس 6.12+ و mount2) --allow-non-empty اجازه سوار کردن روی دایرکتوری غیرخالی (در ویندوز پشتیبانی نمیشود) --allow-other اجازه دسترسی به سایر کاربران (در ویندوز پشتیبانی نمیشود) --allow-root اجازه دسترسی به کاربر ریشه (در ویندوز پشتیبانی نمیشود) --async-read استفاده از خواندنهای ناهمگام (در ویندوز پشتیبانی نمیشود) (پیشفرض: true) --attr-timeout Duration مدتزمان نگهداری ویژگیهای فایل/دایرکتوری در حافظه موقت (پیشفرض: 1s) --daemon اجرای mount در پسزمینه و خروج از فرایند والد (از آنجا که خروجی پسزمینه خاموش است، برای پایش از --log-file همراه با --log-format=pid,... استفاده کنید) (در ویندوز پشتیبانی نمیشود) --daemon-timeout Duration مهلت زمانی برای پاسخ rclone به هسته (در ویندوز پشتیبانی نمیشود) (پیشفرض: 0s) --daemon-wait Duration مدتزمان انتظار برای آمادهشدن سوارکردن از دیمن (حداکثر زمان در لینوکس، زمان خواب ثابت در OSX/BSD) (در ویندوز پشتیبانی نمیشود) (پیشفرض: 1m0s) --debug-fuse اشکالزدایی سازوکارهای داخلی FUSE - نیازمند -v --default-permissions وادار کردن هسته به اعمال کنترل دسترسی بر اساس حالت فایل (در ویندوز پشتیبانی نمیشود) --devname string تنظیم نام دستگاه - پیشفرض remote:path است --dir-cache-time Duration مدتزمان نگهداری ورودیهای دایرکتوری در حافظه موقت (پیشفرض: 5m0s) --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض: 777) --direct-io استفاده از Direct IO، غیرفعالسازی کش کردن دادهها --file-perms FileMode مجوزهای فایل (پیشفرض: 666) --fuse-flag stringArray پرچمها یا آرگومانهایی که مستقیماً به libfuse/WinFsp ارسال میشوند (در صورت نیاز تکرار شود) --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سیستم فایل (در ویندوز پشتیبانی نمیشود) (پیشفرض: 1000) -h, --help راهنمای nfsmount --link-perms FileMode مجوزهای پیوند (پیشفرض: 666) --max-read-ahead SizeSuffix تعداد بایتهایی که میتوان برای خواندنهای ترتیبی از پیش واکشی کرد (در ویندوز پشتیبانی نمیشود) (پیشفرض: 128Ki) --mount-case-insensitive Tristate اعلام به سیستمعامل مبنی بر اینکه نقطه اتصال نسبت به بزرگی و کوچکی حروف حساس نیست (true) یا حساس است (false) صرفنظر از backend (مقدار auto) (پیشفرض: unset) --network-mode سوار کردن به عنوان درایو شبکه ریموت، به جای درایو دیسک ثابت (فقط در ویندوز پشتیبانی میشود) --nfs-cache-dir string دایرکتوری مورد استفاده کش دستگیره NFS در صورت تعیین --nfs-cache-handle-limit int حداکثر دستگیرههای فایل کششده به صورت همزمان (حداقل ۵) (پیشفرض: 1000000) --nfs-cache-type memory|disk|symlink نوع حافظه موقت دستگیره NFS برای استفاده (پیشفرض: memory) --nfs-mount-path string زیرمسیر ریموت برای سوار کردن از طریق NFS (باید یک دایرکتوری موجود باشد) (پیشفرض: "/") --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/بارگیری --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد) --no-seek پرش (seek) در فایلها مجاز نباشد --noappledouble نادیده گرفتن فایلهای Apple Double (._) و .DS_Store (فقط در OSX پشتیبانی میشود) (پیشفرض: true) --noapplexattr نادیده گرفتن تمام ویژگیهای توسعهیافته "com.apple.*" (فقط در OSX پشتیبانی میشود) -o, --option stringArray گزینه برای libfuse/WinFsp (در صورت نیاز تکرار شود) --poll-interval Duration مدتزمان انتظار میان نظرسنجیها برای تغییرات، باید از dir-cache-time کمتر باشد و تنها روی ریموتهای پشتیبانیشده عمل میکند (برای غیرفعالسازی 0 بگذارید) (پیشفرض: 1m0s) --read-only فقط اجازه دسترسی فقطخواندنی --sudo استفاده از sudo برای اجرای دستورات mount/umount به عنوان کاربر ریشه. --uid uint32 بازنویسی فیلد uid تنظیمشده توسط سیستم فایل (در ویندوز پشتیبانی نمیشود) (پیشفرض: 1000) --umask FileMode بازنویسی بیتهای مجوز تعیینشده توسط سیستم فایل (در ویندوز پشتیبانی نمیشود) (پیشفرض: 002) --vfs-block-norm-dupes در صورت وجود نام فایلهای تکراری در یک دایرکتوری (پس از نرمالسازی)، ثبت خطا و پنهانسازی موارد تکراری (ممکن است هزینه کارایی داشته باشد) --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء موجود در حافظه موقت (پیشفرض: 1h0m0s) --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء موجود در حافظه موقت (پیشفرض: off) --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی حافظه موقت (پیشفرض: off) --vfs-cache-mode CacheMode حالت حافظه موقت: off|minimal|writes|full (پیشفرض: off) --vfs-cache-poll-interval Duration بازه زمانی برای بررسی حافظه موقت جهت یافتن اشیاء بیاتشده (پیشفرض: 1m0s) --vfs-case-insensitive اگر نام فایلی یافت نشد، تطابق غیرحساس به بزرگی و کوچکی حروف پیدا شود --vfs-disk-space-total-size SizeSuffix مشخص کردن فضای کل دیسک (پیشفرض: off) --vfs-fast-fingerprint استفاده از اثر انگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات --vfs-handle-caching Duration مدتزمان نگهداری دستگیره فایل و دانلودکنندهها پس از آخرین بستن (پیشفرض: 5s) --vfs-links ترجمه پیوندهای نمادین به/از فایلهای معمولی با پسوند '.rclonelink' برای VFS --vfs-metadata-extension string تنظیم پسوند برای خواندن متادیتا از آن --vfs-read-ahead SizeSuffix پیشواکشی اضافی علاوه بر --buffer-size هنگام استفاده از cache-mode full --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ به صورت تکهتکه (چانک) (پیشفرض: 128Mi) --vfs-read-chunk-size-limit SizeSuffix اگر بیشتر از --vfs-read-chunk-size باشد، پس از هر بار خواندن اندازه تکه را دو برابر کن تا به حد مجاز برسد ('off' یعنی نامحدود) (پیشفرض: off) --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان --vfs-read-wait Duration مدتزمان انتظار برای خواندن متوالی قبل از پرش (seek) (پیشفرض: 20ms) --vfs-refresh تازهسازی بازگشتی کش دایرکتوری در پسزمینه هنگام شروع کار --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای محاسبه اندازه استفادهشده (Used) --vfs-write-back Duration مدتزمان بازنویسی فایلها پس از آخرین استفاده هنگام استفاده از کش (پیشفرض: 5s) --vfs-write-wait Duration مدتزمان انتظار برای نوشتن متوالی قبل از اعلام خطا (پیشفرض: 1s) --volname string تنظیم نام حجم (تنها در ویندوز و OSX پشتیبانی میشود) --write-back-cache وادار کردن هسته به بافر کردن نوشتنها پیش از ارسال به rclone (بدون این گزینه از کش writethrough استفاده میشود) (در ویندوز پشتیبانی نمیشود)
گزینههای مشترک با سایر دستورات در ادامه شرح داده شدهاند. برای مشاهده گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "گزینههای فیلتر (Filter Options)"
پرچمها برای فیلتر کردن فهرستهای دایرکتوری
-
--delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنا شدهاند --exclude stringArray مستثنا کردن فایلهای منطبق با الگو --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) --exclude-if-present stringArray مستثنا کردن دایرکتوریها در صورت وجود داشتن filename --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچگونه پردازش روی خطوط (استفاده از - برای خواندن از stdin) --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL به عنوان جداکننده (استفاده از - برای خواندن از stdin) -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) --hash-filter string افراز نام فایلها با هش k/n یا به صورت تصادفی @/n --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به حروف) --include stringArray شامل کردن فایلهای منطبق با الگو --include-from stringArray خواندن الگوهای شاملسازی فایل از فایل (استفاده از - برای خواندن از stdin) --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) --metadata-exclude stringArray مستثنا کردن متادادههای منطبق با الگو --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) --metadata-include stringArray شامل کردن متادادههای منطبق با الگو --metadata-include-from stringArray خواندن الگوهای شاملسازی متاداده از فایل (استفاده از - برای خواندن از stdin) --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار بر حسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone obscure
مبهمسازی گذرواژه برای استفاده در فایل پیکربندی rclone.
خلاصه دستور (SYNOPSIS)
در فایل پیکربندی rclone، گذرواژههای خوانا برای انسان مبهمسازی میشوند. مبهمسازی آنها از طریق رمزگذاری و نوشتن آنها در قالب base64 انجام میشود. این روش یک شیوهٔ امن برای رمزگذاری این گذرواژهها نیست چرا که rclone میتواند آنها را رمزگشایی کند - هدف تنها جلوگیری از سرک کشیدن اتفاقی ("eyedropping") است - یعنی دیدن اتفاقی یک گذرواژه در فایل پیکربندی rclone توسط یک فرد.
بسیاری از موارد با اهمیت یکسان (مانند توکنهای دسترسی) در فایل پیکربندی مبهمسازی نمیشوند. با این حال، سرک کشیدن از پشت شانه (shoulder surf) برای دیدن یک توکن hex با ۶۴ نویسه بسیار دشوار است.
این دستور همچنین میتواند با ارسال یک خط تیره به عنوان آرگومان، به جای آرگومان گذرواژه را از طریق STDIN بپذیرد. این کار نخستین خط STDIN را بدون احتساب نویسهٔ خط جدید پایانی به عنوان گذرواژه استفاده خواهد کرد.
-
echo 'secretpassword' | rclone obscure -
اگر دادهای در STDIN برای خواندن وجود نداشته باشد، rclone obscure به طور پیشفرض خود خط تیره را مبهمسازی میکند.
اگر میخواهید فایل پیکربندی را رمزگذاری کنید، لطفاً از رمزگذاری فایل پیکربندی استفاده کنید - برای اطلاعات بیشتر rclone config (https://rclone.org/commands/rclone_config) را ببینید.
-
rclone obscure password [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمای obscure
برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)"
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone rc
اجرای یک دستور روی یک نمونهٔ در حال اجرای rclone.
خلاصه دستور (SYNOPSIS)
این فرمان، دستوری را روی یک rclone در حال اجرا اجرا میکند. از پرچم --url برای مشخص کردن یک URL غیرپیشفرض جهت اتصال استفاده کنید. این مقدار میتواند به صورت ":port" باشد که به معنی http://localhost:port در نظر گرفته میشود، یا به صورت "host:port" که به معنای http://host:port خواهد بود.
نام کاربری و گذرواژه را میتوان با --user و --pass ارسال کرد.
توجه داشته باشید که --rc-addr، --rc-user و --rc-pass نیز برای --url، --user و --pass خوانده خواهند شد.
پرچم --unix-socket میتواند برای اتصال از طریق یک سوکت یونیکس به این صورت استفاده شود:
-
# start server on /tmp/my.socket rclone rcd --rc-addr unix:///tmp/my.socket # Connect to it rclone rc --unix-socket /tmp/my.socket core/stats
آرگومانها باید به صورت parameter=value ارسال شوند.
خروجی به طور پیشفرض در قالب یک شیء JSON بازگردانده خواهد شد.
پارامتر --json میتواند برای ارسال یک بلوک دادهٔ JSON به عنوان ورودی به جای آرگومانهای key=value استفاده شود. این تنها روش برای ارسال مقادیر پیچیدهتر است.
گزینهٔ -o/--opt میتواند برای تنظیم کلید "opt" با گزینههای کلید و مقدار در قالب -o key=value یا -o key استفاده شود. این گزینه میتواند به تعداد دفعات مورد نیاز تکرار شود. این قابلیت برای دستورهای rc که پارامتر "opt" (که طبق قرارداد یک دیکشنری از رشتهها است) را میپذیرند مفید است.
-
-o key=value -o key2
مقدار زیر را در مقدار "opt" قرار میدهد:
-
{"key":"value", "key2","")
گزینهٔ -a/--arg میتواند برای تنظیم رشتهها در مقدار "arg" به کار رود. این گزینه میتواند به تعداد دفعات مورد نیاز تکرار شود. این قابلیت برای دستورهای rc که پارامتر "arg" (که طبق قرارداد یک فهرست از رشتهها است) را میپذیرند مفید است.
-
-a value -a value2
مقدار زیر را در مقدار "arg" قرار میدهد:
-
["value", "value2"]
از --loopback برای اتصال به نمونهٔ rclone که در حال اجرای rclone rc است استفاده کنید. این قابلیت برای آزمایش دستورها بدون نیاز به راهاندازی سرور rclone rc بسیار مفید است، مانند:
-
rclone rc --loopback operations/about fs=/
از rclone rc برای مشاهدهٔ فهرستی از تمام دستورهای ممکن استفاده کنید.
-
rclone rc commands parameter [flags]
-
-a, --arg stringArray آرگومان قرار گرفته در آرایه "arg" -h, --help راهنمایی برای rc --json string ورودی JSON - استفاده به جای آرگومانهای key=value --loopback در صورت تنظیم، اتصال به این نمونه rclone به روشی غیر از HTTP --no-output در صورت تنظیم، نتیجه JSON چاپ نمیشود -o, --opt stringArray گزینه به شکل name=value یا name قرار گرفته در آرایه "opt" --pass string گذرواژه مورد استفاده برای اتصال به کنترل از راه دور rclone --unix-socket string مسیر یک سوکت unix domain برای اتصال، به جای باز کردن مستقیم اتصال TCP --url string نشانی URL برای اتصال به کنترل از راه دور rclone (پیشفرض "http://localhost:5572") --user string نام کاربری مورد استفاده برای کنترل از راه دور rclone
برای گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید.
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورات، پرچمها و backendهای rclone.
rclone rcat
ورودی استاندارد را در فایلی روی مقصد دوردست (remote) کپی میکند.
خلاصه دستور (SYNOPSIS)
دادهها را از ورودی استاندارد (stdin) میخواند و آن را در یک فایل دوردست واحد کپی میکند.
-
echo "hello world" | rclone rcat remote:path/to/file ffmpeg - | rclone rcat remote:path/to/file
اگر فایل دوردست از قبل وجود داشته باشد، بازنویسی (overwrite) خواهد شد.
دستور rcat تلاش خواهد کرد تا فایلهای کوچک را در یک درخواست واحد بارگذاری کند، که معمولاً کارآمدتر از نقاط پایانی بارگذاری جریانی/تکهتکه (streaming/chunked) است که از چندین درخواست استفاده میکنند. رفتار دقیق به ریموت بستگی دارد. آنچه که یک فایل کوچک محسوب میشود میتواند از طریق --streaming-upload-cutoff تنظیم شود. بارگذاری تنها پس از رسیدن به این حد آستانه یا در صورتی که فایل پیش از آن به پایان برسد آغاز میشود. دادهها باید در حافظه RAM بگنجند. این حد آستانه باید به اندازه کافی کوچک باشد تا با محدودیتهای ریموت شما سازگار باشد؛ لطفاً به مستندات آن مراجعه کنید. به طور کلی، تنظیم بیش از حد بالای این آستانه، کارایی شما را کاهش خواهد داد.
از پرچم --size برای پیشتخصیص از پیشِ فایل در مقصد دوردست و ارسال جریانی (stream) واقعی آن استفاده کنید، حتی اگر backend ریموت از پخش جریانی پشتیبانی نکند.
مقدار --size باید اندازهٔ دقیق جریان ورودی بر حسب بایت باشد. اگر اندازهٔ جریان با مقدار --size ارسالشده متفاوت باشد، انتقال به احتمال زیاد شکست خواهد خورد.
توجه داشته باشید که امکان تلاش مجدد (retry) برای بارگذاری وجود ندارد زیرا دادهها ذخیره نمیشوند. اگر backend از بارگذاری چندبخشی (multipart) پشتیبانی کند، تکههای مجزا میتوانند دوباره تلاش شوند. اگر نیاز به انتقال دادههای زیادی دارید، بهتر است ابتدا آن را به صورت محلی ذخیره (cache) کرده و سپس با استفاده از rclone move که از تلاش مجدد پشتیبانی میکند، آن را به مقصد منتقل نمایید.
-
rclone rcat remote:path [flags]
گزینهها (OPTIONS)
-
-h, --help راهنمایی برای rcat --size int راهنمای اندازه فایل برای پیشتخصیص (پیشفرض -1)
گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. برای گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای مهم (Important Options)
پرچمهای مهم و کاربردی برای بیشتر دستورها
-
-n, --dry-run اجرای آزمایشی بدون اعمال تغییرات ماندگار -i, --interactive فعالسازی حالت تعاملی -v, --verbose count چاپ خروجی بسیار مفصلتر (برای جزئیات بیشتر تکرار شود)
همچنین ببینید (SEE ALSO)
- •
- rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone.
rclone rcd
اجرای rclone بهگونهای که فقط به دستورهای کنترل از راه دور گوش دهد.
خلاصه دستور (SYNOPSIS)
این دستور rclone را بهگونهای اجرا میکند که تنها به دستورهای کنترل از راه دور گوش فرا دهد.
این قابلیت زمانی مفید است که بخواهید rclone را از طریق API کنترل از راه دور (rc) کنترل کنید.
اگر مسیری را به یک دایرکتوری مشخص کنید، rclone آن دایرکتوری را برای درخواستهای GET روی URL ارائهشده سرو میکند. همچنین هنگام اجرای rclone، این URL را در مرورگر باز خواهد کرد.
برای اطلاعات بیشتر درباره پرچمهای rc، به مستندات rc (https://rclone.org/rc) مراجعه کنید.
گزینههای سرور (Server options)
از --rc-addr برای مشخص کردن نشانی IP و پورتی که سرور باید روی آن گوش دهد استفاده کنید؛ مانند --rc-addr 1.2.3.4:8000 یا --rc-addr :8080 برای گوش دادن روی تمام IPها. بهطور پیشفرض سرور تنها روی localhost گوش میدهد. میتوانید از پورت :0 استفاده کنید تا سیستمعامل یک پورت آزاد را انتخاب کند.
اگر --rc-addr را طوری تنظیم کنید که روی یک نشانی IP عمومی یا قابل دسترس در شبکه محلی (LAN) گوش دهد، استفاده از احراز هویت توصیه میشود - برای اطلاعات بیشتر بخش بعدی را ببینید.
میتوانید با تنظیم URL روی unix:///path/to/socket یا صرفاً با استفاده از یک مسیر مطلق، از یک سوکت یونیکس استفاده کنید.
گزینه --rc-addr میتواند برای گوش دادن روی چندین IP/پورت/سوکت تکرار شود. فعالسازی سوکت (Socket activation) که در ادامه توضیح داده شده نیز میتواند برای دستیابی به همین هدف استفاده شود.
از --rc-server-read-timeout و --rc-server-write-timeout میتوان برای کنترل مهلتهای زمانی روی سرور استفاده کرد. توجه داشته باشید که این مقدار، زمان کل برای یک انتقال است.
گزینه --rc-max-header-bytes حداکثر تعداد بایتهایی را که سرور در هدر HTTP میپذیرد کنترل میکند.
از --rc-response-header میتوان برای تنظیم یک هدر HTTP برای تمام پاسخها استفاده کرد، که مقادیر موجود را بازنویسی خواهد کرد. این پرچم برای افزودن چندین هدر میتواند تکرار شود. از قالب Header-Name: value استفاده کنید.
گزینه --rc-baseurl پیشوند URL که rclone از آن سرویسدهی میکند را کنترل میکند. بهطور پیشفرض rclone از ریشه سرویس میدهد. اگر از --rc-baseurl "/rclone" استفاده کنید، rclone از URLای که با "/rclone/" آغاز میشود سرویسدهی خواهد کرد. این قابلیت در صورتی که بخواهید سرویسدهی rclone را پروکسی کنید مفید است. دستور rclone بهطور خودکار کاراکترهای "/" ابتدا و انتها را به --rc-baseurl اضافه میکند، بنابراین --rc-baseurl "rclone"، --rc-baseurl "/rclone" و --rc-baseurl "/rclone/" همگی به یک شکل پردازش میشوند.
گزینه --rc-disable-zip میتواند برای غیرفعال کردن قابلیت بارگیری بهصورت فشرده (zip) تنظیم شود.
پروتکل (Protocol)
سرور از HTTP/1.1 و HTTP/2 پشتیبانی میکند. برای اتصالات TLS، پروتکل HTTP/2 بهطور خودکار استفاده میشود. برای اتصالات غیر TLS، پروتکل متنی HTTP/2 (h2c) پشتیبانی میشود که امکان استفاده از HTTP/2 را بدون رمزنگاری فراهم میسازد..SS TLS (SSL)
بهطور پیشفرض این سرویس روی http ارائه میشود. در صورت تمایل میتوانید آن را روی https ارائه دهید. برای این کار باید پرچمهای --rc-cert و --rc-key را مشخص کنید. اگر مایل به اعتبارسنجی گواهی سمت کلاینت هستید، باید --rc-client-ca را نیز ارائه دهید.
هنگامی که TLS پیکربندی شود، هر شنوندهای که با --rc-addr مشخص شده باشد TLS را ارائه میدهد. یک شنونده خاص میتواند با پیشوند http:// مشخص شود تا HTTP رمزگذارینشده را روی آن آدرس ارائه دهد، یا با tls:// تا صراحتاً اعلام کند که باید TLS ارائه دهد. استفاده از آدرس tls:// بدون --rc-cert و --rc-key یک خطا محسوب میشود.
--rc-cert باید روی مسیر فایلی تنظیم شود که شامل گواهی با کدبندی PEM، یا ترکیب آن با گواهی CA باشد. --rc-key باید روی مسیر فایلی با کلید خصوصی با کدبندی PEM تنظیم شود. در صورت تنظیم --rc-client-ca، باید آن را روی مسیر فایلی حاوی گواهیهای مرجع صدور گواهی کلاینت با کدبندی PEM تنظیم کرد.
--rc-min-tls-version حداقل نسخه قابلقبول TLS است. مقادیر معتبر عبارتند از "tls1.0"، "tls1.1"، "tls1.2" و "tls1.3" (پیشفرض "tls1.0").
فعالسازی با سوکت (Socket activation)
بهجای آدرسهای شنیداری مشخصشده در بالا، rclone در صورت وجود به تمام FDهای ارسالشده توسط مدیر سرویس گوش میدهد (و هر آرگومان ارسالشده با --rc-addr را نادیده میگیرد).
این قابلیت اجازه میدهد rclone به عنوان یک سرویس با فعالسازی از طریق سوکت عمل کند. این مورد را میتوان با فایلهای واحد .socket و .service همانطور که در https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html توضیح داده شده است پیکربندی کرد.
فعالسازی سوکت را میتوان بهطور موردی با دستور systemd-socket-activate آزمایش کرد:
-
systemd-socket-activate -l 8000 -- rclone serve
این دستور با برقراری نخستین اتصال به پورت 8000 روی TCP، سرویس rclone را از طریق سوکت فعال میکند.
الگو (Template)
--rc-template به کاربر امکان میدهد یک الگوی نشانهگذاری سفارشی برای توابع ارائهدهندهٔ HTTP و WebDAV تعیین کند. سرور نشانهگذاریهای زیر را برای استفاده در الگو جهت ارائه صفحات صادر میکند:
| پارامتر | زیرپارامتر | توضیحات |
| .Name | مسیر کامل یک فایل/دایرکتوری. | |
| .Title | فهرست دایرکتوری '.Name'. | |
| .Sort | مرتبسازی فعلی مورد استفاده. این مورد از طریق پارامتر '?sort=' قابل تغییر است. مقادیر ممکن: namedirfirst، name، size، time (پیشفرض namedirfirst). | |
| .Order | ترتیب فعلی مورد استفاده. این مورد از طریق پارامتر '?order=' قابل تغییر است. مقادیر ممکن: asc، desc (پیشفرض asc). | |
| .Query | در حال حاضر استفاده نمیشود. | |
| .Breadcrumb | امکان ایجاد ناوبری نسبی را فراهم میکند. | |
| .Link | پیوند Text نسبت به ریشه. | |
| .Text | نام دایرکتوری. | |
| .Entries | اطلاعات مربوط به یک فایل/دایرکتوری خاص. | |
| .URL | نشانی اینترنتی (url) یک مدخل. | |
| .Leaf | در حال حاضر مشابه '.URL' است اما قرار است تنها نام باشد. | |
| .IsDir | مقدار بولی برای اینکه آیا یک مدخل دایرکتوری است یا خیر. | |
| .Size | اندازه مدخل بر حسب بایت. | |
| .ModTime | برچسب زمانی UTC یک مدخل. |
سرور همچنین توابع زیر را در دسترس قرار میدهد تا بتوان از آنها درون الگو استفاده کرد. این توابع به گسترش گزینهها برای رندر پویای HTML کمک میکنند. میتوان از آنها برای رندر کردن HTML بر اساس شرایط خاص بهره برد.
| تابع | توضیحات |
| afterEpoch | زمان سپریشده از epoch را برای زمان دادهشده برمیگرداند. |
| contains | بررسی میکند که آیا یک زیررشته در رشته دادهشده وجود دارد یا خیر. |
| hasPrefix | بررسی میکند که آیا رشته دادهشده با پیشوند مشخصشده آغاز میشود یا خیر. |
| hasSuffix | بررسی میکند که آیا رشته دادهشده با پسوند مشخصشده پایان مییابد یا خیر. |
| احراز هویت (Authentication) | |
| بهطور پیشفرض، این دستور فایلها را بدون نیاز به ورود ارائه میدهد. | |
| میتوانید از یک فایل htpasswd که قادر به نگهداری کاربران متعدد است استفاده کنید، یا یک نام کاربری و گذرواژهٔ یکتا را با پرچمهای --rc-user و --rc-pass تنظیم نمایید. | |
| همچنین میتوانید مدیریت احراز هویت را به پراکسی معکوس بسپارید و با استفاده از --user-from-header نام کاربری ارائهشده در هدرِ پیکربندیشده را به کار بگیرید (برای نمونه: --rc-user-from-header=x-remote-user). اطمینان حاصل کنید که پراکسی مورد اعتماد است و امکان جعل هدرها وجود ندارد، زیرا پیکربندی نادرست میتواند به دسترسیهای غیرمجاز منجر شود. | |
| اگر هیچیک از روشهای احراز هویت بالا پیکربندی نشده باشد و با پرچم --client-ca ارسالشده به سرور، ارائهٔ گواهیهای کلاینت الزامی شده باشد، نام معمول (Common Name) گواهی کلاینت بهعنوان نام کاربری در نظر گرفته خواهد شد. | |
| برای تعیین فایل htpasswd از --rc-htpasswd /path/to/htpasswd استفاده کنید. | |
| این فایل در قالب استاندارد apache بوده و برای احراز هویت پایهای از MD5، SHA1 و BCrypt پشتیبانی میکند. | |
| استفاده از Bcrypt توصیه میشود. | |
| برای ساخت یک فایل htpasswd: | |
| touch htpasswd |
| htpasswd -B htpasswd user |
| htpasswd -B htpasswd anotherUser |
| فایل گذرواژه میتواند در حین اجرای rclone نیز بهروزرسانی شود. |
| از --rc-realm برای تنظیم قلمرو (realm) احراز هویت استفاده کنید. |
| از --rc-salt برای تغییر سالت (salt) درهمسازی گذرواژه نسبت به مقدار پیشفرض استفاده نمایید. |
| rclone rcd <path to files to serve>* [flags] |
| گزینهها (Options) |
| -h, --help راهنمای rcd |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| گزینههای RC (RC Options) |
| پرچمهایی برای کنترل API کنترل از راه دور (Remote Control) |
| --rc فعالسازی سرور کنترل از راه دور |
| --rc-addr stringArray آدرس IPaddress:Port یا :Port برای مقید کردن سرور (پیشفرض localhost:5572) |
| --rc-allow-origin string مبدأ مجاز برای اجرای درخواستهای فرادامنهای (CORS) |
| --rc-baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید |
| --rc-cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) |
| --rc-client-ca string مرجع صدور گواهی کلاینت برای اعتبارسنجی کلاینتها |
| --rc-enable-metrics فعالسازی مسیر معیارهای Prometheus در سرور کنترل از راه دور |
| --rc-files string مسیر فایلهای محلی برای ارائه روی سرور HTTP |
| --rc-htpasswd string فایل htpasswd - در صورت عدم ارائه، احراز هویتی انجام نمیشود |
| --rc-job-expire-duration Duration منقضی کردن کارهای ناهمگام پایانیافتهٔ قدیمیتر از این مقدار (پیشفرض 1m0s) |
| --rc-job-expire-interval Duration بازهٔ زمانی بررسی کارهای ناهمگام منقضیشده (پیشفرض 10s) |
| --rc-key string کلید خصوصی TLS PEM |
| --rc-max-header-bytes int حداکثر اندازهٔ هدر درخواست (پیشفرض 4096) |
| --rc-min-tls-version string حداقل نسخهٔ TLS قابل قبول (پیشفرض "tls1.0") |
| --rc-no-auth عدم الزام احراز هویت برای برخی متدها |
| --rc-pass string گذرواژه برای احراز هویت |
| --rc-realm string قلمرو (Realm) برای احراز هویت |
| --rc-response-header stringArray تنظیم هدر HTTP برای تمام پاسخها و جایگزینی مقادیر موجود |
| --rc-salt string سالت (Salt) درهمسازی گذرواژه (پیشفرض "dlPL2MqE") |
| --rc-serve فعالسازی ارائهٔ اشیاء از راه دور |
| --rc-serve-no-modtime عدم خواندن زمان تغییر (میتواند کارایی را افزایش دهد) |
| --rc-server-read-timeout Duration مهلت زمانی خواندن داده توسط سرور (پیشفرض 1h0m0s) |
| --rc-server-write-timeout Duration مهلت زمانی نوشتن داده توسط سرور (پیشفرض 1h0m0s) |
| --rc-template string قالب مشخصشده توسط کاربر |
| --rc-user string نام کاربری برای احراز هویت |
| --rc-user-from-header string نام کاربری از هدر HTTP مشخصشده |
| --rc-web-fetch-url string آدرس URL برای دریافت انتشارها جهت webgui (پیشفرض "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest") |
| --rc-web-gui اجرای WebGUI روی localhost |
| --rc-web-gui-force-update ارتقای اجباری به آخرین نسخهٔ web gui |
| --rc-web-gui-no-open-browser عدم باز کردن خودکار مرورگر |
| --rc-web-gui-update بررسی و بهروزرسانی به آخرین نسخهٔ web gui |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| rclone rmdirs |
| دایرکتوریهای خالی موجود در مسیر را حذف میکند. |
| "خلاصه دستور (SYNOPSIS)" |
| این دستور بهطور بازگشتی تمام دایرکتوریهای خالی (از جمله دایرکتوریهایی |
| که تنها حاوی دایرکتوریهای خالی هستند) را که در این مسیر مییابد، حذف میکند. |
| خودِ مسیر ریشه نیز اگر خالی باشد حذف خواهد شد، مگر اینکه |
| پرچم --leave-root را مشخص کرده باشید. |
| برای حذف کردنِ فقط همان دایرکتوری خالی مشخصشده با مسیر (نه بهصورت بازگشتی)، |
| از دستور rmdir (https://rclone.org/commands/rclone_rmdir) استفاده کنید. |
| این دستور برای پاکسازی remoteهایی که rclone در آنها دایرکتوریهای خالی |
| زیادی به جا گذاشته است، مفید است. |
| برای مثال، دستور delete (https://rclone.org/commands/rclone_delete) |
| فایلها را حذف میکند اما ساختار دایرکتوری را باقی میگذارد (مگر اینکه |
| همراه با گزینهٔ --rmdirs استفاده شود). |
| این دستور دایرکتوریها را به تعداد --checkers بهطور همزمان حذف خواهد کرد؛ |
| بنابراین اگر هزاران دایرکتوری خالی دارید، افزایش این مقدار را مد نظر قرار دهید. |
| برای حذف یک مسیر و تمام شیءهای درون آن، از |
| دستور purge (https://rclone.org/commands/rclone_purge) استفاده کنید. |
| rclone rmdirs remote:path [flags] |
| "گزینهها (OPTIONS)" |
| -h, --help راهنمای rmdirs |
| --leave-root عدم حذف دایرکتوری ریشه در صورت خالی بودن |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری |
| (https://rclone.org/flags) را ببینید. |
| "گزینههای مهم (IMPORTANT OPTIONS)" |
| پرچمهای مهمی که برای بیشتر دستورها مفید هستند |
| -n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی |
| -i, --interactive فعالسازی حالت تعاملی |
| -v, --verbose count چاپ اطلاعات بسیار بیشتر (برای اطلاعات بیشتر تکرار کنید) |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| rclone selfupdate |
| بهروزرسانی باینری rclone. |
| "خلاصه دستور (SYNOPSIS)" |
| این دستور آخرین نگارش منتشرشده از rclone را دانلود کرده و جایگزین |
| باینری در حال اجرای فعلی میکند. |
| دانلود با یک چکسوم هش (hashsum) و امضای رمزنگاریشده تأیید میشود؛ |
| برای جزئیات، به اسناد امضای انتشار |
| (https://rclone.org/release_signing) مراجعه کنید. |
| اگر بدون پرچم (یا با پرچم ضمنی --stable) استفاده شود، این |
| دستور آخرین نگارش پایدار را نصب خواهد کرد. |
| با این حال، ممکن است برخی مشکلات تنها در آخرین نگارش بتا برطرف شده |
| باشند (یا ویژگیهایی فقط به آن اضافه شده باشند). |
| در چنین مواردی باید دستور را با پرچم --beta اجرا کنید؛ |
| یعنی rclone selfupdate --beta. |
| میتوانید با افزودن پرچم --check از پیش بررسی کنید که چه |
| نسخهای نصب خواهد شد، سپس هنگامی که رضایت داشتید دستور را بدون آن تکرار کنید. |
| گاهی اوقات ممکن است تیم rclone برای عیبیابی مشکل شما یا افزودن |
| یک ویژگی بسیار جدید (bleeding edge)، نگارش پایدار یا بتای مشخصی از |
| rclone را توصیه کند. |
| پرچم --version VER، در صورت مشخص شدن، به جای آخرین نسخه، |
| به همان نسخهٔ مشخص بهروزرسانی خواهد کرد. |
| اگر نسخهٔ خرد (micro version) را از VER حذف کنید (برای مثال |
| 1.53)، آخرین نسخهٔ خرد منطبق استفاده خواهد شد. |
| پس از بهروزرسانی موفق، rclone پیامی چاپ میکند که حاوی شمارهٔ نسخهٔ |
| قبلی است. |
| اگر بعداً به هر دلیلی تصمیم بگیرید بهروزرسانی خود را بازگردانی (revert) کنید، |
| به آن نیاز خواهید داشت. |
| در این صورت باید نسخهٔ قبلی را یادداشت کرده و دستور زیر را اجرا |
| کنید: rclone selfupdate [--beta] OLDVER. |
| اگر نسخهٔ قدیمی فقط شامل نقطه و عدد باشد (برای مثال |
| v1.54.0)، آنگاه یک نگارش پایدار است و بنابراین به |
| پرچم --beta نیازی نخواهید داشت. |
| نگارشهای بتا دارای اطلاعات اضافی مشابه |
| v1.54.0-beta.5111.06f1c0c61 هستند. |
| (اگر توسعهدهنده هستید و از rclone ساختهشده به صورت محلی استفاده میکنید، شمارهٔ |
| نسخه با -DEV خاتمه مییابد؛ از آنجا که بدیهی است چنین نسخهای |
| نمیتواند توزیع شود، باید خودتان دوباره آن را بسازید). |
| اگر قبلاً rclone را از طریق یک مدیر بسته نصب کردهاید، ممکن است بسته |
| شامل مستندات محلی باشد یا سرویسهایی را پیکربندی کند. |
| ممکن است بخواهید با پرچم --package deb یا |
| --package rpm (هر کدام که برای سیستمعامل شما مناسب است) بهروزرسانی کنید |
| تا این موارد نیز بهروز شوند. |
| این دستور با حالت پیشفرض --package zip تنها فایل اجرایی rclone |
| را بهروز میکند، بنابراین ممکن است پس از آن، راهنمای محلی نادقیق شود. |
| دستور rclone mount (https://rclone.org/commands/rclone_mount) بسته |
| به ساخت (build) و سیستمعامل ممکن است از گزینههای گسترشیافتهٔ FUSE |
| پشتیبانی کند یا نکند. |
| اگر این قابلیت از بین برود، selfupdate از انجام بهروزرسانی |
| خودداری خواهد کرد. |
| نکته: ویندوز حذف فایل اجراییِ در حال اجرا را ممنوع میکند، بنابراین این |
| دستور در صورت موفقیت، نام فایل اجرایی قدیمی را به 'rclone.old.exe' |
| تغییر خواهد داد. |
| لطفاً توجه داشته باشید که این دستور پیش از نسخهٔ 1.55 rclone در |
| دسترس نبود. |
| اگر این دستور برای شما با پیام |
| unknown command "selfupdate" با شکست مواجه شد، باید |
| طبق مستندات نصب (https://rclone.org/install) بهطور دستی اقدام به |
| بهروزرسانی کنید. |
| rclone selfupdate [flags] |
| --beta نصب نسخه بتا |
| --check بررسی برای آخرین نسخه، بدون بارگیری |
| -h, --help راهنمایی برای selfupdate |
| --output string ذخیره باینری بارگیریشده در مسیر دادهشده (پیشفرض: جایگزینی باینری در حال اجرا) |
| --package string قالب بسته: zip|deb|rpm (پیشفرض: zip) |
| --stable نصب نسخه پایدار (این پیشفرض است) |
| --version string نصب نسخه دادهشده rclone (پیشفرض: latest) |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| rclone serve |
| ارائه یک remote از طریق یک پروتکل. |
| "خلاصه دستور (SYNOPSIS)" |
| ارائه یک remote از طریق یک پروتکل مشخص. |
| نیازمند استفاده از یک زیردستور برای تعیین پروتکل است؛ مانند: |
| rclone serve http remote: |
| هنگامی که پرچم "--metadata" فعال باشد، فیلدهای متادیتای زیر |
| بهعنوان سرآیند ارائه خواهند شد: - "content-disposition" - |
| "cache-control" - "content-language" - |
| "content-encoding" نکته: در دسترس بودن این فیلدها به این |
| بستگی دارد که آیا remote از متادیتا پشتیبانی میکند یا خیر. |
| هر زیردستور گزینههای ویژه خود را دارد که میتوانید آنها را در راهنمای مربوطهشان مشاهده کنید. |
| rclone serve <protocol> [opts] <remote> [flags] |
| "گزینهها (OPTIONS)" |
| -h, --help راهنمایی برای serve |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| • 2 |
| rclone serve dlna (https://rclone.org/commands/rclone_serve_dlna) - |
| ارائه remote:path از طریق DLNA. |
| • 2 |
| rclone serve docker (https://rclone.org/commands/rclone_serve_docker) - |
| ارائه هر remote روی API افزونه volume در docker. |
| • 2 |
| rclone serve ftp (https://rclone.org/commands/rclone_serve_ftp) - ارائه |
| remote:path از طریق FTP. |
| • 2 |
| rclone serve http (https://rclone.org/commands/rclone_serve_http) - |
| ارائه remote از طریق HTTP. |
| • 2 |
| rclone serve nfs (https://rclone.org/commands/rclone_serve_nfs) - ارائه |
| remote بهعنوان یک mount از نوع NFS. |
| • 2 |
| rclone serve restic (https://rclone.org/commands/rclone_serve_restic) - |
| ارائه remote برای REST API ابزار restic. |
| • 2 |
| rclone serve s3 (https://rclone.org/commands/rclone_serve_s3) - ارائه |
| remote:path از طریق s3. |
| • 2 |
| rclone serve sftp (https://rclone.org/commands/rclone_serve_sftp) - |
| ارائه remote از طریق SFTP. |
| • 2 |
| rclone serve webdav (https://rclone.org/commands/rclone_serve_webdav) - |
| ارائه remote:path از طریق WebDAV..SH rclone serve dlna |
| ارائه remote:path از طریق DLNA |
| "خلاصه دستور (SYNOPSIS)" |
| اجرای یک سرور چندرسانهای DLNA برای رسانههای ذخیرهشده در یک ریموت rclone. |
| بسیاری از دستگاهها، مانند Xbox و PlayStation، میتوانند این سرور را بهطور خودکار در شبکه محلی (LAN) شناسایی کرده و فایلهای صوتی/تصویری را از آن پخش کنند. |
| پخشکننده VLC نیز پشتیبانی میشود. |
| شناسایی سرویس از بستههای چندپخشی UDP بر بستر SSDP استفاده میکند و بنابراین تنها در شبکههای محلی (LAN) کار خواهد کرد. |
| ابزار rclone بدون اعمال فیلتر بر اساس قالبهای رسانهای یا پسوند فایلها، تمامی فایلهای موجود در ریموت را فهرست میکند. |
| علاوه بر این، هیچ پشتیبانی از ترنسکود (تبدیل فرمت) رسانهها وجود ندارد. |
| این بدان معناست که برخی از پخشکنندهها ممکن است فایلهایی را نمایش دهند که قادر به پخش صحیح آنها نیستند. |
| ابزار rclone فایلهای زیرنویس خارجی (.srt) را در صورتی که نام فایلی یکسان با خود فایل ویدیو (بهجز پسوند) داشته باشند، چه در همان دایرکتوری ویدیو و چه در زیردایرکتوری "Subs" قرار گرفته باشند، به ویدیوها اضافه خواهد کرد. |
| "گزینههای سرور (Server options)" |
| از --addr برای تعیین آدرس IP و پورتی که سرور باید روی آن گوش فرا دهد استفاده کنید، به عنوان مثال --addr 1.2.3.4:8000 یا --addr :8080 برای گوش دادن روی تمام IPها. |
| از --name برای انتخاب نام سرور (friendly name) استفاده کنید که بهطور پیشفرض "rclone (hostname)" است. |
| از --log-trace به همراه -vv برای فعالسازی ثبت لاگهای اشکالزدایی (debug) اضافی مربوط به تمام ترافیک UPNP استفاده کنید. |
| "سیستم فایل مجازی (VFS - Virtual File System)" |
| این دستور از لایه VFS استفاده میکند. |
| این لایه اشیاء فضای ذخیرهسازی ابری را که rclone به کار میگیرد، به ساختاری تبدیل میکند که بسیار شبیه به سیستم فایل دیسک به نظر میرسد. |
| اشیاء ذخیرهسازی ابری ویژگیهای متعددی دارند که مانند فایلهای روی دیسک نیستند - نمیتوانید اندازه آنها را گسترش دهید یا در میانهشان بنویسید، بنابراین لایه VFS باید این موارد را مدیریت کند. |
| از آنجا که روش یگانهای برای انجام این کار وجود ندارد، گزینههای مختلفی وجود دارد که در ادامه توضیح داده شدهاند. |
| لایه VFS همچنین یک کش دایرکتوری پیادهسازی میکند - این قابلیت اطلاعات مربوط به فایلها و دایرکتوریها (نه خود دادهها) را در حافظه کش میکند. |
| "کش دایرکتوری VFS (VFS Directory Cache)" |
| با استفاده از گزینه --dir-cache-time، میتوانید مشخص کنید که یک دایرکتوری چه مدت بهروز در نظر گرفته شود و از بکاند بازخوانی نشود. |
| تغییرات اعمالشده از طریق VFS بلافاصله نمایان میشوند یا کش را باطل میکنند. |
| --dir-cache-time duration مدت زمان نگهداری ورودیهای دایرکتوری در کش (پیشفرض 5m0s) |
| --poll-interval duration مدت زمان انتظار میان بررسی تغییرات. باید کمتر از dir-cache-time باشد. فقط در ریموتهای پشتیبانیشده. برای غیرفعالسازی روی 0 تنظیم کنید (پیشفرض 1m0s) |
| با این حال، چنانچه بکاند پیکربندیشده از بررسی تغییرات پشتیبانی نکند، تغییراتی که مستقیماً از طریق رابط کاربری وب فضای ابری یا توسط یک نسخه مجزای rclone ایجاد شوند، تنها زمانی اعمال خواهند شد که کش دایرکتوری منقضی شود. |
| اگر بکاند از بررسی تغییرات (polling) پشتیبانی کند، تغییرات در بازه زمانی تعیینشده برای poll شناسایی خواهند شد. |
| میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا صرفنظر از میزان قدمت کشها، تمام کشهای دایرکتوری را تخلیه کند. |
| با فرض اینکه تنها یک نمونه rclone در حال اجرا است، میتوانید کش را به این شکل بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را همراه با کنترل از راه دور (remote control) پیکربندی کنید، میتوانید از rclone rc برای تخلیه کامل کش دایرکتوری استفاده نمایید: |
| rclone rc vfs/forget |
| یا برای فایلها یا دایرکتوریهای جداگانه: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| پرچم --buffer-size مقدار حافظهای را که برای پیشبافرسازی دادهها استفاده میشود، مشخص میکند. |
| هر فایلِ باز تلاش خواهد کرد تا مقدار داده تعیینشده را همواره در حافظه نگه دارد. |
| دادههای بافرشده مقید به یک فایل باز هستند و به اشتراک گذاشته نخواهند شد. |
| این پرچم یک حد بالایی برای حافظه مصرفی به ازای هر فایل باز است. |
| بافر تنها برای دادههایی از حافظه استفاده خواهد کرد که بارگیری شده اما هنوز خوانده نشدهاند. |
| اگر بافر خالی باشد، تنها مقدار اندکی حافظه مصرف خواهد شد. |
| حداکثر حافظه استفادهشده توسط rclone برای بافرسازی میتواند تا |
| --buffer-size * open files باشد. |
| کشسازی فایل VFS |
| این پرچمها گزینههای کشسازی فایل VFS را کنترل میکنند. |
| کشسازی فایل برای اینکه لایه VFS با یک فایلسیستم عادی سازگار به نظر برسد ضروری است. |
| این قابلیت میتواند به بهای از دست رفتن بخشی از سازگاری غیرفعال شود. |
| برای نمونه، اگر میخواهید به طور همزمان در یک فایل بخوانید و بنویسید، باید کشسازی VFS را فعال کنید. |
| برای جزئیات بیشتر به بخش زیر مراجعه کنید. |
| توجه داشته باشید که کش VFS از بکاندِ کش مجزا است و ممکن است متوجه شوید که به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string دایرکتوری مورد استفاده rclone برای کشسازی. |
| --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-max-age duration حداکثر زمان از آخرین دسترسی به اشیاء در کش (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء در کش (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی کش (پیشفرض off) |
| --vfs-cache-poll-interval duration بازه زمانی بررسی کش برای اشیاء بیاستفاده (پیشفرض 1m0s) |
| --vfs-write-back duration زمان بازنویسی فایلها پس از آخرین استفاده هنگام استفاده از کش (پیشفرض 5s) |
| اگر با -vv اجرا شود، rclone مکان کش فایل را چاپ خواهد کرد. |
| فایلها در ناحیه فایلهای کش کاربر که وابسته به سیستمعامل است ذخیره میشوند، اما میتوان آن را با --cache-dir یا مقداردهی متغیر محیطی مناسب کنترل کرد. |
| کش دارای ۴ حالت مختلف است که توسط --vfs-cache-mode انتخاب میشوند. |
| هرچه حالت کش بالاتر باشد، rclone به بهای مصرف فضای دیسک، سازگارتر میشود. |
| توجه داشته باشید که فایلها تنها زمانی در ریموت بازنویسی میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه دسترسی به آنها انجام نشده باشد. |
| اگر rclone بسته شود یا در حالی که فایلهایی آپلودنشده باقی ماندهاند متوقف گردد، این فایلها دفعه بعد که rclone با همان پرچمها اجرا شود، آپلود خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space توجه داشته باشید که کش ممکن است به دو دلیل از این سهمیهها فراتر رود. |
| نخست به این دلیل که کش تنها در هر --vfs-cache-poll-interval بررسی میشود. |
| دوم به این دلیل که فایلهای باز را نمیتوان از کش تخلیه کرد. |
| هنگامی که از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space فراتر رود، rclone ابتدا تلاش میکند فایلهایی با کمترین میزان دسترسی را از کش تخلیه کند. |
| rclone کار را با فایلهایی آغاز خواهد کرد که بیشترین زمان از آخرین دسترسی به آنها گذشته است. |
| این راهبرد پاکسازی کش کارآمد است و احتمال باقی ماندن فایلهای مرتبطتر در کش بیشتر خواهد بود. |
| پرچم --vfs-cache-max-age فایلها را پس از گذشت زمان تعیینشده از آخرین دسترسی، از کش تخلیه میکند؛ این فرآیند بر پایه زمان دسترسی است، نه زمانی که فایل برای نخستینبار به کش افزوده شد. |
| مقدار پیشفرض ۱ ساعت شروع به تخلیه فایلهایی از کش میکند که به مدت ۱ ساعت دسترسی به آنها انجام نشده است. |
| هنگامی که به یک فایل کششده دسترسی پیدا شود، زمانسنج ۱ ساعته به ۰ بازنشانی میشود و پیش از تخلیه، ۱ ساعت دیگر منتظر میماند. |
| زمان را با نمادگذاری استاندارد s, m, h, d, w مشخص کنید. |
| در صورت استفاده از --vfs-cache-mode > off، شما نباید دو نسخه از rclone را با استفاده از یک کش VFS یکسان با ریموتهای مشابه یا همپوشان اجرا کنید. |
| اگر چنین کنید، این کار میتواند احتمالاً باعث خرابی دادهها شود. |
| میتوانید با اختصاص دادن سلسلهمراتب کش اختصاصی به هر rclone از طریق --cache-dir این مشکل را دور بزنید. |
| اگر ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این مورد ندارید..SS --vfs-cache-mode off |
| در این حالت (حالت پیشفرض)، حافظهٔ نهان مستقیماً از سرور راه دور میخواند و مستقیماً روی آن مینویسد، بدون آنکه چیزی را روی دیسک کَش کند. |
| این امر بدین معنی است که برخی عملیات امکانپذیر نخواهند بود: |
| • 2 |
| فایلها نمیتوانند همزمان برای هر دو عمل خواندن و نوشتن باز شوند |
| • 2 |
| امکان پیمایش (seek) در فایلهای باز شده برای نوشتن وجود ندارد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید دارای پرچم O_TRUNC باشند |
| • 2 |
| فایلهای باز شده برای خواندن همراه با O_TRUNC بهصورت فقطنوشتنی باز خواهند شد |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی بهگونهای رفتار میکنند که گویی O_TRUNC مشخص شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای خواندن و نوشتن، روی دیسک بافر میشوند. |
| این بدین معناست که فایلهای باز شده برای نوشتن سازگاری بسیار بیشتری خواهند داشت، اما حداقل فضای دیسک مصرف میشود. |
| این عملیات امکانپذیر نیستند: |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی امکان پیمایش (seek) ندارند |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید دارای پرچم O_TRUNC باشند |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی، O_APPEND و O_TRUNC را نادیده میگیرند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده بهصورت فقطخواندنی همچنان مستقیماً از راه دور خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمام عملیات عادی سیستم فایل پشتیبانی کند. |
| اگر یک بارگذاری ناموفق باشد، تلاش مجدد در فواصل زمانی با افزایش تصاعدی تا حداکثر ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت، تمام عملیات خواندن و نوشتن از دیسک و روی آن بافر میشوند. |
| هنگامی که دادهها از مبدا راه دور خوانده میشوند، روی دیسک نیز بافر خواهند شد. |
| در این حالت، فایلهای موجود در حافظهٔ نهان بهصورت فایلهای پراکنده (sparse files) خواهند بود و rclone بخشهایی از فایل را که بارگیری کرده پیگیری میکند. |
| بنابراین اگر برنامهای تنها آغاز هر فایل را بخواند، rclone نیز تنها ابتدای فایل را بافر میکند. |
| این فایلها در حافظهٔ نهان با اندازهٔ کامل خود نمایش داده میشوند، اما در واقع فایلهای پراکندهای خواهند بود که فقط دادههای بارگیریشده در آنها وجود دارد. |
| این حالت باید از تمام عملیات معمول سیستم فایل پشتیبانی کند و در باقی موارد مشابه با --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازهٔ --buffer-size بهعلاوهٔ --vfs-read-ahead بایت جلوتر را پیشخوانی میکند. |
| مقدار --buffer-size در حافظه رم بافر میشود، در حالی که --vfs-read-ahead روی دیسک بافر خواهد شد. |
| هنگام استفاده از این حالت، توصیه میشود که --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز، --vfs-read-ahead مقداری بزرگ داشته باشد. |
| مهم: همهٔ سیستمهای فایل از فایلهای پراکنده پشتیبانی نمیکنند. |
| بهویژه FAT/exFAT از آن پشتیبانی ندارند. |
| اگر دایرکتوری حافظهٔ نهان روی سیستم فایلی باشد که از فایلهای پراکنده پشتیبانی نمیکند، rclone عملکرد بسیار ضعیفی خواهد داشت و در صورت شناسایی چنین موردی، یک پیام خطای ERROR ثبت خواهد کرد. |
| انگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از انگشتنگاری برای بررسی اینکه آیا نسخهٔ محلی فایل نسبت به فایل راه دور تغییر کرده است یا خیر استفاده میکنند. |
| اثرانگشتها از موارد زیر ساخته میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان آخرین تغییر (modification time) |
| • 2 |
| هش (hash) |
| در صورتی که روی یک شیء موجود باشند. |
| در برخی بکاندها، خواندن برخی از این مشخصهها کُند است (نیازمند یک فراخوانی API اضافی برای هر شیء یا پردازش مضاعف برای هر شیء هستند). |
| برای نمونه، محاسبهٔ hash در بکاندهای local و sftp کند است زیرا باید کل فایل را خوانده و هش آن را محاسبه کنند، و دریافت modtime در بکاندهای s3، swift، ftp و qinqstor کند است زیرا نیاز به یک فراخوانی API اضافی برای واکشی آن دارند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیاتهای کند را در انگشتنگاری لحاظ نخواهد کرد. |
| این کار دقت انگشتنگاری را کاهش میدهد اما سرعت آن را بسیار افزایش میدهد و زمان باز شدن فایلهای کششده را بهبود میبخشد. |
| اگر حافظهٔ نهان vfs را بر روی بکاندهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که اگر مقدار این پرچم را تغییر دهید، ممکن است اثرانگشت فایلهای موجود در کش باطل شود و فایلها نیاز به بارگیری مجدد داشته باشند..SS خواندن تکهای در VFS (VFS Chunked Reading) |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را بهصورت تکهای میخواند. |
| بدین معنا که rclone بهجای درخواست کل فایل، تکهٔ مشخصشده را میخواند. |
| این کار میتواند با درخواستِ صرفاً تکههایی از ریموت که واقعاً خوانده میشوند، سهمیهٔ دانلود مصرفی در برخی ریموتها را کاهش دهد، هرچند به بهای افزایش تعداد درخواستها تمام میشود. |
| این پرچمها کنترل تکهبندی را بر عهده دارند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازهٔ دو برابر شدن تکه (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| تکهبندی بسته به پارامتر |
| --vfs-read-chunk-streams رفتارهای متفاوتی دارد. |
| --vfs-read-chunk-streams == 0 |
| دستور rclone خواندن را با تکهای به اندازهٔ |
| --vfs-read-chunk-size آغاز میکند و سپس با هر بار خواندن، اندازه را دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر |
| از --vfs-read-chunk-size باشد، اندازهٔ تکه برای هر فایلِ باز |
| تنها تا زمانی که به مقدار مشخصشده برسد دو برابر خواهد شد. |
| اگر این مقدار "off" باشد (که حالت پیشفرض است)، محدودیت |
| غیرفعال است و اندازهٔ تکه بهطور نامحدود رشد خواهد کرد. |
| با --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0، بخشهای زیر دانلود خواهند |
| شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و الی آخر. |
| هنگامی که --vfs-read-chunk-size-limit 500M تعیین شود، نتیجه |
| بهصورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و غیره |
| خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهای را غیرفعال میکند. |
| تکهها در حافظه بافر نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| دستور rclone تعداد --vfs-read-chunk-streams تکه با اندازهٔ |
| --vfs-read-chunk-size را بهصورت همروند میخواند. |
| اندازه برای هر بار خواندن ثابت باقی خواهد ماند. |
| این کارایی را روی پیوندهای با تأخیر بالا یا پیوندهای با پهنای باند بسیار |
| زیاد به ذخیرهسازهای شیء با کارایی بالا، بهطور چشمگیری بهبود میبخشد. |
| برای یافتن مقادیر بهینه برای |
| --vfs-read-chunk-size و --vfs-read-chunk-streams |
| به کمی آزمایش نیاز است، زیرا این موارد به Backend مورد استفاده و میزان |
| تأخیر تا آن بستگی دارند. |
| برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطهٔ شروع منطقی |
| میتواند --vfs-read-chunk-streams 16 و |
| --vfs-read-chunk-size 4M باشد. |
| در آزمایشها با AWS S3، کارایی تقریباً متناسب با تنظیم |
| --vfs-read-chunk-streams مقیاسپذیر بود. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر زیاد نیز کار کند، اما بسته به |
| میزان تأخیر ممکن است برای دستیابی به توان عملیاتی مطلوب، به مقادیر |
| بیشتری از --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS (VFS Performance) |
| این پرچمها ممکن است برای فعال یا غیرفعال کردن قابلیتهای VFS به دلایل |
| کارایی یا موارد دیگر استفاده شوند. |
| همچنین بخش قابلیت خواندن تکهای را ببینید. |
| بهویژه S3 و Swift سود فراوانی از پرچم |
| --no-modtime میبرند (یا از --use-server-modtime برای |
| تأثیری کمی متفاوت استفاده کنید)، زیرا هر بار خواندنِ زمان تغییرات یک |
| تراکنش مصرف میکند. |
| --no-checksum عدم مقایسهٔ چکسامها در هنگام بارگذاری/دانلود. |
| --no-modtime عدم خواندن/نوشتن زمان تغییرات (میتواند سرعت را افزایش دهد). |
| --no-seek عدم اجازه برای پرش (seek) در فایلها. |
| --read-only فقط اجازهٔ دسترسی فقطخواندنی. |
| گاهی اوقات عملیات خواندن یا نوشتن بهصورت نامرتب به rclone تحویل داده میشود. |
| برنامهٔ rclone بهجای پرش در فایل (seek)، مدت کوتاهی منتظر میماند تا |
| خواندن یا نوشتنِ متوالی از راه برسد. |
| این پرچمها تنها در صورتی اثرگذار خواهند بود که از فایل کَش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت زمان انتظار برای خواندن ترتیبی قبل از seek (پیشفرض 20ms) |
| --vfs-write-wait duration مدت زمان انتظار برای نوشتن ترتیبی قبل از اعلام خطا (پیشفرض 1s) |
| هنگام استفاده از کَش نوشتن VFS (--vfs-cache-mode با مقدار |
| writes یا full)، پرچم سراسری --transfers را میتوان برای |
| تنظیم تعداد آپلودهای موازی فایلهای تغییریافته از کَش تنظیم کرد |
| (پرچم سراسری مرتبط --checkers تأثیری بر VFS ندارد). |
| --transfers int تعداد انتقالهای موازی فایلها (پیشفرض 4) |
| بهطور پیشفرض، VFS از پیوندهای نمادین پشتیبانی نمیکند. |
| با این حال، این ویژگی را میتوان با هر یک از پرچمهای زیر فعال کرد: |
| --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. |
| --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل معمولی با یک پسوند ویژه ذخیره میکند. |
| بنابراین فایلی که بهصورت پیوند نمادین link-to-file.txt نشان داده میشود، در فضای ذخیرهسازی ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن، مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links تبدیل پیوند نمادین را بهطور سراسری در rclone فعال میکند - این شامل هر backendای که از این مفهوم پشتیبانی کند (برای نمونه backend محلی) میشود. |
| --vfs-links آن را فقط برای لایهٔ VFS فعال میکند. |
| این سازوکار با آنچه توسط backend محلی با پرچم --local-links استفاده میشود سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای دستورهای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است. |
| این ویژگی هنوز با سایر دستورهای rclone serve آزمایش نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده، پیوندهای نمادین فرعی (sub-symlinks) را تحلیل (resolve) کند. |
| برای مثال با در نظر گرفتن این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| لایهٔ VFS پیوند linked-dir را بهدرستی تحلیل میکند اما linked-dir/file.txt را خیر. |
| این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند اما ممکن است برای سایر دستورها مشکلساز باشد. |
| توجه داشته باشید که یک مشکل حلنشده در پشتیبانی از پیوندهای نمادین وجود دارد (موضوع شمارهٔ ۸۲۴۵ در https://github.com/rclone/rclone/issues/8245)؛ بدین صورت که اگر پیوندهای نمادین به دایرکتوریهایی منتقل شوند که فایلی با همان نام در آنها وجود دارد (یا برعکس)، فایلهای تکراری ایجاد میشوند. |
| حساسیت VFS به بزرگی و کوچکی حروف (VFS Case Sensitivity) |
| سیستمهای فایل لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف با هم تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً همان حالت حروف استفاده شود. |
| سیستمهای فایل در نسخههای نوین ویندوز به بزرگی و کوچکی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-preserving): اگرچه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروف مورد استفاده هنگام ایجاد فایل حفظ میشود و برنامهها میتوانند از آن پرسوجو کنند. |
| در این سیستمها وجود دو فایل در یک دایرکتوری که فقط در بزرگی و کوچکی حروف با هم تفاوت داشته باشند مجاز نیست. |
| معمولاً سیستمهای فایل در macOS به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن سیستمهای فایل macOS به بزرگی و کوچکی حروف وجود دارد، اما این حالت پیشفرض نیست. |
| پرچم VFS به نام --vfs-case-insensitive چگونگی مدیریت این دو حالت را توسط rclone کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نام فایلها را همانطور که هست (as-is) به ریموت ارسال میکند. |
| اگر این پرچم "true" باشد (یا بدون مقدار در خط فرمان مشخص شود)، rclone ممکن است یک «اصلاح» ("fixup") را مطابق توضیحات زیر انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف مشخص کند که با آنچه در ریموت ذخیره شده تفاوت داشته باشد. |
| اگر آرگومانی به یک فایل موجود با نام کاملاً یکسان اشاره کند، حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با تطابق کامل پیدا نشود اما نامی وجود داشته باشد که تنها در بزرگی و کوچکی حروف متفاوت است، rclone نام را بهطور شفاف اصلاح خواهد کرد. |
| این اصلاح تنها هنگامی رخ میدهد که یک فایل موجود درخواست شود. |
| حساسیت به بزرگی و کوچکی حروف در نام فایلهایی که بهتازگی توسط rclone ایجاد میشوند، توسط ریموت زیرین کنترل میشود. |
| توجه داشته باشید که حساسیت سیستمعامل اجراکنندهٔ rclone (مقصد) به بزرگی و کوچکی حروف ممکن است با حساسیت سیستم فایل ارائهشده توسط rclone (مبدأ) تفاوت داشته باشد. |
| این پرچم مشخص میکند که آیا برای برآورده کردن الزامات مقصد، «اصلاح» ("fixup") انجام شود یا خیر. |
| اگر این پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی که rclone در آن اجرا میشود بستگی دارد: در ویندوز و macOS مقدار "true"، و در غیر این صورت "false". |
| اگر پرچم بدون مقدار ارائه شود، مقدار آن "true" خواهد بود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «اصلاح» ("fixup") مشابهی برای نامفایلهایی که تفاوت دارند اما از نظر یونیکد همارزی قانونی دارند (https://en.wikipedia.org/wiki/Unicode_equivalence) انجام گیرد یا خیر. |
| نرمالسازی یونیکد بهویژه میتواند برای کاربران macOS مفید باشد، زیرا macOS فرم NFD را به فرم NFC (که توسط بیشتر پلتفرمهای دیگر استفاده میشود) ترجیح میدهد. |
| بنابراین اکیداً توصیه میشود در macOS مقدار پیشفرض false حفظ شود تا از مشکلات سازگاری کدگذاری (encoding) جلوگیری به عمل آید. |
| در شرایطی (احتمالاً نادر) که یک دایرکتوری پس از اعمال نرمالسازی حروف و یونیکد دارای چندین نامفایل تکراری باشد، پرچم --vfs-block-norm-dupes اجازهٔ پنهانسازی این موارد تکراری را میدهد. |
| این کار به بهای افت کارایی (performance tradeoff) تمام میشود، چرا که rclone هنگام فهرست کردن یک دایرکتوری ناچار است کل دایرکتوری را برای یافتن موارد تکراری پویش کند. |
| به همین دلیل، پیشنهاد میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این حال، کاربران macOS ممکن است استفاده از آن را مد نظر قرار دهند، چرا که در غیر این صورت اگر یک دایرکتوری ریموت شامل هر دو نسخهٔ NFC و NFD از یک نامفایل باشد، وضعیت عجیبی رخ میدهد: هر دو نسخه از فایل در مانت (mount) قابل مشاهده خواهند بود و به نظر میرسد هر دو قابل ویرایش هستند، اما در عمل ویرایش هر یک از نسخهها در پشت صحنه فقط منجر به ویرایش نسخهٔ NFD خواهد شد. |
| --vfs-block-norm-dupes با شناسایی این سناریو، پنهان کردن موارد تکراری و ثبت خطا در گزارش، از این سردرگمی جلوگیری میکند؛ مشابه همان رفتاری که در rclone sync پیاده شده است..SS گزینههای دیسک VFS |
| این پرچم به شما اجازه میدهد آمار مربوط به سیستم فایل را به صورت دستی |
| تنظیم کنید. |
| این قابلیت زمانی که آمار مذکور به صورت خودکار به درستی قابل خواندن نیستند، |
| میتواند مفید باشد. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای استفادهشده |
| برخی backendها، به ویژه S3، میزان بایتهای استفادهشده را گزارش نمیکنند. |
| اگر نیاز دارید این اطلاعات هنگام اجرای df روی سیستم فایل |
| در دسترس باشد، پرچم --vfs-used-is-size را به rclone پاس دهید. |
| با تنظیم این پرچم، rclone به جای اتکا به backend برای گزارش این اطلاعات، |
| کل ریموت را مشابه با rclone size پویش کرده و کل فضای استفادهشده |
| را خودش محاسبه میکند. |
| هشدار: بر خلاف rclone size، این پرچم فیلترها را |
| نادیده میگیرد تا نتیجه دقیق باشد. |
| با این وجود، این روش بسیار ناکارآمد است و ممکن است باعث فراخوانیهای فراوان |
| API و در نتیجه هزینههای اضافی شود. |
| از آن تنها به عنوان آخرین راهکار و فقط به همراه حافظه موقت (caching) استفاده کنید. |
| فراداده VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید VFS |
| را وادار کنید فایلهایی را که حاوی فراداده |
| (https://rclone.org/docs/#metadata) هستند به صورت داده JSON ارائه دهد. |
| این فایلها در فهرست دایرکتوری ظاهر نمیشوند، اما میتوان روی آنها |
| stat اجرا کرد و آنها را باز نمود، و به محض باز شدن، تا زمان |
| انقضای حافظه موقت دایرکتوری در فهرست دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی backendها فراداده ایجاد نمیکنند مگر اینکه پرچم |
| --metadata را به آنها پاس دهید. |
| به عنوان مثال، با استفاده از rclone mount به همراه |
| --metadata --vfs-metadata-extension .metadata خواهیم داشت: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد هرگونه فراداده باشد، به صورت {} برگردانده میشود و اگر |
| در خواندن فراداده خطایی رخ دهد، خطا به صورت |
| {"error":"error string"} برگردانده خواهد شد. |
| rclone serve dlna remote:path [flags] |
| گزینهها (OPTIONS) |
| --addr string آدرس ip:port یا :port برای مقید کردن سرور DLNA http به آن (پیشفرض ":7879") |
| --announce-interval Duration بازه زمانی بین اعلانات SSDP (پیشفرض 12m0s) |
| --dir-cache-time Duration مدت زمان نگهداری ورودیهای دایرکتوری در حافظه موقت (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سیستم فایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای dlna |
| --interface stringArray رابط مورد استفاده برای SSDP (در صورت لزوم تکرار شود) |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --log-trace فعالسازی ثبت وقایع ردگیری (trace) ترافیک SOAP |
| --name string نام سرور DLNA |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند به کارها سرعت بخشد) |
| --no-seek عدم اجازه پرش (seeking) در فایلها |
| --poll-interval Duration زمان انتظار بین بررسی دورهای برای تغییرات، باید از dir-cache-time کمتر باشد و تنها روی ریموتهای پشتیبانیشده (تنظیم روی 0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --read-only تنها اجازه دسترسی فقطخواندنی داده شود |
| --uid uint32 بازنویسی فیلد uid تنظیمشده توسط سیستم فایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تعیینشده توسط سیستم فایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) |
| --vfs-block-norm-dupes در صورت وجود نامهای فایل تکراری در همان دایرکتوری (پس از نرمالسازی)، ثبت خطا و پنهان کردن موارد تکراری (ممکن است هزینه کارایی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء در حافظه موقت (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء در حافظه موقت (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix هدف حداقل فضای خالی روی دیسک حاوی حافظه موقت (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازه زمانی بررسی حافظه موقت برای اشیاء بیاستفاده (پیشفرض 1m0s) |
| --vfs-case-insensitive اگر نام فایل یافت نشد، جستجوی تطابق غیرحساس به بزرگی و کوچکی حروف |
| --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثر انگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدت زمان زنده نگهداشتن دستگیره فایل و دانلودکنندهها پس از آخرین بستهشدن (پیشفرض 5s) |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن فراداده از آن |
| --vfs-read-ahead SizeSuffix پیشخوانی مازاد بر --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ در تکهها (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix در صورت بزرگتر بودن از --vfs-read-chunk-size، دو برابر کردن اندازه تکه پس از هر بار خواندن، تا زمان رسیدن به حد ('off' به معنای نامحدود) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration مدت زمان انتظار برای خواندن ترتیبی پیش از پرش (پیشفرض 20ms) |
| --vfs-refresh بازنشانی بازگشتی حافظه موقت دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای محاسبه اندازه استفادهشده (Used) |
| --vfs-write-back Duration زمان نوشتن مجدد فایلها پس از آخرین استفاده هنگام استفاده از کش (پیشفرض 5s) |
| --vfs-write-wait Duration مدت زمان انتظار برای نوشتن ترتیبی پیش از نمایش خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای عمومی |
| (https://rclone.org/flags) را ببینید..SS "گزینههای فیلتر (Filter Options)" |
| پرچمهایی برای فیلتر کردن فهرست دایرکتوریها |
| --delete-excluded حذف فایلهای مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل بدون هیچگونه پردازش خطوط (برای خواندن از stdin از - استفاده کنید) |
| --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از یک فایل با استفاده از NUL به عنوان جداکننده (برای خواندن از stdin از - استفاده کنید) |
| -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --hash-filter string افرازبندی نام فایلها بر اساس هش k/n یا به صورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به حروف بزرگ و کوچک) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار به ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار به ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار به KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - سرویسدهی یک ریموت بر بستر یک پروتکل. |
| "rclone serve docker" |
| ارائه هر ریموت بر بستر API پلاگین volume داکر. |
| "خلاصه دستور (SYNOPSIS)" |
| این دستور API پلاگین volume داکر را پیادهسازی میکند و به docker اجازه میدهد از rclone به عنوان یک سازوکار ذخیرهسازی داده برای ارائهدهندگان ابری مختلف استفاده کند. rclone یک پلاگین volume داکر بر پایه آن ارائه میدهد. |
| برای ایجاد یک پلاگین docker، باید یک سوکت Unix یا TCP ایجاد شود که داکر هنگام استفاده از پلاگین به دنبال آن بگردد، و سپس این سوکت به دستورات ارسالی از دیمن docker گوش فرا داده و در صورت نیاز کد مربوطه را اجرا کند. |
| پلاگینهای داکر میتوانند به عنوان یک پلاگین مدیریتشده تحت کنترل دیمن docker یا به عنوان یک سرویس مستقل بومی (native) اجرا شوند. |
| برای آزمایش، میتوانید آن را به سادگی و مستقیماً از خط فرمان اجرا کنید، به عنوان مثال: |
| sudo rclone serve docker --base-dir /tmp/rclone-volumes --socket-addr localhost:8787 -vv |
| اجرای rclone serve docker سوکت مذکور را ایجاد کرده و برای ساخت Volumeهای لازم، به دستورات داکر گوش میدهد. |
| بهطور معمول نیازی به تعیین پرچم --socket-addr ندارید. |
| این API روی سوکت دامنه یونیکس در /run/docker/plugins/rclone.sock شنود خواهد کرد. |
| در مثال بالا rclone یک سوکت TCP و یک فایل کوچک حاوی نشانی سوکت در /etc/docker/plugins/rclone.spec ایجاد میکند. |
| ما از sudo استفاده میکنیم زیرا هر دو مسیر تنها توسط کاربر ریشه (root) قابل نوشتن هستند. |
| اگر بعداً تصمیم گرفتید سوکت شنود را تغییر دهید، دیمن docker باید مجدداً راهاندازی شود تا دوباره به /run/docker/plugins/rclone.sock متصل شده یا فایل جدید /etc/docker/plugins/rclone.spec را بازخوانی و پردازش کند. |
| تا زمان راهاندازی مجدد، تمام دستورات داکرِ مرتبط با volume در تلاش برای دسترسی به سوکت قبلی با اتمام مهلت زمانی (timeout) مواجه خواهند شد. |
| اجرای مستقیم تنها در لینوکس پشتیبانی میشود و در ویندوز یا MacOS پشتیبانی نمیشود. |
| این موضوع در حالت پلاگین مدیریتشده که با جزئیات کامل در مستندات (https://rclone.org/docker) توضیح داده شده است، مشکلی نخواهد بود. |
| این دستور، اتصالات volume را در مسیر مشخصشده توسط --base-dir (بهطور پیشفرض /var/lib/docker-volumes/rclone که تنها برای ریشه در دسترس است) ایجاد کرده و فایل با قالب JSON به نام docker-plugin.state را در دایرکتوری حافظه پنهان (cache) نرمافزار rclone با ثبت سوابق volumeهای ایجادشده و متصلشده نگهداری میکند. |
| تمامی گزینههای mount و VFS توسط دیمن docker از طریق API ارسال میشوند، اما شما همچنین میتوانید مقادیر پیشفرض را در خط فرمان مشخص کرده و مسیر فایل پیکربندی و دایرکتوری حافظه پنهان (cache) را تنظیم کنید یا میزان جزئیات گزارشگیری (logging verbosity) را تغییر دهید..SH "راهاندازی مجدد یا ارتقای افزونه (RESTARTING OR UPGRADING THE PLUGIN)" |
| هنگامی که افزونه راهاندازی مجدد میشود (برای نمونه با |
| docker plugin disable rclone && docker plugin enable rclone، |
| هنگام ارتقای افزونه، یا زمانی که میزبان بازراهاندازی میشود)، rclone پروندهٔ |
| docker-plugin.state خود را میخواند و حجمها و اتصالات (mounts) |
| پیشتر فعال را بازیابی میکند. |
| افزونه بلافاصله ارائهٔ سوکت خود را آغاز کرده و اتصالات را در پسزمینه برقرار میسازد؛ |
| بدین ترتیب، یک ریموت کُند یا غیرقابل دسترس مانع بالا آمدن دوبارهٔ افزونه نمیشود. |
| با این حال، راهاندازی مجدد افزونه ناگزیر فرآیندی را که ارائهدهندهٔ اتصالات FUSE است، |
| متوقف کرده و مجدداً راهاندازی میکند. |
| هر ظرفی (container) که از قبل در حال اجراست و پروندههایی را روی یک حجم |
| rclone باز نگه داشته است، یک ارجاع (handle) به اتصال قدیمی و اکنون از کار افتاده را |
| حفظ میکند؛ بنابراین، این ارجاعها تا زمان راهاندازی مجدد ظرف، خطای |
| transport endpoint is not connected |
| برمیگردانند. |
| این موضوع یک محدودیت ناشی از جایگزینی فرآیند پشت یک اتصال FUSE زنده است و rclone |
| نمیتواند از آن جلوگیری کند - خود افزونه بازیابی میشود و ظرفهای تازه راهاندازیشده |
| بهطور عادی کار میکنند، اما: |
| • 2 |
| هر ظرفی را که از حجمهای rclone استفاده میکرد راهاندازی مجدد کنید |
| پس از آنکه افزونه را راهاندازی مجدد یا ارتقا دادید (مانند |
| docker restart <container>)، |
| یا پیش از آن متوقف کرده و پس از آن راهاندازی نمایید. |
| • 2 |
| پایگاههای داده و سایر برنامههایی که پروندهها را پیوسته باز نگه میدارند |
| (Grafana، Prometheus، برنامههای مبتنی بر SQLite و غیره) |
| بیشترین تأثیر را میپذیرند و همیشه باید راهاندازی مجدد شوند. |
| "امنیت (SECURITY)" |
| رابط برنامهنویسی (API) افزونه یک گزینهٔ remote (یا همان fs) |
| را هنگام ایجاد حجم میپذیرد و این گزینه دقیقاً مانند یک رشته اتصال rclone تجزیه میشود. |
| رشتههای اتصال، پیکربندی مورد اعتماد محسوب میشوند: آنها ممکن است شامل گزینههای |
| درونخطی backend باشند، و برخی از backendها از این گزینهها برای اجرای دستورات |
| محلی استفاده میکنند (برای نمونه، گزینهٔ ssh در backend مربوط به |
| sftp یک باینری خارجی را اجرا میکند). |
| بنابراین، هرکسی که بتواند درخواستهایی را به سوکت افزونه ارسال کند، میتواند rclone |
| را وادار کند تا دستورات دلخواهی را با دسترسی کاربری که |
| rclone serve docker |
| را اجرا میکند (معمولاً root) به اجرا درآورد. |
| دسترسی به سوکت را معادل آن سطح از دسترسی در نظر بگیرید و آن را تنها در اختیار |
| فراخوانهای مورد اعتماد قرار دهید. |
| هنگام شنود روی سوکت پیشفرض unix در |
| /run/docker/plugins/rclone.sock، |
| rclone آن را با حالت 0660 به مالکیت root و گروه تعیینشده با |
| --socket-gid (بهطور پیشفرض GID همان فرآیند) میسازد؛ |
| بنابراین تنها root و اعضای آن گروه - که معمولاً فقط دیمن docker است - میتوانند به آن |
| دسترسی داشته باشند. این مجوزها را سهلگیرانهتر نکنید و این گروه را به کاربران |
| غیرقابل اعتماد اختصاص ندهید. |
| هنگام استفاده از --socket-addr برای شنود روی سوکت TCP هیچ احراز هویتی |
| وجود ندارد و API برای هرکسی که بتواند پورت را باز کند در دسترس است؛ بنابراین آن را |
| به یک نشانی loopback یا در غیر این صورت نشانی مورد اعتماد مقید (bind) کنید و با |
| دیوار آتش (firewall) از آن محافظت نمایید. |
| توجه داشته باشید که داشتن دسترسی به دیمن Docker از پیش معادل دسترسی root روی |
| میزبان است، بنابراین فراخوانی که قادر به اجرای docker volume create باشد |
| امتیاز جدیدی از این طریق به دست نمیآورد؛ نگرانی اصلی، در دسترس قرار دادن سوکت |
| بهصورتی گستردهتر از خود دیمن است. |
| "سامانه پرونده مجازی (VFS - Virtual File System)" |
| این دستور از لایهٔ VFS استفاده میکند. |
| این لایه، اشیاء ذخیرهسازی ابری مورد استفادهٔ rclone را به چیزی تبدیل میکند که بسیار |
| بیشتر شبیه به یک سامانه پرونده دیسک است. |
| اشیاء ذخیرهسازی ابری ویژگیهای متعددی دارند که مانند پروندههای دیسک نیستند - |
| نمیتوانید اندازهٔ آنها را افزایش دهید یا در میانهشان بنویسید، بنابراین لایهٔ VFS |
| باید با این مسائل سر و کار داشته باشد. |
| از آنجا که هیچ راه واحد درستی برای انجام این کار وجود ندارد، گزینههای مختلفی وجود دارند |
| که در ادامه توضیح داده شدهاند. |
| لایهٔ VFS همچنین یک حافظه پنهان دایرکتوری (directory cache) را پیادهسازی میکند - |
| این قابلیت اطلاعات مربوط به پروندهها و دایرکتوریها (اما نه خود دادهها) را در |
| حافظه ذخیره میکند. |
| "حافظه پنهان دایرکتوری VFS (VFS Directory Cache)" |
| با استفاده از پرچم --dir-cache-time، میتوانید مشخص کنید که یک |
| دایرکتوری تا چه مدت بهروز در نظر گرفته شود و از سمت backend بازخوانی نشود. |
| تغییرات اعمالشده از طریق VFS بلافاصله نمایان میشوند یا حافظه پنهان را باطل میکنند. |
| --dir-cache-time duration Time to cache directory entries for (default 5m0s) |
| --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) |
| با این حال، در صورتی که backend پیکربندیشده از نظرسنجی تغییرات (polling) |
| پشتیبانی نکند، تغییراتی که مستقیماً روی ذخیرهسازی ابری از طریق رابط وب یا نسخهٔ دیگری |
| از rclone اعمال شوند، تنها پس از منقضی شدن حافظه پنهان دایرکتوری شناسایی خواهند شد. |
| اگر backend از polling پشتیبانی کند، تغییرات در بازهٔ زمانی polling دریافت میشوند. |
| میتوانید یک سیگنال SIGHUP به rclone بفرستید تا صرفنظر از قدمت، تمام |
| حافظههای پنهان دایرکتوری را پاکسازی (flush) کند. |
| با فرض اینکه تنها یک نمونه از rclone در حال اجرا است، میتوانید حافظه پنهان را به این |
| صورت بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را با کنترل از راه دور (remote control) پیکربندی کنید، میتوانید از |
| rclone rc برای تخلیهٔ کل حافظه پنهان دایرکتوری استفاده کنید: |
| rclone rc vfs/forget |
| یا برای پروندهها یا دایرکتوریهای مشخص: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| پرچم --buffer-size مقدار حافظهای را تعیین میکند که |
| برای بافر کردن دادهها از قبل (پیشبافر) استفاده خواهد شد. |
| هر فایلِ باز تلاش خواهد کرد تا مقدار مشخصشده داده را همواره در |
| حافظه نگه دارد. |
| دادههای بافرشده به یک فایل باز اختصاص داشته و به اشتراک گذاشته |
| نخواهند شد. |
| این پرچم یک حد بالا برای حافظه مصرفی به ازای هر فایل باز است. |
| بافر تنها برای دادههایی از حافظه استفاده خواهد کرد که دانلود شده |
| اما هنوز خوانده نشدهاند. |
| اگر بافر خالی باشد، تنها مقدار اندکی از حافظه مصرف خواهد شد. |
| حداکثر حافظه استفادهشده توسط rclone برای بافرسازی میتواند تا |
| --buffer-size * open files باشد. |
| کشکردن فایل در VFS (VFS File Caching) |
| این پرچمها گزینههای کشکردن فایل VFS را کنترل میکنند. |
| کشکردن فایل برای سازگار نشان دادن لایه VFS با یک سیستمفایل عادی |
| ضروری است. |
| میتوان آن را به بهای از دست رفتن بخشی از سازگاری غیرفعال کرد. |
| برای نمونه، اگر بخواهید بهطور همزمان از یک فایل بخوانید و در آن |
| بنویسید، باید کش VFS را فعال کنید. |
| برای جزئیات بیشتر به بخش زیر مراجعه کنید. |
| توجه داشته باشید که کش VFS از backend کش مجزا است و ممکن است |
| ببینید که به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string Directory rclone will use for caching. |
| --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) |
| --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) |
| --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) |
| --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) |
| --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) |
| --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) |
| اگر rclone با -vv اجرا شود، مکان کش فایل را چاپ خواهد کرد. |
| فایلها در ناحیه فایلهای کش کاربر ذخیره میشوند که وابسته به سیستمعامل |
| است، اما میتوان آن را با --cache-dir یا تنظیم متغیر |
| محیطی مناسب کنترل کرد. |
| کش دارای ۴ حالت مختلف است که توسط --vfs-cache-mode |
| انتخاب میشوند. |
| هرچه حالت کش بالاتر باشد، rclone به قیمت مصرف فضای دیسک سازگارتر |
| میشود. |
| توجه داشته باشید که فایلها تنها زمانی به ریموت بازنویسی (write back) |
| میشوند که بسته شده باشند و به مدت --vfs-write-back |
| ثانیه دسترسی به آنها انجام نشده باشد. |
| اگر rclone با فایلهایی که هنوز بارگذاری نشدهاند متوقف یا بسته شود، |
| این فایلها در دفعه بعدی که rclone با همان پرچمها اجرا گردد، |
| بارگذاری خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space توجه داشته باشید که کش ممکن |
| است به دو دلیل از این سهمیهها فراتر رود. |
| نخست به این دلیل که فقط در هر --vfs-cache-poll-interval |
| بررسی میشود. |
| دوم به این دلیل که فایلهای باز را نمیتوان از کش بیرون انداخت (evict کرد). |
| هنگامی که حجم از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space فراتر رود، rclone تلاش خواهد |
| کرد تا ابتدا فایلهایی با کمترین دسترسی را از کش خارج کند. |
| rclone با فایلهایی آغاز خواهد کرد که برای طولانیترین زمان دسترسی |
| نداشتهاند. |
| این راهبرد تخلیه کش کارآمد است و احتمال اینکه فایلهای مرتبطتر در کش |
| باقی بمانند بیشتر است. |
| گزینه --vfs-cache-max-age فایلها را پس از گذشت زمان |
| تعیینشده از آخرین دسترسی، از کش بیرون خواهد انداخت؛ این بر اساس |
| زمان دسترسی است، نه بر مبنای زمانی که فایل برای نخستینبار به کش |
| اضافه شده است. |
| مقدار پیشفرض ۱ ساعت، شروع به حذف فایلهایی از کش خواهد کرد که |
| به مدت ۱ ساعت دسترسی نداشتهاند. |
| هنگامی که به یک فایل کششده دسترسی پیدا شود، زمانسنج ۱ ساعته به ۰ |
| بازنشانی میشود و قبل از بیرون انداختن، ۱ ساعت دیگر منتظر میماند. |
| زمان را با نمادگذاری استاندارد s، m، h، d، w مشخص کنید. |
| اگر از --vfs-cache-mode > off استفاده میکنید، |
| نباید دو نسخه از rclone را با استفاده از کش VFS یکسان |
| همراه با ریموتهای یکسان یا همپوشان اجرا کنید. |
| این کار در صورت انجام میتواند بالقوه موجب آسیب دیدن دادهها شود. |
| میتوانید با اختصاص دادن سلسلهمراتب کش مخصوص به هر rclone از |
| طریق --cache-dir این مشکل را برطرف کنید. |
| اگر ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این |
| باره نیست..SS --vfs-cache-mode off |
| در این حالت (حالت پیشفرض)، کش مستقیماً از ریموت میخواند و بدون کش کردن هیچ دادهای روی دیسک، مستقیماً روی ریموت مینویسد. |
| این بدان معناست که برخی عملیات امکانپذیر نخواهند بود: |
| • 2 |
| فایلها را نمیتوان همزمان برای هر دو حالت خواندن و نوشتن (read و write) باز کرد |
| • 2 |
| در فایلهای باز شده برای نوشتن نمیتوان تغییر مکان (seek) انجام داد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC برای آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده برای خواندن با O_TRUNC، بهصورت فقطنوشتنی باز خواهند شد |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی بهگونهای رفتار میکنند که گویی O_TRUNC مشخص شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد برای آن وجود ندارد |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، بهجز اینکه فایلهای باز شده برای خواندن و نوشتن روی دیسک بافر خواهند شد. |
| این بدان معناست که فایلهای باز شده برای نوشتن بسیار سازگارتر خواهند بود، در حالی که کمترین فضای دیسک مصرف میشود. |
| این عملیات امکانپذیر نیستند: |
| • 2 |
| در فایلهای باز شده بهصورت فقطنوشتنی نمیتوان تغییر مکان (seek) انجام داد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC برای آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی، O_APPEND و O_TRUNC را نادیده میگیرند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد برای آن وجود ندارد |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده بهصورت فقطخواندنی همچنان مستقیماً از ریموت خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمام عملیات معمول سیستم فایل پشتیبانی کند. |
| اگر یک بارگذاری با شکست مواجه شود، تلاش مجدد در فواصل زمانی با افزایش نمایی تا سقف ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت، تمام عملیات خواندن و نوشتن از دیسک و به دیسک بافر میشوند. |
| هنگامی که دادهها از ریموت خوانده میشوند، روی دیسک نیز بافر خواهند شد. |
| در این حالت، فایلهای موجود در کش بهصورت sparse files (فایلهای پراکنده) خواهند بود و rclone پیگیری میکند که کدام بخشهای فایل بارگیری شدهاند. |
| بنابراین اگر برنامهای تنها ابتدای هر فایل را بخواند، rclone فقط ابتدای فایل را بافر میکند. |
| این فایلها در کش با اندازه کامل خود نمایش داده میشوند، اما فایلهای پراکندهای (sparse files) هستند که تنها دادههای بارگیریشده در آنها وجود دارد. |
| این حالت باید از تمام عملیات معمول سیستم فایل پشتیبانی کند و در سایر موارد همارز با --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازه --buffer-size بهعلاوه --vfs-read-ahead بایت جلوتر را میخواند. |
| مقدار --buffer-size در حافظه بافر میشود، در حالی که --vfs-read-ahead روی دیسک بافر میگردد. |
| هنگام استفاده از این حالت، توصیه میشود که --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز، --vfs-read-ahead مقدار بزرگی داشته باشد. |
| مهم: همه سیستمهای فایل از فایلهای پراکنده (sparse files) پشتیبانی نمیکنند؛ |
| بهویژه FAT/exFAT پشتیبانی نمیکنند. |
| اگر دایرکتوری کش روی سیستم فایلی باشد که از فایلهای پراکنده پشتیبانی نمیکند، rclone عملکرد بسیار ضعیفی خواهد داشت و در صورت تشخیص، یک پیام ERROR ثبت خواهد کرد. |
| اثرانگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از اثرانگشتنگاری (fingerprinting) استفاده میکنند تا بررسی کنند آیا نسخه محلی فایل نسبت به فایل ریموت تغییر کرده است یا خیر. |
| اثرانگشتها از موارد زیر تشکیل میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان تغییر (modification time) |
| • 2 |
| هش (hash) |
| در صورتی که روی یک شیء موجود باشند. |
| در برخی از backendها، خواندن بعضی از این مشخصهها کند است (نیازمند یک فراخوانی API اضافی یا پردازش بیشتر به ازای هر شیء هستند). |
| برای نمونه، hash با backendهای local و sftp کند است زیرا آنها باید کل فایل را بخوانند و هش آن را محاسبه کنند، و modtime با backendهای s3، swift، ftp و qinqstor کند است زیرا برای واکشی آن نیاز به انجام یک فراخوانی API اضافی دارند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیات کند را در اثرانگشت لحاظ نخواهد کرد. |
| این کار دقت اثرانگشتنگاری را کاهش میدهد اما سرعت آن را بسیار بالا میبرد و زمان باز شدن فایلهای کششده را بهبود میبخشد. |
| اگر یک کش vfs را روی backendهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که اگر مقدار این پرچم را تغییر دهید، اثرانگشت فایلهای موجود در کش ممکن است باطل شود و نیاز به بارگیری دوباره فایلها باشد..SS خواندن تکهای VFS |
| هنگامی که rclone پروندهها را از یک ریموت میخواند، آنها را به صورت تکهای (chunk) دریافت میکند. |
| این بدان معناست که rclone به جای درخواست کل پرونده، تنها تکهٔ مشخصشده را میخواند. |
| این قابلیت میتواند با درخواست دادن تنها بخشهایی از پرونده که واقعاً خوانده میشوند، سهمیهٔ بارگیری مصرفشده را در برخی ریموتها کاهش دهد؛ البته به بهای افزایش تعداد کل درخواستها. |
| این پرچمها رفتار تکهتکه کردن (chunking) را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix بیشینهٔ اندازهٔ دو برابر شدن تکه (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تکهتکه کردن بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| rclone خواندن را با تکهای به اندازهٔ |
| --vfs-read-chunk-size آغاز میکند و سپس برای هر بار خواندن، این اندازه را دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر از |
| --vfs-read-chunk-size باشد، اندازهٔ تکه برای هر پروندهٔ باز تنها تا زمانی دو برابر میشود که به مقدار مشخصشده برسد. |
| اگر مقدار برابر با "off" باشد (که پیشفرض است)، این محدودیت غیرفعال است و اندازهٔ تکه بدون محدودیت افزایش خواهد یافت. |
| با تنظیم --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0، بخشهای زیر بارگیری خواهند شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و به همین ترتیب. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه به صورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و الی آخر خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| قابلیت خواندن تکهای را غیرفعال میکند. |
| تکهها در حافظه میانگیر (buffer) نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| rclone به تعداد --vfs-read-chunk-streams تکه با اندازهٔ |
| --vfs-read-chunk-size را به طور همزمان میخواند. |
| اندازهٔ هر بخش خوانش ثابت باقی خواهد ماند. |
| این قابلیت کارایی را در پیوندهای با تأخیر (latency) بالا یا پیوندهای با پهنای باند بسیار بالا به فضاهای ذخیرهسازی ابری پرسرعت (object stores) به شدت افزایش میدهد. |
| برای یافتن مقادیر بهینهٔ |
| --vfs-read-chunk-size و --vfs-read-chunk-streams |
| کمی آزمایش لازم خواهد بود، چرا که این مقادیر به backend مورد استفاده و میزان تأخیر ارتباط با آن بستگی دارند. |
| برای فضاهای ذخیرهسازی ابری با کارایی بالا (مانند AWS S3)، یک نقطهٔ شروع منطقی میتواند |
| --vfs-read-chunk-streams 16 و |
| --vfs-read-chunk-size 4M باشد. |
| در آزمایشهای انجامشده با AWS S3، میزان کارایی تقریباً متناسب با مقدار |
| --vfs-read-chunk-streams مقیاسپذیر بوده است. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز به خوبی عمل کند، اما بسته به میزان تأخیر، ممکن است برای دستیابی به توان عملیاتی (throughput) مطلوب به مقادیر بالاتری از --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS |
| این پرچمها ممکن است برای فعال یا غیرفعال کردن ویژگیهای VFS به دلایل کارایی یا موارد دیگر استفاده شوند. |
| همچنین ویژگی خواندن تکهای را ببینید. |
| بهویژه S3 و Swift سود بسیار زیادی از پرچم |
| --no-modtime میبرند (یا میتوانید برای تأثیری کمی متفاوت از --use-server-modtime استفاده کنید)، زیرا هر بار خواندن زمان ویرایش نیازمند یک تراکنش است. |
| --no-checksum عدم مقایسهٔ مجموع مقابلهای (checksum) هنگام بارگذاری/بارگیری. |
| --no-modtime عدم خواندن/نوشتن زمان ویرایش (میتواند سرعت را افزایش دهد). |
| --no-seek عدم اجازه برای جستوجو و جابهجایی اشارهگر (seek) در پروندهها. |
| --read-only تنها اجازهٔ دسترسی فقطخواندنی. |
| گاهی اوقات درخواستهای خواندن یا نوشتن خارج از ترتیب به rclone تحویل داده میشوند. |
| rclone به جای جابهجایی اشارهگر (seeking)، مدت کوتاهی منتظر میماند تا درخواست خواندن یا نوشتن متوالی از راه برسد. |
| این پرچمها تنها در صورتی اعمال میشوند که از پروندهٔ حافظهٔ پنهان (cache) روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت زمان انتظار برای خواندن متوالی پیش از seek (پیشفرض 20ms) |
| --vfs-write-wait duration مدت زمان انتظار برای نوشتن متوالی پیش از اعلام خطا (پیشفرض 1s) |
| هنگام استفاده از حافظهٔ پنهان نوشتن VFS (--vfs-cache-mode با مقدار |
| writes یا full)، پرچم سراسری --transfers میتواند برای تنظیم تعداد بارگذاریهای موازی پروندههای تغییریافته از حافظهٔ پنهان تنظیم شود (پرچم سراسری مرتبط --checkers تأثیری روی VFS ندارد). |
| --transfers int تعداد انتقالهای همزمان پروندهها (پیشفرض 4) |
| بهطور پیشفرض VFS از پیوندهای نمادین (symlinks) پشتیبانی نمیکند. |
| با این حال، این قابلیت را میتوان با هر یک از پرچمهای زیر فعال کرد: |
| --links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل عادی با یک پسوند ویژه ذخیره میکند. |
| بنابراین، فایلی که بهصورت پیوند نمادین link-to-file.txt دیده میشود، در فضای ذخیرهسازی ابری با نام link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links تبدیل پیوند نمادین را بهصورت سراسری در rclone فعال میکند - این شامل هر backend که از این مفهوم پشتیبانی کند (برای نمونه backend محلی) میشود. |
| پرچم --vfs-links آن را فقط برای لایهٔ VFS فعال میکند. |
| این طرح با ساختار مورد استفاده توسط backend محلی با پرچم --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است. |
| این پرچم هنوز با سایر دستورهای rclone serve آزمایش نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده، پیوندهای نمادین زیرمجموعه (sub-symlinks) را حل کند. |
| برای نمونه، با در نظر گرفتن این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| سامانهٔ VFS نام linked-dir را بهدرستی حل میکند، اما linked-dir/file.txt را خیر. |
| این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند، اما ممکن است برای سایر دستورها مشکلساز باشد. |
| توجه داشته باشید که یک مشکل باز در پشتیبانی از پیوندهای نمادین در گزارش شمارهٔ ۸۲۴۵ (https://github.com/rclone/rclone/issues/8245) وجود دارد که مربوط به ایجاد فایلهای تکراری هنگام انتقال پیوندهای نمادین به دایرکتوریهایی با فایلی همنام است (یا برعکس). |
| حساسیت VFS به کوچک و بزرگی حروف (VFS Case Sensitivity) |
| سامانههای پروندهٔ لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً همان حالت حروف استفاده شود. |
| سامانههای پرونده در ویندوزهای امروزی به بزرگی و کوچکی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-preserving): اگرچه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروف استفادهشده هنگام ساخت فایل حفظ شده و در دسترس برنامهها قرار میگیرد. |
| وجود دو فایل در یک دایرکتوری یکسان که تفاوت آنها تنها در بزرگی و کوچکی حروف باشد مجاز نیست. |
| سامانههای پرونده در macOS معمولاً به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن سامانههای پروندهٔ macOS به بزرگی و کوچکی حروف وجود دارد، اما این وضعیت پیشفرض نیست. |
| پرچم --vfs-case-insensitive در VFS چگونگی مدیریت این دو حالت را توسط rclone کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نام فایلها را همانگونه که هستند به remote ارسال میکند. |
| اگر پرچم "true" باشد (یا بدون مقدار در خط فرمان ظاهر شود)، rclone ممکن است همانطور که در ادامه توضیح داده شده، یک «اصلاح» (fixup) انجام دهد. |
| ممکن است کاربر برای باز کردن/حذف/تغییر نام و غیره، نام فایلی را با حالتی از حروف مشخص کند که با آنچه در remote ذخیره شده متفاوت است. |
| اگر آرگومانی به یک فایل موجود با نامی دقیقاً یکسان اشاره کند، حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با نام دقیقاً یکسان پیدا نشود اما نامی وجود داشته باشد که تنها در بزرگی و کوچکی حروف متفاوت است، rclone بهطور شفاف نام را اصلاح خواهد کرد. |
| این اصلاح تنها زمانی رخ میدهد که یک فایل موجود درخواست شده باشد. |
| حساسیت به بزرگی و کوچکی حروف برای نام فایلهایی که بهتازگی توسط rclone ایجاد میشوند، توسط remote زیربنایی کنترل میشود. |
| توجه داشته باشید که حساسیت سیستمعامل اجراکنندهٔ rclone (مقصد) به بزرگی و کوچکی حروف ممکن است با حساسیت سامانهٔ پروندهٔ ارائهشده توسط rclone (مبدأ) متفاوت باشد. |
| این پرچم تعیین میکند که آیا «اصلاح» برای برآورده کردن نیازهای مقصد انجام شود یا خیر. |
| اگر این پرچم در خط فرمان ارائه نشود، مقدار پیشفرض آن به سیستمعاملی که rclone در آن اجرا میشود بستگی دارد: در Windows و macOS مقدار "true"، و در غیر این صورت "false". |
| اگر پرچم بدون مقدار ارائه شود، مقدار آن "true" خواهد بود. |
| پرچم --no-unicode-normalization تعیین میکند که آیا «اصلاح» مشابهی برای نامفایلهایی که از نظر یونیکد متفاوت ولی از نظر رسمی همارز هستند (https://en.wikipedia.org/wiki/Unicode_equivalence) انجام شود یا خیر. |
| عادیسازی یونیکد (Unicode normalization) میتواند بهویژه برای کاربران macOS مفید باشد؛ سیستمعاملی که فرم NFD را به فرم NFC مورد استفاده در بیشتر بسترهای دیگر ترجیح میدهد. |
| بنابراین برای جلوگیری از مشکلات سازگاری کدگذاری، اکیداً توصیه میشود که در macOS مقدار پیشفرض false دستنخورده باقی بماند. |
| در صورت رخ دادن رویدادی (احتمالاً نادر) که در آن یک دایرکتوری پس از اعمال عادیسازی حروف و یونیکد دارای چندین نامفایل تکراری باشد، پرچم --vfs-block-norm-dupes اجازهٔ پنهان کردن این موارد تکراری را میدهد. |
| این کار با بهایی از نظر کارایی همراه است، چرا که rclone هنگام فهرست کردن یک دایرکتوری باید تمام دایرکتوری را برای یافتن موارد تکراری پویش کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال باقی بماند. |
| با این حال، ممکن است کاربران macOS تمایل داشته باشند از آن استفاده کنند؛ زیرا در غیر این صورت، اگر یک دایرکتوری در ریموت شامل هر دو نسخهٔ NFC و NFD از یک نامفایل یکسان باشد، وضعیت عجیبی رخ خواهد داد: هر دو نسخه از فایل در mount قابل مشاهده خواهند بود و به نظر میرسد هر دو قابل ویرایش هستند، اما ویرایش هر کدام از نسخهها در اصل و در پشت صحنه تنها به ویرایش نسخهٔ NFD منجر خواهد شد. |
| پرچم --vfs-block-norm-dupes با شناسایی این سناریو، پنهان کردن موارد تکراری و ثبت خطا در گزارش (مشابه نحوهٔ مدیریت آن در rclone sync)، از این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS |
| این پرچم به شما امکان میدهد آمار مربوط به سیستم فایل را به صورت دستی |
| تنظیم کنید. |
| این گزینه زمانی مفید است که این آمار نتوانند به صورت خودکار و به درستی |
| خوانده شوند. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای استفادهشده |
| برخی از backendها، بهویژه S3، میزان بایتهای استفادهشده را گزارش نمیکنند. |
| اگر نیاز دارید این اطلاعات هنگام اجرای df روی سیستم فایل در |
| دسترس باشد، پرچم --vfs-used-is-size را به rclone پاس دهید. |
| با تنظیم این پرچم، rclone بهجای اتکا به backend برای گزارش این اطلاعات، |
| کل ریموت را مشابه با rclone size پویش کرده و کل فضای استفادهشده |
| را خودش محاسبه میکند. |
| هشدار: بر خلاف rclone size، این پرچم فیلترها را |
| نادیده میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است باعث فراخوانیهای متعدد |
| API شده و هزینههای اضافی در پی داشته باشد. |
| تنها به عنوان آخرین چاره و فقط همراه با کشکردن از آن استفاده کنید. |
| متادیتای VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید |
| VFS را وادار کنید تا فایلهایی را که حاوی |
| متادیتا (https://rclone.org/docs/#metadata) هستند به عنوان یک شیء JSON |
| ارائه دهد. |
| این فایلها در فهرست دایرکتوری ظاهر نخواهند شد، اما میتوان روی آنها |
| stat اجرا کرد و آنها را باز نمود، و پس از باز شدن، تا زمان |
| منقضی شدن حافظه موقت دایرکتوری در فهرستهای دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی از backendها متادیتا ایجاد نخواهند کرد مگر اینکه |
| پرچم --metadata را ارسال کنید. |
| برای مثال، با استفاده از rclone mount به همراه |
| --metadata --vfs-metadata-extension .metadata خواهیم داشت: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد متادیتا باشد، به صورت {} برگردانده میشود و در |
| صورت بروز خطا در خواندن متادیتا، خطا به شکل |
| {"error":"error string"} برگردانده خواهد شد. |
| rclone serve docker [flags] |
| گزینهها (OPTIONS) |
| --allow-idmap اجازه به اتصالهای id-mapped (فقط Linux 6.12+، mount2) |
| --allow-non-empty اجازه اتصال روی یک دایرکتوری غیرخالی (در ویندوز پشتیبانی نمیشود) |
| --allow-other اجازه دسترسی به سایر کاربران (در ویندوز پشتیبانی نمیشود) |
| --allow-root اجازه دسترسی به کاربر ریشه (در ویندوز پشتیبانی نمیشود) |
| --async-read استفاده از خواندن ناهمگام (در ویندوز پشتیبانی نمیشود) (پیشفرض true) |
| --attr-timeout Duration مدت زمانی که مشخصههای فایل/دایرکتوری کش میشوند (پیشفرض 1s) |
| --base-dir string دایرکتوری پایه برای حجمها (پیشفرض "/var/lib/docker-volumes/rclone") |
| --daemon اجرای اتصال در پسزمینه و خروج از فرآیند والد (چون خروجی پسزمینه نادیده گرفته میشود، از --log-file با --log-format=pid,... برای نظارت استفاده کنید) (در ویندوز پشتیبانی نمیشود) |
| --daemon-timeout Duration محدودیت زمانی برای پاسخ rclone به هسته (در ویندوز پشتیبانی نمیشود) (پیشفرض 0s) |
| --daemon-wait Duration زمان انتظار برای آمادهشدن اتصال از دیمن (حداکثر زمان در لینوکس، زمان انتظار ثابت در OSX/BSD) (در ویندوز پشتیبانی نمیشود) (پیشفرض 1m0s) |
| --debug-fuse اشکالزدایی بخشهای داخلی FUSE - نیازمند -v |
| --default-permissions وادار کردن هسته به اعمال کنترل دسترسی بر اساس حالت فایل (در ویندوز پشتیبانی نمیشود) |
| --devname string تنظیم نام دستگاه - پیشفرض remote:path است |
| --dir-cache-time Duration مدت زمان کش کردن مدخلهای دایرکتوری (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --direct-io استفاده از Direct IO، کش کردن دادهها را غیرفعال میکند |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --forget-state صرفنظر کردن از بازیابی وضعیت قبلی |
| --fuse-flag stringArray پرچمها یا آرگومانهایی که مستقیماً به libfuse/WinFsp ارسال میشوند (در صورت نیاز تکرار شود) |
| --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سیستم فایل (در ویندوز پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنما برای docker |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --max-read-ahead SizeSuffix تعداد بایتهایی که میتوان برای خواندن ترتیبی پیشواکشی کرد (در ویندوز پشتیبانی نمیشود) (پیشفرض 128Ki) |
| --mount-case-insensitive Tristate اعلام به سیستمعامل مبنی بر اینکه نقطه اتصال به حروف بزرگ و کوچک حساس نیست (true) یا حساس است (false) صرفنظر از backend (auto) (پیشفرض تنظیمنشده) |
| --network-mode اتصال به عنوان درایو شبکه ریموت، بهجای درایو دیسک ثابت (فقط در ویندوز پشتیبانی میشود) |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند کارها را سریعتر کند) |
| --no-seek عدم اجازه به پرش (seek) در فایلها |
| --no-spec عدم نوشتن فایل spec |
| --noappledouble نادیدهگرفتن فایلهای Apple Double (._) و .DS_Store (فقط در OSX پشتیبانی میشود) (پیشفرض true) |
| --noapplexattr نادیدهگرفتن همه مشخصههای توسعهیافته "com.apple.*" (فقط در OSX پشتیبانی میشود) |
| -o, --option stringArray گزینهای برای libfuse/WinFsp (در صورت نیاز تکرار شود) |
| --poll-interval Duration زمان انتظار بین بررسی دورهای برای تغییرات، باید از dir-cache-time کمتر باشد و فقط روی ریموتهای پشتیبانیشده (برای غیرفعالسازی 0 بگذارید) (پیشفرض 1m0s) |
| --read-only فقط اجازه دسترسی فقطخواندنی |
| --socket-addr string نشانی <host:port> یا مسیر مطلق (پیشفرض: /run/docker/plugins/rclone.sock) |
| --socket-gid int شناسه GID برای سوکت یونیکس (پیشفرض: GID فرآیند جاری) (پیشفرض 1000) |
| --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تنظیمشده توسط سیستم فایل (در ویندوز پشتیبانی نمیشود) (پیشفرض 002) |
| --vfs-block-norm-dupes اگر نامهای فایل تکراری در همان دایرکتوری (پس از یکسانسازی) وجود داشته باشد، ثبت خطا و پنهانسازی موارد تکراری (ممکن است هزینه کارایی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء در کش (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء موجود در کش (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک شامل کش (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration فاصله زمانی بررسی دورهای کش برای اشیاء بیاستفاده (پیشفرض 1m0s) |
| --vfs-case-insensitive اگر نام فایلی یافت نشد، تطابق غیرحساس به حروف بزرگ و کوچک پیدا شود |
| --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثر انگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدت زمان زنده نگهداشتن هندل فایل و بارگیریکنندهها پس از آخرین بستن (پیشفرض 5s) |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن متادیتا از آن |
| --vfs-read-ahead SizeSuffix پیشواکشی اضافی فراتر از --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء منبع به صورت تکهتکه (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix در صورت بزرگتر بودن از --vfs-read-chunk-size، دو برابر کردن اندازه تکه پس از خواندن هر تکه، تا زمانی که به حد مجاز برسد ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration زمان انتظار برای خواندن متوالی قبل از پرش (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی حافظه موقت دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای اندازه استفادهشده |
| --vfs-write-back Duration زمان بازنویسی فایلها پس از آخرین استفاده هنگام استفاده از حافظه موقت (پیشفرض 5s) |
| --vfs-write-wait Duration زمان انتظار برای نوشتن متوالی پیش از اعلام خطا (پیشفرض 1s) |
| --volname string تنظیم نام حجم (فقط در ویندوز و OSX پشتیبانی میشود) |
| --write-back-cache وادار کردن هسته به بافر کردن نوشتنها پیش از ارسال به rclone (بدون این، از کش writethrough استفاده میشود) (در ویندوز پشتیبانی نمیشود) |
| گزینههای مشترک با سایر دستورها در ادامه توضیح داده شدهاند. |
| برای مشاهده گزینههای سراسری که در اینجا فهرست نشدهاند، به صفحه پرچمهای |
| سراسری (https://rclone.org/flags) مراجعه کنید..SS "گزینههای فیلتر (Filter Options)" |
| پرچمها برای فیلتر کردن فهرست دایرکتوریها |
| --delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نامفایلهای مبدأ از فایل (استفاده از - برای خواندن از stdin) |
| --files-from-raw stringArray خواندن فهرست نامفایلهای مبدأ از فایل بدون هیچگونه پردازش خطوط (استفاده از - برای خواندن از stdin) |
| --files-from0 stringArray خواندن فهرست نامفایلهای مبدأ از فایل با جداکننده NUL (استفاده از - برای خواندن از stdin) |
| -f, --filter stringArray افزودن یک قاعده فیلتر فایل |
| --filter-from stringArray خواندن الگوهای فیلتر فایل از یک فایل (استفاده از - برای خواندن از stdin) |
| --hash-filter string افراز نام فایلها بر پایه هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به بزرگی و کوچکی) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) |
| --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض: غیرفعال) |
| --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض: غیرفعال) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) |
| --metadata-filter stringArray افزودن یک قاعده فیلتر متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر متاداده از یک فایل (استفاده از - برای خواندن از stdin) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) |
| --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض: غیرفعال) |
| --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض: غیرفعال) |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائه یک |
| ریموت بر بستر یک پروتکل. |
| rclone serve ftp |
| ارائه remote:path بر بستر FTP. |
| "خلاصه دستور (SYNOPSIS)" |
| اجرای یک سرور پایهای FTP برای ارائه یک ریموت بر بستر پروتکل FTP. |
| این سرور را میتوان با یک کلاینت FTP مشاهده کرد یا میتوانید یک ریموت از نوع |
| FTP برای خواندن و نوشتن روی آن ایجاد کنید. |
| "گزینههای سرور (Server options)" |
| از --addr برای مشخص کردن اینکه سرور باید روی چه آدرس IP و پورتی شنود کند |
| استفاده کنید؛ مانند: |
| --addr 1.2.3.4:8000 یا --addr :8080 برای شنود روی تمامی IPها. |
| بهطور پیشفرض سرور تنها روی localhost شنود میکند. |
| میتوانید از پورت :0 استفاده کنید تا سیستمعامل یک پورت دردسترس را انتخاب کند. |
| اگر --addr را برای شنود روی یک آدرس IP عمومی یا دردسترس در شبکه محلی (LAN) |
| تنظیم کنید، استفاده از احراز هویت توصیه میشود - برای اطلاعات بیشتر بخش بعدی را ببینید. |
| "احراز هویت (Authentication)" |
| بهطور پیشفرض، فایلها بدون نیاز به ورود ارائه خواهند شد. |
| میتوانید با پرچمهای --user و --pass یک نام کاربری و گذرواژه مشخص کنید. |
| "سامانه فایل مجازی (VFS - Virtual File System)" |
| این دستور از لایه VFS استفاده میکند. |
| این لایه، اشیاء فضای ذخیرهسازی ابری را که rclone استفاده میکند، به چیزی تبدیل |
| مینماید که شباهت بسیار بیشتری به یک سامانه فایل دیسکی دارد. |
| اشیاء فضای ذخیرهسازی ابری ویژگیهای بسیاری دارند که شبیه فایلهای دیسک |
| نیستند - نمیتوانید اندازه آنها را گسترش دهید یا در میانه آنها بنویسید؛ بنابراین |
| لایه VFS باید با این مسائل دستوپنجه نرم کند. |
| از آنجا که یک راه واحد و قطعی برای انجام این کار وجود ندارد، گزینههای گوناگونی |
| در ادامه توضیح داده شده است. |
| لایه VFS همچنین یک حافظه موقت (cache) برای دایرکتوریها پیادهسازی میکند - این |
| حافظه، اطلاعات مربوط به فایلها و دایرکتوریها (اما نه خود دادهها) را در حافظه اصلی ذخیره میکند. |
| "حافظه موقت دایرکتوری VFS (VFS Directory Cache)" |
| با استفاده از پرچم --dir-cache-time، میتوانید کنترل کنید که یک |
| دایرکتوری تا چه مدت بهروز در نظر گرفته شود و نیازی به بازخوانی مجدد آن از |
| backend نباشد. |
| تغییراتی که از طریق VFS ایجاد میشوند بلافاصله نمایان شده یا حافظه موقت را |
| نامعتبر میکنند. |
| --dir-cache-time duration مدت نگهداری مدخلهای دایرکتوری در حافظه موقت (پیشفرض 5m0s) |
| --poll-interval duration زمان انتظار بین بررسی تغییرات. باید کوچکتر از dir-cache-time باشد. فقط در ریموتهای پشتیبانیشده. برای غیرفعالسازی روی 0 بگذارید (پیشفرض 1m0s) |
| با این حال، تغییراتی که مستقیماً از طریق رابط وب یا یک نمونهٔ دیگر از rclone در |
| فضای ذخیرهسازی ابری ایجاد شوند، در صورتی که backend پیکربندیشده از بررسی |
| دورهای تغییرات (polling) پشتیبانی نکند، تنها پس از انقضای حافظه موقت دایرکتوری |
| دریافت خواهند شد. |
| اگر backend از بررسی دورهای پشتیبانی کند، تغییرات در بازه زمانی polling دریافت |
| میشوند. |
| میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا تمامی حافظههای موقت |
| دایرکتوری را بدون در نظر گرفتن سن آنها پاکسازی (flush) کند. |
| با فرض اینکه تنها یک نمونه از rclone در حال اجرا است، میتوانید حافظه موقت را |
| اینگونه بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را همراه با کنترل از راه دور (remote control) پیکربندی کنید، میتوانید از rclone rc |
| برای تخلیه کل حافظه موقت دایرکتوری استفاده کنید: |
| rclone rc vfs/forget |
| یا برای فایلها یا دایرکتوریهای مجزا: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| گزینه --buffer-size مقدار حافظهای را که برای بافر کردن پیشاپیش دادهها به کار میرود تعیین میکند. |
| هر فایلِ باز همواره تلاش خواهد کرد مقدار مشخصشده داده را در حافظه نگهدارد. |
| دادههای بافرشده مقید به یک فایل باز هستند و به اشتراک گذاشته نخواهند شد. |
| این گزینه یک سقف بالا برای حافظه مصرفی به ازای هر فایل باز است. |
| بافر تنها برای دادههایی که دانلود شده اما هنوز خوانده نشدهاند از حافظه استفاده خواهد کرد. |
| اگر بافر خالی باشد، تنها مقدار کمی از حافظه مصرف خواهد شد. |
| حداکثر حافظه استفادهشده توسط rclone برای بافر کردن میتواند تا |
| --buffer-size * open files باشد. |
| کَش کردن فایل در VFS |
| این گزینهها تنظیمات کَش کردن فایل در VFS را کنترل میکنند. |
| کَش کردن فایل برای سازگار جلوه دادن لایه VFS با یک فایلسیستم معمولی ضروری است. |
| میتوان آن را به بهای از دست رفتن مقداری از سازگاری غیرفعال کرد. |
| برای نمونه، اگر بخواهید همزمان روی یک فایل بخوانید و بنویسید، باید کَش VFS را فعال کنید. |
| برای جزئیات بیشتر به موارد زیر نگاه کنید. |
| توجه داشته باشید که کَش VFS از backend کَش مجزاست و ممکن است متوجه شوید به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string دایرکتوری مورد استفاده rclone برای کَش. |
| --vfs-cache-mode CacheMode حالت کَش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-max-age duration حداکثر زمان از آخرین دسترسی به اشیاء در کَش (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر حجم کل اشیاء در کَش (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی کَش (پیشفرض off) |
| --vfs-cache-poll-interval duration فاصله زمانی بررسی کَش برای اشیاء منسوخ (پیشفرض 1m0s) |
| --vfs-write-back duration زمان بازنویسی فایلها پس از آخرین استفاده هنگام بهکارگیری کَش (پیشفرض 5s) |
| در صورت اجرا با -vv، rclone مکان کَش فایل را چاپ خواهد کرد. |
| فایلها در ناحیه فایلهای کَش کاربر ذخیره میشوند که وابسته به سیستمعامل است، اما میتوان آن را با --cache-dir یا تنظیم متغیر محیطی مناسب کنترل کرد. |
| کَش دارای ۴ حالت مختلف است که توسط --vfs-cache-mode انتخاب میشوند. |
| هرچه حالت کَش بالاتر باشد، rclone به قیمت مصرف فضای دیسک، سازگارتر میشود. |
| توجه داشته باشید که فایلها تنها زمانی در ریموت بازنویسی میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه مورد دسترسی قرار نگرفته باشند. |
| اگر rclone با فایلهایی که هنوز بارگذاری نشدهاند بسته شود یا از کار بیفتد، این فایلها در اجرای بعدی rclone با همان گزینهها بارگذاری خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space توجه داشته باشید که کَش ممکن است به دو دلیل از این سهمیهها فراتر رود. |
| نخست به این دلیل که بررسی آن تنها هر |
| --vfs-cache-poll-interval یکبار انجام میشود. |
| دوم به این دلیل که فایلهای باز را نمیتوان از کَش تخلیه کرد. |
| هنگامی که از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space فراتر رود، rclone ابتدا تلاش خواهد کرد فایلهایی را که کمترین دسترسی به آنها صورت گرفته از کَش تخلیه کند. |
| rclone کار را با فایلهایی شروع خواهد کرد که برای بیشترین مدت مورد دسترسی قرار نگرفتهاند. |
| این راهبرد پاکسازی کَش کارآمد است و احتمال باقی ماندن فایلهای مرتبطتر در کَش بیشتر خواهد بود. |
| گزینه --vfs-cache-max-age فایلها را پس از سپری شدن زمان تعیینشده از آخرین دسترسی، از کَش تخلیه میکند؛ این عملکرد بر پایه زمان دسترسی است، نه زمانی که فایل برای نخستین بار به کَش افزوده شده است. |
| مقدار پیشفرض ۱ ساعت شروع به تخلیه فایلهایی از کَش میکند که به مدت ۱ ساعت به آنها دسترسی صورت نگرفته باشد. |
| هنگامی که به یک فایل کَششده دسترسی پیدا شود، زمانسنج ۱ ساعته بازنشانی شده و پیش از تخلیه، ۱ ساعت دیگر منتظر خواهد ماند. |
| زمان را با نشانهگذاری استاندارد s، m، h، d، w مشخص کنید. |
| اگر از --vfs-cache-mode > off استفاده میکنید، نباید دو نسخه از rclone را با کَش VFS یکسان و با ریموتهای یکسان یا دارای همپوشانی اجرا کنید. |
| انجام این کار بالقوه میتواند باعث خرابی دادهها شود. |
| میتوانید با اختصاص دادن سلسلهمراتب کَش جداگانه به هر rclone با استفاده از --cache-dir، این مسئله را برطرف کنید. |
| اگر ریموتهای در حال استفاده با یکدیگر همپوشانی ندارند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off |
| در این حالت (پیشفرض)، حافظه موقت (cache) مستقیماً از ریموت میخواند |
| و مستقیماً روی ریموت مینویسد، بدون اینکه چیزی را روی دیسک ذخیره کند. |
| این بدان معناست که برخی از عملیاتها امکانپذیر نخواهند بود: |
| • 2 |
| فایلها نمیتوانند همزمان برای خواندن و نوشتن باز شوند |
| • 2 |
| در فایلهای باز شده برای نوشتن، امکان جابهجایی موقعیت (seek) وجود ندارد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC را تنظیم کرده باشند |
| • 2 |
| فایلهای باز شده برای خواندن با O_TRUNC، به صورت فقطنوشتنی باز خواهند شد |
| • 2 |
| فایلهای باز شده برای حالت فقطنوشتنی بهگونهای رفتار خواهند کرد که گویی O_TRUNC مشخص شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای |
| خواندن و نوشتن روی دیسک بافر میشوند. |
| این موضوع باعث میشود که فایلهای باز شده برای نوشتن بسیار سازگارتر باشند، |
| اما کمترین میزان فضای دیسک را مصرف میکند. |
| این عملیاتها امکانپذیر نیستند: |
| • 2 |
| در فایلهای باز شده به صورت فقطنوشتنی امکان جابهجایی موقعیت (seek) وجود ندارد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC را تنظیم کرده باشند |
| • 2 |
| فایلهای باز شده برای حالت فقطنوشتنی، O_APPEND و O_TRUNC را نادیده میگیرند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده به صورت فقطخواندنی همچنان مستقیماً از ریموت |
| خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمام عملیاتهای عادی سیستم فایل پشتیبانی کند. |
| اگر یک بارگذاری با شکست مواجه شود، تلاش مجدد در فواصل زمانی افزایشیِ نمایی |
| تا حداکثر ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت تمام عملیات خواندن و نوشتن از و روی دیسک بافر میشوند. |
| هنگامی که دادهها از ریموت خوانده میشوند، این اطلاعات نیز روی دیسک بافر خواهند شد. |
| در این حالت، فایلهای موجود در کش از نوع فایلهای پراکنده (sparse files) خواهند بود |
| و rclone پیگیری میکند که کدام بخشها از فایلها دانلود شدهاند. |
| بنابراین اگر برنامهای فقط ابتدای هر فایل را بخواند، rclone تنها |
| ابتدای فایل را بافر میکند. |
| این فایلها در کش با اندازه کامل خود نمایش داده میشوند، اما فایلهای |
| پراکنده هستند که فقط دادههای دانلود شده درون آنها وجود دارد. |
| این حالت باید از تمام عملیاتهای عادی سیستم فایل پشتیبانی کند و در سایر |
| موارد، دقیقاً مشابه --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازه --buffer-size بهعلاوه |
| --vfs-read-ahead بایت جلوتر را پیشخوانی میکند. |
| مقدار --buffer-size در حافظه (RAM) بافر میشود در حالی که |
| --vfs-read-ahead روی دیسک بافر میگردد. |
| هنگام استفاده از این حالت، توصیه میشود که --buffer-size |
| بیش از حد بزرگ تنظیم نشود و در صورت نیاز، مقدار --vfs-read-ahead |
| بزرگ در نظر گرفته شود. |
| مهم: همه سیستمهای فایل از فایلهای پراکنده (sparse files) پشتیبانی نمیکنند. |
| بهویژه سامانههای FAT/exFAT پشتیبانی نمیکنند. |
| اگر دایرکتوری کش روی سیستم فایلی باشد که از فایلهای پراکنده پشتیبانی نمیکند، |
| عملکرد rclone بسیار ضعیف خواهد بود و در صورت تشخیص چنین وضعیتی، یک پیام ERROR |
| ثبت خواهد کرد. |
| اثرانگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از اثرانگشتنگاری برای تشخیص اینکه آیا نسخه محلی فایل نسبت |
| به فایل ریموت تغییر کرده است یا خیر، استفاده میکنند. |
| اثرانگشتها بر اساس موارد زیر ساخته میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان آخرین تغییر (modification time) |
| • 2 |
| هش (hash) |
| البته در صورتی که برای شیء مورد نظر در دسترس باشند. |
| در برخی از بکاندها (backends) خواندن برخی از این مشخصهها کُند است |
| (نیازمند یک فراخوانی API اضافی برای هر شیء، یا پردازش اضافی به ازای هر شیء هستند). |
| به عنوان مثال، hash در بکاندهای local و sftp |
| کُند است زیرا باید کل فایل را بخوانند و آن را هش کنند، و modtime در |
| بکاندهای s3، swift، ftp و qinqstor |
| کُند است زیرا برای دریافت آن نیازمند یک فراخوانی API اضافی هستند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone |
| عملیاتهای کُند را در اثرانگشت لحاظ نخواهد کرد. |
| این کار دقت اثرانگشتنگاری را کاهش میدهد اما سرعت آن را بسیار بالا میبرد |
| و زمان باز شدن فایلهای ذخیرهشده در کش را بهبود میبخشد. |
| اگر از حافظه موقت vfs روی بکاندهای local، s3 یا |
| swift استفاده میکنید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که اگر مقدار این پرچم را تغییر دهید، اثرانگشت فایلهای |
| موجود در کش ممکن است باطل شود و نیاز باشد فایلها دوباره دانلود شوند..SS خواندن تکهای در VFS |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را به صورت تکهای (قطعهای) دریافت میکند. |
| این بدان معناست که rclone بهجای درخواست کل فایل، تنها تکه مشخصشده را میخواند. |
| این قابلیت میتواند با درخواست تنها تکههایی از ریموت که واقعاً خوانده میشوند، سهمیه دانلود مصرفی را برای برخی ریموتها کاهش دهد؛ اگرچه این کار به قیمت افزایش تعداد درخواستها تمام میشود. |
| این پرچمها رفتار تکهبندی را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ به صورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه دو برابر شدن تکه (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تکهبندی بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| دستور rclone خواندن را با تکهای به اندازه |
| --vfs-read-chunk-size آغاز کرده و سپس با هر بار خواندن، اندازه را دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit تعیین شده و بزرگتر از |
| --vfs-read-chunk-size باشد، اندازه تکه برای هر فایل باز شده تنها تا زمان رسیدن به مقدار مشخصشده دو برابر خواهد شد. |
| اگر این مقدار برابر با "off" باشد (که حالت پیشفرض است)، محدودیت غیرفعال بوده و اندازه تکه بدون محدودیت افزایش مییابد. |
| با --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0 بخشهای زیر دانلود خواهند شد: |
| 0-100M، 100M-200M، 200M-300M، 300M-400M و به همین ترتیب. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه بهصورت |
| 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و به همین ترتیب خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهای را غیرفعال میکند. |
| تکهها در حافظه بافر نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| دستور rclone به تعداد --vfs-read-chunk-streams تکه با اندازه |
| --vfs-read-chunk-size را بهطور همزمان میخواند. |
| اندازه هر بار خواندن ثابت باقی خواهد ماند. |
| این کارایی را در پیوندهای با تأخیر بالا یا پیوندهای با پهنای باند بسیار بالا به ذخیرهسازهای شیء با کارایی بالا بهطور چشمگیری بهبود میبخشد. |
| برای یافتن مقادیر بهینه --vfs-read-chunk-size و --vfs-read-chunk-streams |
| به مقداری آزمون و خطا نیاز است، زیرا این مقادیر به بکاند مورد استفاده و میزان تأخیر تا بکاند بستگی دارند. |
| برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطه شروع معقول میتواند |
| --vfs-read-chunk-streams 16 و --vfs-read-chunk-size 4M باشد. |
| در آزمایشهای انجامشده با AWS S3، کارایی تقریباً متناسب با مقدار تنظیمشده برای |
| --vfs-read-chunk-streams مقیاسپذیر بود. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز پاسخگو باشد، اما بسته به میزان تأخیر ممکن است برای دستیابی به توان عملیاتی مناسب، به مقدار بیشتری از |
| --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS |
| این پرچمها ممکن است برای فعال یا غیرفعال کردن قابلیتهای VFS به دلایل کارایی یا موارد دیگر مورد استفاده قرار گیرند. |
| همچنین ویژگی خواندن تکهای را بررسی کنید. |
| بهویژه S3 و Swift از پرچم --no-modtime سود بسیار زیادی میبرند (یا از |
| --use-server-modtime برای اثری اندکی متفاوت استفاده کنید)، چرا که هر بار خواندن زمان ویرایش نیازمند یک تراکنش مستقل است. |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/دانلود. |
| --no-modtime عدم خواندن/نوشتن زمان ویرایش (میتواند کارها را سرعت بخشد). |
| --no-seek عدم اجازه پرش (seek) در فایلها. |
| --read-only فقط اجازه دسترسی فقطخواندنی. |
| گاهی اوقات عملیات خواندن یا نوشتن خارج از ترتیب به rclone تحویل داده میشود. |
| دستور rclone بهجای عمل پرش (seek)، مدت کوتاهی منتظر میماند تا عملیات خواندن یا نوشتنِ مرتبشده دریافت شود. |
| این پرچمها تنها زمانی اثرگذار هستند که از فایل کش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت انتظار برای خواندن مرتبشده قبل از seek (پیشفرض 20ms) |
| --vfs-write-wait duration مدت انتظار برای نوشتن مرتبشده قبل از دادن خطا (پیشفرض 1s) |
| هنگام استفاده از کش نوشتن VFS (پرچم --vfs-cache-mode با مقدار |
| writes یا full)، پرچم سراسری --transfers میتواند برای تنظیم تعداد بارگذاریهای موازی فایلهای تغییریافته از کش تنظیم شود |
| (پرچم سراسری مرتبط --checkers هیچ اثری بر VFS ندارد). |
| --transfers int تعداد انتقالهای همزمان فایل (پیشفرض 4) |
| بهطور پیشفرض VFS از پیوندهای نمادین پشتیبانی نمیکند. |
| با این حال، میتوان این قابلیت را با هر یک از پرچمهای زیر فعال کرد: |
| --links Translate symlinks to/from regular files with a '.rclonelink' extension. |
| --vfs-links Translate symlinks to/from regular files with a '.rclonelink' extension for the VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone |
| پیوند نمادین را بهصورت یک فایل عادی با یک پسوند ویژه ذخیره میکند. |
| بنابراین فایلی که به شکل یک پیوند نمادین link-to-file.txt دیده میشود، |
| در ذخیرهساز ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و |
| محتوای آن، مسیرِ مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links ترجمه پیوندهای نمادین را بهطور سراسری در |
| rclone فعال میکند - این شامل هر backend که از این مفهوم پشتیبانی کند (برای |
| مثال backend محلی) میشود. |
| --vfs-links آن را فقط برای لایهٔ VFS فعال میکند. |
| این سازوکار با سازوکار مورد استفاده توسط backend محلی با پرچم |
| --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای |
| rclone mount، rclone nfsmount و |
| rclone serve nfs طراحی شده است. |
| این قابلیت هنوز با سایر دستورهای rclone serve آزمایش |
| نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده |
| پیوندهای نمادین فرعی (sub-symlinks) را حل کند. |
| برای مثال در درخت دایرکتوری زیر: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| لایهٔ VFS بهدرستی linked-dir را حل میکند، اما |
| linked-dir/file.txt را حل نمیکند. |
| این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند اما ممکن است برای سایر |
| دستورها مشکلساز شود. |
| توجه داشته باشید که یک مشکل حلنشده در پشتیبانی از پیوندهای نمادین وجود دارد |
| (گزارش شماره #8245 در https://github.com/rclone/rclone/issues/8245)؛ به این صورت |
| که هنگام انتقال پیوندهای نمادین به دایرکتوریهایی که فایلی با همان نام در آنها وجود دارد |
| (یا برعکس)، فایلهای تکراری ایجاد میشوند. |
| "حساسیت VFS به بزرگی و کوچکی حروف (VFS Case Sensitivity)" |
| سامانههای فایل لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند فقط در |
| بزرگی و کوچکی حروف با یکدیگر تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً همان حالت حروف استفاده شود. |
| سامانههای فایل در Windows امروزی به بزرگی و کوچکی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-preserving): |
| اگرچه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که |
| برای ایجاد فایل استفاده شده است حفظ میشود و برنامهها میتوانند آن را |
| جویا شوند. |
| مجاز نیست که دو فایل در یک دایرکتوری، تنها در بزرگی و کوچکی حروف |
| تفاوت داشته باشند. |
| معمولاً سامانههای فایل در macOS به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن سامانههای فایل macOS به بزرگی و کوچکی حروف وجود دارد اما این |
| حالت پیشفرض نیست. |
| پرچم VFS با نام --vfs-case-insensitive چگونگی مدیریت این دو حالت را توسط rclone |
| کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نامهای فایل را همانطور که هستند (دستنخورده) به remote |
| ارسال میکند. |
| اگر این پرچم "true" باشد (یا بدون مقدار در خط فرمان ظاهر |
| شود)، rclone ممکن است یک «تصحیح» (fixup) را همانطور که در زیر توضیح داده شده انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف |
| متفاوت از آنچه در remote ذخیره شده مشخص کند. |
| اگر یک آرگومان به فایلی موجود با دقیقاً همان نام اشاره کند، |
| حالت حروف فایلِ موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با همان تطابق دقیق پیدا نشود اما نامی |
| که فقط در بزرگی و کوچکی حروف متفاوت است وجود داشته باشد، rclone نام را بهطور شفاف تصحیح خواهد کرد. |
| این تصحیح فقط زمانی رخ میدهد که یک فایل موجود درخواست شود. |
| حساسیت به بزرگی و کوچکی حروف برای نام فایلهایی که بهتازگی توسط rclone ایجاد میشوند، توسط |
| remote زیرین کنترل میشود. |
| توجه داشته باشید که حساسیت به بزرگی و کوچکی حروف در سیستمعامل اجراکنندهٔ rclone (مقصد یا target) |
| ممکن است با حساسیت سامانه فایلی که توسط rclone ارائه میشود (مبدأ یا source) تفاوت داشته باشد. |
| این پرچم کنترل میکند که آیا «تصحیح» برای برآورده کردن نیازهای مقصد |
| انجام شود یا خیر. |
| اگر این پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی که rclone در آن اجرا میشود بستگی دارد: |
| در Windows و macOS برابر "true"، و در غیر این صورت "false". |
| اگر پرچم بدون مقدار ارائه شود، برابر "true" خواهد بود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «تصحیح» مشابهی |
| برای نامفایلهایی که متفاوت هستند اما از دیدگاه یونیکد همارزی استاندارد |
| دارند (https://en.wikipedia.org/wiki/Unicode_equivalence)، انجام شود یا خیر. |
| نرمالسازی یونیکد میتواند بهویژه برای کاربران macOS مفید باشد؛ |
| چرا که این سیستمعامل به جای NFC که در بیشتر پلتفرمهای دیگر استفاده میشود، فرم NFD را ترجیح میدهد. |
| بنابراین اکیداً توصیه میشود که در macOS مقدار پیشفرض |
| false حفظ شود تا از مشکلات سازگاری کدگذاری جلوگیری گردد. |
| در صورت پیشامد (احتمالاً نادر) که یک دایرکتوری پس از اعمال نرمالسازی حالت حروف و یونیکد، |
| چندین نام فایل تکراری داشته باشد، پرچم --vfs-block-norm-dupes امکان پنهان کردن این موارد تکراری را فراهم میکند. |
| این کار با یک مصالحه کارایی (کاهش عملکرد) همراه است، زیرا rclone هنگام فهرست کردن یک دایرکتوری باید |
| کل دایرکتوری را برای یافتن موارد تکراری پویش کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این حال، کاربران macOS ممکن است استفاده از آن را در نظر بگیرند، زیرا در غیر این صورت اگر یک |
| دایرکتوری در remote شامل هر دو نسخهٔ NFC و NFD از یک نام فایل یکسان باشد، |
| وضعیتی نامتعارف رخ خواهد داد: هر دو نسخهٔ فایل در نقطهٔ متصلشده (mount) قابل مشاهده خواهند بود و |
| هر دو به نظر قابل ویرایش میآیند، اما در عمل ویرایش هر کدام از نسخهها |
| در پسزمینه تنها منجر به ویرایش نسخهٔ NFD میشود. |
| پرچم --vfs-block-norm-dupes با شناسایی این وضعیت، پنهان کردن موارد تکراری |
| و ثبت یک خطا در گزارشها (مشابه روش مدیریت این موضوع در rclone sync)، از این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS |
| این پرچم به شما امکان میدهد آمار مربوط به سیستم فایل را به صورت دستی |
| تنظیم کنید. |
| زمانی که این آمار به درستی و به صورت خودکار خوانده نمیشوند، میتواند |
| مفید باشد. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای مصرفشده |
| برخی از بکاندها، بهویژه S3، مقدار بایتهای مصرفشده را گزارش نمیکنند. |
| اگر نیاز دارید این اطلاعات هنگام اجرای df روی سیستم فایل در |
| دسترس باشد، پرچم --vfs-used-is-size را به rclone ارسال کنید. |
| با تنظیم این پرچم، rclone به جای اتکا به بکاند برای گزارش این اطلاعات، |
| تمام ریموت را شبیه به rclone size پویش کرده و کل فضای استفادهشده |
| را خودش محاسبه میکند. |
| هشدار: برخلاف rclone size، این پرچم فیلترها را نادیده |
| میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است باعث تعداد زیادی |
| فراخوانی API و در نتیجه هزینههای اضافی شود. |
| از آن تنها به عنوان آخرین راهحل و فقط همراه با کشکردن (caching) استفاده |
| کنید. |
| فراداده VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید VFS |
| را طوری تنظیم کنید فایلهایی را که حاوی فراداده هستند |
| (https://rclone.org/docs/#metadata) به صورت یک داده چندبخشی JSON ارائه دهد. |
| این فایلها در فهرست دایرکتوری ظاهر نخواهند شد، اما میتوان روی آنها |
| stat اجرا کرد و آنها را باز نمود و پس از باز شدن، تا زمانی که کش |
| دایرکتوری منقضی شود در فهرستهای دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی از بکاندها فراداده ایجاد نمیکنند مگر اینکه پرچم |
| --metadata را ارسال کرده باشید. |
| به عنوان مثال، با استفاده از rclone mount همراه با |
| --metadata --vfs-metadata-extension .metadata خروجی زیر را خواهیم داشت: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد فراداده باشد به صورت {} بازگردانده میشود و در صورت |
| بروز خطا در خواندن فراداده، خطا به صورت |
| {"error":"error string"} برگردانده خواهد شد. |
| پروکسی احراز هویت (Auth Proxy) |
| اگر پارامتر --auth-proxy /path/to/program را مشخص کنید، rclone از |
| آن برنامه برای ایجاد آنی (on the fly) بکاندها استفاده میکند که سپس برای |
| احراز هویت درخواستهای ورودی به کار میروند. |
| این سازوکار از یک پروتکل ساده مبتنی بر JSON با ورودی روی STDIN و خروجی روی |
| STDOUT استفاده میکند. |
| لطفاً توجه داشته باشید: گزینههای --auth-proxy و |
| --authorized-keys نمیتوانند همزمان استفاده شوند؛ اگر |
| --auth-proxy تنظیم شده باشد، گزینه کلیدهای مجاز (authorized keys) |
| نادیده گرفته خواهد شد. |
| یک برنامه نمونه در مسیر |
| bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py) |
| در کد منبع rclone وجود دارد. |
| وظیفه برنامه دریافت یک user و pass در ورودی و تبدیل آنها |
| به پیکربندی یک بکاند روی STDOUT در قالب JSON است. |
| این پیکربندی شامل تمام پارامترهای پیشفرض اضافه شده برای بکاند خواهد بود، |
| اما از پیکربندی متغیرهای محیطی یا گزینههای خط فرمان استفاده نخواهد کرد - |
| آمادهسازی یک پیکربندی کامل بر عهده برنامه پروکسی است. |
| این پیکربندی تولیدشده باید این پارامتر اضافی را داشته باشد: |
| • 2 |
| _root - ریشه (root) مورد استفاده برای بکاند |
| و میتواند این پارامترها را نیز داشته باشد: |
| • 2 |
| _obscure - رشتههای جداشده با کاما برای پارامترهایی که باید مبهمسازی شوند |
| • 2 |
| _secret_access_key - کلید مخفی برای احراز هویت کلید دسترسی S3 (پایین را ببینید) |
| اگر از احراز هویت با گذرواژه توسط کلاینت استفاده شده باشد، ورودی به فرایند |
| پروکسی (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "pass": "mypassword", |
| "client_ip": "192.168.1.1" |
| } |
| اگر از احراز هویت با کلید عمومی توسط کلاینت استفاده شده باشد، ورودی به فرایند |
| پروکسی (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf", |
| "client_ip": "192.168.1.1" |
| } |
| اگر کلاینت با یک کلید دسترسی S3 احراز هویت کند |
| (rclone serve s3)، کلاینت هرگز کلید مخفی (secret) خود را ارسال |
| نمیکند، بلکه تنها امضای ایجادشده با آن را میفرستد؛ بنابراین ورودی فقط شامل |
| شناسه کلید دسترسی به عنوان user بدون هیچگونه pass یا |
| public_key خواهد بود: |
| { |
| "user": "AKIAIOSFODNN7EXAMPLE", |
| "client_ip": "192.168.1.1" |
| } |
| در این حالت، برنامه باید کلید دسترسی مخفی را برای آن شناسه کلید دسترسی |
| جستجو کرده و آن را در فیلد _secret_access_key در خروجی بازگرداند. |
| سپس Rclone از آن کلید مخفی برای بررسی امضای روی درخواست استفاده میکند و در |
| صورت عدم تطابق، درخواست را رد مینماید. |
| این بدان معناست که برنامه پروکسی منبع معتبر (source of truth) هم برای |
| اطلاعات احراز هویت و هم برای بکاَندی است که به آن نگاشت میشوند. |
| اگر برنامه فیلد _secret_access_key را بازنگرداند یا آن را خالی |
| برگرداند، درخواست رد میشود. |
| پاسخ برنامه برای یک شناسه کلید دسترسی کش میشود (پایین را ببینید)، اما حتی |
| اگر شناسه کلید دسترسی در حال استفاده مداوم باشد، پس از ۵ دقیقه مجدداً با |
| برنامه بررسی میشود؛ بنابراین باطل کردن یک شناسه کلید دسترسی در برنامه ظرف ۵ |
| دقیقه اعمال خواهد شد. |
| کلید مخفی جایگزینشده (rotated secret) در اولین درخواستی که با آن امضا شود |
| اعمال میگردد. |
| کلید client_ip شامل آدرس IP است که کلاینت از طریق آن متصل شده |
| است (بدون شماره پورت). |
| این کلید میتواند برای محدود کردن ورودها به شبکههای خاص یا ثبت مرکزی |
| تلاشهای احراز هویت استفاده شود. |
| اگر کلاینت فاقد آدرس IP باشد، برای مثال هنگام اتصال از طریق سوکت یونیکس |
| (unix socket)، این کلید حذف میشود. |
| توجه داشته باشید که اگر rclone پشت یک پروکسی معکوس (reverse proxy) باشد، این |
| آدرس، آدرس پروکسی معکوس خواهد بود نه کلاینت اصلی. |
| و به عنوان یک مثال، این را روی STDOUT بازمیگرداند: |
| { |
| "type": "sftp", |
| "_root": "", |
| "_obscure": "pass", |
| "user": "me", |
| "pass": "mypassword", |
| "host": "sftp.example.com" |
| } |
| این بدان معنا خواهد بود که یک backend برای SFTP بهصورت درلحظه برای user و pass/public_key بازگرداندهشده در خروجی برای میزبان مشخصشده، ایجاد میشود. |
| توجه داشته باشید از آنجا که _obscure روی pass تنظیم شده است، rclone پارامتر pass را پیش از ایجاد backend مبهمسازی (obscure) میکند (که این برای backendهای sftp الزامی است). |
| برنامه میتواند user ارائهشده را به هر روشی دستکاری کند؛ برای نمونه، جهت ایجاد پراکسی به چندین backend مختلف sftp، میتوانید user را برابر با user@example.com قرار دهید و سپس در خروجی، host را روی example.com و کاربر را روی user تنظیم کنید. |
| به دلایل امنیتی، احتمالاً مایل خواهید بود که host را به یک فهرست محدود مقید کنید. |
| یک حافظهٔ موقت (کَش) داخلی از backendها بر اساس user، هشِ pass یا public_key، و client_ip کلیدگذاری میشود. |
| این بدان معناست که اگر گذرواژه یا کلید عمومی کاربر تغییر کند، کلاینت از یک نشانی IP جدید متصل شود، یا پراکسی پارامترهای پیکربندی متفاوتی را برگرداند (برای نمونه یک api_key دورهگردششده)، در درخواست بعدی به جای استفادهٔ مجدد از مورد کَششده، یک backend تازه ایجاد خواهد شد. |
| این قابلیت میتواند برای ساخت پراکسیهای همهمنظوره برای هر نوع backend که rclone پشتیبانی میکند، استفاده شود. |
| rclone serve ftp remote:path [flags] |
| "گزینهها (OPTIONS)" |
| --addr string IPaddress:Port یا :Port برای مقید کردن کارساز به آن (پیشفرض "localhost:2121") |
| --auth-proxy string برنامهای برای استفاده جهت ایجاد backend از احراز هویت |
| --cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) |
| --dir-cache-time Duration مدتزمان نگهداری مدخلهای دایرکتوری در حافظهٔ موقت (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سامانه فایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای ftp |
| --key string کلید خصوصی TLS PEM |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --no-checksum عدم مقایسهٔ چکسامها هنگام بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد) |
| --no-seek عدم اجازهٔ تغییر موقعیت (seek) در فایلها |
| --pass string گذرواژه برای احراز هویت (مقدار خالی اجازهٔ هر گذرواژهای را میدهد) |
| --passive-port string محدودهٔ درگاه غیرفعال (passive) مورد استفاده (پیشفرض "30000-32000") |
| --poll-interval Duration زمان انتظار بین بررسی دورهای برای تغییرات؛ باید کوچکتر از dir-cache-time باشد و فقط روی ریموتهای پشتیبانیشده عمل میکند (0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --public-ip string نشانی IP عمومی برای اعلان به اتصالات passive |
| --read-only تنها اجازهٔ دسترسی فقطخواندنی داده شود |
| --uid uint32 بازنویسی فیلد uid تنظیمشده توسط سامانه فایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تنظیمشده توسط سامانه فایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) |
| --user string نام کاربری برای احراز هویت (پیشفرض "anonymous") |
| --vfs-block-norm-dupes در صورت وجود نامهای فایل تکراری در همان دایرکتوری (پس از یکسانسازی)، خطایی ثبت شده و موارد تکراری پنهان میشوند (ممکن است بر کارایی تأثیر بگذارد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء موجود در حافظهٔ موقت (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازهٔ کل اشیاء موجود در حافظهٔ موقت (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix هدف حداقل فضای خالی روی دیسک حاوی حافظهٔ موقت (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت حافظهٔ موقت off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازهٔ زمانی بررسی حافظهٔ موقت برای یافتن اشیاء بیاستفاده (پیشفرض 1m0s) |
| --vfs-case-insensitive در صورت پیدا نشدن نام فایل، تطابق غیرحساس به بزرگی و کوچکی حروف انجام شود |
| --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثرانگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدتزمان زنده نگهداشتن دستگیرهٔ فایل و بارگیریکنندهها پس از آخرین بستهشدن (پیشفرض 5s) |
| --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن فراداده از آن |
| --vfs-read-ahead SizeSuffix پیشخوانی اضافی فراتر از --buffer-size در هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix در صورت بزرگتر بودن از --vfs-read-chunk-size، پس از هر بار خواندن تکه، اندازهٔ تکه دو برابر میشود تا به حد مجاز برسد ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration مدتزمان انتظار برای خواندن ترتیبی قبل از seek (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی حافظهٔ موقت دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای محاسبهٔ اندازهٔ مصرفشده |
| --vfs-write-back Duration مدتزمان بازنویسی فایلها (writeback) پس از آخرین استفاده در هنگام استفاده از کَش (پیشفرض 5s) |
| --vfs-write-wait Duration مدتزمان انتظار برای نوشتن ترتیبی پیش از اعلام خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای فیلتر (Filter Options) |
| پرچمها برای فیلتر کردن فهرست دایرکتوریها |
| --delete-excluded حذف فایلهای مستثنیشده از همگامسازی در مقصد |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای stdin) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (استفاده از - برای stdin) |
| --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون پردازش خطوط (استفاده از - برای stdin) |
| --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ با استفاده از NUL بهعنوان جداکننده (استفاده از - برای stdin) |
| -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای stdin) |
| --hash-filter string افراز نام فایلها با هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای stdin) |
| --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تعیین، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای stdin) |
| --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای stdin) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای stdin) |
| --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض خاموش) |
| همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائه یک |
| ریموت روی یک پروتکل. |
| rclone serve http |
| ارائه ریموت از طریق HTTP. |
| خلاصه دستور (SYNOPSIS) |
| اجرای یک وبسرور پایهای برای ارائه یک ریموت از طریق HTTP. |
| این خروجی را میتوان در یک مرورگر وب مشاهده کرد، یا میتوانید یک ریموت از نوع |
| http بسازید تا از آن بخواند. |
| میتوانید از پرچمهای فیلتر (مانند |
| --include، --exclude) برای کنترل مواردی که ارائه میشوند استفاده کنید. |
| سرور خطاها را ثبت خواهد کرد (لاگ میکند). |
| برای مشاهده گزارشهای دسترسی از -v استفاده کنید. |
| گزینه --bwlimit برای انتقال فایلها رعایت خواهد شد. |
| از --stats برای کنترل چاپ آمار استفاده کنید. |
| گزینههای سرور (Server options) |
| از --addr برای مشخص کردن آدرس IP و درگاهی (پورت) که سرور باید روی آن گوش دهد استفاده کنید؛ مانند --addr 1.2.3.4:8000 یا |
| --addr :8080 برای گوش دادن روی تمام IPها. |
| بهطور پیشفرض تنها روی localhost گوش میدهد. |
| میتوانید از درگاه :0 استفاده کنید تا سیستمعامل یک درگاه در دسترس را انتخاب کند. |
| اگر --addr را برای گوش دادن روی یک IP عمومی یا در دسترس در شبکه محلی (LAN) تنظیم کنید، استفاده از احراز هویت (Authentication) توصیه میشود - برای اطلاعات بیشتر بخش بعدی را ببینید. |
| میتوانید با تنظیم url روی |
| unix:///path/to/socket یا صرفاً با استفاده از یک مسیر مطلق، از سوکت یونیکس استفاده کنید. |
| پرچم --addr میتواند برای گوش دادن روی چندین |
| IP/درگاه/سوکت تکرار شود. |
| همچنین فعالسازی از طریق سوکت (Socket activation) که در ادامه توضیح داده شده، میتواند برای دستیابی به همین هدف استفاده شود. |
| میتوان از --server-read-timeout و --server-write-timeout برای |
| کنترل مهلتهای زمانی (timeouts) روی سرور استفاده کرد. |
| توجه داشته باشید که این مقدار، کل زمان انتقال است. |
| گزینه --max-header-bytes حداکثر تعداد بایتهایی را که سرور در هدر HTTP میپذیرد کنترل میکند. |
| میتوان از --response-header برای تنظیم یک هدر HTTP در تمام |
| پاسخها استفاده کرد که مقادیر موجود را بازنویسی خواهد کرد. |
| این پرچم میتواند برای افزودن چندین هدر تکرار شود. |
| از قالب Header-Name: value استفاده کنید. |
| گزینه --baseurl پیشوند URLای را که rclone از آن خدمات میدهد کنترل میکند. |
| بهطور پیشفرض rclone از ریشه (root) ارائه میدهد. |
| اگر از --baseurl "/rclone" استفاده کنید، آنگاه rclone از |
| یک URL که با "/rclone/" شروع میشود ارائه خواهد داد. |
| این گزینه زمانی مفید است که بخواهید rclone serve را پراکسی کنید. |
| برنامه rclone بهطور خودکار کاراکترهای "/" ابتدا و انتها را روی |
| --baseurl درج میکند؛ بنابراین --baseurl "rclone"، |
| --baseurl "/rclone" و |
| --baseurl "/rclone/" همگی یکسان در نظر گرفته میشوند. |
| میتوان --disable-zip را برای غیرفعال کردن قابلیت دانلود فشرده (zip) |
| تنظیم کرد..SS "پروتکل (Protocol)" |
| سرور از HTTP/1.1 و HTTP/2 پشتیبانی میکند. |
| HTTP/2 بهطور خودکار برای اتصالهای TLS استفاده میشود. |
| برای اتصالهای غیر TLS، متن سادهٔ HTTP/2 (h2c) پشتیبانی میشود که استفاده از |
| HTTP/2 بدون رمزنگاری را ممکن میسازد. |
| "TLS (SSL)" |
| بهطور پیشفرض، ارائهٔ سرویس بر بستر http خواهد بود. |
| در صورت تمایل میتوانید بر بستر https سرویسدهی کنید. |
| برای این کار لازم است پرچمهای --cert و --key را مشخص کنید. |
| اگر مایل به اعتبارسنجی گواهی در سمت کلاینت هستید، باید |
| --client-ca را نیز فراهم کنید. |
| هنگامی که TLS پیکربندی شود، هر شنوندهای که با --addr مشخص شده باشد با |
| TLS سرویس میدهد. |
| یک شنونده میتواند پیشوند http:// داشته باشد تا HTTP رمزنگارینشده |
| را روی آن نشانی ارائه دهد، یا دارای پیشوند tls:// باشد تا |
| صراحتاً مشخص شود باید TLS ارائه دهد. |
| استفاده از نشانی tls:// بدون --cert و |
| --key یک خطا است. |
| --cert باید روی مسیر فایلی تنظیم شود که حاوی یک گواهی با |
| کدگذاری PEM، یا ترکیبی از آن با گواهی CA باشد. |
| --key باید روی مسیر فایلی حاوی کلید خصوصی با کدگذاری |
| PEM تنظیم شود. |
| در صورت تنظیم --client-ca، این گزینه باید روی مسیر فایلی |
| حاوی گواهیهای مرجع صدور گواهی کلاینت با کدگذاری PEM تنظیم شود. |
| --min-tls-version کمترین نسخهٔ قابل قبول TLS است. |
| مقدارهای معتبر عبارتند از "tls1.0"، "tls1.1"، "tls1.2" |
| و "tls1.3" (پیشفرض: "tls1.0"). |
| "فعالسازی از طریق سوکت (Socket activation)" |
| بهجای نشانیهای شنود مشخصشده در بالا، rclone به تمام FDهای ارسالشده |
| توسط مدیر سرویس (در صورت وجود) گوش فرا خواهد داد (و هرگونه آرگومان |
| ارسالشده با --addr را نادیده میگیرد). |
| این قابلیت اجازه میدهد rclone یک سرویس فعالشونده از طریق سوکت باشد. |
| میتوان آن را با فایلهای واحد (unit) از نوع .socket و .service همانطور که در |
| https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html |
| شرح داده شده است پیکربندی کرد. |
| فعالسازی از طریق سوکت را میتوان بهطور موقت با دستور |
| systemd-socket-activate آزمایش کرد: |
| systemd-socket-activate -l 8000 -- rclone serve |
| این کار، rclone را در اولین اتصال به درگاه 8000 بر بستر TCP فعال میکند. | |
| "قالب (Template)" | |
| --template به کاربر امکان میدهد تا یک قالب نشانهگذاری سفارشی را | |
| برای عملکردهای سرویسدهی HTTP و WebDAV تعیین کند. | |
| سرور نشانهگذاریهای زیر را صادر میکند تا بتوان از آنها درون قالب | |
| برای ارائهٔ صفحات استفاده کرد: | |
| tab( | ); |
| lw(22.6n) lw(24.7n) lw(22.6n). | |
| پارامتر | زیرپارامتر |
| توضیحات | |
| T} | |
| .Name | |
| مسیر کامل یک فایل/دایرکتوری. | |
| T} | |
| .Title | |
| فهرست دایرکتوری مربوط به '.Name'. | |
| T} | |
| .Sort | |
| مرتبسازی فعلی مورد استفاده. | |
| این مقدار از طریق پارامتر '?sort=' قابل تغییر است. | |
| مقدارهای ممکن: namedirfirst، name، size، time (پیشفرض: namedirfirst). | |
| T} | |
| .Order | |
| ترتیب فعلی مورد استفاده. | |
| این مقدار از طریق پارامتر '?order=' قابل تغییر است. | |
| مقدارهای ممکن: asc، desc (پیشفرض: asc). | |
| T} | |
| .Query | |
| در حال حاضر بدون استفاده است. | |
| T} | |
| .Breadcrumb | |
| امکان ایجاد ناوبری نسبی را فراهم میکند. | |
| T} | |
| .Link | |
| پیوند مربوط به Text نسبت به ریشه. | |
| T} | |
| .Text | |
| نام دایرکتوری. | |
| T} | |
| .Entries | |
| اطلاعات دربارهٔ یک فایل/دایرکتوری خاص. | |
| T} | |
| .URL | |
| نشانی (URL) یک مدخل. | |
| T} | |
| .Leaf | |
| در حال حاضر همانند '.URL' است، اما در نظر است که فقط نام باشد. | |
| T} | |
| .IsDir | |
| مقدار بولی که مشخص میکند آیا یک مدخل دایرکتوری است یا خیر. | |
| T} | |
| .Size | |
| اندازهٔ مدخل بر حسب بایت. | |
| T} | |
| .ModTime | |
| مهر زمانی UTC مربوط به یک مدخل. | |
| T} |
سرور همچنین توابع زیر را در دسترس قرار میدهد تا بتوان از آنها درون قالب استفاده کرد. این توابع به گسترش گزینهها برای رندر پویای HTML کمک میکنند. میتوان از آنها برای رندر کردن HTML بر اساس شرایط خاص بهره برد.
| تابع | توضیحات |
| afterEpoch | زمان سپریشده از مبدأ زمانی (epoch) را برای زمان مشخصشده برمیگرداند. |
| contains | بررسی میکند که آیا زیررشتهٔ دادهشده در رشتهٔ مشخصشده وجود دارد یا خیر. |
| hasPrefix | بررسی میکند که آیا رشتهٔ مشخصشده با پیشوند تعیینشده آغاز میشود یا خیر. |
| hasSuffix | بررسی میکند که آیا رشتهٔ مشخصشده با پسوند تعیینشده پایان مییابد یا خیر. |
| بهطور پیشفرض، این دستور فایلها را بدون نیاز به ورود ارائه میدهد. | |
| میتوانید از یک فایل htpasswd استفاده کنید که از کاربران زیادی پشتیبانی میکند، یا با پرچمهای | |
| --user و --pass یک نامکاربری و گذرواژه منفرد تعیین نمایید. | |
| همچنین، میتوانید مدیریت احراز هویت را به پراکسی معکوس (reverse proxy) بسپارید و با | |
| --user-from-header از نامکاربری ارائهشده در سربرگ پیکربندیشده استفاده کنید (مانند | |
| --user-from-header=x-remote-user). | |
| اطمینان حاصل کنید که پراکسی مورد اعتماد است و سربرگها قابل جعل نیستند، زیرا پیکربندی نادرست میتواند منجر به دسترسی غیرمجاز شود. | |
| اگر هیچکدام از روشهای احراز هویت بالا پیکربندی نشده باشند و گواهیهای کلاینت از طریق پرچم | |
| --client-ca ارسالشده به سرور الزامی شده باشند، نام مشترک (common name) گواهی کلاینت بهعنوان نامکاربری در نظر گرفته خواهد شد. | |
| برای ارائه فایل htpasswd از --htpasswd /path/to/htpasswd استفاده کنید. | |
| این فایل در قالب استاندارد آپاچی است و از الگوریتمهای MD5، SHA1 و BCrypt برای احراز هویت پایهای (basic authentication) پشتیبانی میکند. | |
| استفاده از Bcrypt توصیه میشود. | |
| برای ایجاد یک فایل htpasswd: | |
| touch htpasswd |
| htpasswd -B htpasswd user |
| htpasswd -B htpasswd anotherUser |
| فایل گذرواژه را میتوان در حین اجرای rclone بهروزرسانی کرد. |
| برای تنظیم قلمرو احراز هویت (realm) از --realm استفاده کنید. |
| برای تغییر سالت (salt) هش گذرواژه از مقدار پیشفرض، از --salt استفاده کنید. |
| سامانهفایل مجازی (VFS - Virtual File System) |
| این دستور از لایه VFS استفاده میکند. |
| این لایه، اشیاء فضای ذخیرهسازی ابری که rclone از آنها استفاده میکند را به ساختاری بسیار شبیهتر به سامانهفایل دیسک تبدیل میکند. |
| اشیاء ذخیرهسازی ابری ویژگیهای متعددی دارند که شبیه فایلهای روی دیسک نیستند؛ برای نمونه نمیتوانید آنها را بسط داده یا در میانهشان بنویسید، بنابراین لایه VFS باید این مسائل را مدیریت کند. |
| از آنجا که یک راهکار واحد و مطلق برای این کار وجود ندارد، گزینههای گوناگونی در ادامه توضیح داده شدهاند. |
| لایه VFS همچنین حافظه موقت دایرکتوری (directory cache) را پیادهسازی میکند؛ این ویژگی اطلاعات مربوط به فایلها و دایرکتوریها (نه خود دادهها) را در حافظه نگهداری میکند. |
| حافظه موقت دایرکتوری VFS (VFS Directory Cache) |
| با استفاده از پرچم --dir-cache-time میتوانید مشخص کنید که یک دایرکتوری چه مدت بهروز در نظر گرفته شده و نیازی به دریافت مجدد از پشتیبان (backend) نداشته باشد. |
| تغییرات ایجادشده از طریق VFS بلافاصله اعمال میشوند یا حافظه موقت را بیاعتبار میکنند. |
| --dir-cache-time duration Time to cache directory entries for (default 5m0s) |
| --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) |
| با این حال، در صورتی که پشتیبان پیکربندیشده از پایش دورهای (polling) برای تغییرات پشتیبانی نکند، تغییراتی که مستقیماً از طریق رابط وب یا یک نمونه دیگر از rclone در فضای ذخیرهسازی ابری اعمال میشوند، تنها پس از انقضای حافظه موقت دایرکتوری اعمال خواهند شد. |
| اگر پشتیبان از پایش دورهای پشتیبانی کند، تغییرات در بازه زمانی تعیینشده برای poll شناسایی میشوند. |
| میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا صرفنظر از عمر حافظه موقت، تمامی حافظههای موقت دایرکتوری را تخلیه کند. |
| با فرض اینکه فقط یک نمونه از rclone در حال اجرا است، میتوانید حافظه موقت را به این صورت بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را همراه با کنترل از راه دور پیکربندی کردهاید، میتوانید از rclone rc برای تخلیه کل حافظه موقت دایرکتوری استفاده کنید: |
| rclone rc vfs/forget |
| یا برای فایلها و دایرکتوریهای مشخص: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| گزینه --buffer-size مقدار حافظهای را تعیین میکند که برای بافر کردن زودهنگام دادهها استفاده خواهد شد. |
| هر فایل باز همواره تلاش خواهد کرد تا مقدار مشخصشده از دادهها را در حافظه نگه دارد. |
| دادههای بافرشده به یک فایل باز وابستهاند و به اشتراک گذاشته نخواهند شد. |
| این گزینه یک حد بالایی برای حافظه مصرفی به ازای هر فایل باز است. |
| بافر تنها برای دادههایی که بارگیری (دانلود) شدهاند اما هنوز خوانده نشدهاند از حافظه استفاده میکند. |
| اگر بافر خالی باشد، تنها مقدار کمی از حافظه استفاده خواهد شد. |
| حداکثر حافظه استفادهشده توسط rclone برای بافرینگ میتواند تا |
| --buffer-size * open files |
| باشد. |
| کش کردن فایل در VFS |
| این گزینهها تنظیمات کش کردن فایل در VFS را کنترل میکنند. |
| کش کردن فایل برای سازگار جلوه دادن لایه VFS با یک سیستمفایل عادی ضروری است. |
| این قابلیت را میتوان به بهای از دست رفتن مقداری از سازگاری، غیرفعال کرد. |
| برای نمونه، اگر بخواهید بهطور همزمان از یک فایل بخوانید و در آن بنویسید، باید کش VFS را فعال کنید. |
| برای جزئیات بیشتر به ادامه مطلب مراجعه کنید. |
| توجه داشته باشید که کش VFS از backend کش مجزاست و ممکن است متوجه شوید که به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string دایرکتوری مورد استفاده rclone برای کش. |
| --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-max-age duration حداکثر زمان از آخرین دسترسی به اشیاء در کش (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء در کش (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف در دیسک حاوی کش (پیشفرض off) |
| --vfs-cache-poll-interval duration فاصله زمانی بررسی دورهای کش برای اشیاء قدیمی (پیشفرض 1m0s) |
| --vfs-write-back duration زمان بازنویسی فایلها پس از آخرین استفاده هنگام بهکارگیری کش (پیشفرض 5s) |
| در صورت اجرا با -vv، دستور rclone مکان کش فایل را چاپ خواهد کرد. |
| فایلها در ناحیه فایلهای کش کاربر که وابسته به سیستمعامل است ذخیره میشوند، اما میتوان آن را با --cache-dir یا تنظیم متغیر محیطی مربوطه کنترل کرد. |
| کش دارای ۴ حالت مختلف است که توسط --vfs-cache-mode انتخاب میشوند. |
| هرچه حالت کش بالاتر باشد، rclone به بهای مصرف فضای دیسک، سازگارتر میشود. |
| توجه داشته باشید که فایلها تنها زمانی به ریموت بازنویسی (write back) میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه مورد دسترسی قرار نگرفته باشند. |
| اگر rclone بسته شود یا متوقف گردد در حالی که فایلهایی هنوز بارگذاری نشدهاند، این فایلها در اجرای بعدی rclone با همان گزینهها بارگذاری خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space توجه داشته باشید که کش ممکن است به دو دلیل از این سهمیهها فراتر رود: |
| نخست، زیرا بررسی آن تنها در هر --vfs-cache-poll-interval انجام میشود. |
| دوم، زیرا فایلهای باز را نمیتوان از کش بیرون راند (evict کرد). |
| هنگامی که محدودیت --vfs-cache-max-size یا |
| --vfs-cache-min-free-space رد شود، rclone ابتدا تلاش خواهد کرد فایلهایی را که کمترین دسترسی را داشتهاند از کش خارج کند. |
| دستور rclone از فایلهایی آغاز خواهد کرد که برای طولانیترین مدت مورد دسترسی قرار نگرفتهاند. |
| این راهبرد تخلیه کش کارآمد است و فایلهای مرتبطتر به احتمال بیشتری در کش باقی خواهند ماند. |
| گزینه --vfs-cache-max-age فایلها را پس از سپری شدن زمان تعیینشده از آخرین دسترسی، از کش خارج میکند؛ این بر مبنای زمان دسترسی است، نه زمانی که فایل برای نخستین بار به کش افزوده شده است. |
| مقدار پیشفرض ۱ ساعت فایلهایی را که به مدت ۱ ساعت به آنها دسترسی پیدا نشده باشد از کش خارج میکند. |
| هنگامی که به یک فایل کششده دسترسی پیدا شود، تایمر ۱ ساعته به ۰ بازنشانی شده و پیش از خارج کردن، ۱ ساعت دیگر منتظر میماند. |
| زمان را با نشانهگذاری استاندارد، s، m، h، d، w مشخص کنید. |
| اگر از --vfs-cache-mode > off استفاده میکنید، شما نباید دو نمونه از rclone را با استفاده از یک کش VFS یکسان همراه با ریموتهای یکسان یا همپوشان اجرا کنید. |
| انجام این کار بالقوه میتواند باعث خرابی دادهها شود. |
| میتوانید با اختصاص سلسلهمراتب کش مجزا به هر rclone از طریق --cache-dir، این مشکل را دور بزنید. |
| اگر ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off |
| در این حالت (پیشفرض)، حافظه موقت (cache) مستقیماً از ریموت خوانده و مستقیماً روی ریموت مینویسد، بدون اینکه چیزی را روی دیسک ذخیره کند. |
| این بدان معناست که برخی از عملیات امکانپذیر نخواهند بود: |
| • 2 |
| فایلها نمیتوانند همزمان برای هر دو حالت خواندن و نوشتن باز شوند |
| • 2 |
| فایلهای باز شده برای نوشتن، قابلیت پیمایش (seek) ندارند |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC در آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده برای خواندن با O_TRUNC، بهصورت فقط-نوشتنی (write only) باز خواهند شد |
| • 2 |
| فایلهای باز شده فقط برای نوشتن، بهگونهای رفتار میکنند که گویی O_TRUNC تعیین شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| در صورت شکست بارگذاری (upload)، تلاش مجدد امکانپذیر نخواهد بود |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای خواندن و نوشتن روی دیسک بافر میشوند. |
| این بدان معناست که فایلهای باز شده برای نوشتن سازگاری بسیار بیشتری خواهند داشت، اما کمترین فضا را از دیسک مصرف میکند. |
| این عملیات امکانپذیر نیستند: |
| • 2 |
| فایلهای باز شده فقط برای نوشتن، قابلیت پیمایش (seek) ندارند |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC در آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده فقط برای نوشتن، O_APPEND و O_TRUNC را نادیده میگیرند |
| • 2 |
| در صورت شکست بارگذاری، تلاش مجدد امکانپذیر نخواهد بود |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده فقط برای خواندن همچنان مستقیماً از ریموت خوانده میشوند، اما فایلهای فقط-نوشتنی و خواندن/نوشتن ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمامی عملیات معمول سیستم فایل پشتیبانی کند. |
| اگر یک بارگذاری با شکست مواجه شود، تلاش مجدد در فواصل زمانی با افزایش نمایی تا حداکثر ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت تمامی خواندنها و نوشتنها به و از روی دیسک بافر میشوند. |
| هنگامی که دادهها از ریموت خوانده میشوند، آنها نیز روی دیسک بافر خواهند شد. |
| در این حالت فایلهای موجود در کش از نوع فایلهای تنک (sparse files) خواهند بود و rclone ردیابی خواهد کرد که کدام بخشها از فایلها را دانلود کرده است. |
| بنابراین اگر برنامهای تنها ابتدای هر فایل را بخواند، rclone فقط ابتدای فایل را بافر خواهد کرد. |
| این فایلها در کش با اندازه کامل خود به نظر میرسند، اما در واقع فایلهای تنک هستند که تنها دادههای دانلودشده در آنها وجود دارد. |
| این حالت باید از تمام عملیات عادی سیستم فایل پشتیبانی کند و در سایر موارد کاملاً مشابه --vfs-cache-mode writes عمل میکند. |
| هنگام خواندن یک فایل، rclone به اندازه --buffer-size بهعلاوه --vfs-read-ahead بایت به جلوتر را پیشخوانی خواهد کرد. |
| مقدار --buffer-size در حافظه اصلی بافر میشود، در حالی که --vfs-read-ahead روی دیسک بافر میگردد. |
| هنگام استفاده از این حالت، توصیه میشود که مقدار --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت لزوم، --vfs-read-ahead با مقداری بزرگ تنظیم گردد. |
| مهم: همه سیستمهای فایل از فایلهای تنک (sparse files) پشتیبانی نمیکنند. |
| بهویژه سیستمهای فایل FAT/exFAT از آن پشتیبانی نمیکنند. |
| اگر دایرکتوری حافظه موقت (cache) روی سیستم فایلی باشد که از فایلهای تنک پشتیبانی نمیکند، کارایی rclone به شدت تضعیف خواهد شد و در صورت شناسایی چنین سیستمی، یک پیام ERROR در لاگ ثبت میکند. |
| انگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از انگشتنگاری برای تشخیص اینکه آیا نسخه محلی فایل نسبت به فایل ریموت تغییر کرده است یا خیر استفاده میکنند. |
| اثرانگشتها از موارد زیر تشکیل میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان ویرایش (modification time) |
| • 2 |
| هش (hash) |
| در صورتی که بر روی شیء مورد نظر موجود باشند. |
| در برخی از بکاندها، خواندن بعضی از این مشخصهها کُند است (نیازمند یک فراخوانی API اضافه یا پردازش بیشتر به ازای هر شیء هستند). |
| بهعنوان مثال، hash در بکاندهای local و sftp کند است، زیرا آنها باید کل فایل را بخوانند و هش آن را محاسبه کنند؛ و modtime در بکاندهای s3، swift، ftp و qinqstor کند است زیرا برای دریافت آن نیاز به یک فراخوانی API اضافه دارند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone این عملیاتهای کند را در ایجاد اثرانگشت لحاظ نخواهد کرد. |
| این کار دقت انگشتنگاری را کاهش میدهد، اما سرعت آن را بسیار بالا میبرد و زمان باز شدن فایلهای کششده را بهبود میبخشد. |
| اگر یک کش vfs را روی بکاندهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که در صورت تغییر مقدار این پرچم، اثرانگشت فایلهای موجود در کش ممکن است باطل شود و فایلها باید مجدداً دانلود شوند..SS خواندن تکهای VFS (VFS Chunked Reading) |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را بهصورت تکهای میخواند. |
| بدین معنا که rclone به جای درخواست کل فایل، تکه مشخصشده را میخواند. |
| این کار میتواند با درخواستِ صرفاً تکههایی از ریموت که واقعاً خوانده میشوند، سهمیه دانلود مصرفی را برای برخی ریموتها کاهش دهد؛ هرچند به بهای افزایش تعداد درخواستها تمام میشود. |
| این پرچمها فرایند تقسیم به تکهها را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه دو برابر شدن تکه (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تقسیم به تکهها بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| برنامه rclone خواندن را با تکهای به اندازه |
| --vfs-read-chunk-size آغاز میکند و سپس با هر بار خواندن، اندازه را دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر از |
| --vfs-read-chunk-size باشد، اندازه تکه برای هر فایلِ باز |
| تنها تا زمانی دو برابر میشود که به مقدار مشخصشده برسد. |
| اگر مقدار آن "off" باشد (که حالت پیشفرض است)، محدودیت غیرفعال |
| بوده و اندازه تکه بدون محدودیت افزایش خواهد یافت. |
| با --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0 بخشهای زیر دانلود |
| خواهند شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و غیره. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه |
| بهصورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و به همین |
| ترتیب خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهای را غیرفعال میکند. |
| تکهها در حافظه بافر نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| برنامه rclone به تعداد --vfs-read-chunk-streams تکه با اندازه |
| --vfs-read-chunk-size را بهصورت همروند میخواند. |
| اندازه برای هر بار خواندن ثابت باقی خواهد ماند. |
| این کار عملکرد را در پیوندهای با تأخیر بالا یا پیوندهای با پهنای باند بسیار بالا |
| به ذخیرهسازهای شیء با کارایی بالا، به میزان چشمگیری بهبود میبخشد. |
| برای یافتن مقادیر بهینه |
| --vfs-read-chunk-size و --vfs-read-chunk-streams |
| مقداری آزمون و خطا نیاز خواهد بود، زیرا این مقادیر به backend مورد استفاده |
| و میزان تأخیر تا آن backend بستگی دارند. |
| برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطه شروع مناسب |
| میتواند --vfs-read-chunk-streams 16 و |
| --vfs-read-chunk-size 4M باشد. |
| در آزمایشها با AWS S3، کارایی تقریباً متناسب با تنظیم |
| --vfs-read-chunk-streams مقیاسپذیر بود. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز کار کند، اما بسته به |
| میزان تأخیر ممکن است برای دستیابی به توان عملیاتی مورد نظر، به |
| --vfs-read-chunk-streams بیشتری نیاز باشد. |
| عملکرد VFS (VFS Performance) |
| این پرچمها میتوانند برای فعال/غیرفعال کردن ویژگیهای VFS به دلایل |
| عملکردی یا دلایل دیگر استفاده شوند. |
| همچنین ویژگی خواندن تکهای را ببینید. |
| بهویژه S3 و Swift سود بسیار زیادی از پرچم |
| --no-modtime میبرند (یا از --use-server-modtime برای |
| اثری کمی متفاوت استفاده کنید)، زیرا هر بار خواندن زمان اصلاح نیازمند یک |
| تراکنش است. |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/دانلود. |
| --no-modtime عدم خواندن/نوشتن زمان اصلاح (میتواند سرعت را افزایش دهد). |
| --no-seek عدم اجازه پرش (seeking) در فایلها. |
| --read-only تنها اجازه دسترسی فقطخواندنی. |
| گاهی اوقات عملیات خواندن یا نوشتن بهصورت نامرتب به rclone تحویل داده میشوند. |
| rclone به جای پرش (seek)، مدت کوتاهی منتظر میماند تا عملیات خواندن |
| یا نوشتنِ بهترتیب و متوالی دریافت شود. |
| این پرچمها تنها در صورتی اثرگذار خواهند بود که از فایل کش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت زمان انتظار برای خواندن متوالی پیش از پرش (پیشفرض 20ms) |
| --vfs-write-wait duration مدت زمان انتظار برای نوشتن متوالی پیش از دادن خطا (پیشفرض 1s) |
| هنگام استفاده از کش نوشتن VFS (--vfs-cache-mode با مقدار |
| writes یا full)، پرچم سراسری --transfers را میتوان برای |
| تنظیم تعداد بارگذاریهای همزمانِ فایلهای تغییریافته از کش تنظیم کرد |
| (پرچم سراسری مرتبط --checkers هیچ تأثیری بر VFS ندارد). |
| --transfers int تعداد انتقالهای موازی فایل برای اجرا (پیشفرض 4) |
| بهطور پیشفرض VFS از پیوندهای نمادین پشتیبانی نمیکند. |
| با این حال این ویژگی میتواند با هر یک از پرچمهای زیر فعال شود: |
| --links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone |
| پیوند نمادین را به عنوان یک فایل معمولی با پسوندی ویژه ذخیره میکند. |
| بنابراین فایلی که به عنوان پیوند نمادین link-to-file.txt نمایش داده میشود، |
| در فضای ذخیرهسازی ابری به صورت link-to-file.txt.rclonelink ذخیره خواهد شد و |
| محتوای آن مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links ترجمه پیوندهای نمادین را بهطور سراسری در |
| rclone فعال میکند - این شامل هر backendای که از این مفهوم پشتیبانی کند (برای |
| نمونه backend محلی) میشود. |
| --vfs-links آن را فقط برای لایه VFS فعال میکند. |
| این طرح با طرح مورد استفاده توسط backend محلی با پرچم |
| --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای |
| rclone mount، rclone nfsmount و |
| rclone serve nfs طراحی شده است. |
| این ویژگی هنوز با سایر دستورهای rclone serve آزمایش |
| نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده |
| پیوندهای نمادین فرعی (sub-symlinks) را حل (resolve) کند. |
| برای نمونه، با فرض این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| سامانه VFS به درستی linked-dir را حل میکند اما |
| linked-dir/file.txt را حل نخواهد کرد. |
| این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند اما ممکن است برای |
| سایر دستورها مسئلهساز باشد. |
| توجه داشته باشید که یک گزارش مشکل باز درباره پشتیبانی از پیوندهای نمادین وجود دارد: |
| شماره ۸۲۴۵ (https://github.com/rclone/rclone/issues/8245) که مربوط به ایجاد فایلهای تکراری |
| هنگام انتقال پیوندهای نمادین به دایرکتوریهایی است که فایلی با همان نام در آنها وجود دارد (یا برعکس). |
| "حساسیت VFS به کوچک و بزرگی حروف (VFS Case Sensitivity)" |
| سامانههای فایل لینوکس به کوچک و بزرگی حروف حساس هستند (case-sensitive): دو فایل میتوانند |
| تنها در بزرگی و کوچکی حروف با یکدیگر تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً از همان حالت حروف استفاده شود. |
| سامانههای فایل در ویندوزهای نوین به کوچک و بزرگی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-preserving): |
| اگرچه فایلهای موجود را میتوان با استفاده از هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که |
| برای ایجاد فایل استفاده شده است حفظ میشود و برای پرسوجوی برنامهها در دسترس است. |
| دو فایل در یک دایرکتوری یکسان مجاز نیستند که تنها در بزرگی و کوچکی حروف متفاوت باشند. |
| معمولاً سامانههای فایل در macOS نسبت به کوچک و بزرگی حروف حساس نیستند. |
| امکان حساس کردن سامانههای فایل macOS به کوچک و بزرگی حروف وجود دارد، اما این |
| حالت پیشفرض نیست. |
| پرچم --vfs-case-insensitive در VFS نحوه مدیریت این دو حالت را توسط rclone |
| کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نامهای فایل را همانگونه که هستند به ریموت ارسال میکند. |
| اگر این پرچم "true" باشد (یا بدون مقدار در خط فرمان مشخص شود)، |
| rclone ممکن است یک «اصلاح» ("fixup") را مطابق توضیحات زیر انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف |
| متفاوت از آنچه روی ریموت ذخیره شده است مشخص کند. |
| اگر آرگومانی به یک فایل موجود با دقیقاً همان نام اشاره کند، حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با دقیقاً همان نام پیدا نشود اما نامی وجود داشته باشد که فقط در بزرگی و کوچکی حروف تفاوت دارد، rclone به صورت شفاف نام را اصلاح میکند. |
| این اصلاح تنها زمانی رخ میدهد که یک فایل موجود درخواست شده باشد. |
| حساسیت به کوچک و بزرگی حروف برای فایلهایی که به تازگی توسط rclone ایجاد میشوند، توسط ریموت زیرین کنترل میشود. |
| توجه داشته باشید که حساسیت به کوچک و بزرگی حروف در سیستمعامل اجراکننده rclone (مقصد) |
| ممکن است با حساسیت به حروف سامانه فایل ارائه شده توسط rclone (مبدأ) متفاوت باشد. |
| این پرچم کنترل میکند که آیا برای برآورده کردن نیاز مقصد، «اصلاح» ("fixup") انجام شود یا خیر. |
| اگر این پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی بستگی دارد که rclone روی آن اجرا میشود: |
| روی ویندوز و macOS برابر با "true" و در غیر این صورت "false". |
| اگر پرچم بدون مقدار مشخص شود، مقدار آن "true" خواهد بود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «اصلاح» مشابهی برای نامفایلهایی که |
| متفاوت هستند اما از نظر یونیکد همارز رسمی |
| (https://en.wikipedia.org/wiki/Unicode_equivalence) محسوب میشوند انجام شود یا خیر. |
| یکسانسازی یونیکد میتواند بهویژه برای کاربران macOS که فرم NFD را به جای فرم NFC |
| مورد استفاده در اکثر پلتفرمهای دیگر ترجیح میدهد، مفید باشد. |
| بنابراین اکیداً توصیه میشود در macOS مقدار پیشفرض |
| false حفظ شود تا از مشکلات سازگاری کدگذاری جلوگیری به عمل آید. |
| در رویداد (احتمالاً نادر) که یک دایرکتوری پس از اعمال یکسانسازی حالت حروف و یونیکد، چندین نام فایل تکراری داشته باشد، |
| پرچم --vfs-block-norm-dupes امکان پنهان کردن این موارد تکراری را فراهم میکند. |
| این قابلیت با افت کارایی همراه است، زیرا rclone هنگام فهرست کردن یک دایرکتوری باید تمام دایرکتوری را برای یافتن موارد تکراری پیمایش کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این حال، کاربران macOS ممکن است تمایل داشته باشند از آن استفاده کنند، زیرا در غیر این صورت اگر یک دایرکتوری ریموت شامل هر دو نسخه NFC و NFD از یک نام فایل باشد، وضعیت عجیبی رخ خواهد داد: |
| هر دو نسخه فایل در نقطه اتصالات (mount) قابل مشاهده خواهند بود و هر دو به نظر قابل ویرایش میآیند، اما ویرایش هر کدام از نسخهها در عمل در پسزمینه تنها باعث ویرایش نسخه NFD میشود. |
| پرچم --vfs-block-norm-dupes با شناسایی این سناریو، پنهان کردن موارد تکراری، و ثبت یک خطا در گزارشها (مشابه روش مدیریت این موضوع در rclone sync)، از این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS (VFS Disk Options) |
| این پرچم به شما اجازه میدهد آمار مربوط به سیستم فایل را به صورت دستی تنظیم کنید. |
| این قابلیت زمانی که این آمار نتوانند به صورت خودکار به درستی خوانده شوند، میتواند مفید باشد. |
| --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) |
| گزارش جایگزین بایتهای مصرفشده (Alternate report of used bytes) |
| برخی backendها، بهویژه S3، مقدار بایتهای استفادهشده را گزارش نمیکنند. |
| اگر نیاز دارید این اطلاعات هنگام اجرای df روی سیستم فایل در دسترس باشد، پرچم --vfs-used-is-size را به rclone ارسال کنید. |
| با تنظیم این پرچم، rclone به جای اتکا به backend برای گزارش این اطلاعات، تمام remote را مشابه rclone size اسکن کرده و فضای کل مصرفشده را خودش محاسبه میکند. |
| هشدار: برخلاف rclone size، این پرچم فیلترها را نادیده میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است باعث فراخوانیهای مکرر API و تحمیل هزینههای اضافی شود. |
| از آن به عنوان آخرین راهحل و تنها همراه با کشکردن (caching) استفاده کنید. |
| فراداده VFS (VFS Metadata) |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید VFS را طوری تنظیم کنید که فایلهای حاوی فراداده (https://rclone.org/docs/#metadata) را به صورت یک شیء JSON در معرض دسترسی قرار دهد. |
| این فایلها در فهرست دایرکتوری نمایش داده نمیشوند، اما میتوان روی آنها stat اجرا کرد و آنها را باز نمود، و پس از انجام این کار، تا زمان منقضی شدن حافظه موقت (cache) دایرکتوری، در فهرست دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی از backendها فراداده ایجاد نمیکنند مگر اینکه پرچم --metadata را ارسال کنید. |
| برای مثال، با استفاده از rclone mount همراه با --metadata --vfs-metadata-extension .metadata خواهیم داشت: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد فراداده باشد به صورت {} بازگردانده میشود و اگر در خواندن فراداده خطایی رخ دهد، خطا به صورت {"error":"error string"} بازگردانده خواهد شد. |
| پروکسی احراز هویت (Auth Proxy) |
| اگر پارامتر --auth-proxy /path/to/program را تعیین کنید، rclone از آن برنامه برای ساخت آنی backendها استفاده خواهد کرد که سپس برای احراز هویت درخواستهای ورودی به کار میروند. |
| این سازوکار از یک پروتکل ساده مبتنی بر JSON با ورودی روی STDIN و خروجی روی STDOUT استفاده میکند. |
| لطفاً توجه داشته باشید: گزینههای --auth-proxy و --authorized-keys نمیتوانند همزمان استفاده شوند؛ اگر --auth-proxy تنظیم شده باشد، گزینه کلیدهای مجاز نادیده گرفته خواهد شد. |
| یک برنامه نمونه در مسیر bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py) در کد منبع rclone موجود است. |
| وظیفه این برنامه این است که user و pass را از ورودی دریافت کرده و آنها را به پیکربندی یک backend در STDOUT با قالب JSON تبدیل کند. |
| این پیکربندی، هرگونه پارامتر پیشفرض مربوط به backend را به همراه خواهد داشت، اما از پیکربندیهای حاصل از متغیرهای محیطی یا گزینههای خط فرمان استفاده نخواهد کرد - ساخت یک پیکربندی کامل، وظیفه برنامه پروکسی است. |
| این پیکربندی تولیدشده باید شامل این پارامتر اضافی باشد: |
| • 2 |
| _root - ریشه مورد استفاده برای backend |
| و میتواند شامل این پارامترها باشد: |
| • 2 |
| _obscure - رشتههای جداشده با ویرگول برای پارامترهایی که باید مبهمسازی شوند |
| • 2 |
| _secret_access_key - کلید مخفی برای احراز هویت access key در S3 (پایین را ببینید) |
| اگر احراز هویت با گذرواژه توسط کلاینت استفاده شده باشد، ورودی به فرایند پروکسی (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "pass": "mypassword", |
| "client_ip": "192.168.1.1" |
| } |
| اگر احراز هویت با کلید عمومی (public-key) توسط کلاینت استفاده شده باشد، ورودی به فرایند پروکسی (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf", |
| "client_ip": "192.168.1.1" |
| } |
| اگر کلاینت با یک access key مربوط به S3 احراز هویت کند (rclone serve s3)، کلاینت هرگز کلید مخفی (secret) خود را ارسال نمیکند، بلکه تنها امضای ایجادشده توسط آن را میفرستد؛ بنابراین ورودی تنها شامل شناسه access key به عنوان user است، بدون هیچ pass یا public_key: |
| { |
| "user": "AKIAIOSFODNN7EXAMPLE", |
| "client_ip": "192.168.1.1" |
| } |
| در این حالت، برنامه باید secret access key مربوط به آن شناسه access key را پیدا کرده و آن را در فیلد _secret_access_key در خروجی بازگرداند. |
| سپس rclone از آن کلید مخفی برای تأیید اعتبار امضای روی درخواست استفاده میکند و در صورت عدم تطابق، درخواست را رد خواهد کرد. |
| این بدان معناست که برنامه پروکسی، مرجع اصلی (source of truth) هم برای اطلاعات احراز هویت و هم برای backend مربوط به آنها به شمار میرود. |
| اگر برنامه _secret_access_key را بازنگرداند یا آن را خالی برگرداند، درخواست رد میشود. |
| پاسخ برنامه برای یک شناسه access key کش میشود (پایین را ببینید)، اما حتی اگر شناسه access key به طور مداوم در حال استفاده باشد، پس از ۵ دقیقه مجدداً از برنامه استعلام میشود؛ بنابراین ابطال یک شناسه access key در برنامه ظرف ۵ دقیقه اعمال خواهد شد. |
| یک کلید مخفی بازچرخانیشده (rotated secret) با نخستین درخواستی که با آن امضا شده باشد، اثرگذار خواهد بود. |
| کلید client_ip نشانی IP را که کلاینت از آن متصل شده است، بدون شماره پورت، نگه میدارد. |
| از آن میتوان برای محدود کردن ورودها به شبکههایی خاص یا ثبت متمرکز تلاشهای احراز هویت استفاده کرد. |
| اگر کلاینت فاقد نشانی IP باشد (برای مثال هنگام اتصال از طریق یک سوکت یونیکس)، این مقدار نادیده گرفته میشود. |
| توجه داشته باشید که اگر rclone پشت یک reverse proxy باشد، این نشانی مربوط به reverse proxy خواهد بود نه کلاینت اصلی. |
| و به عنوان یک مثال، خروجی زیر را روی STDOUT بازمیگرداند: |
| { |
| "type": "sftp", |
| "_root": "", |
| "_obscure": "pass", |
| "user": "me", |
| "pass": "mypassword", |
| "host": "sftp.example.com" |
| } |
| این بدین معنی است که یک backend برای SFTP بهصورت آنی (on the fly) برای user و pass/public_key بازگرداندهشده در خروجی به میزبان دادهشده ساخته خواهد شد. |
| توجه داشته باشید که از آنجا که _obscure روی pass تنظیم شده است، rclone پیش از ایجاد backend پارامتر pass را مبهمسازی (obscure) میکند (که این برای backendهای sftp الزامی است). |
| این برنامه میتواند user ارائهشده را به هر نحوی دستکاری کند؛ برای نمونه جهت پراکسی کردن به چندین backend مختلف sftp، میتوانید user را برابر با user@example.com قرار دهید و سپس در خروجی مقدار host را به example.com و کاربر را به user تنظیم کنید. |
| از نظر امنیتی، احتمالاً تمایل خواهید داشت که host را به یک فهرست محدود مقید کنید. |
| یک حافظهٔ نهان (cache) داخلی از backendها بر اساس user، هش مربوط به pass یا public_key، و client_ip کلیدگذاری میشود. |
| این بدان معنی است که اگر گذرواژه یا کلید عمومی یک کاربر تغییر کند، کلاینت از یک آدرس IP جدید متصل شود، یا پراکسی پارامترهای پیکربندی متفاوتی را برگرداند (مانند چرخش api_key)، در درخواست بعدی بهجای استفادهٔ مجدد از مورد ذخیرهشده در حافظهٔ نهان، یک backend تازه ایجاد خواهد شد. |
| از این قابلیت میتوان برای ساخت پراکسیهای چندمنظوره برای هر نوع backend که rclone پشتیبانی میکند، استفاده کرد. |
| rclone serve http remote:path [flags] |
| "گزینهها (Options)" |
| --addr stringArray آدرس IPaddress:Port یا :Port برای متصل کردن سرور به آن (پیشفرض 127.0.0.1:8080) |
| --allow-origin string مبدأیی که درخواستهای میاندامنه (CORS) میتوانند از آن اجرا شوند |
| --auth-proxy string برنامهای برای ایجاد backend از روی اطلاعات احراز هویت |
| --baseurl string پیشوند برای نشانیهای URL - برای ریشه خالی بگذارید |
| --cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) |
| --client-ca string مرجع صدور گواهی (CA) کلاینت جهت اعتبارسنجی کلاینتها |
| --dir-cache-time Duration مدتزمان نگهداری مدخلهای دایرکتوری در حافظهٔ نهان (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --disable-dir-list غیرفعالسازی فهرست HTML دایرکتوری در درخواست GET برای یک دایرکتوری |
| --disable-zip غیرفعالسازی بارگیری فایل zip از دایرکتوریها |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای http |
| --htpasswd string یک فایل htpasswd - در صورت ارائه نشدن هیچ احراز هویتی انجام نمیشود |
| --key string کلید خصوصی TLS PEM |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --max-header-bytes int حداکثر اندازهٔ سرآیند درخواست (پیشفرض 4096) |
| --min-tls-version string حداقل نسخهٔ قابل قبول TLS (پیشفرض "tls1.0") |
| --no-checksum عدم مقایسهٔ چکسامها در بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان ویرایش (میتواند سرعت را افزایش دهد) |
| --no-seek عدم اجازه به جستجو و پرش (seeking) در فایلها |
| --pass string گذرواژه برای احراز هویت |
| --poll-interval Duration زمان انتظار بین بررسی دورهای برای تغییرات؛ باید کمتر از dir-cache-time باشد و فقط در remoteهای پشتیبانیشده کار میکند (تنظیم 0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --read-only فقط اجازهٔ دسترسی خواندنی |
| --realm string قلمرو (Realm) برای احراز هویت |
| --response-header stringArray تنظیم سرآیند HTTP برای همهٔ پاسخها، با بازنویسی مقادیر موجود |
| --salt string سالت (salt) هش کردن گذرواژه (پیشفرض "dlPL2MqE") |
| --server-read-timeout Duration مهلت زمانی خواندن دادهها توسط سرور (پیشفرض 1h0m0s) |
| --server-write-timeout Duration مهلت زمانی نوشتن دادهها توسط سرور (پیشفرض 1h0m0s) |
| --template string قالب سفارشی تعیینشده توسط کاربر |
| --uid uint32 بازنویسی فیلد uid تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تعیینشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) |
| --user string نام کاربری برای احراز هویت |
| --user-from-header string نام کاربری از سرآیند HTTP مشخصشده |
| --vfs-block-norm-dupes در صورت وجود نامهای فایل تکراری در همان دایرکتوری (پس از نرمالسازی)، ثبت خطا و پنهانکردن موارد تکراری (ممکن است هزینهٔ کارایی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء در حافظهٔ نهان (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازهٔ کل اشیاء در حافظهٔ نهان (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی حافظهٔ نهان (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت حافظهٔ نهان off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازهٔ زمانی بررسی حافظهٔ نهان برای اشیاء کهنه (پیشفرض 1m0s) |
| --vfs-case-insensitive در صورت پیدا نشدن نام فایل، یافتن مورد منطبق بدون حساسیت به حروف بزرگ و کوچک |
| --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثرانگشت سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدت زمان فعال نگهداشتن دستگیرهٔ فایل و بارگیرندهها پس از آخرین بستهشدن (پیشفرض 5s) |
| --vfs-links تبدیل symlinkها به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن فراداده از آن |
| --vfs-read-ahead SizeSuffix پیشخوانی اضافی فراتر از --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (chunk) (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix اگر بزرگتر از --vfs-read-chunk-size باشد، اندازهٔ تکه پس از هر بار خواندن دوبرابر میشود تا به سقف برسد ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration مدت زمان انتظار برای خواندن متوالی قبل از پرش (seek) (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی حافظهٔ نهان دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای اندازهٔ استفادهشده (Used) |
| --vfs-write-back Duration مدت زمان بازنویسی فایلها پس از آخرین استفاده هنگام بهکارگیری حافظهٔ نهان (پیشفرض 5s) |
| --vfs-write-wait Duration مدت زمان انتظار برای نوشتن متوالی پیش از اعلام خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "گزینههای فیلتر (Filter Options)" |
| پرچمها برای فیلتر کردن فهرست دایرکتوری |
| --delete-excluded حذف فایلهای روی مقصد که از همگامسازی استثنا شدهاند |
| --exclude stringArray کنار گذاشتن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (از - برای stdin) |
| --exclude-if-present stringArray کنار گذاشتن دایرکتوریها در صورت وجود نامفایل |
| --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (از - برای stdin) |
| --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ بدون پردازش خطوط (از - برای stdin) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ با جداکننده NUL (از - برای stdin) |
| -f, --filter stringArray افزودن یک قاعدهٔ فیلتر فایل |
| --filter-from stringArray خواندن الگوهای فیلتر فایل از یک فایل (از - برای stdin) |
| --hash-filter string افرازبندی نامفایلها بر اساس هش k/n یا تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (از - برای stdin) |
| --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار در ثانیه یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تنظیم، محدود کردن عمق بازگشت به این مقدار (پیشفرض -1) |
| --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار در KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray کنار گذاشتن فرادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (از - برای stdin) |
| --metadata-filter stringArray افزودن یک قاعدهٔ فیلتر فراداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر فراداده از یک فایل (از - برای stdin) |
| --metadata-include stringArray شامل کردن فرادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول فراداده از فایل (از - برای stdin) |
| --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار در ثانیه یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار در KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائهٔ یک |
| ریموت بر بستر یک پروتکل. |
| rclone serve nfs |
| ارائهٔ ریموت بهصورت یک مانت NFS |
| "خلاصه دستور (SYNOPSIS)" |
| ایجاد یک سرور NFS که ریموت دادهشده را روی شبکه ارائه میدهد. |
| این دستور یک سرور NFSv3 را برای ارائهٔ هرگونه ریموت rclone از طریق NFS پیادهسازی میکند. |
| هدف اصلی این دستور فعالسازی دستور |
| mount (https://rclone.org/commands/rclone_mount) در نسخههای جدید macOS |
| است که نصب FUSE در آنها بسیار دشوار است. |
| این سرور هیچگونه احراز هویتی را پیادهسازی نمیکند، بنابراین هر کلاینتی قادر |
| به دسترسی به دادهها خواهد بود. |
| برای محدود کردن دسترسی، میتوانید از serve nfs روی نشانی loopback استفاده کنید |
| یا به تونلهای امن (مانند SSH) متکی شوید یا از فایروال بهره ببرید. |
| به همین دلیل، بهطور پیشفرض یک درگاه TCP تصادفی انتخاب شده و |
| رابط loopback بهصورت پیشفرض برای نشانی شنود به کار میرود؛ به این معنا |
| که تنها برای ماشین محلی در دسترس است. |
| اگر میخواهید ماشینهای دیگر روی شبکهٔ محلی به مانت NFS دسترسی داشته باشند، |
| باید نشانی شنود و درگاه را با استفاده از پرچم |
| --addr مشخص کنید. |
| تغییر فایلها از طریق پروتکل NFS نیازمند حافظهپنهانسازی (کش) VFS است. |
| معمولاً برای اینکه بتوانید در نقطهٔ اتصال بنویسید، باید --vfs-cache-mode را |
| مشخص کنید (مقدار full توصیه میشود). |
| اگر حالت کش VFS را مشخص نکنید، اتصال بهصورت فقطخواندنی خواهد بود. |
| گزینهٔ --nfs-cache-type نوع کش هندلهای NFS را کنترل میکند. |
| این گزینه بهطور پیشفرض روی memory تنظیم است که در آن هندلهای جدید هنگام نیاز بهصورت |
| تصادفی تخصیص داده میشوند. |
| این موارد در حافظه ذخیره میشوند. |
| در صورت بازراهاندازی سرور، کش هندل از بین خواهد رفت و کلاینتهای متصل |
| NFS با خطاهای هندل منسوخ (stale handle) مواجه خواهند شد. |
| گزینهٔ --nfs-cache-type disk از کش هندل NFS روی دیسک استفاده میکند. |
| ابزار rclone مسیر شیء را هش کرده و آن را در فایلی با نام برگرفته از |
| هش ذخیره میکند. |
| این هشها روی دیسک و درون دایرکتوری کنترلشده توسط |
| --cache-dir ذخیره میشوند، یا اینکه دایرکتوری دقیق را میتوان با |
| --nfs-cache-dir مشخص کرد. |
| استفاده از این حالت بدین معناست که سرور NFS میتواند در هر زمان بدون |
| تأثیر منفی بر کلاینتهای متصل، بازراهاندازی شود. |
| گزینهٔ --nfs-cache-type symlink از نظر استفاده از کش روی دیسک شبیه به |
| --nfs-cache-type disk است، اما |
| ورودیهای کش بهصورت پیوندهای نمادین (symlink) نگهداری میشوند. |
| ابزار rclone از هندل فایل زیرین بهعنوان هندل NFS استفاده خواهد کرد |
| که این کار عملکرد را بهبود میبخشد. |
| از این نوع کش نمیتوان پشتیبانگیری و بازیابی انجام داد چرا که هندلهای |
| زیرین تغییر خواهند کرد. |
| این قابلیت فقط مخصوص لینوکس است. |
| این ویژگی نیازمند اجرای rclone با کاربر ریشه (root) یا با |
| مجوز CAP_DAC_READ_SEARCH است. |
| میتوانید با اجرای دستور زیر روی فایل اجرایی rclone، |
| آن را با این مجوز ویژه اجرا کنید: |
| sudo setcap cap_dac_read_search+ep /path/to/rclone. |
| گزینهٔ --nfs-cache-handle-limit بیشینهٔ تعداد هندلهای کششدهٔ NFS |
| نگهداریشده توسط گردانندهٔ کش را کنترل میکند. |
| این مقدار نباید بیش از حد پایین تنظیم شود، در غیر این صورت ممکن است هنگام تلاش برای |
| دسترسی به فایلها با خطا مواجه شوید. |
| پیشفرض آن 1000000 است، اما اگر مصرف منابع سیستم توسط سرور |
| باعث ایجاد مشکل شد، کاهش این حد را در نظر بگیرید. |
| این گزینه تنها توسط کش نوع memory به کار میرود. |
| برای ارائهٔ NFS روی شبکه از دستور زیر استفاده کنید: |
| rclone serve nfs remote: --addr 0.0.0.0:$PORT --vfs-cache-mode=full |
| این دستور درگاهی را مشخص میکند که میتواند در دستور mount به کار رود. |
| برای سوار کردن سرور در Linux/macOS، از دستور زیر استفاده کنید: |
| mount -t nfs -o port=$PORT,mountport=$PORT,tcp $HOSTNAME:/ path/to/mountpoint |
| که در آن $PORT همان شماره درگاهی است که در دستور |
| serve nfs استفاده شده و $HOSTNAME نشانی شبکهٔ |
| ماشینی است که serve nfs روی آن اجرا شده است. |
| کلاینتهای NFS همچنین میتوانند با قرار دادن یک زیردایرکتوری در مسیر مانت، |
| تنها همان زیردایرکتوری از ریموت ارائهشده را سوار کنند. |
| برای نمونه جهت سوار کردن تنها زیردایرکتوری photos/2024: |
| mount -t nfs -o port=$PORT,mountport=$PORT,tcp $HOSTNAME:/photos/2024 path/to/mountpoint |
| زیرمسیر درون ریموت ارائهشده ارزیابی میشود و باید به یک |
| دایرکتوری موجود اشاره داشته باشد (نه یک فایل یا پیوند نمادین). |
| مانتهای زیرمسیر یک قابلیت تسهیلاتی معادل سوار کردن / و |
| تغییر دایرکتوری هستند: آنها به همان VFS زیرین و همان هندلهای فایل |
| دسترسی مشترک دارند، بنابراین کلاینت را از همسطحها یا |
| والدینِ زیردایرکتوری سوارشده مجزا (ایزوله) نمیکنند. |
| اگر --vfs-metadata-extension در حال استفاده باشد، برای |
| --nfs-cache-type disk و --nfs-cache-type cache، |
| فایلهای فراداده دارای هندل فایل والد به همراه پسوند |
| 0x00, 0x00, 0x00, 0x01 خواهند بود. |
| این بدان معناست که در صورت تمایل میتوان آنها را مستقیماً از روی هندل فایل والد جستجو کرد. |
| این دستور تنها روی سکوهای Unix در دسترس است..SS "VFS - سامانه فایل مجازی (Virtual File System)" |
| این دستور از لایهٔ VFS استفاده میکند. |
| این لایه، اشیای ذخیرهسازی ابریِ مورداستفادهٔ rclone را به ساختاری تبدیل میکند که بسیار شبیه به یک سامانه فایل دیسکی عمل میکند. |
| اشیای ذخیرهسازی ابری ویژگیهای متعددی دارند که مانند فایلهای روی دیسک نیستند؛ برای نمونه نمیتوانید اندازهٔ آنها را افزایش دهید یا در میانهشان داده بنویسید، بنابراین لایهٔ VFS باید با این مسائل مقابله کند. |
| از آنجا که روش یگانهای برای انجام این کار وجود ندارد، گزینههای گوناگونی تعبیه شده است که در ادامه توضیح داده میشوند. |
| لایهٔ VFS همچنین یک حافظهٔ پنهان دایرکتوری را پیادهسازی میکند؛ این لایه اطلاعات مربوط به فایلها و دایرکتوریها (اما نه محتوای دادهها) را در حافظه ذخیره (کش) میکند. |
| "حافظهٔ پنهان دایرکتوری در VFS (VFS Directory Cache)" |
| با استفاده از پرچم --dir-cache-time میتوانید مدتزمانی را که یک دایرکتوری باید بهروز در نظر گرفته شود و نیازی به تازهسازی آن از backend نباشد، کنترل کنید. |
| تغییراتی که از طریق VFS اعمال میشوند بلافاصله نمایان شده یا باعث بیاعتباری حافظهٔ پنهان میشوند. |
| --dir-cache-time duration Time to cache directory entries for (default 5m0s) |
| --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) |
| با این وجود، تغییراتی که مستقیماً از طریق رابط وب یا نسخهٔ دیگری از rclone در فضای ذخیرهسازی ابری ایجاد شوند، در صورتی که backend پیکربندیشده از پایش دورهای (polling) برای تغییرات پشتیبانی نکند، تنها پس از انقضای حافظهٔ پنهان دایرکتوری شناسایی خواهند شد. |
| اگر backend از پایش تغییرات پشتیبانی کند، این تغییرات در بازهٔ زمانی پایش (polling interval) دریافت خواهند شد. |
| میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا تمام حافظههای پنهان دایرکتوری را بدون در نظر گرفتن قدمت آنها تخلیه کند. |
| با فرض اینکه تنها یک نمونه از rclone در حال اجرا باشد، میتوانید حافظهٔ پنهان را به این صورت بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را با قابلیت کنترل از راه دور (remote control) پیکربندی کنید، میتوانید از rclone rc برای تخلیهٔ کامل حافظهٔ پنهان دایرکتوری استفاده کنید: |
| rclone rc vfs/forget |
| یا برای فایلها یا دایرکتوریهای مشخص: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| "بافربندی فایل در VFS (VFS File Buffering)" |
| پرچم --buffer-size مقدار حافظهای را که برای بافرکردن پیشاپیش دادهها استفاده میشود، تعیین میکند. |
| هر فایلِ باز همواره تلاش میکند مقدار دادهٔ مشخصشده را در حافظه نگه دارد. |
| دادههای بافرشده به یک فایل باز محدود بوده و به اشتراک گذاشته نخواهند شد. |
| این پرچم یک حد بالا (سقف) برای حافظهٔ مورداستفاده به ازای هر فایل باز تعیین میکند. |
| بافر تنها برای دادههایی حافظه مصرف میکند که بارگیری شدهاند اما هنوز خوانده نشدهاند. |
| اگر بافر خالی باشد، تنها مقدار ناچیزی از حافظه مصرف خواهد شد. |
| حداکثر حافظهٔ استفادهشده توسط rclone برای بافربندی میتواند تا --buffer-size * open files برسد. |
| "حافظهٔ پنهان فایل در VFS (VFS File Caching)" |
| این پرچمها گزینههای حافظهٔ پنهان فایل در VFS را کنترل میکنند. |
| حافظهٔ پنهان فایل برای اینکه لایهٔ VFS با یک سامانه فایل معمولی سازگار به نظر برسد ضروری است. |
| این قابلیت را میتوان به بهای از دست دادن بخشی از سازگاری غیرفعال کرد. |
| بهعنوان مثال، اگر بخواهید بهطور همزمان از یک فایل بخوانید و در آن بنویسید، باید حافظهٔ پنهان VFS را فعال کنید. |
| برای جزئیات بیشتر به ادامهٔ متن مراجعه کنید. |
| توجه داشته باشید که حافظهٔ پنهان VFS از backend حافظهٔ پنهان مجزاست و ممکن است دریابید که به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string Directory rclone will use for caching. |
| --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) |
| --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) |
| --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) |
| --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) |
| --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) |
| --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) |
| اگر rclone با گزینهٔ -vv اجرا شود، مسیر حافظهٔ پنهان فایل را چاپ میکند. |
| فایلها در ناحیهٔ حافظهٔ پنهان کاربری ذخیره میشوند که وابسته به سیستمعامل است، اما میتوان آن را با --cache-dir یا با تنظیم متغیر محیطی مناسب مدیریت کرد. |
| این حافظهٔ پنهان ۴ حالت مختلف دارد که با --vfs-cache-mode انتخاب میشوند. |
| هرچه حالت حافظهٔ پنهان بالاتر باشد، سازگاری rclone بیشتر میشود اما به بهای مصرف فضای دیسک تمام خواهد شد. |
| توجه داشته باشید که فایلها تنها زمانی در مقصد (remote) بازنویسی میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه مورد دسترسی قرار نگرفته باشند. |
| اگر rclone با وجود فایلهایی که هنوز بارگذاری نشدهاند بسته شود یا با خطا متوقف گردد، این فایلها در اجرای بعدی rclone با همان پرچمها بارگذاری خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا --vfs-cache-min-free-space، توجه داشته باشید که حجم حافظهٔ پنهان ممکن است به دو دلیل از این سهمیهها فراتر رود. |
| نخست به این دلیل که این مقدار تنها در فواصل زمانیِ --vfs-cache-poll-interval بررسی میشود. |
| دوم به این دلیل که فایلهای باز را نمیتوان از حافظهٔ پنهان خارج کرد (evict نمود). |
| هنگامی که حجم از --vfs-cache-max-size یا --vfs-cache-min-free-space فراتر رود، rclone ابتدا تلاش میکند فایلهایی را که کمترین دسترسی را داشتهاند از حافظهٔ پنهان خارج کند. |
| rclone کار را با فایلهایی آغاز میکند که برای طولانیترین مدت مورد دسترسی قرار نگرفتهاند. |
| این راهبرد تخلیهٔ حافظهٔ پنهان کارآمد است و احتمالاً فایلهای مرتبطتر در حافظهٔ پنهان باقی خواهند ماند. |
| گزینهٔ --vfs-cache-max-age فایلها را پس از سپری شدن زمان مشخصشده از آخرین دسترسی، از حافظهٔ پنهان خارج میکند؛ این سازوکار بر اساس زمان آخرین دسترسی است، نه زمانی که فایل برای نخستین بار به حافظهٔ پنهان اضافه شده است. |
| مقدار پیشفرض ۱ ساعت شروع به خارج کردن فایلهایی از حافظهٔ پنهان میکند که به مدت ۱ ساعت مورد دسترسی قرار نگرفتهاند. |
| هنگامی که به یک فایل موجود در حافظهٔ پنهان دسترسی پیدا شود، زمانسنج ۱ ساعته به ۰ بازنشانی میشود و پیش از خارج کردن مجدد، ۱ ساعت دیگر منتظر میماند. |
| زمان را با نمادهای استاندارد s، m، h، d و w مشخص کنید. |
| در صورت استفاده از --vfs-cache-mode > off، شما نباید دو نسخه از rclone را با یک حافظهٔ پنهان VFS مشترک و با remoteهای یکسان یا دارای همپوشانی اجرا کنید. |
| انجام این کار بالقوه میتواند باعث خرابی دادهها شود. |
| میتوانید با اختصاص دادن سلسلهمراتب حافظهٔ پنهان اختصاصی به هر rclone از طریق --cache-dir این مشکل را دور بزنید. |
| اگر remoteهای مورداستفاده با یکدیگر تداخل و همپوشانی نداشته باشند، نیازی به نگرانی در این مورد ندارید..SS --vfs-cache-mode off |
| در این حالت (پیشفرض)، کش مستقیماً از remote میخواند و بدون کشکردن هیچ دادهای روی دیسک، مستقیماً روی remote مینویسد. |
| این بدان معناست که برخی عملیات امکانپذیر نخواهند بود: |
| • 2 |
| فایلها را نمیتوان همزمان هم برای خواندن و هم برای نوشتن باز کرد |
| • 2 |
| فایلهای باز شده برای نوشتن امکان جستجو (seek) ندارند |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید پرچم O_TRUNC روی آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده برای خواندن با O_TRUNC به صورت فقط-نوشتنی باز خواهند شد |
| • 2 |
| فایلهای باز شده به صورت فقط-نوشتنی طوری رفتار خواهند کرد که گویی O_TRUNC اعمال شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| در صورت شکست در بارگذاری، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای خواندن و نوشتن روی دیسک بافر میشوند. |
| این بدان معناست که فایلهای باز شده برای نوشتن سازگاری بسیار بیشتری خواهند داشت، اما حداقل فضای دیسک مصرف میشود. |
| این عملیات امکانپذیر نیستند: |
| • 2 |
| فایلهای باز شده به صورت فقط-نوشتنی امکان جستجو (seek) ندارند |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید پرچم O_TRUNC روی آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده به صورت فقط-نوشتنی O_APPEND و O_TRUNC را نادیده خواهند گرفت |
| • 2 |
| در صورت شکست در بارگذاری، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده به صورت فقط-خواندنی همچنان مستقیماً از remote خوانده میشوند؛ فایلهای فقط-نوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمام عملیات عادی سیستمفایل پشتیبانی کند. |
| در صورت شکست بارگذاری، تلاش مجدد با فواصل زمانیِ بهطور تصاعدی افزایشی تا سقف ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت، تمام عملیات خواندن و نوشتن از دیسک و به دیسک بافر میشوند. |
| هنگامی که دادهها از remote خوانده میشوند نیز روی دیسک بافر خواهند شد. |
| در این حالت، فایلهای موجود در کش از نوع sparse files (فایلهای تُنُک) خواهند بود و rclone ردیابی خواهد کرد که کدام بخشها از فایلها دانلود شدهاند. |
| بنابراین اگر برنامهای فقط ابتدای هر فایل را بخواند، rclone تنها ابتدای فایل را بافر خواهد کرد. |
| این فایلها در کش با اندازه کامل خود نمایش داده میشوند، اما فایلهای تُنُک (sparse files) خواهند بود و تنها دادههایی که دانلود شدهاند در آنها وجود دارند. |
| این حالت باید از تمام عملیات عادی سیستمفایل پشتیبانی کند و در باقی موارد مشابه --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازه --buffer-size به علاوه --vfs-read-ahead بایت جلوتر را پیشخوانی میکند. |
| مقدار --buffer-size در حافظه بافر میشود در حالی که --vfs-read-ahead روی دیسک بافر میگردد. |
| هنگام استفاده از این حالت، توصیه میشود که --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز --vfs-read-ahead بزرگتر تعیین گردد. |
| مهم: همه سیستمفایلها از sparse files پشتیبانی نمیکنند؛ بهویژه سامانههای FAT/exFAT از آن پشتیبانی ندارند. |
| اگر دایرکتوری کش روی سیستمفایلی قرار داشته باشد که از sparse files پشتیبانی نمیکند، کارایی rclone به شدت افت خواهد کرد و در صورت تشخیص چنین موردی، یک پیام خطای ERROR ثبت میکند. |
| انگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از انگشتنگاری استفاده میکنند تا بررسی کنند آیا نسخه فایل محلی نسبت به فایل روی remote تغییر کرده است یا خیر. |
| اثر انگشتها از موارد زیر ساخته میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان آخرین تغییر (modification time) |
| • 2 |
| هش (hash) |
| در صورتی که روی یک شیء موجود باشند. |
| در برخی بکاندها، خواندن برخی از این ویژگیها کُند است (به ازای هر شیء به یک فراخوانی API اضافی یا پردازش بیشتر نیاز دارند). |
| برای مثال، ویژگی hash در بکاندهای local و sftp کند است زیرا آنها باید کل فایل را بخوانند و هش آن را محاسبه کنند؛ و modtime در بکاندهای s3، swift، ftp و qinqstor کند است زیرا برای دریافت آن نیاز به انجام یک فراخوانی API اضافی دارند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیات کُند را در اثر انگشت لحاظ نخواهد کرد. |
| این کار از دقت انگشتنگاری میکاهد اما سرعت آن را به میزان زیادی افزایش داده و زمان باز شدن فایلهای کششده را بهبود میبخشد. |
| اگر یک کش vfs را روی بکاندهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که با تغییر مقدار این پرچم، ممکن است اثر انگشت فایلهای موجود در کش نامعتبر شده و نیاز به دانلود مجدد فایلها باشد..SS خواندن تکهای در VFS |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را به صورت تکهای (chunk) دریافت میکند. |
| این بدان معناست که rclone به جای درخواست کل فایل، تنها تکهٔ مشخصشده را میخواند. |
| این کار میتواند با درخواست دادن تنها همان تکههایی از ریموت که واقعاً خوانده میشوند، سهمیهٔ دانلود مصرفی را برای برخی ریموتها کاهش دهد؛ هرچند این امر به بهای افزایش تعداد درخواستها تمام میشود. |
| این پرچمها رفتار تکهتکه کردن را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ به صورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه دو برابر شدن تکهها (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تکهتکه کردن بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| برنامهٔ rclone خواندن را با تکهای به اندازهٔ |
| --vfs-read-chunk-size آغاز میکند و سپس با هر بار خواندن، این اندازه را دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر |
| از --vfs-read-chunk-size باشد، اندازهٔ تکه برای هر فایلِ باز |
| تنها تا زمانی دو برابر میشود که به مقدار مشخصشده برسد. |
| اگر این مقدار "off" باشد (که حالت پیشفرض است)، محدودیت غیرفعال |
| بوده و اندازهٔ تکهها به طور نامحدود افزایش مییابد. |
| با --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0، بخشهای زیر دانلود خواهند شد: |
| 0-100M، 100M-200M، 200M-300M، 300M-400M و به همین ترتیب. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه |
| 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و الی آخر خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهای را غیرفعال میکند. |
| تکهها در حافظه بافر نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| برنامهٔ rclone تعداد --vfs-read-chunk-streams تکه با اندازهٔ |
| --vfs-read-chunk-size را به طور همزمان میخواند. |
| اندازه برای هر بار خواندن ثابت باقی خواهد ماند. |
| این کار کارایی را روی اتصالات با تأخیر زیاد یا اتصالات با پهنای باند بسیار بالا به ذخیرهسازهای شیء با کارایی بالا به طور چشمگیری بهبود میبخشد. |
| برای یافتن مقادیر بهینهٔ --vfs-read-chunk-size و |
| --vfs-read-chunk-streams نیاز به مقداری آزمون و خطا خواهد بود، |
| چرا که این مقادیر به بکاند (backend) مورد استفاده و میزان تأخیر تا آن بستگی دارند. |
| برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطهٔ شروع منطقی میتواند |
| --vfs-read-chunk-streams 16 و --vfs-read-chunk-size 4M باشد. |
| در آزمایشهای انجامشده با AWS S3، کارایی تقریباً متناسب با مقدار تنظیمشدهٔ |
| --vfs-read-chunk-streams مقیاسپذیر بود. |
| تنظیمات مشابه باید برای اتصالات با تأخیر بالا نیز کار کند، اما بسته به میزان |
| تأخیر، ممکن است برای دستیابی به توان عملیاتی به مقادیر بیشتری از |
| --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS |
| این پرچمها میتوانند برای فعال یا غیرفعال کردن قابلیتهای VFS به دلایل |
| کارایی یا موارد دیگر استفاده شوند. |
| همچنین قابلیت خواندن تکهای را ببینید. |
| بهویژه S3 و Swift سود بسیار زیادی از پرچم |
| --no-modtime میبرند (یا برای تأثیری کمی متفاوت از |
| --use-server-modtime استفاده کنید)، زیرا هر بار خواندنِ زمان |
| تغییر، یک تراکنش مجزا مصرف میکند. |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/دانلود. |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد). |
| --no-seek عدم اجازه پرش (seeking) در فایلها. |
| --read-only تنها اجازه دسترسی فقطخواندنی. |
| گاهی اوقات خواندنها یا نوشتنها خارج از ترتیب به rclone تحویل داده میشوند. |
| به جای پرش (seek)، rclone مدت زمان کوتاهی منتظر میماند تا خواندن یا نوشتنِ |
| مرتب و متوالی بعدی از راه برسد. |
| این پرچمها تنها زمانی تأثیرگذارند که از فایل کش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت زمان انتظار برای خواندن متوالی پیش از پرش (پیشفرض 20ms) |
| --vfs-write-wait duration مدت زمان انتظار برای نوشتن متوالی پیش از بروز خطا (پیشفرض 1s) |
| هنگام استفاده از کش نوشتن VFS (مقدار writes یا full برای |
| --vfs-cache-mode)، میتوان پرچم سراسری --transfers را |
| برای تنظیم تعداد بارگذاریهای موازی فایلهای تغییریافته از کش تعیین کرد |
| (پرچم سراسری مرتبط --checkers هیچ تأثیری بر VFS ندارد). |
| --transfers int تعداد انتقالهای همزمان فایل (پیشفرض 4) |
| بهطور پیشفرض VFS از پیوندهای نمادین پشتیبانی نمیکند. |
| با این حال این ویژگی میتواند با هر یک از پرچمهای زیر فعال شود: |
| --links Translate symlinks to/from regular files with a '.rclonelink' extension. |
| --vfs-links Translate symlinks to/from regular files with a '.rclonelink' extension for the VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را به عنوان یک فایل عادی با یک پسوند ویژه ذخیره میکند. |
| بنابراین فایلی که به عنوان یک پیوند نمادین با نام link-to-file.txt دیده میشود، در فضای ابری به صورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links ترجمهٔ پیوندهای نمادین را بهصورت سراسری در rclone فعال میکند - این شامل هر بکاندی (backend) که از این مفهوم پشتیبانی کند (برای نمونه بکاند محلی) میشود. |
| --vfs-links تنها آن را برای لایهٔ VFS فعال مینماید. |
| این سازوکار با روش مورد استفاده توسط بکاند محلی با پرچم --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای دستورهای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است. |
| این پرچم هنوز با سایر دستورهای rclone serve آزمایش نشده است. |
| یکی از محدودیتهای پیادهسازی کنونی این است که انتظار دارد فراخواننده، پیوندهای فرعی (sub-symlinks) را تحلیل (resolve) کند. |
| برای نمونه، با فرض این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| سامانهٔ VFS پیوند linked-dir را بهدرستی تحلیل میکند، اما linked-dir/file.txt را خیر. |
| این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند، اما ممکن است برای دستورهای دیگر مسئلهساز باشد. |
| توجه داشته باشید که در پشتیبانی از پیوندهای نمادین یک مسئلهٔ حلنشده (گزارش باگ #8245 در https://github.com/rclone/rclone/issues/8245) وجود دارد که هنگام انتقال پیوندهای نمادین به دایرکتوریهایی که فایلی با همان نام در آنها وجود دارد (یا برعکس)، باعث ایجاد فایلهای تکراری میشود. |
| "حساسیت به بزرگی و کوچکی حروف در VFS (VFS Case Sensitivity)" |
| فایلسیستمهای لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند صرفاً در بزرگی و کوچکی حروف تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً همان حالت حروف استفاده شود. |
| فایلسیستمها در ویندوز مدرن به بزرگی و کوچکی حروف حساس نیستند ولی حالت حروف را حفظ میکنند (case-insensitive but case-preserving): هرچند فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که برای ساخت فایل استفاده شده است حفظ میشود و برنامهها میتوانند از آن پرسوجو کنند. |
| مجاز نیست که دو فایل در یک دایرکتوری یکسان صرفاً در بزرگی و کوچکی حروف با یکدیگر تفاوت داشته باشند. |
| معمولاً فایلسیستمها در macOS به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن فایلسیستمهای macOS به بزرگی و کوچکی حروف وجود دارد، اما این حالت پیشفرض نیست. |
| پرچم --vfs-case-insensitive در VFS نحوهٔ رفتار rclone با این دو وضعیت را کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نام فایلها را همانگونه که هست به ریموت ارسال میکند. |
| اگر این پرچم "true" باشد (یا بدون مقدار در خط فرمان مشخص شود)، rclone ممکن است یک «اصلاح» ("fixup") را مطابق آنچه در ادامه توضیح داده شده انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف متفاوت از آنچه روی ریموت ذخیره شده است مشخص کند. |
| اگر آرگومانی به یک فایل موجود با دقیقاً همان نام اشاره کند، حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با دقیقاً همان نام پیدا نشود اما نامی وجود داشته باشد که تنها در بزرگی و کوچکی حروف تفاوت دارد، rclone بهطور شفاف نام را اصلاح میکند. |
| این اصلاح تنها زمانی رخ میدهد که یک فایل موجود درخواست شود. |
| حساسیت به بزرگی و کوچکی حروف برای نام فایلهایی که به تازگی توسط rclone ایجاد میشوند، توسط ریموت زیرین کنترل میشود. |
| توجه داشته باشید که حساسیت سیستمعامل اجراکنندهٔ rclone (مقصد) به بزرگی و کوچکی حروف ممکن است با حساسیت فایلسیستم ارائهشده توسط rclone (مبدأ) متفاوت باشد. |
| این پرچم کنترل میکند که آیا برای برآورده کردن نیازهای مقصد، «اصلاح» ("fixup") انجام شود یا خیر. |
| اگر این پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی که rclone روی آن اجرا میشود بستگی خواهد داشت: "true" در Windows و macOS، و در غیر این صورت "false". |
| اگر پرچم بدون مقدار ارائه شود، برابر با "true" خواهد بود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «اصلاح» ("fixup") مشابهی برای نامفایلهایی که متفاوت هستند اما از نظر یونیکد همارزی کانونی دارند (https://en.wikipedia.org/wiki/Unicode_equivalence) انجام شود یا خیر. |
| عادیسازی یونیکد (Unicode normalization) میتواند بهویژه برای کاربران macOS سودمند باشد، چرا که این سیستمعامل قالب NFD را به قالب NFC که در اکثر پلتفرمهای دیگر استفاده میشود ترجیح میدهد. |
| بنابراین برای جلوگیری از بروز مشکلات سازگاری در کدگذاری، اکیداً توصیه میشود که در macOS مقدار پیشفرض false حفظ شود. |
| در رویداد (احتمالاً نادر) وجود چندین نامفایل تکراری در یک دایرکتوری پس از اعمال عادیسازی بزرگی و کوچکی حروف و یونیکد، پرچم --vfs-block-norm-dupes امکان پنهان کردن این موارد تکراری را فراهم میکند. |
| این امر با کاهش کارایی همراه است، چرا که rclone هنگام فهرست کردن یک دایرکتوری باید تمام آن را برای یافتن موارد تکراری بررسی کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این وجود، کاربران macOS ممکن است استفاده از آن را در نظر داشته باشند، چرا که در غیر این صورت، اگر یک دایرکتوری در ریموت شامل هر دو نسخهٔ NFC و NFD از یک نامفایل باشد، وضعیت نامطلوبی رخ میدهد: هر دو نسخه از فایل در مانت (mount) قابل مشاهده خواهند بود و هر دو به نظر قابل ویرایش میآیند، اما ویرایش هر یک از نسخهها در پشت صحنه در عمل فقط نسخهٔ NFD را ویرایش میکند. |
| پرچم --vfs-block-norm-dupes با شناسایی این سناریو، پنهان کردن موارد تکراری و ثبت خطا در گزارش، از این سردرگمی جلوگیری میکند (مشابه نحوهٔ برخورد با این موضوع در rclone sync)..SS گزینههای دیسک VFS |
| این پرچم به شما امکان میدهد آمار مربوط به سیستم فایل را بهصورت دستی تنظیم کنید. |
| این قابلیت میتواند زمانی که این آمار بهصورت خودکار و صحیح خوانده نمیشوند، مفید باشد. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای مصرفشده |
| برخی از backendها، بهویژه S3، میزان بایتهای استفادهشده را گزارش نمیدهند. |
| اگر نیاز دارید هنگام اجرای df روی سیستم فایل این اطلاعات در دسترس باشند، پرچم --vfs-used-is-size را به rclone ارسال کنید. |
| با تنظیم این پرچم، rclone بهجای اتکا به backend جهت گزارش این اطلاعات، کل ریموت را مشابه rclone size پویش کرده و خودش فضای مصرفی کل را محاسبه میکند. |
| هشدار: بر خلاف rclone size، این پرچم فیلترها را نادیده میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است مستلزم فراخوانیهای متعدد API و در نتیجه هزینههای اضافی شود. |
| تنها بهعنوان آخرین راهکار و فقط همراه با فعال بودن کش از آن استفاده کنید. |
| متادیتای VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید VFS را وادار کنید فایلهایی را که حاوی متادیتا (https://rclone.org/docs/#metadata) هستند، بهصورت یک شیء JSON در معرض دید قرار دهد. |
| این فایلها در فهرست دایرکتوری نمایش داده نمیشوند، اما میتوان دستور stat را روی آنها اجرا کرد و بازشان نمود، و پس از باز شدن، تا زمان منقضی شدن کش دایرکتوری در فهرستهای دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی از backendها متادیتا ایجاد نمیکنند مگر اینکه پرچم --metadata را مشخص کرده باشید. |
| برای مثال، با استفاده از rclone mount به همراه --metadata --vfs-metadata-extension .metadata به نتیجه زیر میرسیم: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد متادیتا باشد بهصورت {} برگردانده میشود، و در صورت بروز خطا در خواندن متادیتا، خطا بهشکل {"error":"error string"} بازگردانده خواهد شد. |
| rclone serve nfs remote:path [flags] |
| گزینهها (OPTIONS) |
| --addr string آدرس IP:Port یا :Port برای مقید کردن کارساز به آن |
| --dir-cache-time Duration مدتزمان کش کردن مدخلهای دایرکتوری (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --gid uint32 بازنویسی فیلد gid تعیینشده توسط سیستم فایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای nfs |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --nfs-cache-dir string دایرکتوری مورد استفاده کش هندل NFS در صورت تعیین |
| --nfs-cache-handle-limit int حداکثر هندلهای فایل کششده بهطور همزمان (حداقل 5) (پیشفرض 1000000) |
| --nfs-cache-type memory|disk|symlink نوع کش هندل NFS برای استفاده (پیشفرض memory) |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان اصلاح (میتواند سرعت را افزایش دهد) |
| --no-seek عدم اجازه جستوجو (seek) درون فایلها |
| --poll-interval Duration مدت انتظار بین بررسی دورهای برای تغییرات، باید کمتر از dir-cache-time باشد و فقط روی ریموتهای پشتیبانیشده عمل میکند (تنظیم 0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --read-only فقط اجازه دسترسی خواندنی |
| --uid uint32 بازنویسی فیلد uid تعیینشده توسط سیستم فایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تعیینشده توسط سیستم فایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) |
| --vfs-block-norm-dupes در صورت وجود نامهای فایل تکراری در همان دایرکتوری (پس از نرمالسازی)، یک خطا ثبت کن و موارد تکراری را پنهان نما (ممکن است هزینه کارایی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی اشیاء درون کش (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء درون کش (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی کش (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازه بررسی دورهای کش برای اشیاء بیات (پیشفرض 1m0s) |
| --vfs-case-insensitive در صورت پیدا نشدن نام فایل، تطابق غیرحساس به حروف بزرگ و کوچک پیدا کن |
| --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثر انگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدت زمان زنده نگهداشتن هندل فایل و دانلودکنندهها پس از آخرین بستن (پیشفرض 5s) |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن متادیتا از آن |
| --vfs-read-ahead SizeSuffix خواندن پیشدستانه اضافی بیش از --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ در قالب چانکها (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix اگر بزرگتر از --vfs-read-chunk-size باشد، پس از خواندن هر چانک اندازه آن را دو برابر کن تا به حد مجاز برسد ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration مدت زمان انتظار برای خواندن متوالی قبل از پرش (seek) (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی کش دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای محاسبه اندازه مصرفشده (Used) |
| --vfs-write-back Duration مدت زمان بازنویسی فایلها پس از آخرین استفاده هنگام استفاده از کش (پیشفرض 5s) |
| --vfs-write-wait Duration مدت زمان انتظار برای نوشتن متوالی پیش از صدور خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای مشاهده گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای فیلتر (Filter Options) |
| پرچمهایی برای فیلتر کردن فهرست دایرکتوریها |
| --delete-excluded حذف فایلهای روی مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای مستثنیسازی فایل از فایل (از - برای خواندن از stdin استفاده کنید) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (از - برای خواندن از stdin استفاده کنید) |
| --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچ پردازشی روی خطوط (از - برای خواندن از stdin استفاده کنید) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (از - برای خواندن از stdin استفاده کنید) |
| -f, --filter stringArray افزودن یک قاعده فیلترسازی فایل |
| --filter-from stringArray خواندن الگوهای فیلترسازی فایل از یک فایل (از - برای خواندن از stdin استفاده کنید) |
| --hash-filter string افراز نامهای فایل بر اساس هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف کوچک و بزرگ) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای مشمولسازی فایل از فایل (از - برای خواندن از stdin استفاده کنید) |
| --max-age Duration انتقال تنها فایلهای جدیدتر از این بر حسب ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix انتقال تنها فایلهای کوچکتر از این بر حسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای مستثنیسازی متاداده از فایل (از - برای خواندن از stdin استفاده کنید) |
| --metadata-filter stringArray افزودن یک قاعده فیلترسازی متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلترسازی متاداده از یک فایل (از - برای خواندن از stdin استفاده کنید) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای مشمولسازی متاداده از فایل (از - برای خواندن از stdin استفاده کنید) |
| --min-age Duration انتقال تنها فایلهای قدیمیتر از این بر حسب ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix انتقال تنها فایلهای بزرگتر از این بر حسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائه یک |
| ریموت بر بستر یک پروتکل. |
| rclone serve restic |
| ارائه ریموت برای REST API نرمافزار restic. |
| خلاصه دستور (SYNOPSIS) |
| اجرای یک وبسرور پایه برای ارائه یک ریموت روی REST backend API |
| نرمافزار restic از طریق HTTP. |
| این کار به restic اجازه میدهد تا از rclone بهعنوان یک سازوکار ذخیرهسازی |
| داده برای ارائهدهندگان ابری که restic بهطور مستقیم از آنها پشتیبانی |
| نمیکند، استفاده کند. |
| نرمافزار Restic (https://restic.net) یک برنامه خط فرمانی برای تهیه |
| نسخه پشتیبان است. |
| سرور خطاها را ثبت خواهد کرد. |
| برای مشاهده گزارشهای دسترسی از -v استفاده کنید. |
| گزینه --bwlimit برای انتقال فایلها اعمال خواهد شد. |
| برای کنترل چاپ آمار از --stats استفاده کنید. |
| راهاندازی rclone برای استفاده با restic |
| ابتدا یک ریموت برای ارائهدهنده ابری منتخب خود |
| راهاندازی کنید (https://rclone.org/docs/#configure). |
| پس از راهاندازی ریموت، بررسی کنید که بهدرستی کار میکند؛ برای نمونه |
| با "rclone lsd remote:". |
| ممکن است ریموت را چیزی غیر از "remote:" نامگذاری کرده باشید - |
| تنها کافی است در دستورالعملهای زیر، نام انتخابی خود را جایگزین کنید. |
| اکنون سرور restic در rclone را اجرا کنید |
| rclone serve restic -v remote:backup |
| که در آن میتوانید "backup" در دستور بالا را با هر مسیری در |
| ریموت که مایلید استفاده کنید، جایگزین نمایید. |
| بهطور پیشفرض این سرویس روی "localhost:8080" ارائه میشود؛ میتوانید |
| این مقدار را با استفاده از پرچم --addr تغییر دهید. |
| شاید مایل باشید این سرور را هنگام بوت راهاندازی کنید. |
| افزودن --cache-objects=false باعث میشود rclone از کش کردن |
| اشیای بازگرداندهشده از فراخوانی List خودداری کند. |
| کش کردن معمولاً مطلوب است زیرا سرعت بارگیری اشیاء را افزایش میدهد، در |
| تعداد تراکنشها صرفهجویی میکند و حافظه بسیار کمی مصرف میکند..SS راهاندازی restic برای استفاده از rclone |
| اکنون میتوانید دستورالعملهای restic را در |
| (http://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#rest-server) |
| برای راهاندازی restic دنبال کنید. |
| توجه داشته باشید که برای کار با rclone به restic نسخه 0.8.2 یا بالاتر نیاز |
| خواهید داشت. |
| برای مثال بالا، باید از |
| "http://localhost:8080/" به عنوان نشانی URL برای سرور REST استفاده کنید. |
| برای مثال: |
| $ export RESTIC_REPOSITORY=rest:http://localhost:8080 |
| $ export RESTIC_PASSWORD=yourpassword |
| $ restic init |
| created restic backend 8b1a4b56ae at rest:http://localhost:8080 |
| Please note that knowledge of your password is required to access |
| the repository. Losing your password means that your data is |
| irrecoverably lost. |
| $ restic backup /path/to/files/to/backup |
| scan [/path/to/files/to/backup] |
| scanned 189 directories, 312 files in 0:00 |
| [0:00] 100.00% 38.128 MiB / 38.128 MiB 501 / 501 items 0 errors ETA 0:00 |
| duration: 0:00 |
| snapshot 45c8fdd8 saved |
| چندین مخزن |
| توجه داشته باشید که میتوانید از این نقطه پایانی (endpoint) برای میزبانی چندین مخزن استفاده کنید. |
| این کار را با افزودن نام یک پوشه یا مسیر پس از URL انجام دهید. |
| دقت داشته باشید که این موارد باید با / خاتمه یابند. |
| به عنوان مثال: |
| $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo |
| # backup user1 stuff |
| $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo |
| # backup user2 stuff |
| مخازن خصوصی |
| گزینه --private-repos میتواند برای محدود کردن کاربران به |
| مخازنی که با مسیر /<username>/ آغاز میشوند استفاده شود. |
| گزینههای سرور |
| از --addr برای تعیین آدرس IP و درگاهی که سرور باید روی آن |
| گوش دهد استفاده کنید؛ مانند --addr 1.2.3.4:8000 یا |
| --addr :8080 برای گوش دادن روی تمام IPها. |
| بهطور پیشفرض تنها روی localhost گوش میدهد. |
| میتوانید از پورت :0 استفاده کنید تا سیستمعامل یک درگاه آزاد را انتخاب کند. |
| اگر --addr را طوری تنظیم کنید که روی یک آدرس IP عمومی یا در دسترس در شبکه محلی (LAN) |
| گوش دهد، استفاده از احراز هویت توصیه میشود - برای اطلاعات بیشتر به |
| بخش بعدی مراجعه کنید. |
| میتوانید با تنظیم URL روی |
| unix:///path/to/socket یا صرفاً با استفاده از یک نام مسیر مطلق، از سوکت یونیکس استفاده کنید. |
| گزینه --addr ممکن است برای گوش دادن روی چندین |
| IP/درگاه/سوکت تکرار شود. |
| فعالسازی از طریق سوکت (Socket activation) که در ادامه توضیح داده شده است نیز میتواند برای |
| دستیابی به همین هدف استفاده شود. |
| از --server-read-timeout و --server-write-timeout میتوان |
| برای کنترل مهلت زمانی (timeout) روی سرور استفاده کرد. |
| توجه داشته باشید که این مقدار، کل زمان برای یک انتقال است. |
| گزینه --max-header-bytes حداکثر تعداد بایتهایی را که سرور |
| در سرآیند HTTP میپذیرد کنترل میکند. |
| گزینه --response-header میتواند برای تنظیم یک سرآیند HTTP برای همه |
| پاسخها استفاده شود و مقادیر موجود را بازنویسی میکند. |
| این پرچم برای افزودن چندین سرآیند قابل تکرار است. |
| از قالب Header-Name: value استفاده کنید. |
| گزینه --baseurl پیشوند URLای که rclone از آن سرویس میدهد را کنترل میکند. |
| بهطور پیشفرض rclone از ریشه سرویسدهی خواهد کرد. |
| اگر از --baseurl "/rclone" استفاده کنید، rclone از |
| نشانی URLای که با "/rclone/" شروع میشود سرویس میدهد. |
| این ویژگی زمانی که میخواهید rclone serve را پروکسی کنید مفید است. |
| rclone بهطور خودکار کاراکترهای "/" ابتدا و انتها را در |
| --baseurl درج میکند، بنابراین --baseurl "rclone"، |
| --baseurl "/rclone" و |
| --baseurl "/rclone/" همگی یکسان در نظر گرفته میشوند. |
| گزینه --disable-zip میتواند برای غیرفعال کردن قابلیت |
| دانلود به صورت فشرده (zip) تنظیم شود..SS پروتکل (Protocol) |
| سرور از HTTP/1.1 و HTTP/2 پشتیبانی میکند. |
| برای اتصالات TLS، بهطور خودکار از HTTP/2 استفاده میشود. |
| برای اتصالات غیر TLS، پروتکل متنی HTTP/2 (یا h2c) پشتیبانی میشود که امکان بهرهگیری از HTTP/2 بدون رمزنگاری را فراهم میکند. |
| TLS (SSL) |
| بهطور پیشفرض، ارائه محتوا روی http انجام میشود. |
| در صورت تمایل میتوانید آن را روی https ارائه دهید. |
| برای این کار باید گزینههای --cert و --key را مشخص کنید. |
| اگر مایل به اعتبارسنجی گواهی سمت کلاینت هستید، باید --client-ca را نیز تعیین کنید. |
| هنگامی که TLS پیکربندی شود، هر شنوندهای که با --addr مشخص شده باشد TLS را ارائه میدهد. |
| یک شنونده خاص میتواند با پیشوند http:// مشخص شود تا HTTP رمزنگارینشده را روی آن نشانی ارائه دهد، یا با tls:// تا صراحتاً اعلام کند که باید TLS را ارائه دهد. |
| استفاده از نشانی tls:// بدون --cert و --key یک خطا است. |
| گزینه --cert باید روی مسیر فایلی حاوی یک گواهی با کدگذاری PEM، یا الحاق آن با گواهی CA تنظیم شود. |
| گزینه --key باید روی مسیر فایل حاوی کلید خصوصی با کدگذاری PEM تنظیم شود. |
| در صورت تنظیم --client-ca، این گزینه باید روی مسیر فایلی حاوی گواهیهای مرجع صدور گواهی کلاینت (Client CA) با کدگذاری PEM تنظیم گردد. |
| گزینه --min-tls-version حداقل نسخه قابلقبول TLS است. |
| مقادیر معتبر عبارتند از "tls1.0"، "tls1.1"، "tls1.2" و "tls1.3" (پیشفرض "tls1.0"). |
| فعالسازی سوکت (Socket activation) |
| بهجای نشانیهای شنود مشخصشده در بالا، rclone به تمام توصیفکنندههای فایل (FDها) ارسالشده توسط مدیر سرویس، در صورت وجود، گوش فرا میدهد (و هر آرگومان ارائهشده توسط --addr را نادیده میگیرد). |
| این قابلیت به rclone اجازه میدهد تا بهعنوان یک سرویس مبتنی بر فعالسازی سوکت عمل کند. |
| این سرویس میتواند با فایلهای واحد .socket و .service بهگونهای که در |
| https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html |
| شرح داده شده است، پیکربندی شود. |
| فعالسازی سوکت را میتوان بهطور موردی با دستور systemd-socket-activate آزمایش کرد: |
| systemd-socket-activate -l 8000 -- rclone serve |
| این کار rclone را در اولین اتصال ورودی به درگاه 8000 از طریق TCP فعال میکند. |
| احراز هویت (Authentication) |
| بهطور پیشفرض، فایلها بدون نیاز به ورود ارائه میشوند. |
| میتوانید از یک فایل htpasswd استفاده کنید که از چندین کاربر پشتیبانی میکند، یا یک نام کاربری و گذرواژه منفرد را با گزینههای --user و --pass مشخص نمایید. |
| همچنین میتوانید مدیریت احراز هویت را به پراکسی معکوس بسپارید و از نام کاربری ارائهشده در هدر پیکربندیشده با --user-from-header استفاده کنید (مانند --user-from-header=x-remote-user). |
| اطمینان حاصل کنید که پراکسی مورد اعتماد است و امکان جعل هدرها وجود ندارد، زیرا پیکربندی نادرست میتواند منجر به دسترسی غیرمجاز شود. |
| اگر هیچیک از روشهای احراز هویت بالا پیکربندی نشده باشد و با ارسال گزینه --client-ca به سرور، گواهیهای کلاینت الزامی شده باشد، نام عمومی (common name) گواهی کلاینت بهعنوان نام کاربری در نظر گرفته خواهد شد. |
| برای ارائه یک فایل htpasswd از --htpasswd /path/to/htpasswd استفاده کنید. |
| این فایل در قالب استاندارد apache بوده و از MD5، SHA1 و BCrypt برای احراز هویت پایه پشتیبانی میکند. |
| استفاده از Bcrypt توصیه میشود. |
| برای ایجاد یک فایل htpasswd: |
| touch htpasswd |
| htpasswd -B htpasswd user |
| htpasswd -B htpasswd anotherUser |
| فایل گذرواژه را میتوان هنگام اجرای rclone بهروزرسانی کرد. |
| برای تعیین realm احراز هویت از --realm استفاده کنید. |
| برای تغییر نمک درهمسازی (salt) گذرواژه از مقدار پیشفرض، از --salt استفاده کنید. |
| rclone serve restic remote:path [flags] |
| --addr stringArray آدرس IPaddress:Port یا :Port برای متصل کردن کارساز به آن (پیشفرض 127.0.0.1:8080) |
| --allow-origin string مبدأیی که درخواست بیندامنه (CORS) میتواند از آن اجرا شود |
| --append-only عدم اجازه برای حذف دادههای مخزن |
| --baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید |
| --cache-objects ذخیره اشیاء فهرستشده در حافظه نهان (پیشفرض true) |
| --cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) |
| --client-ca string مرجع صدور گواهی کلاینت برای تأیید اعتبار کلاینتها |
| -h, --help راهنما برای restic |
| --htpasswd string یک فایل htpasswd - در صورت عدم ارائه، احراز هویتی انجام نمیشود |
| --key string کلید خصوصی TLS PEM |
| --max-header-bytes int حداکثر اندازه سربرگ درخواست (پیشفرض 4096) |
| --min-tls-version string حداقل نسخه TLS قابل قبول (پیشفرض "tls1.0") |
| --pass string گذرواژه برای احراز هویت |
| --private-repos کاربران فقط میتوانند به مخزن خصوصی خود دسترسی داشته باشند |
| --realm string قلمرو (Realm) برای احراز هویت |
| --response-header stringArray تنظیم سربرگ HTTP برای همه پاسخها، با بازنویسی مقادیر موجود |
| --salt string سالت درهمسازی گذرواژه (پیشفرض "dlPL2MqE") |
| --server-read-timeout Duration مهلت زمانی خواندن داده توسط کارساز (پیشفرض 1h0m0s) |
| --server-write-timeout Duration مهلت زمانی نوشتن داده توسط کارساز (پیشفرض 1h0m0s) |
| --stdio اجرای یک کارساز HTTP2 روی stdin/stdout |
| --user string نام کاربری برای احراز هویت |
| --user-from-header string نام کاربری از یک سربرگ تعریفشده HTTP |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائه یک ریموت از طریق یک پروتکل. |
| "rclone serve s3" |
| ارائه remote:path بر بستر s3. |
| "خلاصه دستور (SYNOPSIS)" |
| دستور serve s3 یک کارساز ساده s3 پیادهسازی میکند که یک ریموت را از طریق s3 ارائه میدهد. |
| این خروجی را میتوان با یک کلاینت s3 مشاهده کرد، یا میتوانید یک ریموت از نوع s3 (https://rclone.org/s3) بسازید تا با rclone در آن بخوانید و بنویسید. |
| دستور serve s3 به عنوان آزمایشی (Experimental) در نظر گرفته میشود، بنابراین با احتیاط از آن استفاده کنید. |
| کارساز S3 از احراز هویت با Signature Version 4 پشتیبانی میکند. |
| کافی است از --auth-key accessKey,secretKey استفاده کرده و سربرگ Authorization را به درستی در درخواست تنظیم کنید. |
| (مستندات AWS را ببینید (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)). |
| گزینهٔ --auth-key میتواند برای چندین جفت احراز هویت تکرار شود. |
| اگر --auth-key ارائه نشود، serve s3 دسترسی ناشناس را مجاز خواهد دانست. |
| به عنوان روش جایگزین، --auth-proxy میتواند برای جستجوی کلید مخفی (secret) هر access key ID و انتخاب backend متناظر با آن استفاده شود (بخش Auth Proxy در زیر را ببینید). |
| هنگامی که پروکسی احراز هویت در حال استفاده است، --auth-key نادیده گرفته میشود و هر درخواست باید با کلید مخفیای که پروکسی برای آن access key ID برمیگرداند، امضا شود. |
| مانند تمام پرچمهای rclone، گزینهٔ --auth-key میتواند از طریق متغیرهای محیطی، در این مورد RCLONE_AUTH_KEY، تنظیم شود. |
| از آنجا که این پرچم میتواند تکرار شود، ورودی به RCLONE_AUTH_KEY با قالب CSV کدگذاری میشود. |
| از آنجا که accessKey,secretKey شامل ویرگول است، به این معنی است که باید درون علامت نقلقول قرار گیرد. |
| export RCLONE_AUTH_KEY='"user,pass"' |
| rclone serve s3 ... |
| یا برای ارائه چندین هویت: |
| export RCLONE_AUTH_KEY='"user1,pass1","user2,pass2"' |
| rclone serve s3 ... |
| تنظیم این متغیر بدون علامت نقلقول خطایی تولید خواهد کرد. |
| لطفاً توجه داشته باشید که برخی از کلاینتها ممکن است به نقاط پایانی با HTTPS نیاز داشته باشند. |
| برای اطلاعات بیشتر مستندات SSL را ببینید. |
| این دستور از حافظه نهان دایرکتوری VFS استفاده میکند. |
| تمام قابلیتها با --vfs-cache-mode off کار خواهند کرد. |
| استفاده از --vfs-cache-mode full (یا writes) میتواند برای ذخیرهٔ نهان محلی اشیاء جهت بهبود عملکرد به کار رود. |
| اگر میخواهید نام باکت (bucket) را به عنوان بخشی از نام میزبان استفاده کنید (مانند mybucket.local)، از --force-path-style=false استفاده کنید. |
| اگر میخواهید درهمسازی استفادهشده برای ETag را تغییر دهید، از --etag-hash استفاده کنید. |
| توجه داشته باشید که استفاده از هر چیزی به جز MD5 (پیشفرض) احتمالاً برای کلاینتهای S3 که به MD5 بودن Etag متکی هستند، مشکل ایجاد میکند..SS شروع سریع (Quickstart) |
| برای یک راهاندازی ساده، جهت ارائهی remote:path روی s3، کارگزار را به این صورت اجرا کنید: |
| rclone serve s3 --auth-key ACCESS_KEY_ID,SECRET_ACCESS_KEY remote:path |
| برای نمونه، جهت استفاده از یک پوشهی ساده در سیستمفایل، کارگزار را با دستوری مانند این اجرا کنید: |
| rclone serve s3 --auth-key ACCESS_KEY_ID,SECRET_ACCESS_KEY local:/path/to/folder |
| فایل rclone.conf برای کارگزار میتواند به این شکل باشد: |
| [local] |
| type = local |
| با این حال، پیکربندی local اختیاری است. |
| اگر کارگزار را با یک remote:path مانند /path/to/folder (بدون پیشوند local: و بدون فایل rclone.conf) اجرا کنید، rclone به یک پیکربندی پیشفرض رجوع میکند که به صورت یک هشدار در گزارشها (logs) قابل مشاهده خواهد بود؛ اما با این وجود به کار خود ادامه خواهد داد. |
| این مورد با پیکربندی ریموت یک کلاینت rclone که به شکل زیر تعریف شده باشد سازگار است: |
| [serves3] |
| type = s3 |
| provider = Rclone |
| endpoint = http://127.0.0.1:8080 |
| access_key_id = ACCESS_KEY_ID |
| secret_access_key = SECRET_ACCESS_KEY |
| بارگذاری اشیاء (PUT) |
| یک بارگذاری PutObject تنها در صورت موفقیت، شیء موجود در کلید مربوطه را به صورت اتمیک (atomic) تغییر میدهد؛ یک PUT ناموفق یا متوقفشده، نه شیء ذخیرهشدهی قبلی در آن کلید را حذف میکند و نه روی آن بازنویسی انجام میدهد، و هرگز شیء ناقصی را در آن نمایان باقی نمیگذارد. |
| ریموتهایی که بارگذاری را به صورت اتمیک انجام میدهند (مانند ذخیرهسازهای شیء نظیر s3)، به صورت مستقیم و جریانی (stream) به مقصد فرستاده میشوند. |
| در ریموتهایی که در غیر این صورت بارگذاری ناقص در آنها نمایان میشد (مانند local)، و هر زمان که --vfs-cache-mode بر روی writes یا بالاتر تنظیم شده باشد، بارگذاری در یک شیء موقت نوشته میشود که در صورت موفقیت، تغییر نام یافته و جایگزین میشود؛ این ریموتها برای انجام این کار باید از انتقال یا کپی سمت کارگزار پشتیبانی کنند (تقریباً همگی پشتیبانی میکنند - بدون انتقال یا کپی، بارگذاری به صورت مستقیم نوشته میشود و یک PUT ناموفق ممکن است شیء ناقصی را در کلید به جا بگذارد). |
| اگر فرایند serve s3 در میانه بارگذاری متوقف (kill) شود، ممکن است شیء موقت (که نام آن با پیشوند .rclone_temp_put_ آغاز میشود) باقی بماند؛ این شیء از فهرستهای S3 پنهان است اما باید به صورت دستی حذف شود. |
| بارگذاریهای چندبخشی (Multipart uploads) |
| بارگذاریهای چندبخشی به ترتیب شمارهی بخشها در یک شیء موقت نوشته میشوند که پس از اتمام، در سمت کارگزار تغییر نام یافته و جایگزین میشود؛ بنابراین بارگذاری اتمیک خواهد بود. |
| شیء موجود در کلید، تنها در صورت تکمیل موفقیتآمیز تغییر مییابد. |
| یک بارگذاری ناموفق یا لغو شده هرگز بر روی اشیاء ذخیرهشدهی قبلی با آن نام تأثیر نمیگذارد و شیءِ بخشی بارگذاریشده هرگز با آن نام نمایان نمیشود. |
| با حالت پیشفرض --vfs-cache-mode off، دستور serve s3 هر بارگذاری چندبخشی را به ترتیب شمارهی بخشها، به صورت یک بارگذاری جریانی واحد به ریموت زیرین جریانسازی (stream) میکند، بنابراین کل فایل هرگز در حافظه بافر نمیشود. |
| مصرف حافظه محدود به بخشهای در حال انتقال باقی میماند. |
| سپس ریموت بارگذاری داخلی خود را انجام میدهد (برای نمونه بارگذاری چندبخشی اختصاصی خود، باز هم با حافظه محدود). |
| ریموتهایی که از بارگذاریهای جریانی پشتیبانی نمیکنند (آنهایی که باید اندازه فایل را پیش از شروع بارگذاری بدانند، مانند onedrive، pcloud، jottacloud، mailru، opendrive، putio، protondrive و zoho) در عوض بخشها را در یک فایل موقت روی دیسک محلی اسپول (spool) میکنند، و پس از اتمام که اندازه مشخص شد بارگذاری میشوند؛ بنابراین به جای حافظه، به فضای دیسک محلی برای بزرگترین اشیاء در حال انتقال نیاز دارند. |
| با --vfs-cache-mode writes (یا full) بخشها در یک فایل موقت در حافظهی نهان VFS نوشته شده و از طریق پسنویسی (write-back) سامانه VFS بارگذاری میشوند - بخش بارگذاریهای چندبخشی و حافظه نهان VFS را در ادامه ببینید. |
| تغییر نام و جایگزینی نیازمند آن است که ریموت از انتقال یا کپی سمت کارگزار پشتیبانی کند، که تقریباً همگی پشتیبانی میکنند. |
| این تغییر نام در بیشتر ریموتها کمهزینه است، اما در ذخیرهسازهای شیء فاقد تغییر نام واقعی (مانند خود s3) انتقال به صورت کپی سمت کارگزار و سپس حذف کل شیء انجام میشود که برای اشیاء بزرگ ممکن است زمانبر بوده و نیازمند فراخوانیهای متعدد API باشد. |
| بارگذاریهای چندبخشی همروند روی یک کلید یکسان (که S3 آن را مجاز میداند) ایمن هستند. |
| هر یک شیء موقت خود را مینویسد و هرکدام که در آخر کامل شود برنده است و اعمال خواهد شد. |
| در معدود ریموتهایی که نه از انتقال و نه از کپی سمت کارگزار پشتیبانی نمیکنند، بخشها مستقیماً در شیء مقصد نوشته میشوند و هرگز در حافظه بافر نمیشوند. |
| این کار به بهای از دست رفتن بخشی از اتمیک بودن تمام میشود - شیء ناقص در هنگام بارگذاری با نام نهاییاش قابل مشاهده است، درست همانطور که برای یک PUT معمولی شیء در چنین ریموتهایی رخ میدهد، و بارگذاریهای چندبخشی همروند روی یک کلید یکسان، بر روی همان شیء مینویسند و ممکن است دادهها تداخل پیدا کنند. |
| یک بارگذاری ناموفق یا لغو شده همچنان اشیاء از قبل موجود را دستنخورده باقی میگذارد، مشروط بر اینکه ریموت به صورت اتمیک بارگذاری کند و حافظه نهان VFS غیرفعال باشد؛ در ریموتی که بارگذاریهای ناقص قابل مشاهده هستند، ممکن است دادههای ناقصی در کلید باقی بماند (مانند یک PUT معمولی در آن)، و با --vfs-cache-mode writes (یا full)، عملیات نوشتن در حافظه نهان لغو نمیشود، بنابراین دادههای ناقص بارگذاریِ لغو شده به گونهای که گویی تکمیل شده است، به ریموت پسنویسی میشود. |
| قابلیتها (Features) |
| • 2 |
| کل شیء هرگز در حافظه بافر نمیشود؛ مصرف حافظه بر اساس بخشهای در حال انتقال محدود میشود، نه اندازه کل بارگذاری. |
| • 2 |
| بخشها میتوانند هر اندازهای داشته باشند. |
| کلاینتهایی که بخشهایی با اندازهی یکدست تولید نمیکنند به خوبی کار میکنند - برای نمونه، ابزارهای پشتیبانگیری PostgreSQL مانند pgBarman و pgBackRest، که به محض رشد بافر بارگذاری بیش از اندازه تکه (chunk size)، آن را تخلیه میکنند؛ بنابراین هر بخش برابر است با اندازه تکه به اضافهی مقداری سرریز متغیر. |
| • 2 |
| به ازای هر اندازه بخشی با crypt کار میکند، زیرا شیء به عنوان یک جریان پیوسته رمزگذاری میشود. |
| • 2 |
| شیء مقصد تنها به صورت اتمیک و هنگام تکمیل تغییر مییابد: یک بارگذاری لغو شده یا ناموفق، اشیاء از پیش موجود با همان نام را دستنخورده باقی میگذارد، و یک شیءِ بخشی بارگذاریشده هرگز نمایان نمیشود (به جز در معدود ریموتهای فاقد انتقال یا کپی سمت کارگزار، طبق توضیحات بالا). |
| • 2 |
| بارگذاریهای چندبخشی مانند هر بارگذاری دیگری از VFS عبور میکنند، بنابراین در آمار انتقال rclone نشان داده میشوند و از --bwlimit تبعیت میکنند. |
| • 2 |
| مستقل از بکاند (Backend-agnostic) - تنها به پشتیبانی ریموت از انتقال یا کپی سمت کارگزار برای تغییر نام و جایگزینی نیاز دارد که تقریباً همه پشتیبانی میکنند؛ ریموتی که از بارگذاری جریانی پشتیبانی نمیکند، همانطور که در بالا گفته شد روی دیسک محلی اسپول انجام میدهد. |
| محدودیتها (Limitations) |
| • 2 |
| بخشها باید به ترتیب صعودی و متوالی شمارهی بخش (1, 2, 3, ...) دریافت شوند. |
| بخشهایی که کلاینت به صورت همروند یا نامرتب بارگذاری میکند، تا رسیدن نوبتشان بافر میشوند. |
| حافظهی مورد استفاده برای این بافرینگ، در هر بارگذاری توسط --multipart-streaming-buffer-limit محدود میشود (پیشفرض 256M، مقدار 0 برای بدون محدودیت): بخشی که حافظه بافر را از حد مجاز فراتر ببرد، تا زمان تخلیه جریان معلق میماند؛ بنابراین کلاینتی که سریعتر از توان پذیرش ریموت بارگذاری میکند، به جای مصرف بیرویه حافظه کارگزار، با پسفشار (backpressure) مواجه میشود. |
| از آنجا که یک بخش معلقمانده درخواست HTTP خود را باز نگه میدارد، کلاینتهایی که حاصلضرب همروندی بارگذاری در اندازه تکهشان از این حد فراتر میرود، در صورت کند بودن ریموت ممکن است به مهلت زمانی خواندن (read timeout) طولانیتری نیاز داشته باشند. |
| شماره بخشهای غیرمتوالی هنگام تکمیل رد میشوند. |
| برای کمترین میزان مصرف حافظه، کلاینت را طوری پیکربندی کنید که بخشها را به ترتیب و ترجیحاً با همروندی پایین بارگذاری کند. |
| • 2 |
| بخشی که قبل از اتمام دوباره بارگذاری شود - معمولاً کلاینتی که پس از انقضای زمان تلاش مجدد میکند - پذیرفته میشود: اگر نسخه قبلی هنوز در بافر باشد جایگزین میشود، و اگر از قبل جریان یافته باشد، بارگذاری مجددِ داده یکسان، عملیاتی بیاثر (no-op) خواهد بود. |
| آنچه امکانپذیر نیست، جایگزینی بخشی است که پیشتر جریان یافته با محتوای متفاوت - که این درخواست رد خواهد شد. |
| یک خرابی در جریان ارسال به خود ریموت همچنان کل بارگذاری را لغو میکند و کلاینت باید آن را دوباره از ابتدا آغاز کند. |
| (بارگذاری داخلی خود ریموت همچنان تکههای داخلیاش را دوباره امتحان میکند.) |
| • 2 |
| بخشها در قالب یک جریان متوالی سریالی میشوند، بنابراین دریافت داده (ingest) از کلاینت عملاً تکرشتهای است. |
| هنگام جریانسازی، بارگذاری اختصاصی ریموت به صورت همروند با رسیدن بخشها اجرا میشود؛ با اسپول روی دیسک محلی یا با حافظه نهان VFS، بارگذاری به ریموت تنها پس از تکمیل نهایی آغاز میشود..IP • 2 |
| اگر serve s3 در میانه بارگذاری متوقف (kill) شود، شیء موقت (که نام آن با پیشوند .rclone_temp_multipart_ شروع میشود) ممکن است باقی بماند؛ این شیء از فهرستهای S3 پنهان است اما باید به صورت دستی حذف شود. |
| بارگذاریهای چندبخشی و حافظه نهان VFS (Multipart uploads and the VFS cache) |
| با --vfs-cache-mode writes (یا full)، بارگذاریهای چندبخشی اصلاً به ریموت استریم نمیشوند. |
| بخشها به ترتیب شماره بخش، در یک فایل موقت در حافظه نهان VFS نوشته میشوند. |
| پس از تکمیل، نام فایل به جایگاه اصلی تغییر یافته و دقیقاً مانند PUT یک شیء ساده، توسط write-back در VFS بارگذاری میشود. |
| این فرآیند به پشتیبانی از بارگذاری جریانی (streaming upload) توسط ریموت نیازی ندارد. |
| تغییر نام معمولاً پیش از شروع بارگذاری در حافظه نهان رخ میدهد، اما VFS برای تغییر نام فایلها نیازمند پشتیبانی ریموت از انتقال یا کپی سمت سرور است (و در صورتی که فایل موقت پیشتر بازنویسی شده باشد، مثلاً با --vfs-write-back 0، از آن استفاده میکند). |
| در ریموتهایی که هیچکدام را ندارند، بخشها مستقیماً تحت کلید نهایی در حافظه نهان نوشته میشوند: بارگذاری همچنان حافظه اصلی (RAM) را درگیر نمیکند، اما خاصیت اتمی بودن (atomicity) خود را از دست میدهد - بارگذاریِ در حال انجام روی کلید قابل مشاهده است، و بارگذاریِ لغو شده پس از قرار گرفتن در حافظه نهان رها نمیشود، بنابراین دادههای ناقص آن همانند یک شیء کامل به ریموت بازنویسی میشوند. |
| ریموتهایی که از --vfs-cache-mode writes بهره میبرند: |
| • 2 |
| ریموتهای روی اتصالات کند یا غیرقابلاطمینان. بروز خطا در بارگذاری جریانی کل بارگذاری چندبخشی را لغو میکند و کلاینت باید مجدداً از بخش اول شروع کند؛ بارگذاری write-back ناموفق بدون دخالت کلاینت توسط VFS مجدداً تلاش میشود (نگاه کنید به --vfs-cache-max-age و موارد مشابه). |
| همچنین دریافت داده از کلاینت به جای محدود شدن به سرعت ریموت، با سرعت دیسک محلی انجام میشود. |
| • 2 |
| بارهای کاری که بلافاصله دادههای نوشتهشده را بازخوانی کرده یا رونویسی میکنند. |
| شیء تکمیلشده در حافظه نهان باقی میماند، بنابراین درخواستهای بعدی GET/HEAD به صورت محلی پاسخ داده میشوند، و PUTهای ساده و بارگذاریهای چندبخشی روی همان کلید از مدخل حافظه نهان یکسانی عبور میکنند، در نتیجه صرفنظر از روش بارگذاری، آخرین عملیات نوشتن تثبیت میشود (last write wins). |
| معایب و مصالحههای حافظه نهان VFS: |
| • 2 |
| کل شیء روی دیسک محلی قرار میگیرد، بنابراین حافظه نهان (--cache-dir) به فضایی معادل بزرگترین اشیاء در حال انتقال نیاز دارد؛ --vfs-cache-max-size نمیتواند فایلهایی را که هنوز در حال بارگذاری هستند پاکسازی (evict) کند. |
| • 2 |
| پاسخ 200 OK برای CompleteMultipartUpload به این معنی است که دادهها با اطمینان در حافظه نهان محلی قرار دارند، نه روی ریموت - همان سطح از پایداری که حافظه نهان به PUTهای معمولی ارائه میدهد. |
| اگر تأییدیه باید به این معنا باشد که داده به ریموت رسیده است (مثلاً برای بایگانی WAL)، از مقدار پیشفرض --vfs-cache-mode off استفاده کنید. |
| • 2 |
| بارگذاری روی ریموت تنها پس از تکمیل شروع میشود، نه همزمان با رسیدن بخشها؛ بنابراین دادهها دیرتر از روش جریانی به ریموت میرسند. |
| • 2 |
| اگر serve s3 در میانه بارگذاری متوقف شود، فایل موقت در حافظه نهان باقی میماند و بازیابی حافظه نهان VFS در راهاندازی مجدد، آن را به عنوان یک شیء موقت (با پیشوند .rclone_temp_multipart_) روی ریموت بارگذاری میکند؛ همانند مسیر جریانی، این شیء از فهرستهای S3 پنهان است اما باید به صورت دستی حذف شود. |
| پاکسازی اشیاء موقت (Cleaning up temporary objects) |
| اگر serve s3 در میانه بارگذاری متوقف شود میتواند یک شیء موقت با پیشوند .rclone_temp_ بر جای بگذارد. |
| تمام این پیشوند رزرو شده است: هر شیئی که نام آن (آخرین بخش کلید که با / جدا شده) با .rclone_temp_ شروع شود از فهرستهای S3 پنهان میگردد؛ بنابراین چنین نامهایی را به اشیاء واقعی اختصاص ندهید - شیء موجود با چنین نامی از فهرستها ناپدید میشود (هرچند مستقیماً از طریق کلیدش قابل دسترسی است: فقط فهرستها نامهای رزرو شده را پنهان میکنند، و عملیات GET، HEAD و DELETE روی کلید دقیق همچنان کار میکند). |
| یک شیء موقت هرگز حاوی دادههای تأییدشده نیست - بارگذاریهایی که شیء موقت آنها باقی مانده هرگز به کلاینت تأیید نشدهاند - بنابراین حذف موارد قدیمی بدون خطر است: |
| rclone delete --min-age 24h --include ".rclone_temp_*" remote:path |
| گزینه --min-age از بارگذاریهای جاری محافظت میکند: مطمئن شوید این مقدار از طولانیترین بارگذاری شما بیشتر باشد، بهویژه اگر چندین نمونه از serve s3 از یک ریموت به صورت مشترک استفاده میکنند. |
| نسخه rclone v1.75 اشیاء چندبخشی موقت خود را .rclone_multipart_upload_* نامگذاری میکرد؛ بقایای سرورهای قدیمیتر نیز از فهرستها پنهان هستند و میتوان آنها را به همین شیوه پاکسازی کرد..SS بارگذاریهای رهاشده (Abandoned uploads) |
| کلاینتی که یک بارگذاری چندبخشی (multipart upload) را آغاز کرده و بدون تکمیل یا لغو آن ناپدید شود، در غیر این صورت منابع را تا ابد در اشغال خود نگه میدارد. |
| بنابراین، بارگذاری چندبخشی ناتمامی که به مدت --multipart-expiry (پیشفرض 24h) هیچ فعالیتی نداشته باشد، لغو و پاکسازی میشود؛ دقیقاً مانند زمانی که کلاینت دستور AbortMultipartUpload را فراخوانی کرده باشد، و یک پیام NOTICE نیز در لاگ ثبت میگردد. |
| بارگذاریای که دریافت بخشی از آن همچنان در جریان است هرگز منقضی نمیشود، حتی اگر آن بخش بسیار آهسته دریافت شود؛ همچنین تکمیل هر بخش زمانسنج را مجدداً بازنشانی میکند، بنابراین زمان انقضا تنها باید از مکثهای کلاینت بین بخشها طولانیتر باشد، نه کل فرایند بارگذاری. |
| عملیات دیرهنگام روی یک بارگذاری منقضیشده با خطای NoSuchUpload شکست میخورد؛ همانند رفتاری که در S3 واقعی هنگام لغو بارگذاری توسط یک قاعدهٔ چرخه حیات (lifecycle rule) رخ میدهد. برای نگهداری همیشگی بارگذاریهای ناتمام، مقدار --multipart-expiry 0 را تنظیم کنید. |
| غیرفعالسازی پخش جریانی (Disabling streaming) |
| اگر گزینهٔ --disable-multipart-streaming را مشخص کنید، بارگذاریهای چندبخشی در عوض توسط کتابخانهٔ زیربنایی S3 در حافظه میانگیر (بافر) میشوند: هر بخش در حافظه نگهداری شده و پس از تکمیل بارگذاری، کل شیء به یکباره نوشته میشود. |
| این کار محدودیت ترتیبی/پیوسته بودن بخشها را برطرف میسازد تا بخشها بتوانند با هر ترتیبی بارگذاری شوند، اما مصرف حافظه با اندازهٔ بارگذاری افزایش مییابد؛ از این رو تنها برای اشیاء کوچک مناسب است. |
| اولین باری که این وضعیت رخ دهد، یک پیام NOTICE یکباره ثبت میشود. |
| این پرچم تنها عاملی است که باعث میانگیری بارگذاریهای چندبخشی در حافظه میشود؛ این کار هرگز به دلیل نبود قابلیتهای ریموت انجام نمیگیرد. |
| در عوض، استفاده از --vfs-cache-mode writes را در نظر بگیرید که بارگذاری را در حافظهٔ پنهان VFS روی دیسک میانگیری میکند و نسبت به --disable-multipart-streaming اولویت دارد. |
| باگها (BUGS) |
| کپیهای چندبخشیِ سمت سرور کار نمیکنند (ببینید |
| #7454 (https://github.com/rclone/rclone/issues/7454)). |
| این عملیاتها زمان بسیار زیادی میبرند و در نهایت با شکست مواجه میشوند. |
| آستانهٔ پیشفرض برای کپیهای چندبخشی سمت سرور 5G است که حداکثر مقدار ممکن میباشد، بنابراین فایلهای بزرگتر از این اندازه در کپی سمت سرور ناموفق خواهند بود. |
| برای مشاهدهٔ فهرست فعلی باگهای serve s3، دستهبندی باگهای |
| serve s3 (https://github.com/rclone/rclone/labels/serve%20s3) را در GitHub ببینید. |
| محدودیتها (Limitations) |
| دستور serve s3 با تمام دایرکتوریهای موجود در ریشه به عنوان باکت (bucket) رفتار کرده و تمام فایلهای موجود در ریشه را نادیده میگیرد. |
| میتوانید از CreateBucket برای ایجاد پوشهها در ریشه استفاده کنید، اما نمیتوانید پوشههای خالی در زیر پوشههای دیگری که در ریشه نیستند ایجاد نمایید. |
| هنگام استفاده از PutObject یا DeleteObject، rclone به طور خودکار پوشههای خالی را ایجاد یا پاکسازی میکند. |
| اگر نمیخواهید پوشههای خالی به طور خودکار پاکسازی شوند، از --no-cleanup استفاده کنید. |
| هنگام استفاده از ListObjects، اگر جداکننده (delimiter) خالی باشد، rclone از / استفاده خواهد کرد. |
| این کار بدون تأثیر بر اکثر عملیاتها، درخواستهای سمت بکاند را کاهش میدهد؛ اما اگر جداکننده چیزی غیر از / یا خالی باشد، rclone یک جستجوی بازگشتی کامل روی بکاند انجام میدهد که میتواند مدتی طول بکشد. |
| نسخهبندی (Versioning) در حال حاضر پشتیبانی نمیشود. |
| متادیتاها فقط در حافظه ذخیره میشوند، به جز متادیتای mtime در rclone که به عنوان زمان تغییر فایل تنظیم میشود. |
| نام اشیاء (Object names) |
| دستور serve s3 اشیاء را به عنوان فایل در بکاند ذخیره میکند، بنابراین کلیدهای شیء (object keys) به جای آنکه به صورت رشتههای مبهم (مانند AWS S3) در نظر گرفته شوند، به مسیرهای فایل نگاشت میشوند. |
| کلیدها باید در قالب مسیر استاندارد (canonical path) باشند: کلیدهایی که شامل بخشهای مسیر .. یا .، اسلشهای تکراری (//)، یا اسلش در ابتدا یا انتها باشند، به جای اینکه نرمالسازی شوند با خطای 400 Bad Request (InvalidArgument) رد میشوند؛ زیرا نرمالسازی آنها میتواند باعث شود دو کلید مجزا به یک فایل اشاره کنند یا کلیدی به خارج از باکت هدایت شود. |
| این رفتار با سایر سرورهای S3 مانند MinIO مطابقت دارد..SS "عملیاتهای پشتیبانیشده (Supported operations)" |
| دستور serve s3 در حال حاضر از عملیاتهای زیر پشتیبانی میکند. |
| • 2 |
| باکت (Bucket) |
| 2 |
| • 2 |
| ListBuckets |
| • 2 |
| CreateBucket |
| • 2 |
| DeleteBucket |
| • 2 |
| شیء (Object) |
| 2 |
| • 2 |
| HeadObject |
| • 2 |
| ListObjects |
| • 2 |
| GetObject |
| • 2 |
| PutObject |
| • 2 |
| DeleteObject |
| • 2 |
| DeleteObjects |
| • 2 |
| CreateMultipartUpload |
| • 2 |
| CompleteMultipartUpload |
| • 2 |
| AbortMultipartUpload |
| • 2 |
| CopyObject |
| • 2 |
| UploadPart |
| سایر عملیاتها خطای Unimplemented را بازمیگردانند. |
| "احراز هویت (Authentication)" |
| بهطور پیشفرض، فایلها بدون نیاز به ورود ارائه میشوند. |
| میتوانید از یک فایل htpasswd که چندین کاربر را پشتیبانی میکند استفاده کنید، یا با استفاده از گزینههای --user و --pass یک نام کاربری و گذرواژه تنظیم نمایید. |
| همچنین میتوانید مدیریت احراز هویت را به پراکسی معکوس واگذار کرده و از نام کاربری ارائهشده در سرآیند پیکربندیشده با --user-from-header استفاده کنید (مانند --user-from-header=x-remote-user). |
| اطمینان حاصل کنید که پراکسی معتبر است و سرآیندها جعل نمیشوند، زیرا پیکربندی نادرست میتواند به دسترسی غیرمجاز منجر شود. |
| اگر هیچیک از روشهای احراز هویت فوق پیکربندی نشده باشند و گواهیهای کلاینت از طریق گزینهٔ --client-ca ارائهشده به سرور الزامی شده باشند، نام عمومی (common name) گواهی کلاینت بهعنوان نام کاربری در نظر گرفته میشود. |
| برای مشخص کردن یک فایل htpasswd از --htpasswd /path/to/htpasswd استفاده کنید. |
| این فایل از قالب استاندارد apache استفاده میکند و برای احراز هویت اولیه از MD5، SHA1 و BCrypt پشتیبانی میکند. |
| استفاده از Bcrypt توصیه میشود. |
| برای ایجاد یک فایل htpasswd: |
| touch htpasswd |
| htpasswd -B htpasswd user |
| htpasswd -B htpasswd anotherUser |
| فایل گذرواژه را میتوان هنگام اجرای rclone نیز بهروزرسانی کرد. |
| از گزینهٔ --realm برای تنظیم حوزهٔ احراز هویت (realm) استفاده کنید. |
| از گزینهٔ --salt برای تغییر سالت درهمسازی گذرواژه نسبت به مقدار پیشفرض استفاده کنید..SS "گزینههای سرور (Server options)" |
| از --addr برای تعیین اینکه سرور باید روی چه آدرس IP و درگاهی گوش فرا دهد استفاده کنید، به عنوان مثال --addr 1.2.3.4:8000 یا --addr :8080 برای گوش دادن روی تمام IPها. |
| بهطور پیشفرض تنها روی localhost گوش میدهد. |
| میتوانید از پورت :0 استفاده کنید تا به سیستمعامل اجازه دهید یک پورت دردسترس را انتخاب کند. |
| اگر --addr را طوری تنظیم کنید که روی یک آدرس IP عمومی یا قابلدسترسی از طریق شبکهٔ محلی (LAN) گوش دهد، استفاده از احراز هویت پیشنهاد میشود - برای اطلاعات بیشتر بخش بعدی را ببینید. |
| میتوانید با تنظیم آدرس روی unix:///path/to/socket یا صرفاً با استفاده از یک نام مسیر مطلق، از یک سوکت یونیکس استفاده کنید. |
| گزینهٔ --addr ممکن است برای گوش دادن روی چندین IP/پورت/سوکت تکرار شود. |
| فعالسازی سوکت (Socket activation) که در ادامه توضیح داده شده است، میتواند برای دستیابی به همین هدف نیز استفاده شود. |
| گزینههای --server-read-timeout و --server-write-timeout میتوانند برای کنترل مهلتهای زمانی در سرور استفاده شوند. |
| توجه داشته باشید که این مقدار، زمان کل برای یک انتقال است. |
| گزینهٔ --max-header-bytes حداکثر تعداد بایتهایی را که سرور در هدر HTTP میپذیرد کنترل میکند. |
| گزینهٔ --response-header میتواند برای تنظیم یک هدر HTTP برای همه پاسخها استفاده شود و مقادیر موجود را بازنویسی خواهد کرد. |
| این پرچم برای افزودن چندین هدر میتواند تکرار شود. |
| از قالب Header-Name: value استفاده کنید. |
| گزینهٔ --baseurl پیشوند URLای را که rclone از آن سرویسدهی میکند، کنترل میکند. |
| بهطور پیشفرض rclone از ریشه سرویسدهی خواهد کرد. |
| اگر از --baseurl "/rclone" استفاده کنید، rclone از آدرسی که با "/rclone/" شروع میشود سرویس میدهد. |
| این ویژگی در صورتی که بخواهید برای سرویس rclone از پراکسی استفاده کنید، مفید است. |
| برنامه rclone بهطور خودکار در ابتدا و انتهای --baseurl کاراکتر "/" اضافه میکند؛ بنابراین --baseurl "rclone"، --baseurl "/rclone" و --baseurl "/rclone/" همگی به یک شکل پردازش میشوند. |
| گزینهٔ --disable-zip میتواند برای غیرفعال کردن قابلیت بارگیری zip تنظیم شود. |
| "پروتکل (Protocol)" |
| سرور از HTTP/1.1 و HTTP/2 پشتیبانی میکند. |
| پروتکل HTTP/2 بهطور خودکار برای اتصالات TLS استفاده میشود. |
| برای اتصالات غیر TLS، پروتکل متنی HTTP/2 (h2c) پشتیبانی میشود که امکان استفاده از HTTP/2 را بدون رمزنگاری فراهم میسازد. |
| "TLS (SSL)" |
| بهطور پیشفرض سرویسدهی از طریق http خواهد بود. |
| در صورت تمایل میتوانید روی https سرویسدهی کنید. |
| باید پرچمهای --cert و --key را مشخص کنید. |
| اگر مایل به اعتبارسنجی گواهی سمت کلاینت هستید، باید --client-ca را نیز ارائه دهید. |
| هنگامی که TLS پیکربندی شد، هر شنوندهای که با --addr مشخص شده باشد با TLS سرویس میدهد. |
| یک شنونده میتواند با پیشوند http:// مشخص شود تا HTTP رمزنگارینشده را روی آن آدرس ارائه دهد، یا با پیشوند tls:// تا صراحتاً بیان شود که باید حتماً TLS ارائه دهد. |
| استفاده از نشانی tls:// بدون --cert و --key یک خطا محسوب میشود. |
| گزینهٔ --cert باید روی مسیر فایلی حاوی یک گواهی با کدگذاری PEM، یا الحاق آن با گواهی مرجع صدور گواهی (CA) تنظیم شود. |
| گزینهٔ --key باید روی مسیر فایلی با کلید خصوصی با کدگذاری PEM تنظیم شود. |
| در صورت تنظیم --client-ca، باید به مسیر فایلی شامل گواهیهای مرجع صدور گواهی کلاینت با کدگذاری PEM اشاره کند. |
| گزینهٔ --min-tls-version حداقل نسخهٔ قابل قبول TLS است. |
| مقادیر معتبر عبارتند از "tls1.0"، "tls1.1"، "tls1.2" و "tls1.3" (پیشفرض "tls1.0"). |
| "فعالسازی سوکت (Socket activation)" |
| به جای آدرسهای شنیداری مشخص شده در بالا، rclone به تمام توصیفکنندههای فایل (FDs) ارسالشده توسط مدیر سرویس (در صورت وجود) گوش خواهد داد (و هر آرگومان داده شده با --addr را نادیده میگیرد). |
| این امر به rclone اجازه میدهد به عنوان یک سرویس با فعالسازی از طریق سوکت (socket-activated) عمل کند. |
| میتوان آن را با فایلهای واحد (unit files) از نوع .socket و .service همانطور که در https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html شرح داده شده است، پیکربندی نمود. |
| فعالسازی سوکت را میتوان بهصورت موردی با دستور systemd-socket-activate آزمایش کرد: |
| systemd-socket-activate -l 8000 -- rclone serve |
| این کار در نخستین اتصال به پورت 8000 روی TCP، برنامه rclone را از طریق سوکت فعال خواهد کرد..SS سامانه فایل مجازی (VFS - Virtual File System) |
| این دستور از لایهٔ VFS استفاده میکند. |
| این لایه، اشیاء ذخیرهسازی ابری مورد استفادهٔ rclone را به چیزی تبدیل میکند که بسیار شبیه به یک سامانه فایل دیسکی به نظر میرسد. |
| اشیاء ذخیرهسازی ابری ویژگیهای متعددی دارند که مشابه فایلهای روی دیسک نیستند - نمیتوان طول آنها را افزایش داد یا در میانهٔ آنها نوشت، بنابراین لایهٔ VFS باید این موارد را مدیریت کند. |
| از آنجا که یک راه واحد و قطعی برای انجام این کار وجود ندارد، گزینههای گوناگونی در ادامه توضیح داده شدهاند. |
| لایهٔ VFS همچنین یک حافظهٔ نهان دایرکتوری را پیادهسازی میکند - این بخش اطلاعات مربوط به فایلها و دایرکتوریها (و نه دادههای آنها) را در حافظه نگهداری میکند. |
| حافظهٔ نهان دایرکتوری VFS (VFS Directory Cache) |
| با استفاده از پرچم --dir-cache-time، میتوانید مشخص کنید که یک دایرکتوری تا چه مدت بهروز در نظر گرفته شود و نیازی به بازخوانی آن از backend نباشد. |
| تغییرات ایجادشده از طریق VFS بلافاصله نمایان میشوند یا حافظهٔ نهان را نامعتبر میکنند. |
| --dir-cache-time duration Time to cache directory entries for (default 5m0s) |
| --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) |
| با این حال، در صورتی که backend پیکربندیشده از پایش تغییرات پشتیبانی نکند، تغییراتی که مستقیماً از طریق رابط کاربری وب یا نسخهٔ متفاوتی از rclone روی فضای ابری اعمال میشوند، تنها پس از منقضی شدن حافظهٔ نهان دایرکتوری اعمال خواهند شد. |
| اگر backend از پایش پشتیبانی کند، تغییرات در بازهٔ زمانی مشخصشده برای پایش دریافت خواهند شد. |
| شما میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا بدون در نظر گرفتن مدت زمان ماندگاری، تمام حافظههای نهان دایرکتوری را خالی کند. |
| با فرض اینکه تنها یک نمونه از rclone در حال اجرا است، میتوانید حافظهٔ نهان را به این صورت بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را به همراه کنترل از راه دور پیکربندی کرده باشید، میتوانید از rclone rc برای خالی کردن کامل حافظهٔ نهان دایرکتوری استفاده کنید: |
| rclone rc vfs/forget |
| یا برای فایلها یا دایرکتوریهای مشخص: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| بافر کردن فایل در VFS (VFS File Buffering) |
| پرچم --buffer-size مقدار حافظهای را که برای بافر کردن پیشاپیش دادهها به کار میرود، تعیین میکند. |
| هر فایل باز همواره تلاش میکند مقدار دادهٔ تعیینشده را در حافظه نگه دارد. |
| دادههای بافرشده محدود به یک فایل باز هستند و به اشتراک گذاشته نخواهند شد. |
| این پرچم حد بالایی برای حافظهٔ مصرفی به ازای هر فایل باز است. |
| بافر تنها برای دادههایی که دانلود شده اما هنوز خوانده نشدهاند از حافظه استفاده میکند. |
| در صورت خالی بودن بافر، تنها مقدار ناچیزی از حافظه مصرف خواهد شد. |
| حداکثر حافظهٔ مصرفی توسط rclone برای بافرینگ میتواند تا --buffer-size * open files باشد. |
| ذخیرهسازی نهان فایل در VFS (VFS File Caching) |
| این پرچمها گزینههای ذخیرهسازی نهان فایل در VFS را کنترل میکنند. |
| ذخیرهسازی نهان فایل برای اینکه لایهٔ VFS با یک سامانه فایل عادی سازگار به نظر برسد ضروری است. |
| این سازوکار میتواند غیرفعال شود، اما به قیمت از دست رفتن بخشی از سازگاری تمام خواهد شد. |
| برای نمونه، اگر بخواهید بهطور همزمان از یک فایل بخوانید و در آن بنویسید، باید کش VFS را فعال کنید. |
| برای جزئیات بیشتر به ادامه مراجعه کنید. |
| توجه داشته باشید که حافظهٔ نهان VFS از backend حافظه نهان (cache backend) مجزا است و ممکن است به یکی از آنها یا هر دو نیاز پیدا کنید. |
| --cache-dir string Directory rclone will use for caching. |
| --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) |
| --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) |
| --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) |
| --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) |
| --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) |
| --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) |
| در صورت اجرا با -vv، دستور rclone مسیر قرارگیری فایلهای کش را چاپ خواهد کرد. |
| فایلها در ناحیهٔ فایل کش کاربر که به سیستمعامل بستگی دارد ذخیره میشوند، اما میتوان آن را از طریق --cache-dir یا با تنظیم متغیر محیطی مربوطه مدیریت کرد. |
| حافظهٔ نهان دارای ۴ حالت مختلف است که توسط --vfs-cache-mode انتخاب میشوند. |
| هرچه حالت حافظهٔ نهان بالاتر باشد، سازگاری rclone به بهای مصرف فضای بیشتر دیسک، افزایش مییابد. |
| توجه داشته باشید که فایلها تنها زمانی در ریموت بازنویسی میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه مورد دسترسی قرار نگرفته باشند. |
| اگر rclone متوقف شود یا پیش از آپلود فایلها به کار خود پایان دهد، این فایلها در اجرای بعدی rclone با همان پرچمها بارگذاری خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا --vfs-cache-min-free-space توجه داشته باشید که ممکن است حافظهٔ نهان به دو دلیل از این سهمیهها فراتر برود: |
| نخست به این دلیل که بررسی سهمیه تنها در هر --vfs-cache-poll-interval یکبار انجام میپذیرد. |
| دوم اینکه فایلهای باز را نمیتوان از حافظهٔ نهان خارج کرد. |
| هنگامی که اندازه از --vfs-cache-max-size یا --vfs-cache-min-free-space فراتر رود، rclone ابتدا تلاش میکند فایلهایی با کمترین میزان دسترسی را از کش خارج کند. |
| rclone این روند را از فایلهایی آغاز میکند که بیشترین زمان از آخرین دسترسی به آنها گذشته است. |
| این راهبرد تخلیهٔ کش بسیار کارآمد است و احتمال باقی ماندن فایلهای پرکاربردتر در حافظهٔ نهان را بالا میبرد. |
| گزینهٔ --vfs-cache-max-age فایلها را پس از گذشت مدتزمان تعیینشده از آخرین دسترسی از کش خارج میکند؛ این سازوکار بر اساس زمان آخرین دسترسی عمل میکند، نه زمانی که فایل نخستینبار به کش اضافه شده است. |
| مقدار پیشفرض ۱ ساعت فایلهایی را که به مدت ۱ ساعت هیچ دسترسی به آنها صورت نگرفته است از کش خارج میکند. |
| هنگامی که به یک فایل موجود در کش دسترسی پیدا شود، زمانسنج ۱ ساعته بازنشانی شده و پیش از خروج، مجدداً ۱ ساعت منتظر خواهد ماند. |
| زمان را با نمادگذاری استاندارد s، m، h، d و w مشخص کنید. |
| در صورت استفاده از --vfs-cache-mode > off، شما نباید دو نسخه از rclone را با استفاده از حافظهٔ نهان VFS مشترک بر روی ریموتهای یکسان یا همپوشان اجرا کنید. |
| انجام این کار بالقوه میتواند باعث خرابی دادهها شود. |
| برای رفع این مشکل، میتوانید با استفاده از --cache-dir، به هر نسخه از rclone ساختار سلسلهمراتبی کش مجزایی اختصاص دهید. |
| در صورتی که ریموتهای مورد استفاده همپوشانی نداشته باشند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off |
| در این حالت (پیشفرض) خواندن و نوشتن مستقیماً از و روی فضای راه دور (remote) انجام میشود، بدون آنکه چیزی روی دیسک کَش شود. |
| این بدان معناست که برخی عملیاتها امکانپذیر نیستند: |
| • 2 |
| فایلها را نمیتوان همزمان برای هر دو حالت خواندن و نوشتن باز کرد |
| • 2 |
| در فایلهای بازشده برای نوشتن، تغییر موقعیت نشانگر (seek) ممکن نیست |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید دارای پرچم O_TRUNC باشند |
| • 2 |
| فایلهایی که برای خواندن همراه با O_TRUNC باز شوند، فقطنوشتنی باز خواهند شد |
| • 2 |
| فایلهای بازشده بهصورت فقطنوشتنی بهگونهای رفتار میکنند که گویی O_TRUNC داده شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| در صورت شکست بارگذاری (upload)، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای بازشده برای خواندن و نوشتن روی دیسک بافر میشوند. |
| این امر باعث سازگاری بسیار بیشتر فایلهای بازشده برای نوشتن میشود، در حالی که کمترین فضای ممکن از دیسک را مصرف میکند. |
| این عملیاتها امکانپذیر نیستند: |
| • 2 |
| در فایلهای بازشده فقط برای نوشتن، تغییر موقعیت نشانگر (seek) ممکن نیست |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید دارای پرچم O_TRUNC باشند |
| • 2 |
| فایلهای بازشده فقط برای نوشتن، O_APPEND و O_TRUNC را نادیده خواهند گرفت |
| • 2 |
| در صورت شکست بارگذاری، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode writes |
| در این حالت، فایلهای بازشده بهصورت فقطخواندنی همچنان مستقیماً از فضای راه دور خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمامی عملیاتهای عادی سیستمفایل پشتیبانی کند. |
| اگر بارگذاری با شکست مواجه شود، تلاش مجدد در بازههای زمانی با افزایش نمایی تا حداکثر ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت تمامی خواندنها و نوشتنها روی دیسک و از روی دیسک بافر میشوند. |
| هنگامی که دادهها از فضای راه دور خوانده میشوند، روی دیسک نیز بافر خواهند شد. |
| در این حالت، فایلهای موجود در کَش بهصورت فایلهای کمپشت (sparse files) خواهند بود و rclone بخشهایی از فایل را که بارگیری کرده است پیگیری میکند. |
| بنابراین اگر برنامهای تنها ابتدای هر فایل را بخواند، rclone نیز تنها ابتدای فایل را بافر خواهد کرد. |
| این فایلها در کَش با اندازه کامل خود نمایش داده میشوند، اما در واقع فایلهای کمپشتی هستند که تنها دادههای بارگیریشده درون آنها قرار دارد. |
| این حالت باید از تمامی عملیاتهای عادی سیستمفایل پشتیبانی کند و در غیر این صورت، کاملاً مشابه --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازه --buffer-size بهعلاوه --vfs-read-ahead بایت جلوتر میخواند. |
| مقدار --buffer-size در حافظه بافر میشود در حالی که --vfs-read-ahead روی دیسک بافر خواهد شد. |
| هنگام استفاده از این حالت، توصیه میشود که --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز، --vfs-read-ahead روی مقدار بزرگی تنظیم گردد. |
| مهم: همه سیستمهای فایل از فایلهای کمپشت پشتیبانی نمیکنند؛ بهویژه FAT/exFAT پشتیبانی ندارند. |
| اگر دایرکتوری کَش روی سیستمفایلی باشد که از فایلهای کمپشت پشتیبانی نمیکند، rclone عملکرد بسیار ضعیفی خواهد داشت و در صورت شناسایی چنین سیستمی، یک پیام ERROR ثبت خواهد کرد. |
| انگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از انگشتنگاری برای تشخیص تغییر نسخه محلی فایل نسبت به فایل راه دور استفاده میکنند. |
| اثرانگشتها از موارد زیر ساخته میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان تغییر (modification time) |
| • 2 |
| هش (hash) |
| در صورتی که روی شیء در دسترس باشند. |
| در برخی backendها، خواندن بعضی از این مشخصهها کُند است (نیازمند یک فراخوانی API اضافی برای هر شیء یا پردازش مضاعف روی شیء هستند). |
| بهعنوان مثال، hash در backendهای local و sftp کُند است زیرا باید کل فایل خوانده شده و هش آن محاسبه شود؛ همچنین modtime در backendهای s3، swift، ftp و qinqstor کُند است زیرا برای دریافت آن نیاز به فراخوانی اضافی API دارند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیاتهای کُند را در محاسبه اثرانگشت لحاظ نخواهد کرد. |
| این کار دقت انگشتنگاری را کاهش میدهد، اما سرعت آن را بسیار بالا برده و زمان باز کردن فایلهای کَششده را بهبود میبخشد. |
| اگر در حال اجرای یک کَش VFS بر روی backendهای local، s3 یا swift هستید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که اگر مقدار این پرچم را تغییر دهید، ممکن است اثرانگشت فایلهای موجود در کَش نامعتبر شده و نیاز به بارگیری مجدد فایلها باشد..SS خواندن تکهتکهای در VFS (VFS Chunked Reading) |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را به صورت تکهتکه (در قالب chunk) میخواند. |
| این بدان معناست که rclone به جای درخواست کل فایل، تکه مشخصشده را درخواست میکند. |
| این کار میتواند با درخواستِ صرفاً تکههایی از ریموت که واقعاً خوانده میشوند، سهمیه دانلود مصرفی را برای برخی ریموتها کاهش دهد؛ البته به بهای افزایش تعداد کل درخواستها. |
| این پرچمها رفتار تکهتکهسازی را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ به صورت تکهتکه (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه دو برابر شدن تکه (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تکهتکهسازی بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| برنامه rclone خواندن را با تکهای به اندازه |
| --vfs-read-chunk-size آغاز میکند و سپس با هر بار خواندن، اندازه آن را دو برابر میسازد. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر |
| از --vfs-read-chunk-size باشد، اندازه تکه برای هر فایلِ باز |
| تنها تا رسیدن به مقدار مشخصشده دو برابر خواهد شد. |
| اگر مقدار برابر با "off" باشد (که حالت پیشفرض است)، محدودیت |
| غیرفعال است و اندازه تکه بدون محدودیت افزایش خواهد یافت. |
| با --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0 بخشهای زیر |
| دانلود خواهند شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و غیره. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه |
| به صورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و غیره |
| خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهتکهای را غیرفعال میکند. |
| تکهها در حافظه بافر (موقتاً ذخیره) نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| برنامه rclone به تعداد --vfs-read-chunk-streams تکه با اندازه |
| --vfs-read-chunk-size را به طور همزمان میخواند. |
| اندازه برای هر خواندن ثابت خواهد ماند. |
| این کار کارایی را روی پیوندهای با تأخیر بالا یا |
| پیوندهای با پهنای باند بسیار بالا به ذخیرهسازهای شیء با کارایی بالا به طور چشمگیری بهبود میبخشد. |
| برای یافتن مقادیر بهینه برای |
| --vfs-read-chunk-size و --vfs-read-chunk-streams |
| به مقداری آزمون و خطا نیاز خواهد بود، چرا که این موارد به backend مورد استفاده و میزان تأخیر تا آن بستگی دارند. |
| برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطه شروع مناسب |
| میتواند --vfs-read-chunk-streams 16 و |
| --vfs-read-chunk-size 4M باشد. |
| در آزمایشهای انجامشده با AWS S3، کارایی تقریباً متناسب با مقدار |
| تنظیمشده برای --vfs-read-chunk-streams مقیاسپذیر بود. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز جوابگو باشد، اما بسته به |
| میزان تأخیر، ممکن است برای دستیابی به توان عملیاتی به مقادیر بیشتری از --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS (VFS Performance) |
| این پرچمها ممکن است برای فعال یا غیرفعال کردن قابلیتهای VFS به دلایل |
| کارایی یا دلایل دیگر استفاده شوند. |
| همچنین قابلیت خواندن تکهتکهای را ببینید. |
| بهویژه S3 و Swift سود بسیار زیادی از پرچم |
| --no-modtime میبرند (یا برای تأثیری کمی متفاوت |
| از --use-server-modtime استفاده کنید)، زیرا هر بار خواندن زمان ویرایش نیازمند یک تراکنش است. |
| --no-checksum چکسامها را هنگام بارگذاری/دانلود مقایسه نمیکند. |
| --no-modtime زمان ویرایش را نمیخواند/نمینویسد (میتواند سرعت را افزایش دهد). |
| --no-seek اجازه پرش (seek) در فایلها را نمیدهد. |
| --read-only تنها اجازه دسترسی فقطخواندنی را میدهد. |
| گاهی اوقات عملیات خواندن یا نوشتن به صورت خارج از ترتیب به rclone تحویل داده میشوند. |
| rclone به جای پرش (seek)، مدت کوتاهی منتظر میماند تا عملیات متوالی بعدی خواندن یا نوشتن دریافت شود. |
| این پرچمها تنها زمانی اثرگذار هستند که از فایل کَش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت زمان انتظار برای خواندن متوالی قبل از پرش (پیشفرض 20ms) |
| --vfs-write-wait duration مدت زمان انتظار برای نوشتن متوالی قبل از اعلام خطا (پیشفرض 1s) |
| هنگام استفاده از کَش نوشتن VFS (--vfs-cache-mode با مقدار |
| writes یا full)، پرچم سراسری --transfers را میتوان برای |
| تنظیم تعداد بارگذاریهای موازی فایلهای تغییریافته از کَش تنظیم کرد |
| (پرچم سراسری مرتبط --checkers تأثیری بر VFS ندارد). |
| --transfers int تعداد انتقالهای همزمان فایل برای اجرا (پیشفرض 4) |
| بهطور پیشفرض VFS از پیوندهای نمادین (symlinks) پشتیبانی نمیکند. |
| با این حال، میتوان این قابلیت را با هر یک از پرچمهای زیر فعال کرد: |
| --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. |
| --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل معمولی با یک پسوند ویژه ذخیره میکند. |
| بنابراین فایلی که بهصورت یک پیوند نمادین با نام link-to-file.txt ظاهر میشود، در فضای ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links تبدیل پیوند نمادین را بهصورت سراسری در rclone فعال میکند - این شامل هر backend که از این مفهوم پشتیبانی کند (برای مثال backend محلی یا local) میشود. |
| --vfs-links این قابلیت را صرفاً برای لایه VFS فعال میکند. |
| این سازوکار با روش مورد استفاده توسط backend محلی از طریق پرچم --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است. |
| این ویژگی هنوز با سایر دستورات rclone serve آزمایش نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده، زیرپیوندهای نمادین (sub-symlinks) را حل کند. |
| برای مثال با فرض این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| لایه VFS پیوند linked-dir را بهدرستی حل میکند، اما linked-dir/file.txt را حل نخواهد کرد. |
| این موضوع برای دستورهای آزمایششده مشکلی ایجاد نمیکند اما ممکن است برای سایر دستورها مسئلهساز شود. |
| توجه داشته باشید که یک مشکل باز در رابطه با پشتیبانی از پیوندهای نمادین، یعنی گزارش شماره ۸۲۴۵ (https://github.com/rclone/rclone/issues/8245) وجود دارد که در آن وقتی پیوندهای نمادین به دایرکتوریهایی منتقل میشوند که فایلی با همان نام در آنها وجود دارد (یا برعکس)، فایلهای تکراری ایجاد میشوند. |
| "حساسیت به بزرگی و کوچکی حروف در VFS (VFS Case Sensitivity)" |
| سیستمهای فایل لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف با هم تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً همان حالت حروف استفاده شود. |
| سیستمهای فایل در ویندوزهای مدرن به بزرگی و کوچکی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-insensitive but case-preserving): اگرچه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که برای ایجاد فایل استفاده شده حفظ میشود و برنامهها میتوانند آن را استعلام کنند. |
| مجاز نیست که در یک دایرکتوری یکسان، دو فایل تنها در بزرگی یا کوچکی حروف با یکدیگر تفاوت داشته باشند. |
| معمولاً سیستمهای فایل در macOS نسبت به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن سیستمهای فایل macOS به بزرگی و کوچکی حروف وجود دارد، اما این حالت پیشفرض نیست. |
| پرچم --vfs-case-insensitive در VFS چگونگی مدیریت این دو حالت را توسط rclone کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نام فایلها را دستنخورده به remote ارسال میکند. |
| اگر این پرچم "true" باشد (یا بدون مقدار در خط فرمان درج شود)، rclone ممکن است یک «اصلاح» ("fixup") را مطابق توضیحات زیر انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف متفاوت از آنچه روی remote ذخیره شده مشخص کند. |
| اگر یک آرگومان به فایلی موجود با دقیقاً همان نام اشاره کند، از حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با دقیقاً همان نام یافت نشود، اما نامی که تنها در بزرگی و کوچکی حروف با آن تفاوت دارد موجود باشد، rclone نام را بهطور شفاف اصلاح خواهد کرد. |
| این اصلاح تنها زمانی رخ میدهد که یک فایل از قبل موجود درخواست شود. |
| حساسیت به حروف در نام فایلهایی که بهتازگی توسط rclone ایجاد میشوند، توسط remote زیربنایی کنترل میشود. |
| توجه داشته باشید که حساسیت به بزرگی و کوچکی حروف در سیستمعامل اجراکننده rclone (مقصد یا target) ممکن است با حساسیت سیستم فایل ارائهشده توسط rclone (مبدأ یا source) متفاوت باشد. |
| این پرچم تعیین میکند که آیا برای برآورده کردن الزامات سیستم مقصد، «اصلاح» ("fixup") انجام شود یا خیر. |
| اگر پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی بستگی دارد که rclone در آن اجرا میشود: در Windows و macOS مقدار "true" و در غیر این صورت "false" است. |
| اگر پرچم بدون مقدار مشخص شود، مقدار آن "true" در نظر گرفته میشود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «اصلاح» ("fixup") مشابهی برای نامفایلهایی که از نظر نگارش متفاوتند اما بر اساس استانداردهای یونیکد همارز ساختاری (canonically equivalent) محسوب میشوند (https://en.wikipedia.org/wiki/Unicode_equivalence) انجام شود یا خیر. |
| نرمالسازی یونیکد (Unicode normalization) میتواند بهویژه برای کاربران macOS مفید باشد؛ چرا که macOS فرم NFD را به جای فرم NFC مورداستفاده در اکثر پلتفرمهای دیگر ترجیح میدهد. |
| بنابراین اکیداً توصیه میشود که مقدار پیشفرض false در macOS حفظ شود تا از مشکلات سازگاری کدگذاری کاراکترها جلوگیری به عمل آید. |
| در صورت وقوع حالت (احتمالاً نادر) وجود چندین نام فایل تکراری در یک دایرکتوری پس از اعمال نرمالسازی حروف و یونیکد، پرچم --vfs-block-norm-dupes امکان پنهانسازی این موارد تکراری را فراهم میکند. |
| این کار با هزینه کاهش کارایی همراه است، چرا که rclone هنگام فهرست کردن محتوای یک دایرکتوری ناچار است کل دایرکتوری را برای یافتن موارد تکراری پویش کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این حال، ممکن است کاربران macOS تمایل به استفاده از آن داشته باشند؛ زیرا در غیر این صورت، اگر یک دایرکتوری remote شامل هر دو نسخه NFC و NFD از یک نام فایل یکسان باشد، وضعیت غیرمعمولی رخ خواهد داد: هر دو نسخه فایل در نقطه mount نمایش داده میشوند و هر دو به ظاهر قابل ویرایش خواهند بود، اما ویرایش هر نسخه در عمل منجر به اعمال تغییرات صرفاً روی نسخه NFD در لایههای زیرین میشود. |
| پرچم --vfs-block-norm-dupes با تشخیص این سناریو، پنهان کردن موارد تکراری و ثبت خطا در گزارش وقایع (log)، مشابه با نحوه مدیریت این شرایط در rclone sync، از بروز این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS |
| این پرچم به شما امکان میدهد آمار مربوط به سیستم فایل را به صورت دستی |
| تنظیم کنید. |
| این قابلیت میتواند زمانی مفید باشد که این آمار نتوانند به صورت خودکار |
| و صحیح خوانده شوند. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای مصرفشده |
| برخی بکاندها، بهویژه S3، مقدار بایتهای مصرفشده را گزارش نمیدهند. |
| اگر نیاز دارید هنگام اجرای df روی سیستم فایل این اطلاعات در |
| دسترس باشند، پرچم --vfs-used-is-size را به rclone ارسال کنید. |
| با تنظیم این پرچم، rclone بهجای اتکا به بکاند برای گزارش این اطلاعات، |
| مشابه rclone size کل ریموت را پویش کرده و خودش کل فضای استفادهشده |
| را محاسبه میکند. |
| هشدار: بر خلاف rclone size، این پرچم فیلترها را نادیده |
| میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است باعث فراخوانیهای متعدد |
| API شده و هزینههای اضافی به همراه داشته باشد. |
| از آن فقط به عنوان آخرین راهکار و صرفاً به همراه کش استفاده کنید. |
| متادیتای VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید |
| VFS را وادارید تا فایلهای حاوی متادیتا (https://rclone.org/docs/#metadata) را |
| به صورت یک blob با ساختار JSON در دسترس قرار دهد. |
| این فایلها در فهرست دایرکتوری نمایش داده نمیشوند، اما میتوان روی آنها |
| stat اجرا کرد و آنها را باز نمود؛ و به محض انجام این کار، تا زمانی |
| که کش دایرکتوری منقضی شود، در فهرستهای دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی بکاندها متادیتا را ایجاد نمیکنند، مگر اینکه |
| پرچم --metadata را ارسال کرده باشید. |
| برای نمونه، با استفاده از rclone mount به همراه |
| --metadata --vfs-metadata-extension .metadata نتیجه زیر حاصل میشود: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد متادیتا باشد، به صورت {} بازگردانده میشود و اگر |
| خطایی در خواندن متادیتا رخ دهد، خطا به صورت |
| {"error":"error string"} بازگردانده خواهد شد. |
| پروکسی احراز هویت |
| اگر پارامتر --auth-proxy /path/to/program را ارسال کنید، rclone |
| از آن برنامه برای ساخت بکاندها به صورت در لحظه (on the fly) استفاده میکند که |
| سپس برای احراز هویت درخواستهای ورودی به کار گرفته میشوند. |
| این سازوکار از یک پروتکل ساده مبتنی بر JSON با ورودی روی STDIN و خروجی روی |
| STDOUT استفاده میکند. |
| لطفاً توجه داشته باشید: پرچمهای --auth-proxy و |
| --authorized-keys نمیتوانند همزمان استفاده شوند؛ اگر |
| --auth-proxy تنظیم شده باشد، گزینه کلیدهای مجاز نادیده گرفته خواهد شد. |
| یک برنامه نمونه در مسیر |
| bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py) |
| در کد منبع rclone موجود است. |
| وظیفه این برنامه دریافت user و pass در ورودی و تبدیل |
| آنها به پیکربندی یک بکاند در STDOUT با قالب JSON است. |
| پارامترهای پیشفرض بکاند به این پیکربندی اضافه خواهند شد، اما از پیکربندی |
| متغیرهای محیط یا گزینههای خط فرمان استفاده نخواهد کرد - ایجاد یک پیکربندی |
| کامل بر عهده برنامه پروکسی است. |
| این پیکربندی تولیدشده باید این پارامتر اضافه را داشته باشد: |
| • 2 |
| _root - ریشه (root) مورد استفاده برای بکاند |
| و میتواند شامل این پارامترها باشد: |
| • 2 |
| _obscure - رشتههای جداشده با کاما برای پارامترهایی که باید مبهمسازی شوند |
| • 2 |
| _secret_access_key - کلید مخفی برای احراز هویت کلید دسترسی S3 (پایین را ببینید) |
| اگر احراز هویت با گذرواژه توسط کلاینت استفاده شده باشد، ورودی به فرآیند پروکسی |
| (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "pass": "mypassword", |
| "client_ip": "192.168.1.1" |
| } |
| اگر احراز هویت با کلید عمومی توسط کلاینت انجام شده باشد، ورودی به فرآیند |
| پروکسی (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf", |
| "client_ip": "192.168.1.1" |
| } |
| اگر کلاینت با کلید دسترسی S3 احراز هویت کرده باشد |
| (rclone serve s3)، کلاینت هرگز کلید مخفی خود را ارسال نمیکند، بلکه تنها |
| امضای ساختهشده با آن را میفرستد؛ بنابراین ورودی تنها حاوی شناسه کلید دسترسی به عنوان |
| user و بدون pass یا public_key است: |
| { |
| "user": "AKIAIOSFODNN7EXAMPLE", |
| "client_ip": "192.168.1.1" |
| } |
| در این حالت برنامه باید کلید دسترسی مخفی را برای آن شناسه کلید دسترسی جستجو کند |
| و آن را در فیلد _secret_access_key در خروجی بازگرداند. |
| سپس rclone از آن کلید مخفی برای تأیید امضای روی درخواست استفاده میکند و در |
| صورت عدم تطابق، درخواست را رد خواهد کرد. |
| این بدان معناست که برنامه پروکسی مرجع اصلی (source of truth) هم برای اطلاعات |
| اعتباری و هم برای بکاَندی است که به آن متصل میشوند. |
| اگر برنامه _secret_access_key را بازنگرداند یا آن را خالی برگرداند، |
| درخواست رد میشود. |
| پاسخ برنامه برای یک شناسه کلید دسترسی کش میشود (پایین را ببینید)، اما حتی اگر |
| شناسه کلید دسترسی دائماً در حال استفاده باشد، پس از ۵ دقیقه مجدداً از برنامه |
| استعلام خواهد شد؛ بنابراین ابطال یک شناسه کلید دسترسی در برنامه حداکثر ظرف ۵ دقیقه |
| اعمال میشود. |
| یک کلید مخفی تعویضشده (rotated secret) در نخستین درخواستی که با آن امضا شده باشد اعمال میگردد. |
| کلید client_ip نشانی IPای را نگه میدارد که کلاینت از آن متصل شده است، |
| بدون شماره پورت. |
| میتوان از آن برای محدود کردن ورودها به شبکههای خاص یا ثبت وقایع احراز هویت |
| به صورت متمرکز استفاده کرد. |
| اگر کلاینت فاقد نشانی IP باشد (برای مثال هنگام اتصال از طریق سوکت یونیکس)، |
| این کلید حذف میشود. |
| توجه داشته باشید که اگر rclone پشت یک پروکسی معکوس (reverse proxy) باشد، این مقدار |
| نشانی پروکسی معکوس خواهد بود نه کلاینت اصلی. |
| و به عنوان نمونه، این مقدار در خروجی STDOUT بازگردانده میشود: |
| { |
| "type": "sftp", |
| "_root": "", |
| "_obscure": "pass", |
| "user": "me", |
| "pass": "mypassword", |
| "host": "sftp.example.com" |
| } |
| این بدان معناست که یک backend از نوع SFTP بهصورت بلادرنگ برای |
| user و pass/public_key بازگرداندهشده در |
| خروجی به میزبان دادهشده ایجاد خواهد شد. |
| توجه داشته باشید از آنجا که _obscure روی pass تنظیم شده است، rclone |
| پارامتر pass را پیش از ایجاد backend مبهمسازی (obscure) خواهد کرد (که |
| برای backendهای sftp الزامی است). |
| برنامه میتواند user ارائهشده را به هر روشی دستکاری کند؛ برای |
| نمونه بهمنظور ایجاد پراکسی برای چندین backend مختلف sftp، میتوانید |
| user را بهصورت user@example.com قرار داده و سپس |
| host را در خروجی روی example.com و کاربر را روی |
| user تنظیم کنید. |
| به دلایل امنیتی، احتمالاً مایل خواهید بود host را به یک فهرست |
| محدود مقید کنید. |
| یک کَش داخلی از backendها بر اساس user، هشی از |
| pass یا public_key، و client_ip کلیدگذاری میشود. |
| این بدان معناست که اگر گذرواژه یا کلید عمومی کاربر تغییر کند، کلاینت از یک |
| نشانی IP جدید متصل شود، یا پراکسی پارامترهای پیکربندی متفاوتی را بازگرداند |
| (مانند یک api_key تغییریافته)، در درخواست بعدی به جای استفادهٔ مجدد از |
| مورد ذخیرهشده در کَش، یک backend تازه ایجاد خواهد شد. |
| این قابلیت میتواند برای ساخت پراکسیهای چندمنظوره برای هر نوع backend که |
| rclone از آن پشتیبانی میکند، استفاده شود. |
| rclone serve s3 remote:path [flags] |
| "گزینهها (OPTIONS)" |
| --addr stringArray نشانی IP:Port یا :Port برای مقیدسازی کارساز (پیشفرض 127.0.0.1:8080) |
| --allow-origin string مبدأیی که درخواستهای بیندامنه (CORS) میتوانند از آن اجرا شوند |
| --auth-key stringArray تنظیم جفتکلید برای احراز هویت نسخه ۴: access_key_id,secret_access_key |
| --auth-proxy string برنامهای برای ایجاد backend از روی احراز هویت |
| --baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید |
| --cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) |
| --client-ca string مرجع صدور گواهی کلاینت (CA) برای اعتبارسنجی کلاینتها |
| --dir-cache-time Duration مدتزمان کَش کردن مدخلهای دایرکتوری (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --disable-multipart-streaming بافر کردن بارگذاریهای چندبخشی در حافظه بهجای ارسال جریانی به backend |
| --etag-hash string نوع هش مورد استفاده برای ETag، یا auto یا خالی برای غیرفعالسازی (پیشفرض "MD5") |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --force-path-style اگر true باشد استفاده از سبک دسترسی path، اگر false باشد سبک virtual hosted (پیشفرض true) |
| --gid uint32 بازنویسی مقدار gid تعیینشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای s3 |
| --htpasswd string یک فایل htpasswd - در صورت عدم ارائه، احراز هویت انجام نمیشود |
| --key string کلید خصوصی TLS PEM |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --max-header-bytes int بیشینه اندازه هدر درخواست (پیشفرض 4096) |
| --min-tls-version string کمینه نسخهٔ قابل قبول TLS (پیشفرض "tls1.0") |
| --multipart-expiry Duration لغو بارگذاریهای چندبخشی ناقص و بیکار طولانیتر از این مقدار، 0 برای نگهداری همیشگی (پیشفرض 1d) |
| --multipart-streaming-buffer-limit SizeSuffix بیشینه حافظه بافرشده به ازای هر بارگذاری چندبخشی جریانی برای بخشهای نامرتب، 0 برای نامحدود (پیشفرض 256Mi) |
| --no-checksum عدم مقایسه چِکسامها هنگام بارگذاری/بارگیری |
| --no-cleanup عدم پاکسازی پوشه خالی پس از حذف شیء |
| --no-modtime عدم خواندن/نوشتن زمان ویرایش (میتواند سرعت را افزایش دهد) |
| --no-seek عدم اجازه جستجو (seek) در فایلها |
| --pass string گذرواژه برای احراز هویت |
| --poll-interval Duration زمان انتظار میان بررسی تغییرات، باید از dir-cache-time کمتر باشد و فقط برای ریموتهای پشتیبانیشده (0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --read-only تنها اجازه دسترسی فقطخواندنی |
| --realm string قلمرو (realm) برای احراز هویت |
| --response-header stringArray تنظیم هدر HTTP برای همه پاسخها، با جایگزینی مقادیر موجود |
| --salt string سالت (salt) درهمسازی گذرواژه (پیشفرض "dlPL2MqE") |
| --server-read-timeout Duration مهلت زمانی خواندن داده توسط کارساز (پیشفرض 1h0m0s) |
| --server-write-timeout Duration مهلت زمانی نوشتن داده توسط کارساز (پیشفرض 1h0m0s) |
| --uid uint32 بازنویسی مقدار uid تعیینشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تعیینشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) |
| --user string نام کاربری برای احراز هویت |
| --user-from-header string نام کاربری از یک هدر تعریفشده HTTP |
| --vfs-block-norm-dupes در صورت وجود نامهای فایل تکراری در یک دایرکتوری (پس از نرمالسازی)، ثبت خطا و پنهان کردن موارد تکراری (ممکن است بار پردازشی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء در کَش (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء در کَش (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی کَش (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت کَش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازه زمانی بررسی کَش برای اشیاء بیاستفاده (پیشفرض 1m0s) |
| --vfs-case-insensitive در صورت پیدا نشدن نام فایل، یافتن تطابق غیرحساس به بزرگی و کوچکی حروف |
| --vfs-disk-space-total-size SizeSuffix تعیین فضای کل دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثرانگشت سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدتزمان زنده نگهداشتن دستگیره فایل و بارگیرندهها پس از آخرین بستهشدن (پیشفرض 5s) |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن فراداده از آن |
| --vfs-read-ahead SizeSuffix پیشخوانی اضافه فراتر از --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix اگر بزرگتر از --vfs-read-chunk-size باشد، دوبرابر کردن اندازه تکه پس از هر خواندن تا رسیدن به حد ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration مدت انتظار برای خواندن متوالی قبل از seek (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی کَش دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای اندازهٔ استفادهشده (Used) |
| --vfs-write-back Duration زمان بازنویسی فایلها پس از آخرین استفاده هنگام استفاده از کَش (پیشفرض 5s) |
| --vfs-write-wait Duration مدت انتظار برای نوشتن متوالی پیش از اعلام خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، به صفحهٔ پرچمهای سراسری (https://rclone.org/flags) مراجعه کنید..SS گزینههای فیلتر (Filter Options) |
| پرچمهایی برای فیلتر کردن فهرستهای دایرکتوری |
| --delete-excluded حذف فایلهای روی مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود داشتن نام فایل |
| --files-from stringArray خواندن فهرست نامهای فایل منبع از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچگونه پردازش روی خطوط (برای خواندن از stdin از - استفاده کنید) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (برای خواندن از stdin از - استفاده کنید) |
| -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --hash-filter string افراز نام فایلها با هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به حروف کوچک و بزرگ) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --max-age Duration فقط انتقال فایلهای جدیدتر از این برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تعیین، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --min-age Duration فقط انتقال فایلهای قدیمیتر از این برحسب s یا پسوندهای ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این برحسب KiB یا پسوندهای B|K|M|G|T|P (پیشفرض خاموش) |
| همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائه یک ریموت بر بستر یک پروتکل. |
| rclone serve sftp |
| ارائه ریموت از طریق SFTP. |
| خلاصه دستور (SYNOPSIS) |
| اجرای یک سرور SFTP برای ارائه یک ریموت بر بستر SFTP. |
| این دستور میتواند با یک کلاینت SFTP استفاده شود یا میتوانید ریموتی از نوع |
| sftp برای استفاده با آن بسازید. |
| میتوانید از پرچمهای فیلتر (مانند |
| --include، --exclude) برای کنترل موارد ارائهشده استفاده کنید. |
| سرور به تعداد اندکی از دستورات شل پاسخ خواهد داد، عمدتاً |
| md5sum، sha1sum و df، که آن را قادر میسازد تا هنگام دسترسی از یک ریموت sftp، پشتیبانی از چکسامها |
| و قابلیت about را فراهم کند. |
| توجه داشته باشید که این سرور از اندازه بارِ بسته (payload) استاندارد 32 KiB استفاده میکند، بدین |
| معنی که نباید کلاینت را برای انتظار مقداری دیگر پیکربندی کنید، مثلاً |
| با گزینه chunk_size (https://rclone.org/sftp/#sftp-chunk-size) روی |
| یک ریموت sftp. |
| سرور خطاها را لاگ میکند. |
| از -v برای مشاهده لاگهای دسترسی استفاده کنید. |
| --bwlimit برای انتقال فایلها رعایت خواهد شد. |
| از --stats برای کنترل چاپ آمار استفاده کنید. |
| باید روشی برای احراز هویت تعیین کنید، یا با |
| --user/--pass، یا فایل کلیدهای مجاز (مکان آن را با |
| --authorized-keys مشخص کنید - پیشفرض همانند |
| ssh است)، یا یک --auth-proxy، و یا تنظیم پرچم --no-auth برای |
| عدم احراز هویت هنگام ورود. |
| اگر یک --key میزبان ارائه ندهید، rclone انواع کلیدهای |
| rsa، ecdsa و ed25519 را ایجاد کرده و آنها را برای استفادههای بعدی در دایرکتوری کش rclone |
| (دستور rclone help flags cache-dir را ببینید) |
| درون دایرکتوری "serve-sftp" ذخیره میکند. |
| بهطور پیشفرض سرور به localhost:2022 متصل میشود - اگر میخواهید از |
| خارج قابل دسترس باشد، برای مثال --addr :2022 را ارائه دهید. |
| این دستور همچنین از اجرا با فعالسازی سوکت (socket activation) پشتیبانی میکند، که در این حالت |
| روی نخستین توصیفکننده پرونده (FD) ارسالشده شنود خواهد کرد. |
| این مورد میتواند با فایلهای واحد .socket و .service پیکربندی شود، همانطور که در |
| https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html |
| شرح داده شده است. |
| فعالسازی سوکت را میتوان بهطور موردی با دستور |
| systemd-socket-activate آزمایش کرد: |
| systemd-socket-activate -l 2222 -- rclone serve sftp :local:vfs/ |
| این کار rclone را در نخستین اتصال به پورت 2222 بر بستر TCP فعال (socket-activate) میکند. |
| توجه داشته باشید که مقدار پیشفرض --vfs-cache-mode off برای backend اسافتیپی |
| rclone مناسب است، اما ممکن است با سایر کلاینتهای SFTP مناسب نباشد. |
| اگر --stdio مشخص شده باشد، rclone سرویس SFTP را بر بستر stdio ارائه میدهد، |
| که میتواند از طریق ~/.ssh/authorized_keys با sshd استفاده شود، برای مثال: |
| restrict,command="rclone serve sftp --stdio ./photos" ssh-rsa ... |
| در سمت کلاینت هنگام استفاده از --stdio باید مقدار --transfers 1 را تنظیم کنید. |
| در غیر این صورت چندین نمونه از سرور rclone توسط OpenSSH راهاندازی میشود |
| که میتواند به خطاهای "corrupted on transfer" منجر گردد. |
| علت این است که کلاینت بدون تفکیک انتخاب میکند که دستورات را به کدام |
| سرور بفرستد، در حالی که همه سرورها دید متفاوتی از وضعیت سیستم فایل دارند. |
| عبارت "restrict" در authorized_keys مانع استفاده از SHA1SUMs و MD5SUMs |
| میشود. |
| حذف "restrict" و استفاده از --sftp-path-override برای |
| فعالسازی بررسی چکسام امکانپذیر است اما امنیت کمتری دارد و در این حالت میتوانید |
| از سرور SFTP ارائهشده توسط OpenSSH استفاده کنید..SS "VFS - سامانه فایل مجازی (Virtual File System)" |
| این دستور از لایه VFS استفاده میکند. |
| این لایه اشیاء ذخیرهسازی ابریِ مورد استفاده rclone را به ساختاری منطبق میکند که بسیار شبیه به یک سامانه فایل دیسکی عمل میکند. |
| اشیاء ذخیرهسازی ابری ویژگیهای فراوانی دارند که مانند فایلهای دیسک نیست - برای نمونه نمیتوان اندازه آنها را گسترش داد یا در میانهشان نوشت؛ بنابراین لایه VFS باید با این موضوع مقابله کند. |
| از آنجا که یک روش واحد و یگانه برای انجام این کار وجود ندارد، گزینههای گوناگونی در دسترس است که در ادامه توضیح داده شدهاند. |
| لایه VFS همچنین یک کَش دایرکتوری را پیادهسازی میکند - این قابلیت، اطلاعات مربوط به فایلها و دایرکتوریها (و نه دادهها) را در حافظه نگهداری (کَش) میکند. |
| "کَش دایرکتوری VFS (VFS Directory Cache)" |
| با استفاده از پرچم --dir-cache-time میتوانید مدت زمانی را کنترل کنید که یک دایرکتوری بهروز در نظر گرفته شده و از بکاند (backend) بازخوانی مجدد نشود. |
| تغییرات اعمالشده از طریق VFS بلافاصله نمایان میشوند یا کَش را نامعتبر (invalidate) میکنند. |
| --dir-cache-time duration Time to cache directory entries for (default 5m0s) |
| --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) |
| با این حال، در صورتی که بکاندِ پیکربندیشده از نظرسنجی (polling) برای بررسی تغییرات پشتیبانی نکند، تغییراتی که مستقیماً از طریق رابط وب یا نسخهای دیگر از rclone روی ذخیرهسازی ابری اعمال شوند، تنها پس از منقضی شدن کَش دایرکتوری شناسایی خواهند شد. |
| اگر بکاند از نظرسنجی پشتیبانی کند، تغییرات در بازه زمانی نظرسنجی (polling interval) اعمال میشوند. |
| میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا بدون در نظر گرفتن عمر کَشها، تمام کَشهای دایرکتوری را پاکسازی (flush) کند. |
| با فرض اجرای تنها یک نمونه از rclone، میتوانید کَش را بدین صورت بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را با کنترل از راه دور پیکربندی کرده باشید، میتوانید با استفاده از rclone rc کل کَش دایرکتوری را تخلیه نمایید: |
| rclone rc vfs/forget |
| یا برای فایلها یا دایرکتوریهای مشخص: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| "بافرسازی فایل VFS (VFS File Buffering)" |
| پرچم --buffer-size مقدار حافظهای را مشخص میکند که برای بافربندی پیشاپیش دادهها استفاده خواهد شد. |
| هر فایلِ باز تلاش میکند مقدار داده مشخصشده را همواره در حافظه نگهداری کند. |
| دادههای بافرشده به یک فایل باز محدود بوده و به اشتراک گذاشته نخواهند شد. |
| این پرچم حد بالایی برای حافظه مصرفی به ازای هر فایل باز تعیین میکند. |
| بافر تنها برای دادههایی حافظه مصرف میکند که دانلود شده اما هنوز خوانده نشدهاند. |
| اگر بافر خالی باشد، تنها مقدار اندکی حافظه مصرف خواهد شد. |
| حداکثر حافظه استفادهشده توسط rclone برای بافربندی میتواند تا سقف |
| --buffer-size * open files |
| باشد. |
| "کَش فایل VFS (VFS File Caching)" |
| این پرچمها گزینههای کَشکردن فایل VFS را کنترل میکنند. |
| کَشکردن فایل جهت سازگار جلوه دادن لایه VFS با یک سامانه فایل عادی ضروری است. |
| میتوان آن را به قیمت کاهش سطح سازگاری غیرفعال کرد. |
| برای نمونه، اگر بخواهید بهطور همزمان از یک فایل بخوانید و در آن بنویسید، باید کَش VFS را فعال کنید. |
| برای جزئیات بیشتر به بخش زیر مراجعه کنید. |
| توجه داشته باشید که کَش VFS از بکاندِ کَش (cache backend) مجزاست و ممکن است دریابید که به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string Directory rclone will use for caching. |
| --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) |
| --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) |
| --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) |
| --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) |
| --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) |
| --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) |
| در صورت اجرا با -vv، دستور rclone مسیر قرارگیری کَش فایل را چاپ خواهد کرد. |
| فایلها در ناحیه فایلهای کَش کاربر ذخیره میشوند که وابسته به سیستمعامل است، اما میتوان آن را با --cache-dir یا با تنظیم متغیر محیطی مناسب مهار کرد. |
| کَش دارای ۴ حالت مختلف است که توسط --vfs-cache-mode تعیین میشوند. |
| هرچه حالت کَش بالاتر باشد rclone سازگارتر عمل میکند، اما به بهای مصرف فضای دیسک بیشتر. |
| توجه داشته باشید که فایلها تنها زمانی در ریموت بازنویسی (write back) میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه به آنها دسترسی پیدا نشده باشد. |
| اگر rclone متوقف شود یا پیش از آپلود فایلها به صورت ناگهانی بسته شود، این فایلها در اجرای بعدی rclone با همان پرچمها آپلود خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space توجه داشته باشید که کَش ممکن است به دو دلیل از این سهمیهها فراتر رود: |
| نخست به این دلیل که بررسی سهمیه تنها در هر بازه |
| --vfs-cache-poll-interval |
| انجام میشود. |
| دوم به این دلیل که فایلهای باز را نمیتوان از کَش بیرون راند (evict کرد). |
| هنگامی که حجم کَش از حد --vfs-cache-max-size یا |
| --vfs-cache-min-free-space فراتر رود، rclone تلاش میکند نخست فایلهایی را که کمترین دسترسی را داشتهاند از کَش خارج کند. |
| دستور rclone با فایلهایی شروع میکند که بیشترین مدت بدون دسترسی ماندهاند. |
| این راهبرد تخلیه کَش کارآمد است و فایلهای مرتبطتر احتمال بیشتری برای باقی ماندن در کَش خواهند داشت. |
| گزینه --vfs-cache-max-age پس از سپری شدن زمان تعیینشده از آخرین دسترسی، فایلها را از کَش بیرون میراند؛ این فرآیند بر پایه زمان آخرین دسترسی است، نه بر اساس زمانی که فایل برای نخستین بار به کَش افزوده شده است. |
| مقدار پیشفرضِ ۱ ساعت باعث میشود فایلهایی که به مدت ۱ ساعت هیچ دسترسی نداشتهاند از کَش خارج شوند. |
| هنگامی که به یک فایل کَششده دسترسی پیدا شود، زمانسنج ۱ ساعته به ۰ بازنشانی میشود و پیش از تخلیه، ۱ ساعت دیگر منتظر میماند. |
| زمان را با نشانهگذاریهای استاندارد مانند s (ثانیه)، m (دقیقه)، h (ساعت)، d (روز) و w (هفته) مشخص کنید. |
| شما نباید در صورت استفاده از |
| --vfs-cache-mode > off، |
| دو نسخه از rclone را با کَش VFS یکسان روی ریموتهای یکسان یا همپوشان اجرا کنید. |
| انجام این کار میتواند بالقوه باعث خرابی و فساد دادهها شود. |
| میتوانید با اختصاص دادن سلسلهمراتب کَش اختصاصی به هر rclone از طریق --cache-dir، این محدودیت را برطرف کنید. |
| در صورتی که ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off |
| در این حالت (پیشفرض)، حافظهٔ نهان (کَش) مستقیماً از ریموت خوانده و بدون ذخیرهسازی هیچچیز روی دیسک، مستقیماً بر روی ریموت مینویسد. |
| این بدان معناست که برخی از عملیاتها امکانپذیر نخواهند بود: |
| • 2 |
| فایلها نمیتوانند همزمان برای خواندن و نوشتن باز شوند |
| • 2 |
| روی فایلهای باز شده برای نوشتن نمیتوان پیمایش (seek) انجام داد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید پرچم O_TRUNC برای آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده برای خواندن همراه با O_TRUNC، بهصورت فقطنوشتنی باز خواهند شد |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی بهگونهای عمل میکنند که گویی O_TRUNC مشخص شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| در صورت شکست در بارگذاری، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای خواندن و نوشتن همزمان، روی دیسک بافر میشوند. |
| این موضوع باعث میشود فایلهای باز شده برای نوشتن سازگاری بسیار بیشتری داشته باشند، در حالی که حداقل فضای دیسک مصرف میشود. |
| این عملیاتها امکانپذیر نیستند: |
| • 2 |
| روی فایلهای باز شده بهصورت فقطنوشتنی نمیتوان پیمایش (seek) انجام داد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC برای آنها تنظیم شده باشد |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی O_APPEND و O_TRUNC را نادیده میگیرند |
| • 2 |
| در صورت شکست در بارگذاری، امکان تلاش مجدد وجود ندارد |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده بهصورت فقطخواندنی همچنان مستقیماً از ریموت خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمام عملیاتهای عادی سیستمفایل پشتیبانی کند. |
| در صورت شکست در بارگذاری، تلاش مجدد در فواصل زمانی با افزایش تصاعدی تا حداکثر ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت، تمام عملیاتهای خواندن و نوشتن از دیسک و روی دیسک بافر میشوند. |
| هنگامی که دادهها از ریموت خوانده میشوند، بر روی دیسک نیز بافر خواهند شد. |
| در این حالت، فایلهای موجود در کَش بهصورت فایلهای کمپشت (sparse files) خواهند بود و rclone بخشهای دانلودشده از فایلها را ردیابی خواهد کرد. |
| بنابراین اگر برنامهای تنها ابتدای هر فایل را بخواند، rclone تنها ابتدای فایل را بافر میکند. |
| این فایلها در کَش با اندازهٔ کامل خود نمایش داده میشوند، اما فایلهایی کمپشت هستند که تنها دادههای دانلودشده در آنها وجود دارند. |
| این حالت باید از تمام عملیاتهای عادی سیستمفایل پشتیبانی کند و در سایر موارد دقیقاً مشابه --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازهٔ --buffer-size به علاوهٔ --vfs-read-ahead بایت جلوتر را پیشخوانی میکند. |
| مقدار --buffer-size در حافظه بافر میشود در حالی که --vfs-read-ahead روی دیسک بافر خواهد شد. |
| هنگام استفاده از این حالت، توصیه میشود مقدار --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز، --vfs-read-ahead بزرگتر در نظر گرفته شود. |
| مهم: همهٔ سیستمفایلها از فایلهای کمپشت (sparse files) پشتیبانی نمیکنند. |
| بهویژه سامانههای FAT/exFAT پشتیبانی نمیکنند. |
| اگر دایرکتوری کَش روی سیستمفایلی باشد که از فایلهای کمپشت پشتیبانی نمیکند، rclone عملکرد بسیار ضعیفی خواهد داشت و در صورت تشخیص چنین وضعیتی، یک پیام ERROR ثبت خواهد کرد. |
| اثرانگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از اثرانگشتنگاری استفاده میکنند تا بررسی کنند آیا نسخهٔ محلی یک فایل نسبت به فایل موجود در ریموت تغییر کرده است یا خیر. |
| اثرانگشتها از موارد زیر ساخته میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان تغییر (modification time) |
| • 2 |
| کد هش (hash) |
| (در صورتی که روی یک شیء موجود باشند). |
| در برخی بَکاِندها، خواندن برخی از این مشخصهها کُند است (به یک فراخوانی API اضافی برای هر شیء یا پردازش مضاعف نیاز دارند). |
| برای نمونه، hash در بَکاِندهای local و sftp کُند است؛ چرا که آنها باید کل فایل را خوانده و هش آن را محاسبه کنند، و modtime در بَکاِندهای s3، swift، ftp و qinqstor کُند است؛ زیرا برای دریافت آن نیاز به یک فراخوانی API اضافی دارند. |
| اگر از پرچم --vfs-fast-fingerprint استفاده کنید، rclone عملیاتهای کُند را در اثرانگشت لحاظ نخواهد کرد. |
| این کار دقت اثرانگشتنگاری را کاهش میدهد اما سرعت آن را بسیار بالا میبرد و زمان باز شدن فایلهای کَششده را بهبود میبخشد. |
| اگر کَش vfs را روی بَکاِندهای local، s3 یا swift اجرا میکنید، استفاده از این پرچم توصیه میشود. |
| توجه داشته باشید که اگر مقدار این پرچم را تغییر دهید، ممکن است اثرانگشت فایلهای موجود در کَش نامعتبر شده و نیاز باشد فایلها دوباره دانلود شوند..SS خواندن تکهای در VFS (VFS Chunked Reading) |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را به صورت تکهای (chunk) دریافت میکند. |
| این بدان معناست که rclone به جای درخواست کل فایل، تکهٔ مشخصشده را میخواند. |
| این کار میتواند با درخواست تنها آن دسته از تکههایی از ریموت که واقعاً خوانده میشوند، سهمیهٔ دانلود مصرفشده برای برخی ریموتها را کاهش دهد؛ هرچند به قیمت افزایش تعداد درخواستها تمام میشود. |
| این پرچمها تکهبندی (chunking) را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه در دو برابر شدن تکهها (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تکهبندی بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| ابزار rclone خواندن را با تکهای به اندازهٔ |
| --vfs-read-chunk-size آغاز کرده و سپس اندازه را برای هر خواندن دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر از |
| --vfs-read-chunk-size باشد، اندازهٔ تکه برای هر فایل باز شده تنها تا زمان رسیدن به مقدار مشخصشده دو برابر خواهد شد. |
| اگر این مقدار برابر "off" باشد (که پیشفرض است)، محدودیت غیرفعال بوده و اندازهٔ تکه بهطور نامحدود افزایش مییابد. |
| با --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0 بخشهای زیر دانلود خواهند شد: |
| 0-100M، 100M-200M، 200M-300M، 300M-400M و به همین ترتیب. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه بهصورت |
| 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و غیره خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهای را غیرفعال میکند. |
| تکهها در حافظه بافر نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| ابزار rclone به تعداد --vfs-read-chunk-streams تکه به اندازهٔ |
| --vfs-read-chunk-size را بهطور همروند میخواند. |
| اندازه برای هر بار خواندن ثابت باقی خواهد ماند. |
| این قابلیت کارایی را در پیوندهای با تأخیر (latency) بالا یا پیوندهای با پهنای باند بسیار بالا به ذخیرهسازهای شیء با کارایی بالا بهطور چشمگیری بهبود میبخشد. |
| برای یافتن مقادیر بهینه برای |
| --vfs-read-chunk-size و --vfs-read-chunk-streams |
| به مقداری آزمون و خطا نیاز خواهد بود، زیرا این مقادیر به بکاند مورد استفاده و میزان تأخیر تا آن بستگی دارند. |
| برای ذخیرهسازهای شیء با کارایی بالا (مانند AWS S3)، یک نقطهٔ شروع منطقی میتواند |
| --vfs-read-chunk-streams 16 و |
| --vfs-read-chunk-size 4M باشد. |
| در آزمایشهای انجامشده با AWS S3، مقیاس کارایی تقریباً متناسب با تنظیمات |
| --vfs-read-chunk-streams افزایش یافت. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز کارایی داشته باشد، اما بسته به میزان تأخیر ممکن است برای دستیابی به توان عملیاتی (throughput) مناسب، به مقدار بیشتری از |
| --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS (VFS Performance) |
| این پرچمها ممکن است برای فعال یا غیرفعال کردن قابلیتهای VFS به دلایل کارایی یا موارد دیگر استفاده شوند. |
| همچنین قابلیت خواندن تکهای (chunked reading) را بررسی کنید. |
| بهویژه S3 و Swift سود فراوانی از پرچم |
| --no-modtime میبرند (یا برای اثری کمی متفاوت از --use-server-modtime استفاده کنید)؛ چرا که هر بار خواندن زمان تغییر، نیازمند یک تراکنش است. |
| --no-checksum عدم مقایسه چکسامها در بارگذاری/دانلود. |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد). |
| --no-seek عدم اجازه پرش (seeking) درون فایلها. |
| --read-only تنها اجازه دسترسی فقطخواندنی. |
| گاهی اوقات درخواستهای خواندن یا نوشتن بهصورت نامرتب به rclone تحویل داده میشوند. |
| به جای انجام عملیات seek، rclone مدت کوتاهی منتظر میماند تا خواندن یا نوشتن مرتب وارد شود. |
| این پرچمها تنها در صورتی اثرگذار خواهند بود که از فایل کش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت زمان انتظار برای خواندن مرتب قبل از پرش (پیشفرض 20ms) |
| --vfs-write-wait duration مدت زمان انتظار برای نوشتن مرتب قبل از اعلام خطا (پیشفرض 1s) |
| هنگام استفاده از کش نوشتن VFS (--vfs-cache-mode با مقادیر |
| writes یا full)، پرچم سراسری --transfers را میتوان برای تنظیم تعداد آپلودهای موازی فایلهای تغییریافته از کش تنظیم نمود (پرچم سراسری مرتبط --checkers هیچ تأثیری بر VFS ندارد). |
| --transfers int تعداد انتقالهای موازی فایلها برای اجرا (پیشفرض 4) |
| بهطور پیشفرض، VFS از پیوندهای نمادین پشتیبانی نمیکند. |
| با این حال، این قابلیت را میتوان با هر یک از پرچمهای زیر فعال کرد: |
| --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. |
| --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل معمولی با یک پسوند ویژه ذخیره میکند. |
| بنابراین فایلی که به شکل پیوند نمادین link-to-file.txt نمایش داده میشود، در فضای ذخیرهسازی ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن، مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links تبدیل پیوند نمادین را بهطور سراسری در rclone فعال میکند - این شامل هر backend که از این مفهوم پشتیبانی کند (برای نمونه backend محلی) میشود. |
| گزینهٔ --vfs-links تنها آن را برای لایهٔ VFS فعال میسازد. |
| این طرح با روش مورد استفاده توسط backend محلی با پرچم --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای دستورهای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است. |
| این پرچم هنوز با سایر دستورهای rclone serve آزمایش نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده، زیرپیوندهای نمادین را برطرف (resolve) کند. |
| برای نمونه، با در نظر گرفتن این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| لایهٔ VFS پیوند linked-dir را بهدرستی برطرف میکند، اما linked-dir/file.txt را برطرف نخواهد کرد. |
| این مورد برای دستورهای آزمایششده مشکلی ایجاد نمیکند، اما ممکن است برای دستورهای دیگر مشکلساز شود. |
| توجه داشته باشید که یک مشکل باز در پشتیبانی از پیوندهای نمادین وجود دارد: گزارش شمارهٔ #8245 (https://github.com/rclone/rclone/issues/8245) دربارهٔ ایجاد فایلهای تکراری هنگام انتقال پیوندهای نمادین به دایرکتوریهایی که فایلی با همان نام در آنها وجود دارد (یا برعکس). |
| حساسیت VFS به حروف بزرگ و کوچک (VFS Case Sensitivity) |
| سیستمهای فایل لینوکس به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف با یکدیگر تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً همان بزرگی و کوچکی حروف استفاده شود. |
| سیستمهای فایل در نسخههای جدید ویندوز به بزرگی و کوچکی حروف حساس نیستند اما حالت حروف را حفظ میکنند (case-insensitive but case-preserving): گرچه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که برای ایجاد فایل به کار رفته حفظ میشود و برنامهها میتوانند از آن پرسوجو کنند. |
| در یک دایرکتوری یکسان، وجود دو فایل که تنها در بزرگی و کوچکی حروف تفاوت دارند مجاز نیست. |
| معمولاً سیستمهای فایل در macOS به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن سیستمهای فایل macOS به حروف بزرگ و کوچک وجود دارد، اما این حالت پیشفرض نیست. |
| پرچم --vfs-case-insensitive در VFS چگونگی مدیریت این دو حالت را توسط rclone کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نامهای فایل را همانگونه که هستند (as-is) به ریموت ارسال میکند. |
| اگر این پرچم "true" باشد (یا بدون مقدار در خط فرمان مشخص شود)، rclone ممکن است یک «اصلاح» ("fixup") را طبق توضیحات زیر انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف/تغییر نام/غیره با حالتی از حروف متفاوت با آنچه در ریموت ذخیره شده است مشخص کند. |
| اگر یک آرگومان به فایلی موجود با دقیقاً همان نام اشاره کند، از حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| با این حال، اگر نام فایلی با همان نام دقیق پیدا نشود اما نامی وجود داشته باشد که تنها در بزرگی و کوچکی حروف تفاوت دارد، rclone بهطور شفاف نام را اصلاح میکند. |
| این اصلاح تنها زمانی رخ میدهد که یک فایل موجود درخواست شود. |
| حساسیت به بزرگی و کوچکی حروف برای نام فایلهایی که به تازگی توسط rclone ایجاد میشوند، توسط ریموت زیرین کنترل میشود. |
| توجه داشته باشید که حساسیت به حروف در سیستمعاملی که rclone را اجرا میکند (مقصد یا target) ممکن است با حساسیت سیستم فایلی که توسط rclone ارائه میشود (مبدأ یا source) تفاوت داشته باشد. |
| این پرچم کنترل میکند که آیا «اصلاح» ("fixup") برای برآورده کردن نیازهای مقصد انجام شود یا خیر. |
| اگر این پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی که rclone روی آن اجرا میشود بستگی دارد: در Windows و macOS برابر با "true"، و در غیر این صورت "false". |
| اگر پرچم بدون مقدار ارائه شود، برابر با "true" خواهد بود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «اصلاح» ("fixup") مشابهی برای نام فایلهایی که متفاوت هستند اما از نظر یونیکد همارز محسوب میشوند (https://en.wikipedia.org/wiki/Unicode_equivalence) انجام شود یا خیر. |
| یکسانسازی یونیکد (Unicode normalization) میتواند بهویژه برای کاربران macOS مفید باشد، که فرم NFD را به جای فرم NFC (مورد استفاده در اکثر پلتفرمهای دیگر) ترجیح میدهد. |
| بنابراین برای جلوگیری از مشکلات سازگاری کدگذاری، اکیداً توصیه میشود در macOS مقدار پیشفرض false حفظ شود. |
| در حالت (احتمالاً نادرِ) وجود چندین نام فایل تکراری در یک دایرکتوری پس از اعمال یکسانسازی یونیکد و تطبیق بزرگی و کوچکی حروف، پرچم --vfs-block-norm-dupes امکان پنهانسازی این موارد تکراری را فراهم میکند. |
| این قابلیت با افت کارایی همراه است، زیرا rclone هنگام فهرست کردن یک دایرکتوری باید کل دایرکتوری را برای یافتن موارد تکراری پویش کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این حال، ممکن است کاربران macOS مایل به استفاده از آن باشند؛ چرا که در غیر این صورت، اگر یک دایرکتوری در ریموت شامل هر دو نسخهٔ NFC و NFD از یک نام فایل باشد، وضعیت عجیبی رخ خواهد داد: هر دو نسخه از فایل در مانت قابل مشاهده خواهند بود و هر دو قابل ویرایش به نظر میرسند، اما ویرایش هر کدام از نسخهها در عمل تنها به ویرایش نسخهٔ NFD در پسزمینه منجر خواهد شد. |
| پرچم --vfs-block-norm-dupes با شناسایی این سناریو، پنهان کردن موارد تکراری و ثبت خطا در گزارش، مشابه نحوهٔ برخورد با این موضوع در rclone sync، از این سردرگمی جلوگیری میکند..SS گزینههای دیسک VFS |
| این پرچم به شما امکان میدهد تا آمار مربوط به سیستم فایل را بهصورت دستی |
| تنظیم کنید. |
| این ویژگی میتواند زمانی که این اطلاعات بهطور خودکار و دقیق خوانده |
| نمیشوند، مفید باشد. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای مصرفشده |
| برخی از backendها، بهویژه S3، میزان بایتهای مصرفشده را گزارش نمیکنند. |
| اگر نیاز دارید این اطلاعات هنگام اجرای df روی سیستم فایل در |
| دسترس باشد، پرچم --vfs-used-is-size را به rclone ارسال کنید. |
| با تنظیم این پرچم، rclone بهجای اتکا به backend برای گزارش این اطلاعات، |
| کل ریموت را مشابه با rclone size پویش کرده و کل فضای استفادهشده |
| را خودش محاسبه میکند. |
| هشدار: برخلاف rclone size، این پرچم فیلترها را نادیده |
| میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است باعث فراخوانیهای متعدد |
| API و در نتیجه هزینههای اضافی شود. |
| از آن تنها به عنوان آخرین راهکار و فقط به همراه حافظهٔ نهان (caching) استفاده کنید. |
| متادیتای VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید کاری |
| کنید که VFS فایلهای حاوی |
| متادیتا (https://rclone.org/docs/#metadata) را به صورت یک شیء JSON ارائه دهد. |
| این فایلها در فهرست دایرکتوری نمایش داده نمیشوند، اما میتوان روی آنها |
| stat گرفت و آنها را باز کرد؛ و پس از اینکه باز شدند، تا زمان انقضای |
| حافظهٔ نهان دایرکتوری در فهرست دایرکتوریها ظاهر خواهند شد. |
| توجه داشته باشید که برخی از backendها متادیتا ایجاد نمیکنند، مگر اینکه |
| پرچم --metadata را ارسال کرده باشید. |
| برای نمونه، با استفاده از rclone mount به همراه |
| --metadata --vfs-metadata-extension .metadata خواهیم داشت: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل متادیتایی نداشته باشد بهصورت {} بازگردانده میشود، و در |
| صورت بروز خطا در خواندن متادیتا، خطا بهشکل |
| {"error":"error string"} برگردانده خواهد شد. |
| پروکسی احراز هویت (Auth Proxy) |
| اگر پارامتر --auth-proxy /path/to/program را مشخص کنید، آنگاه |
| rclone از آن برنامه برای ساخت بلادرنگ backendهایی استفاده میکند که برای |
| احراز هویت درخواستهای ورودی به کار میروند. |
| این سازوکار از یک پروتکل سادهٔ مبتنی بر JSON با ورودی روی STDIN و خروجی روی |
| STDOUT استفاده میکند. |
| لطفاً توجه داشته باشید: گزینههای --auth-proxy و |
| --authorized-keys نمیتوانند همزمان استفاده شوند؛ اگر |
| --auth-proxy تنظیم شده باشد، گزینهٔ کلیدهای مجاز نادیده گرفته خواهد |
| شد. |
| یک برنامهٔ نمونه با نام |
| bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py) |
| در کد منبع rclone وجود دارد. |
| وظیفهٔ برنامه این است که user و pass را در ورودی دریافت |
| کرده و آنها را به پیکربندی یک backend در خروجی STDOUT با قالب JSON تبدیل |
| کند. |
| پارامترهای پیشفرض backend به این پیکربندی اضافه خواهند شد، اما از |
| پیکربندیهای متغیرهای محیطی یا گزینههای خط فرمان استفاده نخواهد کرد - آمادهسازی |
| یک پیکربندی کامل بر عهدهٔ برنامهٔ پروکسی است. |
| پیکربندی تولیدشده باید این پارامتر اضافه را داشته باشد: |
| • 2 |
| _root - ریشه (root) مورد استفاده برای backend |
| و میتواند این پارامترها را نیز داشته باشد: |
| • 2 |
| _obscure - رشتههای جداشده با کاما برای پارامترهایی که باید مبهمسازی شوند |
| • 2 |
| _secret_access_key - کلید محرمانه برای احراز هویت کلید دسترسی S3 (پایین را ببینید) |
| اگر احراز هویت با گذرواژه توسط کلاینت استفاده شده باشد، ورودی به فرایند پروکسی |
| (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "pass": "mypassword", |
| "client_ip": "192.168.1.1" |
| } |
| اگر احراز هویت با کلید عمومی توسط کلاینت استفاده شده باشد، ورودی به فرایند |
| پروکسی (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf", |
| "client_ip": "192.168.1.1" |
| } |
| اگر کلاینت با یک کلید دسترسی S3 احراز هویت کند |
| (rclone serve s3)، کلاینت هرگز کلید محرمانهٔ خود را ارسال نمیکند، |
| بلکه فقط امضای تولیدشده با آن را میفرستد؛ بنابراین ورودی تنها شامل شناسه |
| کلید دسترسی به عنوان user بدون هیچ pass یا |
| public_key خواهد بود: |
| { |
| "user": "AKIAIOSFODNN7EXAMPLE", |
| "client_ip": "192.168.1.1" |
| } |
| در این حالت، برنامه باید کلید دسترسی محرمانه را برای آن شناسه کلید دسترسی |
| جستجو کند و آن را در فیلد _secret_access_key در خروجی بازگرداند. |
| سپس rclone از آن کلید محرمانه برای اعتبارسنجی امضای روی درخواست استفاده |
| میکند و در صورت عدم تطابق، درخواست را رد مینماید. |
| این بدان معناست که برنامهٔ پروکسی مرجع اصلی (source of truth) هم برای اطلاعات |
| احراز هویت و هم برای backend متناظر با آنها است. |
| اگر برنامه _secret_access_key را بازنگرداند یا آن را خالی برگرداند، |
| درخواست رد میشود. |
| پاسخ برنامه برای یک شناسه کلید دسترسی در حافظهٔ نهان ذخیره میشود (پایین را |
| ببینید)، اما حتی در صورت استفادهٔ مداوم از شناسه کلید دسترسی، پس از ۵ دقیقه |
| مجدداً از برنامه استعلام میشود؛ بنابراین لغو یک شناسه کلید دسترسی در برنامه |
| ظرف ۵ دقیقه اعمال میگردد. |
| یک کلید محرمانهٔ جایگزینشده (rotated) با اولین درخواستی که با آن امضا شده |
| باشد اعمال خواهد شد. |
| کلید client_ip آدرس IP مبدأ کلاینت را بدون شماره پورت در بر دارد. |
| میتوان از آن برای محدود کردن ورودها به شبکههای خاص، یا ثبت متمرکز تلاشهای |
| احراز هویت استفاده کرد. |
| اگر کلاینت آدرس IP نداشته باشد (برای نمونه هنگام اتصال از طریق سوکت یونیکس)، |
| این فیلد حذف میشود. |
| توجه داشته باشید که اگر rclone پشت یک reverse proxy باشد، این آدرس، آدرس |
| reverse proxy خواهد بود نه کلاینت اصلی. |
| و به عنوان نمونه چنین خروجیای را روی STDOUT بازگرداند: |
| { |
| "type": "sftp", |
| "_root": "", |
| "_obscure": "pass", |
| "user": "me", |
| "pass": "mypassword", |
| "host": "sftp.example.com" |
| } |
| این بدان معناست که یک backend از نوع SFTP در لحظه برای |
| user و pass/public_key بازگرداندهشده در |
| خروجی به میزبان مشخصشده ایجاد میشود. |
| توجه داشته باشید از آنجا که _obscure بر روی pass تنظیم شده است، rclone |
| پارامتر pass را پیش از ایجاد backend مبهمسازی خواهد کرد (که |
| برای backendهای sftp الزامی است). |
| برنامه میتواند user ارائهشده را به هر شکلی دستکاری کند؛ برای |
| نمونه بهمنظور پروکسی کردن به چندین backend مختلف sftp، میتوانید |
| user را برابر user@example.com قرار داده و سپس در خروجی |
| host را برابر example.com و کاربر را برابر |
| user تنظیم کنید. |
| از نظر امنیتی احتمالاً مایل خواهید بود که host را به یک |
| فهرست محدود مقید کنید. |
| یک حافظهٔ موقت (cache) داخلی از backendها بر اساس user، درهمسازی (هش) از |
| pass یا public_key، و client_ip کلیدگذاری میشود. |
| این بدان معناست که اگر گذرواژه یا کلید عمومی کاربر تغییر کند، کلاینت |
| از یک نشانی IP جدید متصل شود، یا پراکسی پارامترهای پیکربندی متفاوتی را بازگرداند |
| (مانند یک api_key چرخشیافته)، در درخواست بعدی یک backend |
| تازه به جای استفادهٔ مجدد از مورد ذخیرهشده در حافظهٔ موقت ایجاد خواهد شد. |
| این قابلیت میتواند برای ساخت پراکسیهای چندمنظوره برای هر نوع backend که |
| rclone از آن پشتیبانی میکند، استفاده شود. |
| rclone serve sftp remote:path [flags] |
| گزینهها (OPTIONS) |
| --addr string نشانی IP:Port یا :Port برای مقید کردن سرور به آن (پیشفرض "localhost:2022") |
| --auth-proxy string برنامهای برای ایجاد backend از روی اطلاعات احراز هویت |
| --authorized-keys string فایل کلیدهای مجاز (پیشفرض "~/.ssh/authorized_keys") |
| --dir-cache-time Duration مدتزمان نگهداری مدخلهای دایرکتوری در حافظهٔ موقت (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --gid uint32 بازنویسی فیلد gid تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای sftp |
| --key stringArray فایل کلید خصوصی میزبان SSH (میتواند چند مقداری باشد، برای تولید خودکار خالی بگذارید) |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --no-auth در صورت تنظیم، اتصالات بدون احراز هویت مجاز میشوند |
| --no-checksum عدم مقایسهٔ چکسامها (checksum) هنگام بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد) |
| --no-seek عدم اجازهٔ پرش (seeking) در فایلها |
| --pass string گذرواژه برای احراز هویت |
| --poll-interval Duration زمان انتظار بین بررسی تغییرات، باید کمتر از dir-cache-time باشد و فقط در remoteهای پشتیبانیشده (0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --read-only فقط دسترسی خواندن مجاز باشد |
| --stdio اجرای یک سرور sftp بر روی stdin/stdout |
| --uid uint32 بازنویسی فیلد uid تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تنظیمشده توسط سیستمفایل (در Windows پشتیبانی نمیشود) (پیشفرض 002) |
| --user string نام کاربری برای احراز هویت |
| --vfs-block-norm-dupes در صورت وجود نامهای تکراری در یک دایرکتوری (پس از یکسانسازی)، ثبت خطا و پنهان کردن موارد تکراری (ممکن است بار پردازشی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان گذشته از آخرین دسترسی به اشیاء در حافظه موقت (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازهٔ کل اشیاء در حافظه موقت (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix حداقل فضای خالی هدف روی دیسک حاوی حافظه موقت (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت حافظه موقت off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازهٔ زمانی نظرسنجی حافظه موقت برای اشیاء بیاتشده (پیشفرض 1m0s) |
| --vfs-case-insensitive در صورت نیافتن نام فایل، یافتن تطابق غیرحساس به بزرگی و کوچکی حروف |
| --vfs-disk-space-total-size SizeSuffix مشخص کردن کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثر انگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدتزمان نگهداشتن دستگیره فایل و دریافتکنندهها پس از آخرین بستن (پیشفرض 5s) |
| --vfs-links ترجمه پیوندهای نمادین به/از فایلهای معمولی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن فراداده از آن |
| --vfs-read-ahead SizeSuffix پیشخوانی اضافی فراتر از --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ بهصورت تکهای (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix اگر بزرگتر از --vfs-read-chunk-size باشد، اندازه تکه پس از هر بار خواندن دو برابر میشود تا به این حد برسد ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration زمان انتظار برای خواندن متوالی قبل از پیمایش (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی حافظه موقت دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم rclone size برای حجم استفادهشده |
| --vfs-write-back Duration زمان بازنویسی فایلها پس از آخرین استفاده هنگام بهکارگیری حافظه موقت (پیشفرض 5s) |
| --vfs-write-wait Duration زمان انتظار برای نوشتن متوالی پیش از ایجاد خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS گزینههای فیلتر (Filter Options) |
| پرچمهایی برای فیلتر کردن فهرستهای پوشه |
| --delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی استثنا شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) |
| --exclude-if-present stringArray مستثنی کردن پوشهها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) |
| --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هرگونه پردازش روی خطوط (استفاده از - برای خواندن از stdin) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) |
| -f, --filter stringArray افزودن یک قاعده فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) |
| --hash-filter string افرازبندی نامفایلها با هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیدهگرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به حروف بزرگ و کوچک) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) |
| --max-age Duration تنها انتقال فایلهای تازهتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) |
| --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض غیرفعال) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) |
| --metadata-filter stringArray افزودن یک قاعده فیلتر کردن متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (استفاده از - برای خواندن از stdin) |
| --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) |
| --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض غیرفعال) |
| همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - ارائه یک |
| ریموت بر بستر یک پروتکل. |
| rclone serve webdav |
| ارائه remote:path بر بستر WebDAV. |
| خلاصه دستور (SYNOPSIS) |
| یک سرور WebDAV پایهای را برای ارائه یک ریموت بر بستر HTTP از طریق پروتکل WebDAV |
| اجرا کنید. |
| این مورد میتواند با یک کلاینت WebDAV یا از طریق یک مرورگر وب مشاهده شود، یا |
| میتوانید یک ریموت از نوع WebDAV برای خواندن و نوشتن در آن ایجاد کنید. |
| گزینههای WebDAV |
| --etag-hash |
| این گزینه هدر ETag را کنترل میکند. |
| بدون این پرچم، مقدار ETag بر اساس ModTime و Size شیء |
| تعیین خواهد شد. |
| اگر این پرچم روی "auto" تنظیم شود، rclone نخستین هش پشتیبانیشده در بکاند را انتخاب خواهد کرد، یا میتوانید از یک هش نامگذاریشده مانند |
| "MD5" یا "SHA-1" استفاده کنید. |
| برای دیدن فهرست کامل از دستور hashsum (https://rclone.org/commands/rclone_hashsum) استفاده |
| کنید. |
| فشردهسازی Gzip |
| هنگامی که کلاینت پشتیبانی از gzip را از طریق هدر درخواست Accept-Encoding: gzip |
| اعلام کند، سرور بدنه برخی پاسخهای معین (متن و XML، |
| از جمله پاسخهای PROPFIND در WebDAV) را با استفاده از gzip فشرده |
| خواهد کرد. |
| این کار مصرف پهنای باند را کاهش میدهد. |
| دسترسی به WebDAV در Windows |
| پوشه به اشتراک گذاشته شده WebDAV میتواند بهعنوان یک درایو در Windows نگاشت شود، اما |
| تنظیمات پیشفرض از آن جلوگیری میکنند. |
| اتصال Windows به سرور با استفاده از احراز هویت ناامن Basic |
| با شکست مواجه خواهد شد. |
| حتی هیچ پنجره ورود به سیستمی را نمایش نخواهد داد. |
| ویندوز نیازمند آن است که برای استفاده از Basic از اتصال SSL / HTTPS استفاده شود. |
| اگر تلاش کنید از طریق Add Network Location Wizard متصل شوید، با |
| خطای زیر مواجه خواهید شد: "The folder you entered does not appear to be |
| valid. |
| Please choose another". |
| با این حال، اگر کلید رجیستری زیر را در دستگاه |
| کلاینت تنظیم کنید، همچنان میتوانید متصل شوید: |
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel |
| روی مقدار 2. |
| مقدار BasicAuthLevel میتواند روی مقادیر زیر تنظیم شود: |
| 0 - احراز هویت Basic غیرفعال است |
| 1 - احراز هویت Basic فقط برای اتصالهای SSL فعال است |
| 2 - احراز هویت Basic برای اتصالهای SSL و برای اتصالهای غیر SSL فعال است |
| در صورت نیاز، مقدار FileSizeLimitInBytes را به مقدار بالاتری افزایش دهید. |
| به رابط کاربری Services رفته و سپس سرویس WebClient را بازراهاندازی کنید..SS دسترسی به برنامههای کاربردی Office در WebDAV |
| به مسیر رجیستری زیر بروید: |
| HKEY_CURRENT_USER\Software\Microsoft\Office\[14.0/15.0/16.0]\Common\Internet |
| یک مقدار DWORD جدید به نام BasicAuthLevel با مقدار 2 ایجاد کنید. |
| 0 - Basic authentication disabled |
| 1 - Basic authentication enabled for SSL connections only |
| 2 - Basic authentication enabled for SSL and for non-SSL connections |
| https://learn.microsoft.com/en-us/office/troubleshoot/powerpoint/office-opens-blank-from-sharepoint |
| سرویسدهی از طریق unix socket |
| میتوانید webdav را به این صورت روی یک unix socket ارائه دهید: |
| rclone serve webdav --addr unix:///tmp/my.socket remote:path |
| و با استفاده از rclone و backend مربوط به webdav به این صورت به آن متصل شوید: |
| rclone --webdav-unix-socket /tmp/my.socket --webdav-url http://localhost lsf :webdav: |
| توجه داشته باشید که هیچ احراز هویتی روی پروتکل http وجود ندارد - انتظار میرود این کار توسط مجوزهای دسترسی روی سوکت انجام شود. |
| پیوندهای نمادین / Junction points |
| پروتکل webdav از پیوندهای نمادین (symlinks) یا junction pointها پشتیبانی نمیکند و بهطور پیشفرض rclone آنها را کاملاً نادیده میگیرد. |
| میتوانید از -L استفاده کنید تا rclone پیوندهای نمادین را دنبال کند یا از --local-links استفاده کنید تا rclone فایلهای .rclonelink را به جای پیوندهای نمادین نمایش دهد. |
| توجه: از --links استفاده نکنید، زیرا از نسخه v1.69 این گزینه روی لایه VFS نیز اعمال میشود؛ از --local-links استفاده کنید که فقط روی backend محلی (local) اعمال میشود. |
| گزینههای سرور |
| از --addr برای مشخص کردن آدرس IP و پورتی که سرور باید روی آن گوش فرا دهد استفاده کنید، مثلاً --addr 1.2.3.4:8000 یا --addr :8080 برای گوش دادن روی تمام IPها. |
| بهطور پیشفرض فقط روی localhost گوش میدهد. |
| میتوانید از پورت :0 استفاده کنید تا سیستمعامل یک پورت در دسترس را انتخاب کند. |
| اگر --addr را برای گوش دادن روی یک آدرس IP عمومی یا در دسترس در LAN تنظیم کنید، استفاده از احراز هویت توصیه میشود - برای اطلاعات بیشتر بخش بعدی را ببینید. |
| میتوانید با تنظیم url روی unix:///path/to/socket یا صرفاً با استفاده از یک مسیر مطلق، از یک unix socket استفاده کنید. |
| گزینه --addr میتواند برای گوش دادن روی چند IP/پورت/سوکت تکرار شود. |
| فعالسازی از طریق سوکت (Socket activation) که در ادامه شرح داده شده است نیز میتواند برای دستیابی به همین هدف استفاده شود. |
| از --server-read-timeout و --server-write-timeout میتوان برای کنترل زمانهای انقضا (timeouts) در سرور استفاده کرد. |
| توجه داشته باشید که این، کل زمان برای یک انتقال است. |
| گزینه --max-header-bytes حداکثر تعداد بایتهایی را که سرور در هدر HTTP میپذیرد، کنترل میکند. |
| از --response-header میتوان برای تنظیم یک هدر HTTP برای تمام پاسخها استفاده کرد که مقادیر موجود را بازنویسی خواهد کرد. |
| این پرچم میتواند برای افزودن چندین هدر تکرار شود. |
| از قالب Header-Name: value استفاده کنید. |
| گزینه --baseurl پیشوند URLای که rclone از آن سرویس میدهد را کنترل میکند. |
| بهطور پیشفرض rclone از ریشه سرویس میدهد. |
| اگر از --baseurl "/rclone" استفاده کنید، rclone از یک URL که با "/rclone/" شروع میشود سرویس خواهد داد. |
| این در حالتی که مایل باشید rclone serve را پراکسی کنید مفید است. |
| دستور rclone بهطور خودکار کاراکترهای "/" را در ابتدا و انتهای --baseurl درج میکند، بنابراین --baseurl "rclone"، --baseurl "/rclone" و --baseurl "/rclone/" همگی به شکل یکسان در نظر گرفته میشوند. |
| گزینه --disable-zip میتواند برای غیرفعال کردن قابلیت بارگیری بهصورت فشرده (zipping) تنظیم شود..SS پروتکل (Protocol) |
| سرور از HTTP/1.1 و HTTP/2 پشتیبانی میکند. |
| برای اتصالات TLS، بهطور خودکار از HTTP/2 استفاده میشود. |
| برای اتصالات غیر TLS، متن خام HTTP/2 (h2c) پشتیبانی میشود که استفاده از HTTP/2 بدون رمزنگاری را ممکن میسازد. |
| TLS (SSL) |
| بهطور پیشفرض، این سرویس روی http ارائه میشود. |
| در صورت تمایل میتوانید آن را روی https ارائه دهید. |
| باید پرچمهای --cert و --key را مشخص کنید. |
| اگر مایل به اعتبارسنجی گواهی سمت کلاینت هستید، باید --client-ca را نیز مشخص کنید. |
| هنگامی که TLS پیکربندی میشود، هر شنوندهای که با --addr مشخص شده باشد، تحت TLS سرویس میدهد. |
| یک شنونده به صورت جداگانه میتواند پیشوند http:// داشته باشد تا HTTP رمزگذارینشده را روی آن نشانی ارائه دهد، یا پیشوند tls:// تا بهصراحت مشخص شود که باید با TLS ارائه شود. |
| استفاده از یک نشانی tls:// بدون --cert و --key یک خطا است. |
| مقدار --cert باید روی مسیر فایلی تنظیم شود که حاوی یک گواهی با کدگذاری PEM، یا ادغام آن با گواهی مرجع صدور گواهی (CA) باشد. |
| مقدار --key باید روی مسیر فایلی حاوی کلید خصوصی با کدگذاری PEM تنظیم شود. |
| در صورت تنظیم --client-ca، باید آن را روی مسیر فایلی حاوی گواهیهای مرجع صدور گواهی (CA) کلاینت با کدگذاری PEM تنظیم کرد. |
| گزینهٔ --min-tls-version حداقل نسخهٔ قابل قبول TLS است. |
| مقادیر معتبر عبارتند از "tls1.0"، "tls1.1"، "tls1.2" و "tls1.3" (پیشفرض "tls1.0"). |
| فعالسازی سوکت (Socket activation) |
| به جای نشانیهای شنود مشخصشده در بالا، rclone به تمام توصیفکنندههای فایل (FD) ارسالشده توسط مدیر سرویس، در صورت وجود، گوش فرا خواهد داد (و هرگونه آرگومان ارائهشده با --addr را نادیده میگیرد). |
| این ویژگی به rclone اجازه میدهد تا به عنوان یک سرویس فعالشونده با سوکت (socket-activated) عمل کند. |
| میتوان آن را با فایلهای واحد .socket و .service همانطور که در |
| https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html |
| شرح داده شده است، پیکربندی کرد. |
| فعالسازی سوکت را میتوان بهطور موردی (ad-hoc) با دستور systemd-socket-activate آزمایش کرد: |
| systemd-socket-activate -l 8000 -- rclone serve |
| این دستور با برقراری نخستین اتصال به پورت 8000 از طریق TCP، سرویس rclone را با سوکت فعال خواهد کرد. | |
| الگو (Template) | |
| گزینهٔ --template به کاربر امکان میدهد یک الگوی نشانهگذاری سفارشی را برای عملکردهای ارائهٔ HTTP و WebDAV تعیین کند. | |
| سرور نشانهگذاریهای زیر را صادر میکند تا درون الگو برای ارائهٔ صفحات مورد استفاده قرار گیرند: | |
| tab( | ); |
| lw(22.6n) lw(24.7n) lw(22.6n). | |
| پارامتر | زیرپارامتر |
| توضیحات | |
| T} | |
| .Name | |
| مسیر کامل یک فایل/دایرکتوری. | |
| T} | |
| .Title | |
| فهرست دایرکتوری مربوط به '.Name'. | |
| T} | |
| .Sort | |
| مرتبسازی فعلیِ مورد استفاده. | |
| این مقدار از طریق پارامتر '?sort=' قابل تغییر است. | |
| مقادیر ممکن: namedirfirst، name، size، time (پیشفرض namedirfirst). | |
| T} | |
| .Order | |
| ترتیب فعلیِ مورد استفاده. | |
| این مقدار از طریق پارامتر '?order=' قابل تغییر است. | |
| مقادیر ممکن: asc، desc (پیشفرض asc). | |
| T} | |
| .Query | |
| در حال حاضر استفاده نمیشود. | |
| T} | |
| .Breadcrumb | |
| امکان ایجاد ناوبری نسبی را فراهم میکند. | |
| T} | |
| .Link | |
| پیوندِ Text نسبت به ریشه. | |
| T} | |
| .Text | |
| نام (Name) دایرکتوری. | |
| T} | |
| .Entries | |
| اطلاعات مربوط به یک فایل/دایرکتوری خاص. | |
| T} | |
| .URL | |
| نشانی URL یک مدخل. | |
| T} | |
| .Leaf | |
| در حال حاضر همانند '.URL' است، اما در نظر گرفته شده که فقط نام باشد. | |
| T} | |
| .IsDir | |
| مقدار بولی برای مشخص کردن اینکه آیا یک مدخل دایرکتوری است یا خیر. | |
| T} | |
| .Size | |
| اندازهٔ مدخل بر حسب بایت. | |
| T} | |
| .ModTime | |
| مهرزمانی UTC یک مدخل. | |
| T} |
سرور همچنین توابع زیر را در دسترس قرار میدهد تا بتوان از آنها در الگو استفاده کرد. این توابع به گسترش گزینهها برای رندر پویای HTML کمک میکنند. میتوان از آنها برای رندر کردن HTML بر اساس شرایط خاص استفاده کرد.
| تابع | توضیحات |
| afterEpoch | زمان سپریشده از مبدأ زمانی (epoch) را برای زمان ارائهشده برمیگرداند. |
| contains | بررسی میکند که آیا زیررشتهٔ مشخصشده در رشتهٔ ارائهشده وجود دارد یا خیر. |
| hasPrefix | بررسی میکند که آیا رشتهٔ ارائهشده با پیشوند مشخصشده آغاز میشود یا خیر. |
| hasSuffix | بررسی میکند که آیا رشتهٔ ارائهشده با پسوند مشخصشده پایان مییابد یا خیر. |
| به طور پیشفرض، این دستور فایلها را بدون نیاز به ورود ارائه میدهد. | |
| میتوانید از یک فایل htpasswd استفاده کنید که قابلیت تعریف کاربران زیادی را دارد، یا با پرچمهای --user و | |
| --pass یک نامکاربری و گذرواژه منفرد تعیین نمایید. | |
| همچنین، میتوانید مدیریت احراز هویت را به پراکسی معکوس (reverse proxy) بسپارید و از نامکاربری ارائهشده در هدر پیکربندیشده با | |
| --user-from-header استفاده کنید (مانند | |
| --user-from-header=x-remote-user). | |
| اطمینان حاصل کنید که پراکسی مورد اعتماد است و هدرها جعل نمیشوند، زیرا | |
| پیکربندی نادرست میتواند به دسترسی غیرمجاز منجر شود. | |
| اگر هیچکدام از روشهای احراز هویت بالا پیکربندی نشده باشند و گواهیهای کلاینت از طریق پرچم --client-ca | |
| ارسالشده به سرور الزامی شده باشند، نام عمومی (common name) گواهی کلاینت به عنوان نامکاربری در نظر گرفته خواهد شد. | |
| برای مشخص کردن فایل htpasswd از --htpasswd /path/to/htpasswd استفاده کنید. | |
| این فایل با قالب استاندارد apache سازگار است و از MD5، SHA1 و BCrypt برای | |
| احراز هویت پایه پشتیبانی میکند. | |
| استفاده از Bcrypt توصیه میشود. | |
| برای ساخت یک فایل htpasswd: | |
| touch htpasswd |
| htpasswd -B htpasswd user |
| htpasswd -B htpasswd anotherUser |
| فایل گذرواژه را میتوان در حین اجرای rclone بهروزرسانی کرد. |
| برای تنظیم قلمرو احراز هویت (realm) از --realm استفاده کنید. |
| برای تغییر salt در درهمسازی گذرواژه از حالت پیشفرض، از --salt استفاده کنید. |
| سیستم فایل مجازی (VFS - Virtual File System) |
| این دستور از لایهٔ VFS استفاده میکند. |
| این لایه اشیاء فضای ابری مورداستفادهٔ rclone را به چیزی بسیار شبیه به یک سیستم فایل دیسکی تطبیق میدهد. |
| اشیاء ذخیرهسازی ابری ویژگیهای متعددی دارند که مشابه فایلهای روی دیسک نیستند - شما نمیتوانید اندازهٔ آنها را افزایش دهید یا در میانهٔ آنها بنویسید، بنابراین لایهٔ VFS باید این موضوع را مدیریت کند. |
| از آنجا که روش واحد و قطعی برای انجام این کار وجود ندارد، گزینههای مختلفی وجود دارند که در ادامه توضیح داده شدهاند. |
| لایهٔ VFS همچنین یک حافظهٔ نهان (cache) دایرکتوری را پیادهسازی میکند - این لایه اطلاعات مربوط به فایلها و دایرکتوریها (نه دادههای اصلی) را در حافظهٔ موقت نگهداری میکند. |
| حافظهٔ نهان دایرکتوری VFS (VFS Directory Cache) |
| با استفاده از پرچم --dir-cache-time، میتوانید کنترل کنید که یک دایرکتوری تا چه مدت معتبر و بهروز در نظر گرفته شود و اطلاعات آن مجدداً از بکاند دریافت نشود. |
| تغییرات اعمالشده از طریق VFS بلافاصله نمایان میشوند یا حافظهٔ نهان را بیاعتبار میکنند. |
| --dir-cache-time duration Time to cache directory entries for (default 5m0s) |
| --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) |
| با این حال، اگر بکاند پیکربندیشده از پایش دورهای (polling) برای تغییرات پشتیبانی نکند، تغییراتی که مستقیماً از طریق رابط کاربری وب یا نسخهای دیگر از rclone روی ذخیرهساز ابری ایجاد میشوند، تنها پس از انقضای حافظهٔ نهان دایرکتوری دریافت خواهند شد. |
| اگر بکاند از پایش دورهای پشتیبانی کند، تغییرات در بازهٔ زمانی تعیینشده برای پایش شناسایی خواهند شد. |
| میتوانید یک سیگنال SIGHUP به rclone ارسال کنید تا صرفنظر از مدتزمان ذخیرهسازی، تمامی حافظههای نهان دایرکتوری را پاکسازی (flush) کند. |
| با فرض اینکه فقط یک نمونه از rclone در حال اجرا است، میتوانید حافظهٔ نهان را به صورت زیر بازنشانی کنید: |
| kill -SIGHUP $(pidof rclone) |
| اگر rclone را با کنترل از راه دور پیکربندی کنید، میتوانید از rclone rc برای پاکسازی کل حافظهٔ نهان دایرکتوری استفاده نمایید: |
| rclone rc vfs/forget |
| یا برای فایلها و دایرکتوریهای منفرد: |
| rclone rc vfs/forget file=path/to/file dir=path/to/dir |
| پرچم --buffer-size مقدار حافظهای را تعیین میکند که برای بافر کردن پیشاپیش دادهها استفاده خواهد شد. |
| هر فایل باز تلاش میکند مقدار مشخصشده از داده را در تمام زمانها در حافظه نگهدارد. |
| دادههای بافرشده به یک فایل باز مقید هستند و به اشتراک گذاشته نخواهند شد. |
| این پرچم یک حد بالا برای حافظه مصرفی به ازای هر فایل باز است. |
| بافر تنها برای دادههایی که بارگیری شدهاند اما هنوز خوانده نشدهاند از حافظه استفاده خواهد کرد. |
| اگر بافر خالی باشد، تنها مقدار اندکی از حافظه مصرف خواهد شد. |
| حداکثر حافظه مصرفی rclone برای بافرسازی میتواند تا |
| --buffer-size * open files باشد. |
| کش کردن فایل در VFS |
| این پرچمها گزینههای کش کردن فایل در VFS را کنترل میکنند. |
| کش کردن فایل برای سازگار نشان دادن لایه VFS با یک سیستم فایل عادی ضروری است. |
| این سازوکار میتواند به قیمت از دست دادن مقداری از سازگاری غیرفعال شود. |
| برای نمونه اگر میخواهید همزمان روی یک فایل بخوانید و بنویسید، باید کش VFS را فعال کنید. |
| برای جزئیات بیشتر به بخشهای زیر مراجعه کنید. |
| توجه داشته باشید که کش VFS از backend کش مجزاست و ممکن است دریابید که به یکی از آنها یا هر دو نیاز دارید. |
| --cache-dir string Directory rclone will use for caching. |
| --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) |
| --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) |
| --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) |
| --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) |
| --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) |
| --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) |
| در صورت اجرا با -vv، دستور rclone مکان کش فایل را چاپ خواهد کرد. |
| فایلها در ناحیه فایلهای کش کاربر ذخیره میشوند که وابسته به سیستمعامل است، اما میتوان آن را با --cache-dir یا با تنظیم متغیر محیطی مربوطه کنترل کرد. |
| حافظه کش دارای ۴ حالت مختلف است که توسط --vfs-cache-mode انتخاب میشوند. |
| هرچه حالت کش بالاتر باشد، سازگاری rclone به قیمت مصرف فضای دیسک بیشتر خواهد شد. |
| توجه داشته باشید که فایلها تنها زمانی به ریموت بازنویسی میشوند که بسته شده باشند و به مدت --vfs-write-back ثانیه دسترسی به آنها صورت نگرفته باشد. |
| اگر rclone بسته شود یا در حالی که فایلهایی هنوز بارگذاری نشدهاند متوقف گردد، این فایلها دفعه بعدی که rclone با همان پرچمها اجرا شود، بارگذاری خواهند شد. |
| در صورت استفاده از --vfs-cache-max-size یا |
| --vfs-cache-min-free-space توجه داشته باشید که کش به دو دلیل ممکن است از این سهمیهها فراتر رود. |
| نخست به این دلیل که وضعیت آن تنها در هر بازه زمانی --vfs-cache-poll-interval بررسی میشود. |
| دوم به این دلیل که فایلهای باز را نمیتوان از کش بیرون راند. |
| هنگامی که محدودیت --vfs-cache-max-size یا |
| --vfs-cache-min-free-space رد شود، rclone ابتدا تلاش میکند فایلهایی را که کمترین دسترسی را داشتهاند از کش خارج کند. |
| rclone از فایلهایی آغاز خواهد کرد که برای طولانیترین زمان بدون دسترسی بودهاند. |
| این راهبرد پاکسازی کش کارآمد است و احتمال اینکه فایلهای مرتبطتر در کش باقی بمانند بیشتر خواهد بود. |
| پرچم --vfs-cache-max-age فایلها را پس از گذشت زمان تعیینشده از آخرین دسترسی، از کش خارج میکند؛ مبنای این کار زمان دسترسی است، نه زمانی که فایل برای نخستین بار به کش اضافه شده است. |
| مقدار پیشفرض ۱ ساعت، شروع به حذف فایلهایی از کش میکند که به مدت ۱ ساعت دسترسی به آنها صورت نگرفته باشد. |
| هنگامی که به یک فایل کششده دسترسی پیدا شود، زمانسنج ۱ ساعته بازنشانی شده و پیش از حذف، ۱ ساعت دیگر منتظر خواهد ماند. |
| زمان را با نمادگذاری استاندارد (s، m، h، d، w) مشخص کنید. |
| شما نباید دو نسخه از rclone را با استفاده از کش VFS یکسان روی ریموتهای یکسان یا دارای همپوشانی در حالت --vfs-cache-mode > off اجرا کنید. |
| انجام این کار بالقوه میتواند منجر به خرابی دادهها شود. |
| میتوانید با اختصاص سلسلهمراتب کش مجزا به هر rclone از طریق --cache-dir این مشکل را دور بزنید. |
| اگر ریموتهای مورد استفاده همپوشانی ندارند، نیازی به نگرانی در این مورد نیست..SS --vfs-cache-mode off |
| در این حالت (حالت پیشفرض)، کَش مستقیماً از مقصد راه دور میخواند و مستقیماً روی آن مینویسد، بدون اینکه چیزی را روی دیسک ذخیره (کَش) کند. |
| این بدان معناست که برخی عملیاتها امکانپذیر نخواهند بود: |
| • 2 |
| فایلها نمیتوانند همزمان برای خواندن و نوشتن باز شوند |
| • 2 |
| امکان پیمایش (seek) در فایلهای باز شده برای نوشتن وجود ندارد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید پرچم O_TRUNC را تنظیم کرده باشند |
| • 2 |
| فایلهای باز شده برای خواندن با O_TRUNC بهصورت فقطنوشتنی باز خواهند شد |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی بهگونهای رفتار خواهند کرد که گویی O_TRUNC مشخص شده است |
| • 2 |
| حالتهای باز کردن O_APPEND و O_TRUNC نادیده گرفته میشوند |
| • 2 |
| اگر یک بارگذاری با شکست مواجه شود، تلاش مجدد امکانپذیر نخواهد بود |
| --vfs-cache-mode minimal |
| این حالت بسیار شبیه به "off" است، با این تفاوت که فایلهای باز شده برای خواندن و نوشتن روی دیسک بافر میشوند. |
| این موضوع باعث میشود فایلهای باز شده برای نوشتن سازگاری بسیار بیشتری داشته باشند، اما کمترین فضای ممکن از دیسک مصرف شود. |
| این عملیاتها امکانپذیر نیستند: |
| • 2 |
| امکان پیمایش (seek) در فایلهای باز شده بهصورت فقطنوشتنی وجود ندارد |
| • 2 |
| فایلهای موجود که برای نوشتن باز میشوند باید O_TRUNC را تنظیم کرده باشند |
| • 2 |
| فایلهای باز شده بهصورت فقطنوشتنی، گزینههای O_APPEND و O_TRUNC را نادیده میگیرند |
| • 2 |
| اگر یک بارگذاری شکست بخورد، تلاش مجدد امکانپذیر نخواهد بود |
| --vfs-cache-mode writes |
| در این حالت، فایلهای باز شده بهصورت فقطخواندنی همچنان مستقیماً از مقصد راه دور خوانده میشوند، اما فایلهای فقطنوشتنی و خواندنی/نوشتنی ابتدا روی دیسک بافر میشوند. |
| این حالت باید از تمامی عملیاتهای عادی سیستمفایل پشتیبانی کند. |
| اگر بارگذاری با شکست مواجه شود، تلاش مجدد در فواصل زمانی با افزایش تصاعدی تا حداکثر ۱ دقیقه انجام خواهد شد. |
| --vfs-cache-mode full |
| در این حالت تمام خواندنها و نوشتنها از و به دیسک بافر میشوند. |
| هنگامی که دادهها از مقصد راه دور خوانده میشوند، بر روی دیسک نیز بافر خواهند شد. |
| در این حالت، فایلهای موجود در کَش بهصورت فایلهای تنک (sparse files) خواهند بود و rclone رهگیری خواهد کرد که کدام بخشها از فایلها را دانلود کرده است. |
| بنابراین اگر برنامهای تنها ابتدای هر فایل را بخواند، rclone فقط ابتدای فایل را بافر میکند. |
| این فایلها در کَش با اندازه کامل خود نمایش داده میشوند، اما فایلهای تنکی هستند که تنها دادههای دانلود شده در آنها وجود دارد. |
| این حالت باید از تمام عملیاتهای عادی سیستمفایل پشتیبانی کند و در سایر موارد کاملاً مشابه --vfs-cache-mode writes است. |
| هنگام خواندن یک فایل، rclone به اندازه --buffer-size بهعلاوه --vfs-read-ahead بایت جلوتر را پیشخوانی میکند. |
| مقدار --buffer-size در حافظه بافر میشود در حالی که --vfs-read-ahead روی دیسک بافر میگردد. |
| هنگام استفاده از این حالت، توصیه میشود که --buffer-size بیش از حد بزرگ تنظیم نشود و در صورت نیاز --vfs-read-ahead مقادیر بزرگتری داشته باشد. |
| مهم: همه سیستمفایلها از فایلهای تنک پشتیبانی نمیکنند. |
| بهویژه FAT/exFAT پشتیبانی نمیکنند. |
| اگر دایرکتوری کَش روی سیستمفایلی باشد که از فایلهای تنک پشتیبانی نمیکند، rclone عملکرد بسیار ضعیفی خواهد داشت و در صورت شناسایی چنین مواردی یک پیام ERROR ثبت خواهد کرد. |
| انگشتنگاری (Fingerprinting) |
| بخشهای مختلف VFS از انگشتنگاری استفاده میکنند تا ببینند آیا نسخه محلی فایل نسبت به فایل راه دور تغییر کرده است یا خیر. |
| اثرانگشتها از موارد زیر ساخته میشوند: |
| • 2 |
| اندازه (size) |
| • 2 |
| زمان آخرین تغییر (modification time) |
| • 2 |
| درهمسازی (hash) |
| در صورتی که روی یک شیء موجود باشند. |
| در برخی بکاندها، خواندن بعضی از این مشخصهها کُند است (به یک فراخوانی API اضافی برای هر شیء یا پردازش اضافی نیاز دارند). |
| بهعنوان مثال، hash در بکاندهای local و sftp کُند است زیرا باید کل فایل را خوانده و هش آن را محاسبه کنند؛ همچنین modtime در بکاندهای s3، swift، ftp و qinqstor کُند است زیرا برای دریافت آن نیاز به انجام یک فراخوانی API اضافی دارند. |
| اگر از گزینه --vfs-fast-fingerprint استفاده کنید، rclone عملیاتهای کُند را در اثرانگشت لحاظ نخواهد کرد. |
| این کار دقت انگشتنگاری را کاهش میدهد اما سرعت آن را بسیار بالا میبرد و زمان باز شدن فایلهای کَششده را بهبود میبخشد. |
| اگر در حال اجرای یک کَش vfs روی بکاندهای local، s3 یا swift هستید، استفاده از این گزینه توصیه میشود. |
| توجه داشته باشید که اگر مقدار این گزینه را تغییر دهید، ممکن است اثرانگشت فایلهای موجود در کَش نامعتبر شده و نیاز به بارگیری مجدد فایلها باشد..SS خواندن تکهای در VFS (VFS Chunked Reading) |
| هنگامی که rclone فایلها را از یک ریموت میخواند، آنها را به صورت تکهتکه میخواند. |
| این بدان معناست که rclone به جای درخواست کل فایل، تنها تکه مشخصشده را میخواند. |
| این کار میتواند با درخواست دادن تنها همان تکههایی از ریموت که واقعاً خوانده میشوند، سهمیه دانلود مصرفی را در برخی ریموتها کاهش دهد، به قیمت افزایش تعداد درخواستها. |
| این پرچمها عمل تکهبندی را کنترل میکنند: |
| --vfs-read-chunk-size SizeSuffix خواندن اشیای مبدأ به صورت تکهای (پیشفرض 128M) |
| --vfs-read-chunk-size-limit SizeSuffix حداکثر اندازه دو برابر شدن تکه (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| رفتار تکهبندی بسته به پارامتر |
| --vfs-read-chunk-streams متفاوت خواهد بود. |
| --vfs-read-chunk-streams == 0 |
| برنامه rclone خواندن را با تکهای به اندازه |
| --vfs-read-chunk-size آغاز میکند و سپس با هر بار خواندن، این اندازه را دو برابر میکند. |
| هنگامی که --vfs-read-chunk-size-limit مشخص شده و بزرگتر |
| از --vfs-read-chunk-size باشد، اندازه تکه برای هر فایل باز فقط تا زمانی |
| دو برابر میشود که به مقدار مشخصشده برسد. |
| اگر مقدار "off" باشد که حالت پیشفرض است، محدودیت غیرفعال بوده |
| و اندازه تکه بدون محدودیت رشد خواهد کرد. |
| با تنظیم --vfs-read-chunk-size 100M و |
| --vfs-read-chunk-size-limit 0 بخشهای زیر |
| دانلود خواهند شد: 0-100M، 100M-200M، 200M-300M، 300M-400M و الی آخر. |
| هنگامی که --vfs-read-chunk-size-limit 500M مشخص شود، نتیجه |
| به صورت 0-100M، 100M-300M، 300M-700M، 700M-1200M، 1200M-1700M و الی آخر |
| خواهد بود. |
| تنظیم --vfs-read-chunk-size روی 0 یا "off" |
| خواندن تکهتکهای را غیرفعال میکند. |
| تکهها در حافظه بافر نخواهند شد. |
| --vfs-read-chunk-streams > 0 |
| برنامه rclone تعداد --vfs-read-chunk-streams تکه به اندازه |
| --vfs-read-chunk-size را به طور همروند میخواند. |
| اندازه برای هر خواندن ثابت باقی خواهد ماند. |
| این کار عملکرد را روی پیوندهای با تأخیر زیاد یا |
| پیوندهای با پهنای باند بسیار بالا به مخازن شیء با کارایی بالا به شدت بهبود میبخشد. |
| برای یافتن مقادیر بهینه |
| --vfs-read-chunk-size و --vfs-read-chunk-streams |
| به مقداری آزمون و خطا نیاز خواهد بود، زیرا این مقادیر به بَکاند مورد استفاده |
| و میزان تأخیر تا آن بَکاند بستگی دارند. |
| برای مخازن شیء با کارایی بالا (مانند AWS S3)، یک نقطه شروع مناسب |
| میتواند --vfs-read-chunk-streams 16 و |
| --vfs-read-chunk-size 4M باشد. |
| در آزمایشهای انجامشده با AWS S3، کارایی تقریباً متناسب با مقدار |
| تنظیمشده برای --vfs-read-chunk-streams مقیاسپذیر بود. |
| تنظیمات مشابه باید برای پیوندهای با تأخیر بالا نیز کار کند، اما بسته به |
| میزان تأخیر ممکن است برای دستیابی به خروجی مناسب، به تعداد بیشتری از |
| --vfs-read-chunk-streams نیاز باشد. |
| کارایی VFS (VFS Performance) |
| این پرچمها ممکن است برای فعال/غیرفعال کردن قابلیتهای VFS جهت بهبود |
| کارایی یا دلایل دیگر استفاده شوند. |
| همچنین بخش قابلیت خواندن تکهای را ببینید. |
| بهویژه S3 و Swift از پرچم |
| --no-modtime سود فراوانی میبرند (یا برای اثری کمی |
| متفاوت از --use-server-modtime استفاده کنید)، زیرا هر بار خواندن |
| زمان تغییر نیازمند یک تراکنش است. |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/دانلود. |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد). |
| --no-seek عدم اجازه پرش در فایلها. |
| --read-only فقط اجازه دسترسی فقطخواندنی. |
| گاهی اوقات درخواستهای خواندن یا نوشتن نامرتب به rclone تحویل داده میشوند. |
| برنامه rclone به جای پرش (seek)، زمان کوتاهی را برای رسیدن خواندن |
| یا نوشتن متوالی بعدی منتظر میماند. |
| این پرچمها تنها در صورتی اثرگذار هستند که از یک فایل کش روی دیسک استفاده نشود. |
| --vfs-read-wait duration مدت انتظار برای خواندن متوالی قبل از پرش (پیشفرض 20ms) |
| --vfs-write-wait duration مدت انتظار برای نوشتن متوالی قبل از صدور خطا (پیشفرض 1s) |
| هنگام استفاده از کش نوشتن VFS (--vfs-cache-mode با مقدار |
| writes یا full)، پرچم سراسری --transfers را میتوان برای |
| تنظیم تعداد بارگذاریهای موازی فایلهای تغییریافته از حافظه کش تنظیم کرد |
| (پرچم سراسری مرتبط --checkers هیچ تأثیری بر VFS ندارد). |
| --transfers int تعداد انتقالهای موازی فایل برای اجرا (پیشفرض 4) |
| بهطور پیشفرض VFS از پیوندهای نمادین (symlinks) پشتیبانی نمیکند. |
| با این حال، این ویژگی میتواند با هر یک از پرچمهای زیر فعال شود: |
| --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink'. |
| --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| از آنجا که بیشتر سامانههای ذخیرهسازی ابری مستقیماً از پیوندهای نمادین پشتیبانی نمیکنند، rclone پیوند نمادین را بهصورت یک فایل معمولی با یک پسوند ویژه ذخیره میکند. |
| بنابراین فایلی که بهصورت یک پیوند نمادین link-to-file.txt دیده میشود، در فضای ذخیرهسازی ابری بهصورت link-to-file.txt.rclonelink ذخیره خواهد شد و محتوای آن، مسیر مقصد پیوند نمادین خواهد بود. |
| توجه داشته باشید که --links تبدیل پیوند نمادین را بهطور سراسری در rclone فعال میکند - این شامل هر بکاندی که از این مفهوم پشتیبانی کند (برای نمونه بکاند local) میشود. |
| --vfs-links آن را فقط برای لایهٔ VFS فعال میکند. |
| این سازوکار با روش مورد استفاده توسط بکاند local با پرچم --local-links سازگار است (https://rclone.org/local/#symlinks-junction-points). |
| پرچم --vfs-links برای دستورهای rclone mount، rclone nfsmount و rclone serve nfs طراحی شده است. |
| این گزینه هنوز با سایر دستورهای rclone serve آزمایش نشده است. |
| یکی از محدودیتهای پیادهسازی فعلی این است که انتظار دارد فراخواننده، پیوندهای نمادین فرعی را تحلیل و تفکیک (resolve) کند. |
| برای مثال با فرض این درخت دایرکتوری: |
| . |
| ├── dir |
| │ └── file.txt |
| └── linked-dir -> dir |
| لایهٔ VFS پیوند linked-dir را بهدرستی برطرف میکند، اما linked-dir/file.txt را نه. |
| این مسئله برای دستورهای آزمایششده مشکلی ایجاد نمیکند، اما ممکن است برای سایر دستورها مشکلساز باشد. |
| توجه داشته باشید که یک مشکل حلنشده در پشتیبانی از پیوندهای نمادین وجود دارد (گزارش باگ شمارهٔ ۸۲۴۵ در https://github.com/rclone/rclone/issues/8245)؛ هنگامی که پیوندهای نمادین به دایرکتوریهایی منتقل میشوند که فایلی با همان نام در آنها وجود دارد (یا برعکس)، فایلهای تکراری ایجاد میشوند. |
| "حساسیت VFS به حروف بزرگ و کوچک (VFS Case Sensitivity)" |
| سامانههای فایل Linux به بزرگی و کوچکی حروف حساس هستند (case-sensitive): دو فایل میتوانند تنها در بزرگی و کوچکی حروف تفاوت داشته باشند، و هنگام باز کردن یک فایل باید دقیقاً از همان حالت حروف استفاده شود. |
| سامانههای فایل در Windows امروزی به بزرگی و کوچکی حروف حساس نیستند ولی حالت حروف را حفظ میکنند (case-insensitive اما case-preserving): اگرچه فایلهای موجود را میتوان با هر حالتی از حروف باز کرد، اما حالت دقیق حروفی که برای ساخت فایل به کار رفته حفظ میشود و برای استعلام برنامهها در دسترس است. |
| در یک دایرکتوری، وجود دو فایل که تنها در بزرگی و کوچکی حروف با هم تفاوت دارند مجاز نیست. |
| سامانههای فایل در macOS معمولاً به بزرگی و کوچکی حروف حساس نیستند. |
| امکان حساس کردن سامانههای فایل macOS به بزرگی و کوچکی حروف وجود دارد، اما این حالت پیشفرض نیست. |
| پرچم --vfs-case-insensitive در لایهٔ VFS نحوهٔ رفتار rclone با این دو وضعیت را کنترل میکند. |
| اگر مقدار آن "false" باشد، rclone نام فایلها را دستنخورده (as-is) به ریموت ارسال میکند. |
| اگر پرچم "true" باشد (یا بدون مقدار در خط فرمان آورده شود)، rclone ممکن است یک «اصلاح» ("fixup") را مطابق توضیحات زیر انجام دهد. |
| کاربر ممکن است نام فایلی را برای باز کردن/حذف کردن/تغییر نام دادن/غیره با حالتی از حروف متفاوت از آنچه در ریموت ذخیره شده وارد کند. |
| اگر یک آرگومان به فایلی موجود با دقیقاً همان نام اشاره کند، از همان حالت حروف فایل موجود روی دیسک استفاده خواهد شد. |
| اما اگر نام فایلی با دقیقاً همان حالت حروف یافت نشود، ولی نامی وجود داشته باشد که تنها در بزرگی و کوچکی حروف تفاوت دارد، rclone بهطور شفاف نام را اصلاح (fixup) میکند. |
| این اصلاح فقط هنگامی رخ میدهد که یک فایل موجود درخواست شده باشد. |
| حساسیت به حروف برای نام فایلهایی که بهتازگی توسط rclone ایجاد میشوند توسط ریموت زیرین کنترل میشود. |
| توجه داشته باشید که حساسیت به بزرگی و کوچکی حروف در سیستمعامل اجراکنندهٔ rclone (مقصد) ممکن است با حساسیت به حروف در سامانهٔ فایل ارائهشده توسط rclone (مبدأ) متفاوت باشد. |
| این پرچم کنترل میکند که آیا برای برآورده کردن نیازهای مقصد، «اصلاح» ("fixup") انجام گیرد یا خیر. |
| اگر این پرچم در خط فرمان مشخص نشود، مقدار پیشفرض آن به سیستمعاملی بستگی دارد که rclone در آن اجرا میشود: در Windows و macOS برابر "true"، و در غیر این صورت "false". |
| اگر پرچم بدون مقدار مشخص شود، برابر "true" خواهد بود. |
| پرچم --no-unicode-normalization کنترل میکند که آیا «اصلاح» ("fixup") مشابهی برای نامفایلهایی که متفاوتاند اما از لحاظ یونیکد همارزی قانونی (canonically equivalent) دارند (https://en.wikipedia.org/wiki/Unicode_equivalence) انجام شود یا خیر. |
| نرمالسازی یونیکد بهویژه برای کاربران macOS که حالت NFD را به جای حالت NFC (مورد استفاده در اکثر پلتفرمهای دیگر) ترجیح میدهد، بسیار سودمند است. |
| بنابراین اکیداً توصیه میشود که برای جلوگیری از مشکلات سازگاری کدگذاری در macOS، مقدار پیشفرض false حفظ شود. |
| در حالت (احتمالاً نادر) که یک دایرکتوری پس از اعمال یکسانسازی حروف و یونیکد، چندین نامفایل تکراری داشته باشد، پرچم --vfs-block-norm-dupes امکان پنهان کردن این موارد تکراری را فراهم میآورد. |
| این کار با افت کارایی همراه است، زیرا rclone هنگام فهرست کردن یک دایرکتوری مجبور است کل آن دایرکتوری را برای یافتن موارد تکراری پیمایش کند. |
| به همین دلیل، توصیه میشود در صورت عدم نیاز، این گزینه غیرفعال بماند. |
| با این وجود، کاربران macOS ممکن است استفاده از آن را در نظر بگیرند؛ زیرا در غیر این صورت، اگر یک دایرکتوری ریموت شامل هر دو نگارش NFC و NFD از یک نامفایل باشد، وضعیت عجیبی رخ خواهد داد: هر دو نسخه از فایل در محل مانت قابل مشاهده خواهند بود و هر دو قابل ویرایش به نظر میرسند، اما در عمل ویرایش هر کدام از آنها تنها باعث ویرایش نسخهٔ NFD در پشت صحنه میشود. |
| پرچم --vfs-block-norm-dupes با شناسایی این وضعیت، پنهان کردن موارد تکراری و ثبت خطا در گزارش (log)، از این سردرگمی جلوگیری میکند؛ مشابه همان رفتاری که در rclone sync پیاده شده است..SS گزینههای دیسک VFS |
| این پرچم به شما امکان میدهد آمار مربوط به سامانه فایل را به صورت دستی |
| تنظیم کنید. |
| این قابلیت زمانی مفید است که این آمار نتوانند به صورت خودکار به درستی |
| خوانده شوند. |
| --vfs-disk-space-total-size تنظیم دستی اندازه کل فضای دیسک (مثال: 256G، پیشفرض: -1) |
| گزارش جایگزین بایتهای استفادهشده |
| برخی backendها، به ویژه S3، مقدار بایتهای مصرفشده را گزارش نمیدهند. |
| اگر نیاز دارید که این اطلاعات هنگام اجرای df بر روی سامانه فایل |
| در دسترس باشد، پرچم --vfs-used-is-size را به rclone ارسال کنید. |
| با تنظیم این پرچم، rclone به جای اتکا به backend برای گزارش این اطلاعات، |
| تمام ریموت را همانند rclone size پیمایش کرده و فضای کل مصرفشده را |
| خودش محاسبه میکند. |
| هشدار: بر خلاف rclone size، این پرچم فیلترها را نادیده |
| میگیرد تا نتیجه دقیق باشد. |
| با این حال، این کار بسیار ناکارآمد است و ممکن است باعث فراخوانیهای متعدد |
| API و در نتیجه تحمیل هزینههای اضافی شود. |
| از آن تنها به عنوان آخرین راهکار و فقط همراه با حافظه موقت (caching) استفاده کنید. |
| فراداده VFS |
| اگر از پرچم --vfs-metadata-extension استفاده کنید، میتوانید VFS |
| را وادار کنید فایلهایی را که حاوی فراداده (https://rclone.org/docs#metadata) |
| هستند به صورت یک شیء JSON نمایش دهد. |
| این فایلها در فهرست دایرکتوری ظاهر نخواهند شد، اما میتوان روی آنها |
| stat زد و بازشان کرد؛ و به محض باز شدن، تا زمان انقضای حافظه موقت |
| دایرکتوری، در فهرستهای دایرکتوری ظاهر خواهند شد. |
| توجه داشته باشید که برخی backendها فراداده ایجاد نمیکنند مگر اینکه پرچم |
| --metadata را ارسال کنید. |
| برای نمونه، با استفاده از rclone mount به همراه |
| --metadata --vfs-metadata-extension .metadata چنین خروجیای خواهیم داشت: |
| $ ls -l /mnt/ |
| total 1048577 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| $ cat /mnt/1G.metadata |
| { |
| "atime": "2025-03-04T17:34:22.317069787Z", |
| "btime": "2025-03-03T16:03:37.708253808Z", |
| "gid": "1000", |
| "mode": "100664", |
| "mtime": "2025-03-03T16:03:39.640238323Z", |
| "uid": "1000" |
| } |
| $ ls -l /mnt/ |
| total 1048578 |
| -rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G |
| -rw-rw-r-- 1 user user 185 Mar 3 16:03 1G.metadata |
| اگر فایل فاقد فراداده باشد به صورت {} برگردانده میشود، و اگر |
| در خواندن فراداده خطایی رخ دهد، خطا به صورت |
| {"error":"error string"} بازگردانده خواهد شد. |
| پروکسی احراز هویت (Auth Proxy) |
| اگر پارامتر --auth-proxy /path/to/program را ارسال کنید، |
| rclone از آن برنامه برای ایجاد بلادرنگ backendها استفاده میکند که سپس |
| برای احراز هویت درخواستهای دریافتی به کار میروند. |
| این سازوکار از یک پروتکل ساده مبتنی بر JSON با ورودی روی STDIN و خروجی روی |
| STDOUT استفاده میکند. |
| لطفاً توجه داشته باشید: گزینههای --auth-proxy و |
| --authorized-keys نمیتوانند همزمان استفاده شوند؛ در صورت تنظیم بودن |
| --auth-proxy، گزینه کلیدهای مجاز نادیده گرفته خواهد شد. |
| یک برنامه نمونه در مسیر |
| bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py) |
| در سورسکد rclone وجود دارد. |
| وظیفه این برنامه دریافت user و pass در ورودی و تبدیل |
| آنها به پیکربندی یک backend در قالب JSON روی STDOUT است. |
| این پیکربندی شامل تمام پارامترهای پیشفرض افزودهشده برای backend خواهد بود، |
| اما از پیکربندی متغیرهای محیطی یا گزینههای خط فرمان استفاده نخواهد کرد - |
| ایجاد یک پیکربندی کامل، وظیفه برنامه پروکسی است. |
| این پیکربندی تولیدشده باید دارای این پارامتر اضافی باشد: |
| • 2 |
| _root - ریشه (root) مورد استفاده برای backend |
| و میتواند شامل این پارامترها نیز باشد: |
| • 2 |
| _obscure - رشتههای جداشده با کاما برای پارامترهایی که باید مبهمسازی شوند |
| • 2 |
| _secret_access_key - کلید مخفی (secret) برای احراز هویت access key در S3 (پایین را ببینید) |
| اگر احراز هویت با گذرواژه توسط کلاینت استفاده شده باشد، ورودی به فرایند پروکسی |
| (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "pass": "mypassword", |
| "client_ip": "192.168.1.1" |
| } |
| اگر احراز هویت با کلید عمومی (public-key) توسط کلاینت انجام شده باشد، ورودی به فرایند پروکسی |
| (روی STDIN) شبیه به این خواهد بود: |
| { |
| "user": "me", |
| "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf", |
| "client_ip": "192.168.1.1" |
| } |
| اگر کلاینت با یک access key مربوط به S3 احراز هویت کند |
| (rclone serve s3)، کلاینت هرگز کلید مخفی (secret) خود را ارسال نمیکند، |
| بلکه تنها یک امضای ایجادشده با آن را میفرستد؛ بنابراین ورودی تنها حاوی access key ID |
| به عنوان user و بدون pass یا public_key خواهد بود: |
| { |
| "user": "AKIAIOSFODNN7EXAMPLE", |
| "client_ip": "192.168.1.1" |
| } |
| در این حالت، برنامه باید secret access key مربوط به آن access key ID را جستجو کرده |
| و آن را در فیلد _secret_access_key خروجی بازگرداند. |
| سپس rclone از آن secret برای تایید امضای روی درخواست استفاده میکند و در صورت عدم تطابق، |
| درخواست را رد مینماید. |
| این بدان معناست که برنامه پروکسی، مرجع اصلی (source of truth) هم برای اطلاعات |
| اعتبارسنجی و هم برای backend متناظر با آنها است. |
| اگر برنامه _secret_access_key را برنگرداند یا آن را خالی بازگرداند، |
| درخواست رد میشود. |
| پاسخ برنامه برای یک access key ID در حافظه موقت ذخیره (cache) میشود (پایین را ببینید)، اما |
| حتی در صورتی که access key ID به طور مداوم در حال استفاده باشد، پس از ۵ دقیقه دوباره با |
| برنامه بررسی خواهد شد؛ بنابراین ابطال یک access key ID در برنامه ظرف ۵ دقیقه اعمال میشود. |
| یک کلید مخفی بازگردانیشده (rotated secret) در اولین درخواستی که با آن امضا شود اعمال خواهد شد. |
| کلید client_ip آدرس IP اتصال کلاینت را بدون شماره پورت در بر دارد. |
| از آن میتوان برای محدود کردن ورودها به شبکههای خاص، یا ثبت متمرکز گزارش تلاشهای |
| احراز هویت استفاده کرد. |
| اگر کلاینت فاقد آدرس IP باشد، برای مثال هنگام اتصال از طریق سوکت یونیکس (unix socket)، |
| این کلید حذف میشود. |
| توجه داشته باشید که اگر rclone پشت یک reverse proxy قرار داشته باشد، این مقدار آدرس |
| reverse proxy خواهد بود و نه آدرس کلاینت اصلی. |
| و به عنوان نمونه، چنین پاسخی را روی STDOUT بازمیگرداند: |
| { |
| "type": "sftp", |
| "_root": "", |
| "_obscure": "pass", |
| "user": "me", |
| "pass": "mypassword", |
| "host": "sftp.example.com" |
| } |
| این بدان معناست که یک بکاند SFTP بهصورت بلادرنگ برای |
| user و pass/public_key بازگرداندهشده در |
| خروجی به میزبان مشخصشده ایجاد میشود. |
| توجه داشته باشید از آنجا که _obscure روی pass تنظیم شده است، rclone |
| پیش از ایجاد بکاند، پارامتر pass را مبهمسازی (obscure) خواهد کرد |
| (که برای بکاندهای sftp الزامی است). |
| برنامه میتواند user ارائهشده را به هر روشی دستکاری کند؛ برای |
| نمونه بهمنظور ایجاد پراکسی به چندین بکاند sftp مختلف، میتوانید |
| user را برابر با user@example.com قرار دهید و سپس |
| در خروجی، host را روی example.com و کاربر را روی |
| user تنظیم کنید. |
| بهدلایل امنیتی احتمالاً مایل خواهید بود که host را به یک |
| فهرست محدود مقید کنید. |
| حافظه موقت (cache) داخلی بکاندها بر اساس user، هشی از |
| pass یا public_key، و client_ip کلیدگذاری میشود. |
| این بدان معناست که اگر گذرواژه یا کلید عمومی کاربر تغییر کند، کلاینت از یک |
| نشانی IP جدید متصل شود، یا پراکسی پارامترهای پیکربندی متفاوتی را برگرداند |
| (برای نمونه یک api_key دورهگردیشده/چرخشیافته)، در درخواست بعدی |
| بهجای استفاده مجدد از نمونه ذخیرهشده، یک بکاند تازه ایجاد خواهد شد. |
| از این سازوکار میتوان برای ساخت پراکسیهای چندمنظوره برای هر نوع بکاندی |
| که rclone پشتیبانی میکند، استفاده کرد. |
| rclone serve webdav remote:path [flags] |
| گزینهها (Options) |
| --addr stringArray نشانی IP:Port یا :Port برای مقید کردن سرور به آن (پیشفرض 127.0.0.1:8080) |
| --allow-origin string مبدأیی که درخواست میاندامنه (CORS) میتواند از آن اجرا شود |
| --auth-proxy string برنامهای برای ایجاد بکاند از طریق دادههای احراز هویت |
| --baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید |
| --cert string کلید TLS PEM (ترکیب گواهی و گواهی CA) |
| --client-ca string مرجع صدور گواهی کلاینت (CA) جهت اعتبارسنجی کلاینتها |
| --dir-cache-time Duration مدتزمان نگهداری مدخلهای دایرکتوری در حافظه موقت (پیشفرض 5m0s) |
| --dir-perms FileMode مجوزهای دایرکتوری (پیشفرض 777) |
| --disable-dir-list غیرفعال کردن فهرست راهنمای HTML در درخواست GET برای دایرکتوری |
| --disable-zip غیرفعال کردن بارگیری دایرکتوریها در قالب فایل zip |
| --etag-hash string هش مورد استفاده برای ETag، یا auto، یا خالی برای غیرفعال کردن |
| --file-perms FileMode مجوزهای فایل (پیشفرض 666) |
| --gid uint32 بازنویسی مقدار gid تعیینشده توسط سیستمفایل (در ویندوز پشتیبانی نمیشود) (پیشفرض 1000) |
| -h, --help راهنمای webdav |
| --htpasswd string یک فایل htpasswd - در صورت عدم ارائه، احراز هویتی انجام نمیشود |
| --key string کلید خصوصی TLS PEM |
| --link-perms FileMode مجوزهای پیوند (پیشفرض 666) |
| --max-header-bytes int حداکثر اندازه سرآیند درخواست (پیشفرض 4096) |
| --min-tls-version string حداقل نسخه قابلقبول TLS (پیشفرض "tls1.0") |
| --no-checksum عدم مقایسه چکسامها هنگام بارگذاری/بارگیری |
| --no-modtime عدم خواندن/نوشتن زمان تغییر (میتواند سرعت را افزایش دهد) |
| --no-seek عدم اجازه پرش (seeking) در فایلها |
| --pass string گذرواژه برای احراز هویت |
| --poll-interval Duration زمان انتظار میان بررسی تغییرات، باید کمتر از dir-cache-time باشد و فقط در ریموتهای پشتیبانیشده (0 برای غیرفعال کردن) (پیشفرض 1m0s) |
| --read-only فقط اجازه دسترسی خواندنی داده شود |
| --realm string حوزه (Realm) برای احراز هویت |
| --response-header stringArray تنظیم سرآیند HTTP برای تمام پاسخها و بازنویسی مقادیر موجود |
| --salt string سالت هش کردن گذرواژه (پیشفرض "dlPL2MqE") |
| --server-read-timeout Duration مهلت زمانی سرور برای خواندن دادهها (پیشفرض 1h0m0s) |
| --server-write-timeout Duration مهلت زمانی سرور برای نوشتن دادهها (پیشفرض 1h0m0s) |
| --template string قالب تعیینشده توسط کاربر |
| --uid uint32 بازنویسی مقدار uid تعیینشده توسط سیستمفایل (در ویندوز پشتیبانی نمیشود) (پیشفرض 1000) |
| --umask FileMode بازنویسی بیتهای مجوز تعیینشده توسط سیستمفایل (در ویندوز پشتیبانی نمیشود) (پیشفرض 002) |
| --user string نام کاربری برای احراز هویت |
| --user-from-header string نام کاربری برگرفته از یک سرآیند HTTP مشخص |
| --vfs-block-norm-dupes در صورت وجود نامهای تکراری در یک دایرکتوری (پس از نرمالسازی)، ثبت خطا و پنهان کردن موارد تکراری (ممکن است هزینه کارایی داشته باشد) |
| --vfs-cache-max-age Duration حداکثر زمان از آخرین دسترسی به اشیاء در حافظه موقت (پیشفرض 1h0m0s) |
| --vfs-cache-max-size SizeSuffix حداکثر اندازه کل اشیاء موجود در حافظه موقت (پیشفرض off) |
| --vfs-cache-min-free-space SizeSuffix هدف حداقل فضای خالی دیسک شامل حافظه موقت (پیشفرض off) |
| --vfs-cache-mode CacheMode حالت کش off|minimal|writes|full (پیشفرض off) |
| --vfs-cache-poll-interval Duration بازه زمانی بررسی حافظه موقت برای یافتن اشیاء بیاتشده (پیشفرض 1m0s) |
| --vfs-case-insensitive اگر نام فایلی پیدا نشد، تطابق غیرحساس به بزرگ و کوچکی حروف بررسی شود |
| --vfs-disk-space-total-size SizeSuffix تعیین کل فضای دیسک (پیشفرض off) |
| --vfs-fast-fingerprint استفاده از اثر انگشتهای سریع (با دقت کمتر) برای تشخیص تغییرات |
| --vfs-handle-caching Duration مدتزمان نگهداری هندل فایل و دانلودکنندهها پس از آخرین بستهشدن (پیشفرض 5s) |
| --vfs-links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' برای VFS |
| --vfs-metadata-extension string تنظیم پسوند برای خواندن فراداده از آن |
| --vfs-read-ahead SizeSuffix پیشخوانی اضافی مازاد بر --buffer-size هنگام استفاده از cache-mode full |
| --vfs-read-chunk-size SizeSuffix خواندن اشیاء مبدأ در قالب تکهها (chunks) (پیشفرض 128Mi) |
| --vfs-read-chunk-size-limit SizeSuffix اگر از --vfs-read-chunk-size بیشتر باشد، دو برابر کردن اندازه تکه پس از هر بار خواندن تا رسیدن به حد نصاب ('off' نامحدود است) (پیشفرض off) |
| --vfs-read-chunk-streams int تعداد جریانهای موازی برای خواندن همزمان |
| --vfs-read-wait Duration مدتزمان انتظار برای خواندن متوالی پیش از پرش (پیشفرض 20ms) |
| --vfs-refresh تازهسازی بازگشتی حافظه موقت دایرکتوری در پسزمینه هنگام شروع |
| --vfs-used-is-size rclone size استفاده از الگوریتم اندازه rclone برای حجم استفادهشده |
| --vfs-write-back Duration مدتزمان بازنویسی فایلها پس از آخرین استفاده در صورت استفاده از کش (پیشفرض 5s) |
| --vfs-write-wait Duration مدتزمان انتظار برای نوشتن متوالی پیش از اعلام خطا (پیشفرض 1s) |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری |
| (https://rclone.org/flags) را ببینید..SS گزینههای فیلتر (Filter Options) |
| پرچمهایی برای فیلتر کردن فهرست دایرکتوریها |
| --delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (از - برای خواندن از stdin استفاده کنید) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نام فایلهای مبدأ از فایل (از - برای خواندن از stdin استفاده کنید) |
| --files-from-raw stringArray خواندن فهرست نام فایلهای مبدأ از فایل بدون هیچ پردازشی روی خطوط (از - برای خواندن از stdin استفاده کنید) |
| --files-from0 stringArray خواندن فهرست نام فایلهای مبدأ از فایل با استفاده از NUL به عنوان جداکننده (از - برای خواندن از stdin استفاده کنید) |
| -f, --filter stringArray افزودن یک قاعده فیلتر فایل |
| --filter-from stringArray خواندن الگوهای فیلتر فایل از یک فایل (از - برای خواندن از stdin استفاده کنید) |
| --hash-filter string افراز نام فایلها با درهمسازی k/n یا تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (از - برای خواندن از stdin استفاده کنید) |
| --max-age Duration انتقال فایلهای جدیدتر از این مقدار برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنی کردن متادیتاهای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متادیتا از فایل (از - برای خواندن از stdin استفاده کنید) |
| --metadata-filter stringArray افزودن یک قاعده فیلتر متادیتا |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر متادیتا از یک فایل (از - برای خواندن از stdin استفاده کنید) |
| --metadata-include stringArray شامل کردن متادیتاهای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متادیتا از فایل (از - برای خواندن از stdin استفاده کنید) |
| --min-age Duration انتقال فایلهای قدیمیتر از این مقدار برحسب s یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone serve (https://rclone.org/commands/rclone_serve) - سرویسدهی یک |
| ریموت بر بستر یک پروتکل. |
| "rclone settier" |
| تغییر کلاس/سطح ذخیرهسازی اشیاء در ریموت. |
| خلاصه دستور (SYNOPSIS) |
| سطح یا کلاس ذخیرهسازی را در ریموت (در صورت پشتیبانی) تغییر میدهد. |
| تعداد کمی از سرویسهای ذخیرهسازی ابری کلاسهای ذخیرهسازی متفاوتی را برای |
| اشیاء ارائه میدهند؛ برای نمونه AWS S3 و Glacier، ذخیرهسازی Azure Blob با |
| سطوح Hot، Cool و Archive، سرویس Google Cloud Storage با Regional Storage، |
| Nearline، Coldline و غیره. |
| توجه داشته باشید که برخی تغییرات سطح دسترسی، دسترسی فوری به اشیاء را |
| غیرممکن میسازد. |
| برای نمونه تغییر سطح به Archive در Azure Blob Storage اشیاء را در وضعیت |
| منجمد (frozen) قرار میدهد و کاربر میتواند با تنظیم سطح به Hot/Cool آنها |
| را بازیابی کند؛ به طور مشابه انتقال از S3 به Glacier شیء را غیرقابل |
| دسترس میکند. |
| میتوانید از آن برای تغییر سطح یک شیء منفرد استفاده کنید: |
| rclone settier Cool remote:path/file |
| یا از فیلترهای rclone برای تعیین سطح تنها بر روی فایلهای مشخص استفاده کنید: |
| rclone --include "*.txt" settier Hot remote:path/dir |
| یا فقط دایرکتوری ریموت را مشخص کنید تا تمام فایلهای درون آن دایرکتوری |
| تغییر سطح داده شوند: |
| rclone settier tier remote:path/dir |
| rclone settier tier remote:path [flags] |
| -h, --help راهنمای settier |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| rclone test |
| اجرای یک دستور آزمایشی |
| "خلاصه دستور (SYNOPSIS)" |
| دستور rclone test برای اجرای دستورهای آزمایشی به کار میرود. |
| دستور آزمایشی مورد نظر خود را با زیردستور مشخص کنید، مانند: |
| rclone test memory remote: |
| هر زیردستور گزینههای مخصوص به خود را دارد که میتوانید آنها را در راهنمای مربوطهشان مشاهده کنید. |
| توجه: در اجرای این دستورها احتیاط کنید؛ آنها ممکن است رفتارهای غیرمنتظرهای داشته باشند، بنابراین توصیه میشود ابتدا مستندات مربوط به آنها را مطالعه فرمایید. |
| "گزینهها (OPTIONS)" |
| -h, --help راهنمای test |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| • 2 |
| rclone test changenotify (https://rclone.org/commands/rclone_test_changenotify) - ثبت وقایع هرگونه درخواست اعلان تغییر (change notify) برای ریموتِ ارائهشده. |
| • 2 |
| rclone test histogram (https://rclone.org/commands/rclone_test_histogram) - ایجاد یک هیستوگرام از نویسههای نام فایلها. |
| • 2 |
| rclone test info (https://rclone.org/commands/rclone_test_info) - کشف محدودیتهای نام فایل یا سایر محدودیتها برای مسیرها. |
| • 2 |
| rclone test makefile (https://rclone.org/commands/rclone_test_makefile) - ساخت فایلهایی با محتوای تصادفی و اندازه مشخصشده. |
| • 2 |
| rclone test makefiles (https://rclone.org/commands/rclone_test_makefiles) - ایجاد یک ساختار سلسلهمراتبی تصادفی از فایلها درون یک دایرکتوری. |
| • 2 |
| rclone test memory (https://rclone.org/commands/rclone_test_memory) - بارگذاری تمام اشیاء موجود در remote:path به درون حافظه و گزارش آمار حافظه. |
| • 2 |
| rclone test speed (https://rclone.org/commands/rclone_test_speed) - اجرای آزمون سرعت اتصال به ریموت. |
| rclone test changenotify |
| ثبت وقایع هرگونه درخواست اعلان تغییر (change notify) برای ریموتِ ارائهشده. |
| rclone test changenotify remote: [flags] |
| -h, --help راهنمای changenotify |
| --poll-interval Duration مدت زمان انتظار بین بررسی برای تغییرات (پیشفرض 10s) |
| برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone test histogram |
| یک هیستوگرام از نویسههای نام فایل میسازد. |
| "خلاصه دستور (SYNOPSIS)" |
| این دستور یک خروجی JSON تولید میکند که هیستوگرام نویسههای بهکاررفته در نامهای فایل در remote:path مشخصشده را نشان میدهد. |
| این دادهها شامل هیچگونه اطلاعات هویتی نیستند اما برای توسعهدهندگان rclone هنگام توسعه فشردهسازی نام فایل مفید هستند. |
| rclone test histogram [remote:path] [flags] |
| "گزینهها (OPTIONS)" |
| -h, --help راهنمای histogram |
| برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone test info |
| محدودیتهای نام فایل یا سایر محدودیتها را برای مسیرها شناسایی میکند. |
| "خلاصه دستور (SYNOPSIS)" |
| بررسی میکند که ایجاد چه نامهای فایل و استفاده از چه روشهای بارگذاریای در مسیرهای ارائهشده ممکن است و طول آنها چقدر میتواند باشد. |
| این کار ممکن است مدتی زمان ببرد. |
| این دستور فایلهای آزمایشی را درون remote:path ارائهشده مینویسد. |
| برای هر یک، مقداری کد go در خروجی تولید میکند. |
| توجه: این کار میتواند فایلهای غیرقابلحذف و خطرات دیگری ایجاد کند - با احتیاط استفاده کنید! |
| rclone test info [remote:path]+ [flags] |
| "گزینهها (OPTIONS)" |
| --all اجرای تمام آزمایشها |
| --check-base32768 بررسی امکان ذخیره تمام نویسههای ممکن base32768 |
| --check-control بررسی نویسههای کنترلی |
| --check-length بررسی حداکثر طول نام فایل |
| --check-normalization بررسی یکسانسازی UTF-8 |
| --check-streaming بررسی بارگذاریها با اندازه فایل نامشخص |
| -h, --help راهنمای info |
| --keep-test-files نگهداشتن فایلهای آزمایشی پس از اجرا |
| --upload-wait Duration مدت انتظار پس از نوشتن یک فایل (پیشفرض 0s) |
| --write-json string نوشتن نتایج در فایل |
| برای مشاهدهٔ گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone test makefile |
| ایجاد فایلهایی با محتوای تصادفی و به اندازه دادهشده |
| rclone test makefile <size> [<file>]+ [flags] |
| "گزینهها (OPTIONS)" |
| --ascii تنها پر کردن فایلها با بایتهای قابل چاپ تصادفی ASCII |
| --chargen پر کردن فایلها با یک الگوی chargen اسکی |
| -h, --help راهنمای makefile |
| --pattern پر کردن فایلها با یک الگوی متناوب |
| --seed int بذر برای مولد اعداد تصادفی (0 برای تصادفی) (پیشفرض 1) |
| --sparse تنک ساختن فایلها (sparse) (ظاهراً پر شده با ASCII 0x00) |
| --zero پر کردن فایلها با ASCII 0x00 |
| برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone test makefiles |
| ایجاد یک سلسلهمراتب فایل تصادفی در یک دایرکتوری |
| rclone test makefiles <dir> [flags] |
| "گزینهها (OPTIONS)" |
| --ascii تنها پر کردن فایلها با بایتهای قابل چاپ تصادفی ASCII |
| --chargen پر کردن فایلها با یک الگوی chargen اسکی |
| --files int تعداد فایلها برای ایجاد (پیشفرض 1000) |
| --files-per-directory int میانگین تعداد فایلها در هر دایرکتوری (پیشفرض 10) |
| --flat در صورت تعیین، تمام فایلها در دایرکتوری ریشه ایجاد میشوند |
| -h, --help راهنمای makefiles |
| --max-depth int حداکثر عمق سلسلهمراتب دایرکتوری (پیشفرض 10) |
| --max-file-size SizeSuffix حداکثر اندازه فایلها برای ایجاد (پیشفرض 100) |
| --max-name-length int حداکثر اندازه نام فایلها (پیشفرض 12) |
| --min-file-size SizeSuffix حداقل اندازه فایل برای ایجاد |
| --min-name-length int حداقل اندازه نام فایلها (پیشفرض 4) |
| --pattern پر کردن فایلها با یک الگوی متناوب |
| --seed int بذر برای مولد اعداد تصادفی (0 برای تصادفی) (پیشفرض 1) |
| --sparse تنک ساختن فایلها (sparse) (ظاهراً پر شده با ASCII 0x00) |
| --zero پر کردن فایلها با ASCII 0x00 |
| برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone test memory |
| بارگذاری تمام اشیاء در remote:path درون حافظه و گزارش آمار حافظه. |
| rclone test memory remote:path [flags] |
| "گزینهها (OPTIONS)" |
| -h, --help راهنمای memory |
| برای مشاهده گزینههای عمومی که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید..SS همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone test speed |
| اجرای آزمون سرعت با ریموت |
| خلاصه دستور (SYNOPSIS) |
| اجرای آزمون سرعت با ریموت. |
| این دستور مجموعهای از بارگذاریها و بارگیریها را با ریموت اجرا میکند و سرعت هر آزمون را با استفاده از اندازهها و تعداد متغیر فایلها اندازهگیری کرده و نمایش میدهد. |
| زمان آزمون ممکن است با سقف کم تعداد فایلها و فایلهای بزرگ نادرست باشد، زیرا از نتایج آزمون اولیه برای تعیین تعداد فایلهای مورد استفاده در هر آزمون بعدی بهره میگیرد. |
| توصیه میشود برای خروجی سادهتر از پرچم -q استفاده کنید. |
| برای نمونه: |
| rclone test speed remote: -q |
| نکته: این دستور فایلهایی را در یک پوشه با نام تصادفی روی ریموت ایجاد و حذف میکند که در صورت خروج تمیز بهطور خودکار حذف خواهد شد. |
| میتوانید از پرچم --json برای نمایش نتایج فقط در قالب JSON استفاده کنید. |
| rclone test speed <remote> [flags] |
| گزینهها (OPTIONS) |
| --ascii پر کردن فایلها تنها با بایتهای تصادفی و قابل چاپ ASCII |
| --chargen پر کردن فایلها با یک الگوی chargen اسکی |
| --file-cap int حداکثر تعداد فایلها در هر آزمون (پیشفرض 100) |
| -h, --help راهنمای speed |
| --json نمایش خروجی تنها در قالب JSON |
| --large SizeSuffix اندازه فایلهای بزرگ (پیشفرض 1Gi) |
| --medium SizeSuffix اندازه فایلهای متوسط (پیشفرض 10Mi) |
| --pattern پر کردن فایلها با یک الگوی متناوب |
| --seed int سید برای تولیدکننده اعداد تصادفی (0 برای تصادفی) (پیشفرض 1) |
| --small SizeSuffix اندازه فایلهای کوچک (پیشفرض 1Ki) |
| --sparse تنک ساختن فایلها (نمایش به صورت پرشده با ASCII 0x00) |
| --test-time Duration مدتزمان اجرای هر آزمون (پیشفرض 15s) |
| --zero پر کردن فایلها با ASCII 0x00 |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| همچنین ببینید (SEE ALSO) |
| • 2 |
| rclone test (https://rclone.org/commands/rclone_test) - اجرای یک دستور آزمایشی |
| rclone touch |
| ایجاد فایل جدید یا تغییر زمان ویرایش فایل. |
| خلاصه دستور (SYNOPSIS) |
| تنظیم زمان ویرایش فایل(ها) به زمان فعلی بر اساس remote:path. |
| اگر remote:path وجود نداشته باشد، یک فایل با اندازه صفر ایجاد خواهد شد مگر اینکه --no-create یا --recursive مشخص شده باشد. |
| در صورت استفاده از --recursive، زمان ویرایش بهطور بازگشتی روی همه فایلهای موجود در این مسیر تنظیم میشود. |
| فیلترها پشتیبانی میشوند، و میتوانید با پرچمهای --dry-run یا --interactive/-i آن را بیازمایید. |
| این دستور بهطور همزمان --transfers فایل را دستکاری (touch) میکند. |
| اگر از --timestamp استفاده شود، زمان ویرایش بهجای زمان فعلی، روی آن زمان مشخص تنظیم میشود. |
| زمانها میتوانند به یکی از حالتهای زیر مشخص شوند: |
| • 2 |
| 'YYMMDD' - برای نمونه: |
| 17.10.30 |
| • 2 |
| 'YYYY-MM-DDTHH:MM:SS' - برای نمونه: |
| 2006-01-02T15:04:05 |
| • 2 |
| 'YYYY-MM-DDTHH:MM:SS.SSS' - برای نمونه: |
| 2006-01-02T15:04:05.123456789 |
| توجه داشته باشید که مقدار --timestamp در مبنای UTC است. |
| اگر زمان محلی را میخواهید، پرچم --localtime را اضافه کنید. |
| هنگام ایجاد یک فایل جدید میتوان با --metadata-set متادیتا اضافه کرد. |
| برای نمونه: rclone touch remote:path -M --metadata-set key=value |
| rclone touch remote:path [flags] |
| -h, --help راهنمایی برای touch |
| --localtime استفاده از زمان محلی بهجای UTC برای برچسب زمان |
| -C, --no-create عدم ایجاد فایل در صورت عدم وجود (با --recursive ضمنی است) |
| -R, --recursive اعمال بازگشتی touch روی همهٔ فایلها |
| -t, --timestamp string استفاده از زمان مشخصشده بهجای زمان جاری روز |
| گزینههای مشترک با سایر دستورها در ادامه شرح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحهٔ پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "گزینههای مهم" |
| پرچمهای مهم و کاربردی برای بیشتر دستورها |
| -n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی |
| -i, --interactive فعالسازی حالت تعاملی |
| -v, --verbose count چاپ خروجی با جزئیات بسیار بیشتر (برای جزئیات بیشتر تکرار کنید) |
| "گزینههای فیلتر" |
| پرچمهایی برای فیلتر کردن فهرستهای دایرکتوری |
| --delete-excluded حذف فایلهای مستثنا شده از همگامسازی در مقصد |
| --exclude stringArray مستثنا کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) |
| --exclude-if-present stringArray مستثنا کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) |
| --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچگونه پردازش خطها (استفاده از - برای خواندن از stdin) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) |
| -f, --filter stringArray افزودن یک قاعدهٔ فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) |
| --hash-filter string بخشبندی نامهای فایل بر اساس هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) |
| --max-age Duration تنها انتقال فایلهای جدیدتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تعیین، محدود کردن عمق بازگشت به این مقدار (پیشفرض -1) |
| --max-size SizeSuffix تنها انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنا کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (استفاده از - برای خواندن از stdin) |
| --metadata-filter stringArray افزودن یک قاعدهٔ فیلتر کردن متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (استفاده از - برای خواندن از stdin) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از یک فایل (استفاده از - برای خواندن از stdin) |
| --min-age Duration تنها انتقال فایلهای قدیمیتر از این مقدار برحسب s یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix تنها انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| "گزینههای فهرستکردن" |
| پرچمهایی برای فهرست کردن دایرکتوریها |
| --default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) |
| --fast-list استفاده از فهرستبندی بازگشتی در صورت در دسترس بودن؛ مصرف حافظهٔ بیشتر اما تراکنشهای کمتر |
| "همچنین ببینید (SEE ALSO)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| rclone tree |
| فهرست کردن محتویات ریموت بهصورت درختی. |
| "خلاصه دستور (SYNOPSIS)" |
| محتویات یک ریموت را به روشی مشابه با دستور tree یونیکس فهرست میکند. |
| برای نمونه |
| $ rclone tree remote:path |
| / |
| ├── file1 |
| ├── file2 |
| ├── file3 |
| └── subdir |
| ├── file4 |
| └── file5 |
| 1 directories, 5 files |
| میتوانید از هر یک از گزینههای فیلترسازی با دستور tree استفاده کنید (مانند |
| --include و --exclude). |
| همچنین میتوانید از --fast-list استفاده کنید. |
| دستور tree گزینههای متعددی برای کنترل نحوهٔ فهرست کردن دارد که با دستور |
| tree سازگار هستند؛ برای نمونه میتوانید اندازهٔ فایلها را با --size بگنجانید. |
| توجه داشته باشید که همهٔ آنها گزینهٔ کوتاه ندارند، زیرا با گزینههای کوتاه |
| rclone تداخل پیدا میکنند. |
| برای پیمایش تعاملیتر ریموت، دستور |
| ncdu (https://rclone.org/commands/rclone_ncdu) را ببینید. |
| rclone tree remote:path [flags] |
| -a, --all فهرست کردن همه فایلها (فهرست کردن فایلهای . نیز) |
| -d, --dirs-only تنها فهرست کردن دایرکتوریها |
| --dirsfirst فهرست کردن دایرکتوریها پیش از فایلها (با -U غیرفعال میشود) |
| --full-path چاپ پیشوند مسیر کامل برای هر فایل |
| -h, --help راهنما برای tree |
| --level int پایین رفتن تنها تا سطح level از دایرکتوریها |
| -D, --modtime چاپ تاریخ آخرین تغییر. |
| --noindent خطوط تورفتگی چاپ نشوند |
| --noreport خاموش کردن شمارش فایل/دایرکتوری در پایان فهرست درختی |
| -o, --output string ارسال خروجی به فایل به جای stdout |
| -p, --protections چاپ مجوزهای حفاظتی برای هر فایل. |
| -Q, --quote قرار دادن نام فایلها در جفتگیومه (double quotes). |
| -s, --size چاپ اندازه هر فایل به بایت. |
| --sort string انتخاب مرتبسازی: name,version,size,mtime,ctime |
| --sort-ctime مرتبسازی فایلها بر اساس زمان آخرین تغییر وضعیت (ctime) |
| -t, --sort-modtime مرتبسازی فایلها بر اساس زمان آخرین تغییر (mtime) |
| -r, --sort-reverse معکوس کردن ترتیب مرتبسازی |
| -U, --unsorted نامرتب رها کردن فایلها |
| --version مرتبسازی الفبایی-عددی فایلها بر اساس نسخه |
| گزینههای مشترک با دیگر دستورها در ادامه توضیح داده شدهاند. |
| برای گزینههای سراسری که در اینجا فهرست نشدهاند، صفحه پرچمهای سراسری (https://rclone.org/flags) را ببینید. |
| "گزینههای فیلتر (Filter Options)" |
| پرچمهایی برای فیلتر کردن فهرست دایرکتوریها |
| --delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (برای خواندن از stdin از - استفاده کنید) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل (برای خواندن از stdin از - استفاده کنید) |
| --files-from-raw stringArray خواندن فهرست نامهای فایلهای مبدأ از فایل بدون هیچگونه پردازش روی خطوط (برای خواندن از stdin از - استفاده کنید) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL به عنوان جداکننده (برای خواندن از stdin از - استفاده کنید) |
| -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --hash-filter string افراز نام فایلها با هش k/n یا به صورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (ناحساس به حروف) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (برای خواندن از stdin از - استفاده کنید) |
| --max-age Duration انتقال تنها فایلهای جدیدتر از این مقدار بر حسب ثانیه یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --max-depth int در صورت تعیین، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix انتقال تنها فایلهای کوچکتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| --metadata-exclude stringArray مستثنی کردن متادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای متاداده از فایل (برای خواندن از stdin از - استفاده کنید) |
| --metadata-filter stringArray افزودن یک قانون فیلتر کردن متاداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن متاداده از یک فایل (برای خواندن از stdin از - استفاده کنید) |
| --metadata-include stringArray شامل کردن متادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول متاداده از فایل (برای خواندن از stdin از - استفاده کنید) |
| --min-age Duration انتقال تنها فایلهای قدیمیتر از این مقدار بر حسب ثانیه یا پسوند ms|s|m|h|d|w|M|y (پیشفرض خاموش) |
| --min-size SizeSuffix انتقال تنها فایلهای بزرگتر از این مقدار بر حسب KiB یا پسوند B|K|M|G|T|P (پیشفرض خاموش) |
| "گزینههای فهرستبندی (Listing Options)" |
| پرچمهایی برای فهرستبندی دایرکتوریها |
| --default-time Time زمانی که اگر modtime برای فایلها و دایرکتوریها ناشناخته باشد نشان داده میشود (پیشفرض 2000-01-01T00:00:00Z) |
| --fast-list استفاده از فهرستبندی بازگشتی در صورت موجود بودن؛ حافظه بیشتر اما تراکنشهای کمتری مصرف میکند |
| "همچنین ببینید (See Also)" |
| • 2 |
| rclone (https://rclone.org/commands/rclone) - نمایش راهنما برای دستورها، پرچمها و backendهای rclone. |
| "کپی کردن تکفایلها (Copying single files)" |
| دستور rclone به طور معمول دایرکتوریها را همگامسازی کرده یا رونوشت میگیرد. |
| با این حال، اگر ریموت مبدأ به یک فایل اشاره کند، rclone تنها همان فایل را کپی خواهد کرد. |
| ریموت مقصد باید به یک دایرکتوری اشاره کند - در غیر این صورت rclone خطای زیر را خواهد داد: |
| Failed to create file system for "remote:file": is a file not a directory |
| برای نمونه، فرض کنید ریموتی دارید که فایلی به نام |
| test.jpg دارد، آنگاه میتوانید تنها همان فایل را اینگونه کپی کنید: |
| rclone copy remote:test.jpg /tmp/download |
| فایل test.jpg درون |
| /tmp/download قرار خواهد گرفت. |
| این معادل مشخص کردن دستور زیر است: |
| rclone copy --files-from /tmp/files remote: /tmp/download |
| که در آن /tmp/files شامل این تکخط است: |
| test.jpg |
| توصیه میشود هنگام کپی کردن فایلهای تکی از copy استفاده کنید، نه sync. |
| آنها تقریباً تأثیر یکسانی دارند اما copy حافظه بسیار کمتری مصرف خواهد کرد..SS ساختار مسیرهای راه دور |
| ساختار مسیرهایی که به دستور rclone داده میشوند به شرح زیر است. |
| /path/to/dir |
| این ساختار به سیستمفایل محلی اشاره دارد. |
| در Windows تنها در مسیرهای محلی میتوان از \ به جای / استفاده کرد؛ در مسیرهای غیرمحلی حتماً باید از / استفاده شود. |
| برای اطلاعات بیشتر درباره مسیرهای مخصوص Windows، مستندات سیستمفایل محلی (https://rclone.org/local/#paths-on-windows) را ببینید. |
| نیازی نیست این مسیرها با / آغازین شروع شوند - اگر چنین نباشد، مسیرها نسبت به دایرکتوری جاری در نظر گرفته خواهند شد. |
| remote:path/to/dir |
| این ساختار به دایرکتوری path/to/dir روی remote: همانگونه که در فایل پیکربندی تعریف شده است (پیکربندیشده با rclone config) اشاره دارد. |
| remote:/path/to/dir |
| در بیشتر backendها این ساختار به همان دایرکتوری remote:path/to/dir اشاره دارد و استفاده از آن قالب ترجیح داده میشود. |
| در تعداد بسیار اندکی از remoteها (مانند FTP، SFTP، Dropbox for business) این ساختار به دایرکتوری متفاوتی اشاره خواهد کرد. |
| در این موارد، مسیرهای بدون / آغازین به دایرکتوری "home" شما و مسیرهای دارای / آغازین به ریشه (root) اشاره خواهند داشت. |
| :backend:path/to/dir |
| این یک ساختار پیشرفته برای ایجاد remoteها به صورت آنی (on the fly) است. |
| مقدار backend باید نام یا پیشوند یک backend (همان type در فایل پیکربندی) باشد و تمام پیکربندی لازم برای backend باید از طریق خط فرمان (یا در متغیرهای محیطی) ارائه شود. |
| در اینجا چند مثال آورده شده است: |
| rclone lsd --http-url https://pub.rclone.org :http: |
| برای فهرست کردن تمام دایرکتوریها در ریشهٔ |
| https://pub.rclone.org. |
| rclone lsf --http-url https://example.com :http:path/to/dir |
| برای فهرست کردن فایلها و دایرکتوریها در |
| https://example.com/path/to/dir |
| rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir |
| برای کپی کردن فایلها و دایرکتوریها در |
| https://example.com/path/to/dir به /tmp/dir. |
| rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir |
| برای کپی کردن فایلها و دایرکتوریها از example.com در دایرکتوری |
| نسبی path/to/dir به /tmp/dir با استفاده از sftp. |
| رشتههای اتصال (Connection strings) |
| مثالهای بالا را میتوان با استفاده از نحو رشته اتصال نیز نوشت؛ |
| بنابراین به جای ارائه آرگومانها به عنوان پارامترهای خط فرمان مانند |
| --http-url https://pub.rclone.org، آنها به عنوان بخشی از |
| مشخصات remote در قالب نوعی رشته اتصال ارائه میشوند. |
| rclone lsd ":http,url='https://pub.rclone.org':" |
| rclone lsf ":http,url='https://example.com':path/to/dir" |
| rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir |
| rclone copy :sftp,host=example.com:path/to/dir /tmp/dir |
| این روش میتواند برای تغییر دادن remoteهای موجود و همچنین ساخت remoteهای جدید |
| با ساختار آنی (on the fly) به کار رود. |
| این مثال معادل افزودن پارامتر |
| --drive-shared-with-me به remote با نام |
| gdrive: است. |
| rclone lsf "gdrive,shared_with_me:path/to/dir" |
| مزیت اصلی استفاده از ساختار رشته اتصال این است که |
| تنها روی همان remote اعمال میشود، نه بر روی تمام remoteهای از آن نوع در خط فرمان. |
| یک سردرگمی رایج، تلاش برای کپی کردن یک فایل بهاشتراکگذاشتهشده در Google Drive |
| به درایو معمولی است که کار نمیکند؛ زیرا پرچم |
| --drive-shared-with-me هم بر مبدأ و هم بر مقصد اعمال میشود. |
| rclone copy --drive-shared-with-me gdrive:shared-file.txt gdrive: |
| با این حال با استفاده از ساختار رشته اتصال، این دستور به درستی کار میکند. |
| rclone copy "gdrive,shared_with_me:shared-file.txt" gdrive: |
| توجه داشته باشید که رشته اتصال تنها بر گزینههای |
| backend مستقیم (بیواسطه) تأثیر میگذارد. |
| اگر برای مثال gdriveCrypt یک crypt مبتنی بر gdrive باشد، |
| دستور زیر مطابق انتظار کار نخواهد کرد، چرا که |
| shared_with_me توسط backend کریپت نادیده گرفته میشود: |
| rclone copy "gdriveCrypt,shared_with_me:shared-file.txt" gdriveCrypt: |
| رشتههای اتصال دارای نحو زیر هستند: |
| remote,parameter=value,parameter2=value2:path/to/dir |
| :backend,parameter=value,parameter2=value2:path/to/dir |
| اگر مقدار parameter دارای یک : یا , باشد، |
| باید درون علامت نقلقول " یا ' قرار گیرد، مانند: |
| remote,parameter="colon:value",parameter2="comma,value":path/to/dir |
| :backend,parameter='colon:value',parameter2='comma,value':path/to/dir |
| اگر یک مقدار نقلقولشده نیاز به گنجاندن همان علامت نقلقول داشته باشد، |
| باید دو بار تکرار شود، مانند: |
| remote,parameter="with""quote",parameter2='with''quote':path/to/dir |
| این کار باعث میشود مقدار parameter برابر با with"quote و |
| مقدار parameter2 برابر با with'quote شود. |
| اگر =parameter را درج نکنید، rclone مقدار |
| =true را جایگزین میکند که برای پرچمها بسیار مناسب است. |
| برای مثال، جهت استفاده از s3 پیکربندیشده در متغیرهای محیطی میتوانید بنویسید: |
| rclone lsd :s3,env_auth: |
| که معادل است با: |
| rclone lsd :s3,env_auth=true: |
| توجه داشته باشید که در خط فرمان ممکن است لازم باشد این رشتههای اتصال را با " یا ' محصور کنید تا از تفسیر هرگونه نویسه خاص درون آنها توسط پوسته جلوگیری شود. |
| اگر در کار با پوسته مهارت دارید، خواهید دانست کدام رشتهها مجاز و کدام غیرمجاز هستند، اما اگر مطمئن نیستید، آنها را در " قرار داده و از ' بهعنوان نقلقول درونی استفاده کنید. |
| این نحو در تمامی سیستمعاملها کار میکند. |
| rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir |
| در لینوکس/macOS برخی نویسهها همچنان درون رشتههای " در پوسته تفسیر میشوند (بهویژه \، $ و ")، بنابراین اگر رشتههای شما شامل این نویسهها هستند میتوانید جای " و ' را بدینگونه تغییر دهید. |
| (این نحو در Windows کار نمیکند.) |
| rclone copy ':http,url="https://example.com":path/to/dir' /tmp/dir |
| میتوانید از rclone config string (https://rclone.org/commands/rclone_config_string) برای تبدیل یک ریموت به یک رشته اتصال استفاده کنید. |
| "رشتههای اتصال، پیکربندی و لاگگیری (Connection strings, config and logging)" |
| اگر پیکربندی اضافی را از طریق پرچم خط فرمان، متغیر محیطی یا رشته اتصال به یک backend اعمال کنید، rclone پسوندی را بر اساس هش (hash) پیکربندی به نام ریموت اضافه میکند، برای نمونه: |
| rclone -vv lsf --s3-chunk-size 20M s3: |
| پیام لاگ زیر را به همراه دارد: |
| DEBUG : s3: detected overridden config - adding "{Srj1p}" suffix to name |
| این کار برای این است که rclone بتواند هنگام کش کردن backendها، ریموت تغییریافته را از ریموت دستنخورده تمیز دهد. |
| این موضوع تنها در لاگها قابل مشاهده خواهد بود. |
| این بدین معناست که backendهای بلادرنگ (on the fly) نظیر: |
| rclone -vv lsf :s3,env_auth: |
| نامهای منحصربهفرد خود را دریافت خواهند کرد: |
| DEBUG : :s3: detected overridden config - adding "{YTu53}" suffix to name |
| "نامهای معتبر ریموت (Valid remote names)" |
| نامهای ریموت به بزرگی و کوچکی حروف حساس هستند و باید از قوانین زیر پیروی کنند: |
| • 2 |
| میتوانند شامل عدد، حرف، _، -، .، +، @ و فاصله باشند. |
| • 2 |
| نباید با - یا فاصله آغاز شوند. |
| • 2 |
| نباید به فاصله ختم شوند. |
| از rclone نسخه 1.61 به بعد، هرگونه عدد و حرف یونیکد (Unicode) مجاز است، در حالی که در نسخههای قدیمیتر به ASCII ساده (0-9، A-Z، a-z) محدود بود. |
| اگر از یک پیکربندی rclone در پوستههای مختلف استفاده میکنید، که ممکن است با کدگذاری نویسه (character encoding) متفاوتی تنظیم شده باشند، باید احتیاط کنید و از نویسههایی استفاده نمایید که در همه آنها قابل نوشتن باشند. |
| این مشکل بیشتر در Windows به وجود میآید، جایی که کنسول بهطور سنتی از مجموعهنویسههای غیر یونیکد استفاده میکند — که توسط اصطلاحاً "code page" تعریف میشود. |
| در Windows از نامهای تکنویسهای استفاده نکنید، زیرا موجب ابهام با نام درایوهای ویندوز میشود؛ بهعنوان مثال: ریموتی با نام C از درایو C غیرقابلتشخیص است. |
| rclone همواره فرض میکند که نام تکحرفی به یک درایو اشاره دارد..SS افزودن پیکربندی سراسری به یک ریموت |
| امکان افزودن پیکربندی سراسری به پیکربندی ریموت وجود دارد که درست پیش از ایجاد ریموت اعمال خواهد شد. |
| این کار به دو روش قابل انجام است. روش نخست استفاده از override.var = value در فایل پیکربندی یا رشته اتصال (connection string) برای ایجاد تغییری موقت است، و روش دوم استفاده از global.var = value در فایل پیکربندی یا رشته اتصال برای اعمال تغییری دائمی است. |
| این موضوع در ادامه بهطور کامل توضیح داده شده است. |
| override.var |
| این ویژگی برای بازنویسی (override) یک متغیر سراسری تنها در طول مدت زمان ایجاد ریموت به کار میرود. |
| این تنظیم بر دیگر ریموتها، حتی اگر همزمان ایجاد شوند، تأثیری نخواهد گذاشت. |
| این قابلیت برای بازنویسی پیکربندیهای شبکهای که تنها برای آن ریموت خاص نیاز هستند بسیار کاربردی است. |
| برای نمونه، فرض کنید ریموتی دارید که به دلیل اجرا بر روی زیرساخت آزمایشی بدون گواهی معتبر، به --no-check-certificate نیاز دارد. |
| میتوانید گزینه --no-check-certificate را به rclone بدهید، اما این کار بر روی تمام ریموتها تأثیر میگذارد. |
| برای اینکه تأثیر آن تنها محدود به همین ریموت باشد، از یک override استفاده میکنید. |
| میتوانید این مقدار را در فایل پیکربندی قرار دهید: |
| [remote] |
| type = XXX |
| ... |
| override.no_check_certificate = true |
| یا آن را در رشته اتصال remote,override.no_check_certificate=true: (یا صرفاً remote,override.no_check_certificate:) به کار ببرید. |
| توجه داشته باشید که نام گزینه سراسری چگونه -- ابتدایی خود را از دست میدهد، - با _ جایگزین میشود و یک پیشوند override. دریافت میکند. |
| بازنویسی همه متغیرهای سراسری به این شکل منطقی نیست، زیرا این پیکربندی تنها هنگام ایجاد ریموت اعمال میشود. |
| در اینجا فهرستی غیرجامع از مواردی که ممکن است مفید باشند آورده شده است: |
| • 2 |
| bind_addr |
| • 2 |
| ca_cert |
| • 2 |
| client_cert |
| • 2 |
| client_key |
| • 2 |
| connect_timeout |
| • 2 |
| disable_http2 |
| • 2 |
| disable_http_keep_alives |
| • 2 |
| dump |
| • 2 |
| expect_continue_timeout |
| • 2 |
| headers |
| • 2 |
| http_proxy |
| • 2 |
| low_level_retries |
| • 2 |
| max_connections |
| • 2 |
| no_check_certificate |
| • 2 |
| no_gzip |
| • 2 |
| timeout |
| • 2 |
| traffic_class |
| • 2 |
| use_cookies |
| • 2 |
| use_server_modtime |
| • 2 |
| user_agent |
| یک override.var بر تمام روشهای دیگر پیکربندی اولویت خواهد داشت و آنها را بازنویسی میکند، اما تنها برای مدت زمان ایجاد ریموت..SS global.var |
| این برای تنظیم یک متغیر سراسری برای همه چیز استفاده میشود. |
| متغیر سراسری درست پیش از ایجاد ریموت تنظیم میشود. |
| این قابلیت برای پارامترهایی (مانند پارامترهای sync) که نمیتوانند |
| به عنوان یک override تنظیم شوند مفید است. |
| برای نمونه، فرض کنید ریموتی دارید که مایلید همیشه از |
| پرچم --checksum برای آن استفاده کنید. |
| میتوانید پرچم --checksum را در هر بار اجرای خط فرمان به rclone |
| ارائه دهید، اما در عوض میتوانید این را در فایل پیکربندی قرار دهید: |
| [remote] |
| type = XXX |
| ... |
| global.checksum = true |
| یا از آن در رشته اتصال |
| remote,global.checksum=true: (یا صرفاً |
| remote,global.checksum:) استفاده کنید. |
| این کار معادل استفاده از پرچم --checksum است. |
| دقت کنید که چگونه نام پرچم سراسری -- ابتدایی خود را از دست میدهد، |
| - در آن با _ جایگزین میشود و پیشوند global. |
| میگیرد. |
| هر متغیر سراسری را میتوان به این صورت تنظیم کرد و این کار دقیقاً معادل |
| استفاده از پرچم متناظر در خط فرمان است. |
| این بدان معناست که بر تمام کاربردهای rclone تأثیر خواهد گذاشت. |
| اگر دو ریموت یک متغیر سراسری یکسان را تنظیم کنند، متغیری که ابتدا |
| مقداردهی شده توسط دومی بازنویسی خواهد شد. |
| هنگام ایجاد ریموت، یک global.var بر تمامی روشهای پیکربندی دیگر ارجحیت خواهد داشت. |
| نقلقول و پوسته (Quoting and the shell) |
| هنگامی که دستورها را در رایانه خود تایپ میکنید، از چیزی به نام |
| پوسته خط فرمان استفاده میکنید. |
| این پوسته نویسههای گوناگون را به شیوهای وابسته به سیستمعامل تفسیر میکند. |
| در اینجا به چند نکته و دام رایج اشاره شده است که ممکن است به کاربرانی که با |
| قوانین پوسته آشنایی ندارند کمک کند. |
| Linux / macOS |
| اگر نامهای شما دارای فاصله یا نویسههای کنترلی پوسته هستند (مانند |
| *، ?، $، '، " |
| و غیره) |
| باید آنها را داخل علامت نقلقول قرار دهید. |
| بهطور پیشفرض از نقلقول تکی ' استفاده کنید. |
| rclone copy 'Important files?' remote:backup |
| اگر میخواهید یک ' ارسال کنید، باید از |
| " استفاده نمایید؛ برای نمونه: |
| rclone copy "O'Reilly Reviews" remote:backup |
| قوانین نقلقول نویسههای کنترلی پیچیده است و در صورتی که |
| جزئیات کامل را میخواهید، باید به صفحه راهنمای پوسته خود مراجعه کنید. |
| Windows |
| اگر نامهای شما دارای فاصله هستند، باید آنها را در " قرار دهید؛ |
| برای نمونه: |
| rclone copy "E:\folder name\folder name\folder name" remote:backup |
| اگر از دایرکتوری ریشه به تنهایی استفاده میکنید، آن را داخل علامت نقلقول قرار ندهید |
| (برای دانستن علت، به شمارۀ ۴۶۴ در https://github.com/rclone/rclone/issues/464 مراجعه کنید)؛ برای نمونه: |
| rclone copy E:\ remote:backup |
| ابزار rclone از : برای مشخص کردن نام ریموت استفاده میکند. |
| با این حال، این نویسه در سیستمعاملهای غیر از ویندوز بخشی معتبر از نام فایل به شمار میرود. |
| تجزیهگر نام ریموت تنها تا اولین / به دنبال : میگردد؛ بنابراین اگر میخواهید روی چنین فایل یا دایرکتوریای عملیاتی انجام دهید، از مسیر کامل که با / آغاز میشود استفاده کنید، یا ./ را به عنوان پیشوند دایرکتوری جاری به کار ببرید. |
| بنابراین برای همگامسازی دایرکتوریای با نام sync:me در ریموتی با نام remote: از این دستور استفاده کنید: |
| rclone sync --interactive ./sync:me remote:path |
| یا |
| rclone sync --interactive /full/path/to/sync:me remote:path |
| رونوشت سمت سرور |
| بیشتر ریموتها (اما نه همه - نمای کلی (https://rclone.org/overview/#optional-features) را ببینید) از رونوشت سمت سرور پشتیبانی میکنند. |
| این بدان معناست که اگر بخواهید پوشهای را درون پوشه دیگری کپی کنید، rclone تمام فایلها را بارگیری و دوباره بارگذاری نخواهد کرد؛ بلکه به سرور دستور میدهد تا آنها را در همان محل کپی کند. |
| برای نمونه: |
| rclone copy s3:oldbucket s3:newbucket |
| محتویات oldbucket را بدون بارگیری و بارگذاری دوباره به newbucket کپی خواهد کرد. |
| ریموتهایی که از رونوشت سمت سرور پشتیبانی نمیکنند در این حالت عملیات بارگیری و بارگذاری مجدد را انجام خواهند داد. |
| رونوشتهای سمت سرور همراه با دستورهای sync و copy استفاده میشوند و هنگام استفاده از پرچم -v در لاگها مشخص خواهند شد. |
| دستور move نیز اگر ریموت مستقیماً از جابهجایی سمت سرور پشتیبانی نکند ممکن است از آنها استفاده کند. |
| این کار از طریق صدور یک رونوشت سمت سرور و سپس حذف فایل اصلی انجام میشود که بسیار سریعتر از بارگیری و بارگذاری دوباره است. |
| رونوشت سمت سرور تنها در صورتی تلاش خواهد شد که نام ریموتها یکسان باشد. |
| از این امکان میتوان هنگام اسکریپتنویسی برای ایجاد بهینه نسخههای پشتیبان تفکیکشده بر اساس زمان استفاده کرد، برای نمونه: |
| rclone sync --interactive remote:current-backup remote:previous-backup |
| rclone sync --interactive /path/to/files remote:current-backup |
| پشتیبانی از فراداده | |
| فراداده، دادهای درباره یک فایل (یا دایرکتوری) است که محتوای آن فایل (یا دایرکتوری) محسوب نمیشود. | |
| به طور معمول rclone در صورت امکان تنها زمان تغییر و نوع محتوا (MIME) را حفظ میکند. | |
| ابزار rclone هنگام استفاده از پرچم --metadata یا -M از حفظ تمام فرادادههای موجود روی فایلها و دایرکتوریها پشتیبانی میکند. | |
| اینکه دقیقاً چه فرادادههایی پشتیبانی میشوند و این پشتیبانی چه مفهومی دارد، به بکاند بستگی دارد. | |
| بکاندهایی که از فراداده پشتیبانی میکنند بخشی اختصاصی برای فراداده در مستندات خود دارند و در جدول قابلیتها (https://rclone.org/overview/#features) فهرست شدهاند (برای نمونه local (https://rclone.org/local/#metadata)، s3). | |
| برخی بکاندها از فراداده پشتیبانی نمیکنند، برخی فقط از فراداده روی فایلها پشتیبانی میکنند و برخی دیگر از فراداده روی هر دوی فایلها و دایرکتوریها پشتیبانی مینمایند. | |
| ابزار rclone تنها از همگامسازی یکبارهٔ فراداده پشتیبانی میکند. | |
| بدین معنا که فراداده تنها زمانی از شیء مبدأ به شیء مقصد همگامسازی خواهد شد که شیء مبدأ تغییر کرده باشد و نیاز به بارگذاری دوباره داشته باشد. | |
| اگر پس از آن، فراداده روی شیء مبدأ بدون تغییر خود شیء تغییر کند، با شیء مقصد همگامسازی نخواهد شد. | |
| این رفتار مشابه روشی است که rclone فیلد Content-Type را بدون پرچم --metadata همگامسازی میکند. | |
| استفاده از --metadata هنگام همگامسازی از مسیر محلی به محلی، صفات فایل نظیر حالت فایل (file mode)، مالک، و صفات گسترشیافته (به جز در ویندوز) را حفظ خواهد کرد. | |
| توجه داشته باشید که هنگام نخستین بارگذاری شیء، میتوان فرادادههای دلخواهی را با استفاده از پرچم --metadata-set key=value به اشیاء اضافه کرد. | |
| این پرچم میتواند به دفعات مورد نیاز تکرار شود. | |
| از پرچم --metadata-mapper میتوان برای تعیین نام برنامهای استفاده کرد که قادر است فراداده را هنگام کپی شدن از مبدأ به مقصد دگرگون کند. | |
| ابزار rclone از --metadata-set و --metadata-mapper هنگام انجام Move سمت سرور و Copy سمت سرور پشتیبانی میکند، اما هنگام انجام DirMove سمت سرور (تغییر نام دایرکتوری) خیر، چرا که این کار مستلزم پیمایش بازگشتی در دایرکتوری است. | |
| توجه داشته باشید که میتوانید DirMove را با پرچم --disable DirMove غیرفعال کنید؛ در این صورت rclone برای تکتک اشیاء به استفاده از Move برمیگردد که در آن --metadata-set و --metadata-mapper پشتیبانی میشوند..SS انواع فراداده (Types of metadata) | |
| فراداده به دو نوع تقسیم میشود: | |
| فرادادههای سیستمی و فرادادههای کاربر. | |
| به فرادادهای که بکاند خودش از آن استفاده میکند، فرادادهٔ سیستمی گفته میشود. | |
| به عنوان مثال در بکاند local، فرادادهٔ سیستمی uid هنگام استفاده در یک پلتفرم مبتنی بر unix، شناسهٔ کاربر (user ID) فایل را ذخیره میکند. | |
| فرادادههای دلخواه فرادادهٔ کاربر نامیده میشوند و میتوان آنها را به هر شکل دلخواه تنظیم کرد. | |
| هنگامی که اشیاء از یک بکاند به بکاند دیگر کپی میشوند، در صورت ارائه شدن فرادادههای سیستمی، تلاش خواهد شد تا آنها تفسیر شوند. | |
| با کپی شدن اشیاء میان بکاندهای مختلف، ممکن است وضعیت فرادادهها از فرادادهٔ کاربر به فرادادهٔ سیستمی تغییر یابد. | |
| برای نمونه، کپی کردن یک شیء از s3 فرادادهٔ content-type را تنظیم میکند. | |
| در بکاندی که این مقدار را درک میکند (مانند azureblob)، این مقدار به Content-Type شیء تبدیل خواهد شد. | |
| در بکاندی که این مقدار را درک نمیکند (مانند بکاند local)، این مقدار به فرادادهٔ کاربر تبدیل خواهد شد. | |
| با این حال، اگر شیء محلی دوباره به s3 کپی شود، Content-Type بهدرستی تنظیم خواهد شد. | |
| ساختار فراداده (Metadata framework) | |
| دستور Rclone یک چارچوب فراداده را پیادهسازی میکند که میتواند فراداده را از یک شیء خوانده و هنگام بارگذاری (و فقط هنگام بارگذاری) بر روی شیء بنویسد. | |
| این فراداده به صورت یک دیکشنری با کلیدها و مقدارهای رشتهای ذخیره میشود. | |
| محدودیتهایی در نام کلیدها وجود دارد (که ممکن است در آینده شفافتر شوند): | |
| • 2 | |
| باید با حروف کوچک باشد | |
| • 2 | |
| میتواند شامل a-z و 0-9 همراه با .، - یا _ باشد | |
| • 2 | |
| طول آن به بکاند وابسته است | |
| هر بکاند میتواند فرادادههای سیستمی را که درک میکند، ارائه دهد. | |
| برخی از بکاندها میتوانند فرادادههای دلخواه کاربر را نیز ذخیره کنند. | |
| در صورت امکان، نام کلیدها استانداردسازی شدهاند؛ بنابراین، به عنوان مثال این امکان وجود دارد که فرادادهٔ شیء از s3 به azureblob کپی شود و فرادادهها به شکلی مناسب ترجمه شوند. | |
| برخی از بکاندها محدودیتهایی در اندازهٔ فراداده دارند و در صورت فراتر رفتن از این محدودیتها، rclone در زمان بارگذاری خطا خواهد داد. | |
| حفظ فراداده (Metadata preservation) | |
| هدف این پیادهسازی عبارت است از: | |
| "1." 3 | |
| حفظ فراداده تا جای ممکن | |
| "2." 3 | |
| تفسیر فراداده تا جای ممکن | |
| نتیجهٔ مورد ۱ این است که میتوانید یک شیء S3 را روی دیسک محلی کپی کرده و سپس بدون اتلاف داده به S3 بازگردانید. | |
| به همین ترتیب، میتوانید یک فایل محلی را همراه با مشخصههای فایل و ویژگیهای گسترشیافته (xattrs) از دیسک محلی به s3 و مجدداً بدون از دست رفتن دادهها کپی کنید. | |
| نتیجهٔ مورد ۲ این است که میتوانید یک شیء S3 را همراه با فراداده به (مثلاً) Azureblob کپی کنید و فراداده روی شیء Azureblob نیز اعمال شود. | |
| فرادادههای سیستمی استاندارد (Standard system metadata) | |
| در اینجا جدولی از فرادادههای سیستمی استاندارد آورده شده است که در صورت امکان، یک بکاند ممکن است آنها را پیادهسازی کند. | |
| tab( | ); |
| lw(34.2n) lw(21.2n) lw(14.7n). | |
| کلید | توضیحات |
| مثال | |
| T} | |
| mode | نوع فایل و حالت (mode): اکتال، سبک unix |
| 0100664 | |
| T} | |
| uid | شناسه کاربری مالک: عدد دهدهی |
| 500 | |
| T} | |
| gid | شناسه گروه مالک: عدد دهدهی |
| 500 | |
| T} | |
| rdev | شناسه دستگاه (در صورت فایل ویژه) => هگزادسیمال |
| 0 | |
| T} | |
| atime | زمان آخرین دسترسی: RFC 3339 |
| 2006-01-02T15:04:05.999999999Z07:00 | |
| T} | |
| mtime | زمان آخرین تغییر: RFC 3339 |
| 2006-01-02T15:04:05.999999999Z07:00 | |
| T} | |
| btime | زمان ایجاد فایل (تولد): RFC 3339 |
| 2006-01-02T15:04:05.999999999Z07:00 | |
| T} | |
| utime | زمان بارگذاری فایل: RFC 3339 |
| 2006-01-02T15:04:05.999999999Z07:00 | |
| T} | |
| cache-control | سربرگ Cache-Control |
| no-cache | |
| T} | |
| content-disposition | سربرگ Content-Disposition |
| inline | |
| T} | |
| content-encoding | سربرگ Content-Encoding |
| gzip | |
| T} | |
| content-language | سربرگ Content-Language |
| en-US | |
| T} | |
| content-type | سربرگ Content-Type |
| text/plain | |
| T} |
در صورت ارائه در فراداده، کلیدهای فرادادهٔ mtime و content-type نسبت به خواندن Content-Type یا زمان آخرین تغییر شیء مبدأ، اولویت خواهند داشت..PP هشها در فرادادههای سامانه گنجانده نشدهاند، زیرا از پیش روشی مشخص برای خواندن آنها وجود دارد.
گزینهها (OPTIONS)
دستور rclone برای کنترل رفتار خود گزینههای متعددی دارد. این موارد در ادامه و همچنین در صفحهٔ پرچمها مستند شدهاند.
گزینههایی که پارامتر میپذیرند میتوانند مقادیر را به دو روش دریافت کنند: --option=value یا --option value. با این حال گزینههای بولی (true/false) رفتاری کمی متفاوت با سایر گزینهها دارند، بدین صورت که --boolean گزینه را روی true تنظیم میکند و عدم وجود این پرچم آن را روی false قرار میدهد. همچنین میتوان --boolean=false یا --boolean=true را مشخص کرد. توجه داشته باشید که --boolean false معتبر نیست - این عبارت به صورت --boolean پردازش شده و false به عنوان یک آرگومان خط فرمان اضافی برای rclone تفسیر میشود.
مقادیر رشتهای که به عنوان شناسههای ویژه شناخته میشوند، مانند نام سطح گزارش برای تنظیم با گزینهٔ --log-level، به بزرگی و کوچکی حروف حساس نیستند؛ برای نمونه --log-level ERROR و --log-level error یکسان هستند.
گزینههایی که بر اساس مستندات پارامتر stringArray میپذیرند، چندین مقدار را قبول میکنند. برای ارسال بیش از یک مقدار، گزینه را تکرار کنید؛ به عنوان مثال: --include value1 --include value2. سایر گزینهها ممکن است تنها یک مقدار واحد بپذیرند و فقط باید یک بار مشخص شوند، اما پارامتر مشخصشده در آنها ممکن است نشاندهندهٔ فهرستی از مقادیر جداشده با فاصله یا کاما باشد. چنین گزینههایی در مستندات با پارامتر CommaSepList (در صورت جداسازی با کاما) و SpaceSepList (در صورت جداسازی با فاصله) مشخص شدهاند، اگرچه برخی از آنها ممکن است پارامترهای دیگری مانند DumpFlags یا صرفاً string داشته باشند و متن راهنما توضیح میدهد که این مقدار به عنوان یک فهرست تفسیر خواهد شد.
مقادیر ممیز شناور دارای بخش اعشاری، صرفنظر از محلیسازی (locale) پیکربندیشده در سامانهٔ شما، باید از نقطه (.) به عنوان جداکنندهٔ اعشار (رایج در کشورهای انگلیسیزبان) استفاده کنند. نوع پارامتر float اعداد ممیز شناور دهدهی و شانزدهشانزدهی (hexadecimal) را همانگونه که در نحو زبان Go برای مقادیر ممیز شناور (https://go.dev/ref/spec#Floating-point_literals) تعریف شده است، میپذیرد.
گزینههای زمان و مدتزمان (Time and duration options)
گزینههایی که پارامتر Time یا Duration دریافت میکنند باید به صورت یک رشته با ساختار مشخص که زمان مطلق یا نسبی را شرح میدهد، تعیین شوند. توجه داشته باشید که هر دو نوع پارامتر Time و Duration میتوانند به صورت زمان مطلق یا نسبی بیان شوند، اما با تفسیرهایی متفاوت؛ به عنوان نمونه هنگامی که یک زمان نسبی به عنوان مقدار Time فرستاده شود، به عنوان انحراف (offset) از زمان جاری در نظر گرفته خواهد شد.
یک زمان مطلق میتواند به صورت یک رشته در یکی از قالبهای زیر تعیین شود:
- •
- RFC3339 - مانند 2006-01-02T15:04:05Z یا 2006-01-02T15:04:05+07:00
- •
- تاریخ و زمان بر اساس ISO8601، منطقهٔ زمانی محلی - 2006-01-02T15:04:05
- •
- تاریخ و زمان بر اساس ISO8601، منطقهٔ زمانی محلی - 2006-01-02 15:04:05
- •
- تاریخ بر اساس ISO8601 - 2006-01-02 (YYYY-MM-DD)
زمان نسبی رشتهای است شامل دنبالهای از اعداد دهدهی (احتمالاً دارای علامت مثبت یا منفی)، هر یک با بخش اعشاری اختیاری، و هر یک با یک پسوند یکا. اگر رشته تنها شامل یک عدد باشد، پسوند یکا اختیاری بوده و پیشفرض آن ثانیه خواهد بود؛ بدین معنا که یک مقدار اعشاری ساده به عنوان تعداد ثانیهها محاسبه میشود. پسوندهای زیر معتبر هستند:
- •
- ms - میلیثانیه
- •
- s - ثانیه
- •
- m - دقیقه
- •
- h - ساعت
- •
- d - روز
- •
- w - هفته
- •
- M - ماه
- •
- y - سال
مثالها: "10"، "300ms"، "-1.5h" یا "2h45m"..SS گزینههای اندازه
گزینههایی که پارامتر SizeSuffix دریافت میکنند، میتوانند به عنوان یک مقدار عدد صحیح مشخص شوند، که در این حالت بهطور پیشفرض نمایانگر مقداری بر حسب KiB (مضربهایی از ۱۰۲۴ بایت) در نظر گرفته خواهد شد. این تفسیر را میتوان با افزودن یک پسوند تغییر داد: B برای Byte، K برای KiB، M برای MiB، G برای GiB، T برای TiB و P برای PiB. اینها واحدهای دودویی هستند، برای نمونه به ترتیب: 1، 2**10، 2**20، 2**30.
همچنین به --human-readable مراجعه کنید.
گزینههای اصلی
--backup-dir string
هنگام استفاده از sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move)، تمام فایلهایی که قرار بوده بازنویسی یا حذف شوند، با همان ساختار سلسلهمراتبی اصلی خود به این دایرکتوری منتقل میشوند.
اگر --suffix تنظیم شده باشد، پسوند مربوطه به فایلهای منتقلشده اضافه خواهد شد. اگر فایلی با همان مسیر (پس از اضافه شدن پسوند) در دایرکتوری موجود باشد، رونویسی خواهد شد.
ریموت مورد استفاده باید از انتقال یا کپی سمت سرور (server-side move or copy) پشتیبانی کند و باید از همان ریموت به عنوان مقصد همگامسازی (sync) استفاده کنید. دایرکتوری پشتیبان نباید با دایرکتوری مقصد همپوشانی داشته باشد، مگر آنکه توسط یک قاعدهٔ فیلتر مستثنی شده باشد.
برای مثال
-
rclone sync --interactive /path/to/local remote:current --backup-dir remote:old
مسیر /path/to/local را با remote:current همگامسازی میکند، اما هر فایلی را که قرار بوده بهروزرسانی یا حذف شود در remote:old ذخیره خواهد کرد.
اگر rclone را از طریق یک اسکریپت اجرا میکنید، شاید مایل باشید از تاریخ امروز به عنوان نام دایرکتوری ارائهشده به --backup-dir برای ذخیرهٔ فایلهای قدیمی استفاده کنید، یا اینکه --suffix را همراه با تاریخ امروز ارسال نمایید. این کار را میتوان با --suffix $(date +%F) در bash، و --suffix $(Get-Date -Format 'yyyy-MM-dd') در PowerShell انجام داد.
به --compare-dest و --copy-dest مراجعه کنید.
--bind string
نشانی محلی برای مقید شدن (bind) جهت برقراری اتصالات خروجی. این نشانی میتواند یک آدرس IPv4 (مانند 1.2.3.4)، یک آدرس IPv6 (مانند 1234::789A) یا یک نام میزبان باشد. اگر نام میزبان تفکیک نشود یا به بیش از یک نشانی IP تفکیک گردد، خطایی رخ خواهد داد.
میتوانید از --bind 0.0.0.0 برای اجبار rclone به استفاده از نشانیهای IPv4، و از --bind ::0 برای اجبار rclone به استفاده از نشانیهای IPv6 استفاده نمایید.
--bwlimit BwTimetable
این گزینه محدودیت پهنای باند را کنترل میکند. برای مثال
-
--bwlimit 10M
به معنای محدود کردن پهنای باند بارگذاری و بارگیری به 10 MiB/s خواهد بود. توجه: این مقدار بر حسب بایت بر ثانیه است، نه بیت بر ثانیه. برای استفاده از یک حد منفرد، پهنای باند مورد نظر را بر حسب KiB/s مشخص کنید، یا از یکی از پسوندهای B|K|M|G|T|P استفاده نمایید. مقدار پیشفرض 0 است که به معنای عدم محدودسازی پهنای باند میباشد.
پهنای باند بارگذاری و بارگیری را میتوان بهطور جداگانه به صورت --bwlimit UP:DOWN مشخص کرد، بنابراین
-
--bwlimit 10M:100k
به معنای محدود کردن پهنای باند بارگذاری به 10 MiB/s و پهنای باند بارگیری به 100 KiB/s خواهد بود. هر یک از این دو حد میتواند "off" باشد که به معنای عدم وجود محدودیت است؛ بنابراین تنها برای محدود کردن پهنای باند بارگذاری میتوانید از دستور زیر استفاده کنید:
-
--bwlimit 10M:off
این دستور پهنای باند بارگذاری را به 10 MiB/s محدود میکند، اما پهنای باند بارگیری بدون محدودیت خواهد بود.
در صورت تعیین به شیوهٔ بالا، محدودیتهای پهنای باند برای تمام مدت زمان اجرای برنامهٔ rclone باقی خواهند ماند.
همچنین امکان تعیین یک «جدول زمانی» ("timetable") از محدودیتها وجود دارد، که باعث میشود محدودیتهای خاصی در زمانهای معینی اعمال شوند. برای تعیین جدول زمانی، ورودیهای خود را به صورت WEEKDAY-HH:MM,BANDWIDTH WEEKDAY-HH:MM,BANDWIDTH... قالببندی کنید که در آن: مؤلفهٔ WEEKDAY اختیاری است.
- •
- مؤلفهٔ BANDWIDTH میتواند یک عدد منفرد باشد، مانند 100k، یا یک جفت عدد برای بارگذاری:بارگیری، مانند 10M:1M.
- •
- مؤلفهٔ WEEKDAY میتواند به صورت کلمهٔ کامل یا تنها با ۳ نویسهٔ نخست نوشته شود. این مؤلفه اختیاری است.
- •
- مؤلفهٔ HH:MM ساعتی بین 00:00 تا 23:59 است.
ورودیها را میتوان با فاصله یا نقطه ویرگول (semicolon) از یکدیگر جدا کرد.
نکته: میتوان از نقطه ویرگول به جای فاصله به عنوان جداکننده استفاده کرد تا از بروز مشکلات تجزیه (parsing) در محیطهایی مانند Docker جلوگیری شود.
یک نمونه از جدول زمانی معمول برای جلوگیری از اشباع خط ارتباطی در ساعات کاری روز:
با استفاده از فاصله به عنوان جداکننده: --bwlimit "08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off"
با استفاده از نقطه ویرگول به عنوان جداکننده: --bwlimit "08:00,512k;12:00,10M;13:00,512k;18:00,30M;23:00,off"
در این مثالها، پهنای باند انتقال در ساعت ۸ صبح هر روز روی 512 KiB/s تنظیم میشود. در ظهر، به 10 MiB/s افزایش یافته و در ساعت ۱۳ (۱ بعد از ظهر) مجدداً به 512 KiB/s بازمیگردد. در ساعت ۱۸ (۶ عصر)، محدودیت پهنای باند روی 30 MiB/s تنظیم خواهد شد، و در ساعت ۲۳ (۱۱ شب) بهطور کامل غیرفعال میشود (سرعت کامل). هر زمانی بین ساعت ۱۱ شب تا ۸ صبح بدون محدودیت باقی خواهد ماند.
یک نمونه جدول زمانی همراه با WEEKDAY میتواند چنین باشد:
با استفاده از فاصله به عنوان جداکننده: --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
با استفاده از نقطه ویرگول به عنوان جداکننده: --bwlimit "Mon-00:00,512;Fri-23:59,10M;Sat-10:00,1M;Sun-20:00,off"
این بدان معناست که پهنای باند انتقال در روز دوشنبه روی 512 KiB/s تنظیم خواهد شد. پیش از پایان روز جمعه به 10 MiB/s افزایش مییابد. در ساعت 10:00 روز شنبه روی 1 MiB/s تنظیم خواهد شد. از ساعت 20:00 روز یکشنبه، نامحدود خواهد شد.
بازه زمانیهای بدون WEEKDAY به کل روزهای هفته تعمیم داده میشوند. بنابراین این مثال:
-
--bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
معادل این حالت است:
-
--bwlimit "Mon-00:00,512Mon-12:00,1M Tue-12:00,1M Wed-12:00,1M Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off"
محدودیت پهنای باند برای انتقال داده در تمامی پسانهها اعمال میشود. برای اکثر پسانهها، پهنای باند فهرستکردن دایرکتوری (directory listing) نیز لحاظ میگردد (استثناهای آن پسانههای غیر HTTP شامل ftp، sftp و storj هستند).
توجه داشته باشید که واحدها Byte/s هستند، نه bit/s. معمولاً اتصالات با bit/s سنجیده میشوند - برای تبدیل، آن را بر ۸ تقسیم کنید. برای مثال، فرض کنید یک اتصال 10 Mbit/s دارید و میخواهید rclone از نیمی از آن یعنی 5 Mbit/s استفاده کند. این مقدار برابر با 5/8 = 0.625 MiB/s است، بنابراین باید از پارامتر --bwlimit 0.625M برای rclone استفاده کنید..PP در سیستمهای Unix (شامل Linux، macOS، ...) محدودکنندهٔ پهنای باند را میتوان با ارسال سیگنال SIGUSR2 به rclone تغییر وضعیت داد. این امر امکان حذف محدودیتهای یک انتقال طولانیمدت rclone و بازگرداندن سریع آن به مقدار مشخصشده با --bwlimit را در هنگام نیاز فراهم میکند. با فرض اینکه تنها یک نمونه از rclone در حال اجرا است، میتوانید محدودکننده را به این صورت تغییر وضعیت دهید:
-
kill -SIGUSR2 $(pidof rclone)
اگر rclone را با قابلیت کنترل از راه دور پیکربندی کنید، میتوانید مقدار bwlimit را بهصورت پویا تغییر دهید:
-
rclone rc core/bwlimit rate=1M
--bwlimit-file BwTimetable
این گزینه محدودیت پهنای باند را به ازای هر فایل کنترل میکند. برای مشاهدهٔ گزینهها به پرچم --bwlimit مراجعه کنید.
بهعنوان مثال، برای اینکه هیچ انتقالی سرعتی بیشتر از 1 MiB/s نداشته باشد از این الگو استفاده کنید:
-
--bwlimit-file 1M
این گزینه میتواند همراه با --bwlimit استفاده شود.
توجه داشته باشید که در صورت ارائهٔ جدول زمانبندی، انتقال فایل از زمانبندیِ معتبر در هنگام شروع انتقال استفاده خواهد کرد.
--buffer-size SizeSuffix
از بافری با این اندازه برای سرعت بخشیدن به انتقال فایلها استفاده کنید. هر --transfer این میزان حافظه را برای بافرسازی استفاده خواهد کرد.
هنگام استفاده از mount یا cmount، هر توصیفگر فایل باز این میزان حافظه را برای بافرسازی مصرف میکند. برای جزئیات بیشتر به مستندات mount (https://rclone.org/commands/rclone_mount/#vfs-file-buffering) مراجعه کنید.
برای غیرفعال کردن بافرسازی به منظور دستیابی به حداقل مصرف حافظه، آن را روی 0 تنظیم کنید.
توجه داشته باشید که تخصیص حافظهٔ بافرها تحت تأثیر پرچم --use-mmap قرار دارد.
--cache-dir string
مشخص کردن دایرکتوری مورد استفادهٔ rclone برای کَش، جهت نادیده گرفتن مقدار پیشفرض.
مقدار پیشفرض به سیستمعامل بستگی دارد:
- •
- در Windows مسیر %LocalAppData%\rclone، در صورتی که LocalAppData تعریف شده باشد.
- •
- در macOS مسیر $HOME/Library/Caches/rclone در صورتی که HOME تعریف شده باشد.
- •
- در Unix مسیر $XDG_CACHE_HOME/rclone در صورتی که XDG_CACHE_HOME تعریف شده باشد، در غیر این صورت $HOME/.cache/rclone در صورتی که HOME تعریف شده باشد.
- •
- حالت جایگزین نهایی (در تمام سیستمعاملها) به $TMPDIR/rclone، که در آن TMPDIR مقدار حاصل از --temp-dir است.
میتوانید از دستور config paths (https://rclone.org/commands/rclone_config_paths) برای مشاهدهٔ مقدار کنونی استفاده کنید.
دایرکتوری کَش کاربرد فراوانی در قابلیت متصلسازی VFS File Caching (https://rclone.org/commands/rclone_mount/#vfs-file-caching) دارد، و همچنین توسط serve (https://rclone.org/commands/rclone_serve)، رابط گرافیکی (GUI) و سایر بخشهای rclone نیز استفاده میشود..SS --check-first
اگر این پرچم تنظیم شود، در عملیاتهای sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move)، rclone پیش از انجام هرگونه انتقال، تمام بررسیها را برای تشخیص نیاز به انتقال فایلها انجام میدهد. در حالت عادی، rclone انتقالها را در سریعترین زمان ممکن آغاز میکند.
این پرچم میتواند در سامانههای دارای محدودیت ورودی/خروجی (IO) که در آنها فرایند انتقال با فرایند بررسی تداخل پیدا میکند، مفید باشد.
همچنین برای تضمین ترتیب دقیق هنگام استفاده از --order-by کاربرد دارد.
اگر هنگام اجرای rclone move هر دو پرچم --check-first و --order-by تنظیم شده باشند، rclone از رشته انتقال برای حذف فایلهای مبدأیی که نیازی به انتقال ندارند استفاده خواهد کرد. این کار موجب ترتیب دقیق انتقالها و حذفها میشود، اما باعث خواهد شد که آمار انتقال شامل موارد بیشتری نسبت به حد انتظار باشد.
استفاده از این پرچم میتواند حافظه بیشتری مصرف کند، زیرا عملاً --max-backlog را روی نامحدود تنظیم میکند. این بدان معناست که تمام اطلاعات اشیاء مورد نیاز برای انتقال، پیش از شروع انتقالها در حافظه نگهداری میشوند.
--checkers int
در ابتدا فقط تعداد بررسیکنندههای فایل که بهطور موازی اجرا میشدند را کنترل میکرد، به عنوان مثال در rclone copy. اکنون یک کنترل همزمانی نسبتاً عمومی است که توسط rclone در چندین بخش استفاده میشود.
نکته: بررسیکنندهها برابری فایلها را در طول همگامسازی بررسی میکنند. برای برخی از سیستمهای ذخیرهسازی (مانند S3، Swift، Dropbox) این کار میتواند زمان قابل توجهی ببرد، به همین دلیل به صورت موازی اجرا میشوند.
حالت پیشفرض، اجرای موازی ۸ بررسیکننده است. با این حال، در مورد backendهایی با پاسخدهی کند ممکن است لازم باشد با تنظیم --checkers روی ۴ رشته یا کمتر، این پیشفرض را کاهش دهید (به جای افزایش آن). این موضوع بهویژه در صورتی توصیه میشود که در مرحله بررسی فایلها با کرش کردن سرور backend مواجه میشوید (مثلاً در پشتیبانگیریهای بعدی یا تکمیلی که کپی فایل کمتری انجام میشود یا اصلاً انجام نمیشود و بررسی فایلها بیشترین زمان را میگیرد). این تنظیم را تنها با احتیاط کامل، همزمان با پایش سلامت سرور و توان عملیاتی بررسی فایلها افزایش دهید.
-c, --checksum
در حالت عادی، rclone زمان تغییر (modification time) و اندازه فایلها را برای یکسان بودن بررسی میکند. اگر این پرچم را تنظیم کنید، rclone هش و اندازه فایل را برای تعیین برابری فایلها بررسی خواهد کرد.
این گزینه زمانی مفید است که remote از تنظیم زمان تغییر پشتیبانی نمیکند و همگامسازی دقیقتری نسبت به صرفاً بررسی اندازه فایل مد نظر است.
این پرچم هنگام انتقال بین remoteهایی که نوع هش یکسانی را روی شیء ذخیره میکنند بسیار سودمند است؛ مانند Drive و Swift. برای جزئیات درباره اینکه کدام remoteها از کدام نوع هش پشتیبانی میکنند، جدول موجود در بخش نمای کلی (https://rclone.org/overview) را ببینید.
بهعنوان مثال، دستور rclone --checksum sync s3:/bucket swift:/bucket بسیار سریعتر از حالت بدون پرچم --checksum اجرا خواهد شد.
هنگام استفاده از این پرچم، rclone برخلاف حالت معمول، اگر mtime فایلهای remote نادرست باشد آنها را بهروزرسانی نخواهد کرد.
--color AUTO|NEVER|ALWAYS
مشخص میکند که چه زمانی رنگها (و سایر کدهای ANSI) باید به خروجی اضافه شوند.
مقدار AUTO تنها زمانی اجازه استفاده از کدهای ANSI را میدهد که خروجی یک ترمینال باشد. این مقدار پیشفرض است.
مقدار NEVER هرگز اجازه استفاده از کدهای ANSI را نمیدهد.
مقدار ALWAYS صرفنظر از قالب خروجی (ترمینال یا فایل)، همیشه کدهای ANSI را اضافه میکند..SS --compare-dest stringArray
هنگام استفاده از sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move)، مسیرهای مشخصشده علاوه بر مقصد برای فایلها بررسی میشوند. اگر فایلی یکسان با مبدأ پیدا شود، آن فایل از مبدأ کپی نمیشود. این ویژگی برای کپی کردن تنها فایلهایی که از آخرین پشتیبانگیری تغییر کردهاند مفید است.
باید از همان ریموتی که برای مقصد sync استفاده شده، استفاده کنید. دایرکتوری مقایسه نباید با دایرکتوری مقصد همپوشانی داشته باشد.
به --copy-dest و --backup-dir مراجعه کنید.
--config string
مکان فایل پیکربندی rclone را مشخص میکند تا جایگزین مقدار پیشفرض شود. برای مثال: rclone config --config="rclone.conf".
به دلیل تغییراتی که در نسخههای مختلف rclone با حفظ سازگاری عقبرو اعمال شده است، توضیح دقیق مقدار پیشفرض کمی پیچیده است، اما در بیشتر موارد به سادگی زیر است:
- •
- %APPDATA%/rclone/rclone.conf در Windows
- •
- ~/.config/rclone/rclone.conf در سایر سیستمها
منطق کامل به این صورت است: Rclone برای یافتن یک فایل پیکربندی موجود، مکانهای زیر را به ترتیب اولویت بررسی خواهد کرد:
- 1.
- rclone.conf (در دایرکتوری برنامه، جایی که فایل اجرایی rclone قرار دارد)
- 2.
- %APPDATA%/rclone/rclone.conf (تنها در Windows)
- 3.
- $XDG_CONFIG_HOME/rclone/rclone.conf (در تمام سیستمها، از جمله Windows)
- 4.
- ~/.config/rclone/rclone.conf (برای توضیح نماد ~ به ادامه مراجعه کنید)
- 5.
- ~/.rclone.conf
اگر هیچ فایل پیکربندیِ موجودی یافت نشود، فایل جدیدی در مکان زیر ایجاد خواهد شد:
- •
- در Windows: مکان ۲ که در بالا فهرست شد، مگر در حالت نامحتمل که APPDATA تعریف نشده باشد، که در این صورت مکان ۴ به جای آن استفاده میشود.
- •
- در Unix: مکان ۳ اگر XDG_CONFIG_HOME تعریف شده باشد، در غیر این صورت مکان ۴.
- •
- در صورت عدم امکان ایجاد دایرکتوری rclone، بازگشت به مکان ۵ (در تمام سیستمعاملها)، اما اگر دایرکتوری خانگی (home) نیز پیدا نشد، به عنوان آخرین چاره مسیر .rclone.conf نسبت به دایرکتوری کاری فعلی استفاده خواهد شد.
نماد ~ در مسیرهای بالا نمایانگر دایرکتوری خانگی کاربر فعلی در هر سیستمعاملی است و مقدار آن به شرح زیر تعریف میشود:
- •
- در Windows: در صورت تعریف، %HOME%، در غیر این صورت %USERPROFILE%، یا در غیر این صورت %HOMEDRIVE%\%HOMEPATH%.
- •
- در Unix: در صورت تعریف، $HOME، در غیر این صورت با جستجوی کاربر فعلی در پایگاه داده کاربران مخصوص سیستمعامل (مانند فایل passwd)، یا استفاده از نتیجه دستور شل cd && pwd.
اگر rclone config file را اجرا کنید، مکان پیشفرض برای خودتان را خواهید دید. اجرای rclone config touch از وجود فایل پیکربندی اطمینان حاصل میکند و در صورت عدم وجود، یک فایل خالی در مکان پیشفرض میسازد.
این واقعیت که وجود فایل rclone.conf در همان دایرکتوریِ فایل اجرایی rclone همواره ترجیح داده میشود، به این معنی است که اجرای آن در حالت "قابل حمل (portable)" با دانلود فایل اجرایی rclone در یک دایرکتوری قابل نوشتن و سپس ایجاد یک فایل خالی rclone.conf در همان دایرکتوری بسیار آسان است.
اگر مکان روی رشته خالی "" یا مسیر فایلی با نام notfound یا دستگاه تهی سیستمعامل با مقدار NUL در Windows و /dev/null در سیستمهای Unix تنظیم شود، آنگاه rclone فایل پیکربندی را تنها در حافظه نگه میدارد.
اگر هیچ فایل پیکربندی وجود نداشته باشد، ممکن است پیام ثبت وقایع "Config file not found - using defaults" را مشاهده کنید. این پیام را میتوان نادیده گرفت، به عنوان مثال اگر به طور کامل از rclone با ریموتهای آنی (https://rclone.org/docs/#backend-path-to-dir) استفاده میکنید، میتوانید با استفاده از فایل پیکربندی فقط در حافظه یا با ایجاد یک فایل پیکربندی خالی، همانطور که در بالا توضیح داده شد، این پیام را متوقف کنید.
فرمت فایل از نوع سادهٔ INI (https://en.wikipedia.org/wiki/INI_file#Format) است: بخشهایی متنی که با یک سرآیند [section] آغاز شده و به دنبال آن مدخلهای key=value در خطوط جداگانه میآیند. در rclone، هر ریموت توسط بخش مخصوص به خود مشخص میشود که در آن نام بخش، نام ریموت را تعیین میکند. گزینهها به صورت مدخلهای key=value مشخص میشوند، که در آن کلید، نام گزینه بدون پیشوند --backend-، با حروف کوچک و با استفاده از _ به جای - است. برای مثال، گزینه --mega-hard-delete با کلید hard_delete مطابقت دارد. تنها گزینههای پسبند (backend) را میتوان مشخص کرد. یک کلید ویژه و اجباری type سامانه ذخیرهسازی (https://rclone.org/overview) را مشخص میکند که مقدار آن همان نام داخلی با حروف کوچک است که توسط دستور rclone help backends بازگردانده میشود. توضیحات با ; یا # در ابتدای یک خط مشخص میشوند.
مثال:
-
[megaremote] type = mega user = you@example.com pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH
توجه داشته باشید که گذرواژهها به شکل مبهمشده (https://rclone.org/commands/rclone_obscure) هستند. همچنین، بسیاری از سامانههای ذخیرهسازی به جای گذرواژه از احراز هویت مبتنی بر توکن استفاده میکنند که این امر نیازمند مراحل اضافی است. استفاده از دستور تعاملی rclone config به جای ویرایش دستی فایل پیکربندی آسانتر و امنتر است.
فایل پیکربندی معمولاً حاوی اطلاعات ورود است و بنابراین باید دسترسیهای محدودی داشته باشد تا تنها کاربر فعلی بتواند آن را بخواند. Rclone هنگام نوشتن فایل تلاش میکند این موضوع را تضمین کند. همچنین میتوانید فایل را رمزگذاری کنید.
هنگامی که احراز هویت مبتنی بر توکن استفاده میشود، فایل پیکربندی باید قابل نوشتن باشد، زیرا rclone نیاز دارد توکنهای داخل آن را بهروزرسانی کند.
برای کاهش خطر خراب شدن یک فایل پیکربندی موجود، rclone هنگام ذخیره تغییرات مستقیماً روی آن نمینویسد. در عوض، ابتدا در یک فایل جدید و موقت مینویسد. اگر از قبل فایل پیکربندی وجود داشته باشد، (در سیستمهای Unix) سعی میکند مجوزهای آن را در فایل جدید منعکس کند. سپس نام فایل موجود را به عنوان نسخه پشتیبان به یک نام موقت تغییر میدهد. در مرحله بعد، rclone نام فایل جدید را به نام صحیح تغییر میدهد و در نهایت با حذف فایل پشتیبان پاکسازی را انجام میدهد.
اگر مسیر فایل پیکربندی که توسط rclone استفاده میشود یک پیوند نمادین باشد، این مسیر ارزیابی شده و rclone به جای بازنویسی پیوند نمادین، در مسیر حلشده مینویسد. فایلهای موقت استفادهشده در این فرآیند (که در بالا توضیح داده شد) در همان دایرکتوری والدِ فایل پیکربندیِ حلشده نوشته خواهند شد، اما اگر این دایرکتوری نیز یک پیوند نمادین باشد، ارزیابی نخواهد شد و فایلهای موقت در مکان پیوند نمادینِ دایرکتوری نوشته میشوند..SS --contimeout Duration
تنظیم مهلت زمانی برقراری اتصال. این مقدار باید در قالب زمانی go باشد؛ مانند 5s برای ۵ ثانیه، 10m برای ۱۰ دقیقه، یا 3h30m.
مهلت زمانی اتصال، مدت زمانی است که rclone برای برقراری ارتباط با یک سیستم ذخیرهسازی شیء راه دور منتظر خواهد ماند. مقدار پیشفرض آن 1m است.
--copy-dest stringArray
هنگام استفاده از sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move)، علاوه بر مقصد، مسیرهای مشخصشده نیز برای فایلها بررسی میشوند. این بخش مشابه --compare-dest عمل میکند، با این تفاوت که در --copy-dest، اگر فایلی همسان با مبدأ یافت شود، آن فایل بهصورت سمت سرور (server-side) از مسیرهای مشخصشده به مقصد کپی میشود. این سازوکار برای پشتیبانگیری افزایشی (incremental backup) بسیار مفید است.
ریموت مورد استفاده باید از کپی سمت سرور پشتیبانی کند و باید از همان ریموت به عنوان مقصد همگامسازی استفاده کنید. دایرکتوری مقایسه نباید با دایرکتوری مقصد همپوشانی داشته باشد.
همچنین --compare-dest و --backup-dir را ببینید.
--dedupe-mode interactive|skip|first|newest|oldest|largest|smallest|rename|list
حالت اجرای دستور dedupe. یکی از مقادیر interactive، skip، first، newest، oldest، largest، smallest، rename یا list. پیشفرض interactive است. برای اطلاعات بیشتر در مورد مفهوم هر یک از این گزینهها، دستور dedupe (https://rclone.org/commands/rclone_dedupe) را ببینید.
--default-time Time
اگر یک فایل یا دایرکتوری دارای زمان تغییری باشد که rclone بتواند بخواند، rclone در عوض این زمان ثابت را نمایش خواهد داد.
پیشفرض 2000-01-01 00:00:00 UTC است. این مقدار را میتوان به هر یک از روشهای نشاندادهشده در گزینههای زمان پیکربندی کرد.
به عنوان مثال، --default-time 2020-06-01 برای تنظیم زمان پیشفرض روی ۱ ژوئن ۲۰۲۰ یا --default-time 0s برای تنظیم زمان پیشفرض روی زمان شروع به کار rclone.
--disable string
این گزینه فهرستی از قابلیتهای اختیاری (جداشده با ویرگول) را غیرفعال میکند. برای مثال، جهت غیرفعال کردن انتقال سمت سرور و کپی سمت سرور از این دستور استفاده کنید:
-
--disable move,copy
نام ویژگیها را میتوان با هر نوع بزرگی یا کوچکی حروف (بدون حساسیت به حروف بزرگ و کوچک) وارد کرد.
برای مشاهده فهرستی از ویژگیهایی که میتوان غیرفعال کرد، از این دستور استفاده کنید:
-
--disable help
ویژگیهایی که یک ریموت داراست را میتوان در قالب JSON با دستور زیر مشاهده کرد:
-
rclone backend features remote:
برای آشنایی با عملکرد هر قابلیت، بخش بررسی کلی ویژگیها (https://rclone.org/overview/#features) و ویژگیهای اختیاری (https://rclone.org/overview/#optional-features) را ببینید.
توجه داشته باشید برخی قابلیتها که پرچمهای ویژگی true/false هستند را میتوان با افزودن پیشوند ! روی true تنظیم کرد. برای مثال ویژگی CaseInsensitive را میتوان با --disable CaseInsensitive بهاجبار روی false و با --disable '!CaseInsensitive' بهاجبار روی true قرار داد. بهطور کلی انجام این کار توصیه نمیشود، اما ممکن است در موارد اضطراری مفید باشد.
(توجه داشته باشید که ! یک دستور پوسته است که در پلتفرمهای شبهیونیکس باید آن را با نقلقول تکی یا با یک بکاسلش گریزدهی (escape) کنید.)
این پرچم میتواند برای اشکالزدایی و در شرایط استثنایی مفید باشد (مانند زمانی که Google Drive حجم کل کپیهای سمت سرور را به 100 GiB/day محدود میکند)..SS --disable-http2
این گزینه مانع از تلاش rclone برای استفاده از HTTP/2 در صورت در دسترس بودن میشود. این کار گاهی اوقات میتواند به دلیل وجود مشکلی در کتابخانه استاندارد Go (https://github.com/golang/go/issues/37373) سرعت انتقال را افزایش دهد.
--dscp string
یک مقدار یا نام DSCP را برای استفاده در اتصالات مشخص میکند. این امر میتواند به سیستم QoS برای شناسایی کلاس ترافیک کمک کند. مقادیر BE، EF، DF، LE، CSx و AFxx مجاز هستند.
برای درک بهتر این فیلد، به توضیحات Differentiated Services (https://en.wikipedia.org/wiki/Differentiated_services) مراجعه کنید. تنظیم این مقدار روی 1 (LE) به منظور شناسایی جریان در کلاس SCAVENGER میتواند از اشغال بیش از حد پهنای باند در شبکهای با پشتیبانی از DiffServ جلوگیری کند (RFC 8622 (https://tools.ietf.org/html/rfc8622)).
به عنوان مثال، اگر QoS را روی روتر به گونهای پیکربندی کردهاید که LE را به درستی مدیریت کند، اجرای دستور:
-
rclone copy --dscp LE from:/from to:/to
اولویت را نسبت به جریانهای معمول اینترنت پایینتر میآورد.
این گزینه روی Windows هیچ تأثیری ندارد (ببینید: golang/go#42728 (https://github.com/golang/go/issues/42728)).
-n, --dry-run
یک اجرای آزمایشی بدون اعمال تغییرات دائمی انجام میدهد. از این گزینه برای مشاهده اقداماتی که rclone بدون انجام واقعی انجام میدهد، استفاده کنید. هنگام راهاندازی دستور sync (https://rclone.org/commands/rclone_sync) که فایلها را در مقصد حذف میکند، بسیار مفید است.
--expect-continue-timeout Duration
این گزینه مدت زمانی را مشخص میکند که در صورت وجود سرآیند "Expect: 100-continue" در درخواست، پس از نوشتن کامل سرآیندهای درخواست، باید برای اولین سرآیندهای پاسخ سرور منتظر ماند. همه backendها از این قابلیت پشتیبانی نمیکنند.
مقدار صفر به معنی عدم وجود مهلت زمانی (timeout) است و باعث میشود بدنه درخواست بلافاصله و بدون منتظر ماندن برای تأیید سرور ارسال شود. این مدت شامل زمان ارسال سرآیند درخواست نمیشود.
پیشفرض 1s است. برای غیرفعال کردن آن را روی 0 تنظیم کنید.
--error-on-no-transfer
به طور پیشفرض، اگر هیچ خطایی رخ ندهد rclone با کد خروج 0 خارج خواهد شد.
این گزینه به rclone اجازه میدهد در صورتی که هیچ فایلی بین مبدأ و مقصد منتقل نشد، کد خروج 9 را بازگرداند. این امر امکان استفاده از rclone در اسکریپتها و اجرای اقدامات بعدی در صورت کپی شدن دادهها، یا صرفنظر از آنها در غیر این صورت را فراهم میکند.
نکته مهم: فعال کردن این گزینه یک خطای معمولاً غیرمرگبار را به یک خطای بالقوه مرگبار تبدیل میکند - لطفاً اسکریپتهای خود را بررسی کرده و بر این اساس تنظیم نمایید!
--fix-case
به طور معمول، همگامسازی با مقصدی که به بزرگی و کوچکی حروف حساس نیست (مانند macOS / Windows)، در صورتی که نام فایلهای مبدأ و مقصد در بزرگی و کوچکی حروف تفاوت داشته باشند اما در غیر این صورت یکسان باشند، به تطابق نام فایل منجر نخواهد شد. برای مثال، همگامسازی hello.txt با HELLO.txt به طور معمول باعث باقی ماندن نام فایل مقصد به صورت HELLO.txt میشود. اگر --fix-case تنظیم شده باشد، آنگاه نام فایل HELLO.txt به hello.txt تغییر خواهد یافت تا با مبدأ مطابقت پیدا کند.
نکته مهم:
- •
- نامهای دایرکتوری با بزرگی و کوچکی نادرست حروف نیز اصلاح خواهند شد
- •
- در صورت تنظیم بودن --immutable، گزینه --fix-case نادیده گرفته خواهد شد
- •
- استفاده از --local-case-sensitive به جای این گزینه توصیه نمیشود؛ زیرا باعث حذف شدن HELLO.txt خواهد شد!
- •
- نام فایل قدیمی مقصد نباید توسط فیلترها مستثنی شده باشد. به خصوص در مورد --files-from (https://rclone.org/filtering/#files-from-read-list-of-source-file-names) دقت کنید، که از --ignore-case (https://rclone.org/filtering/#ignore-case-make-searches-case-insensitive) پیروی نمیکند!
- •
- در remoteهایی که از انتقال سمت سرور پشتیبانی نمیکنند، --fix-case نیازمند بارگیری فایل و بارگذاری مجدد آن خواهد بود. برای جلوگیری از این امر، از --fix-case استفاده نکنید..SS --fs-cache-expire-duration Duration
هنگام استفاده از rclone از طریق API، rclone ریموتهای ساختهشده را بهطور پیشفرض به مدت ۵ دقیقه در "fs cache" ذخیره (کش) میکند. این بدان معناست که اگر کارهای مکرری را روی همان ریموت انجام دهید، rclone مجبور نخواهد بود آن را دوباره از ابتدا بسازد، که باعث کارآمدتر شدن آن میشود.
این پرچم مدت زمانی را که ریموتها کش میشوند تنظیم میکند. اگر آن را روی 0 (یا عددی منفی) قرار دهید، rclone اصلاً ریموتها را کش نخواهد کرد.
توجه داشته باشید که اگر از برخی پرچمها مانند --backup-dir استفاده کنید و این گزینه روی 0 تنظیم شده باشد، rclone ممکن است دو ریموت بسازد (یکی برای مبدأ یا مقصد و دیگری برای --backup-dir)، در حالی که پیشتر ممکن بود تنها یک ریموت بسازد.
--fs-cache-expire-interval Duration
این مشخص میکند که rclone هر چند وقت یکبار منقضی شدن ریموتهای کششده را بررسی کند. برای اطلاعات بیشتر، مستندات --fs-cache-expire-duration در بالا را ببینید. پیشفرض 60s است؛ برای غیرفعال کردن انقضا آن را روی 0 قرار دهید.
--header stringArray
افزودن یک سرآیند (header) HTTP برای تمامی تراکنشها. این پرچم میتواند برای افزودن چندین سرآیند تکرار شود.
اگر میخواهید سرآیندها را فقط برای بارگذاریها اضافه کنید از --header-upload و اگر میخواهید سرآیندها را فقط برای بارگیریها اضافه کنید از --header-download استفاده کنید.
این پرچم برای تمامی بکاندهای مبتنی بر HTTP پشتیبانی میشود، حتی آنهایی که توسط --header-upload و --header-download پشتیبانی نمیشوند؛ بنابراین میتوان با احتیاط به عنوان یک راهکار جایگزین برای آنها استفاده کرد.
-
rclone ls remote:test --header "X-Rclone: Foo" --header "X-LetMeIn: Yes"
--header-download stringArray
افزودن یک سرآیند HTTP برای تمامی تراکنشهای بارگیری (دانلود). این پرچم میتواند برای افزودن چندین سرآیند تکرار شود.
-
rclone sync --interactive s3:test/src ~/dst --header-download "X-Amz-Meta-Test: Foo" --header-download "X-Amz-Meta-Test2: Bar"
برای مشاهدهٔ بکاندهایی که در حال حاضر پشتیبانی میشوند، گزارش شمارهٔ ۵۹ گیتهاب (https://github.com/rclone/rclone/issues/59) را ببینید.
--header-upload stringArray
افزودن یک سرآیند HTTP برای تمامی تراکنشهای بارگذاری (آپلود). این پرچم میتواند برای افزودن چندین سرآیند تکرار شود.
-
rclone sync --interactive ~/src s3:test/dst --header-upload "Content-Disposition: attachment; filename='cool.html'" --header-upload "X-Amz-Meta-Test: FooBar"
برای مشاهدهٔ بکاندهایی که در حال حاضر پشتیبانی میشوند، گزارش شمارهٔ ۵۹ گیتهاب (https://github.com/rclone/rclone/issues/59) را ببینید.
--http-proxy string
از این گزینه برای تنظیم یک پروکسی HTTP جهت استفاده در تمامی سرویسهای مبتنی بر HTTP استفاده کنید.
ابزار Rclone همچنین از متغیرهای محیطی استاندارد پروکسی HTTP پشتیبانی میکند که آنها را بهطور خودکار دریافت خواهد کرد. این شیوهٔ معمول برای تنظیم پروکسی HTTP است، اما از این پرچم میتوان برای لغو و جایگزینی (override) آن استفاده کرد.
--human-readable
دستورهای Rclone مقادیر مربوط به اندازهها (مانند تعداد بایتها) و شمارشها (مانند تعداد فایلها) را به عنوان اعداد خام (raw) یا در قالب خوانا برای انسان نمایش میدهند.
در قالب خوانا برای انسان، مقادیر به واحدهای بزرگتر مقیاسبندی شده، با یک پسوند که پس از مقدار نمایش داده میشود مشخص میشوند و تا سه رقم اعشار گرد میگردند. ابزار Rclone بهطور پیوسته از واحدهای باینری (توانهای ۲) برای اندازهها و از واحدهای دهدهی (توانهای ۱۰) برای شمارشها استفاده میکند. پیشوند واحد برای اندازه مطابق با نماد استاندارد IEC است، مانند Ki برای کیبی (kibi). در صورت استفاده با واحد بایت، 1 KiB به معنای ۱۰۲۴ بایت است. در خروجیهای نوع فهرستی، تنها پیشوند واحد به مقدار ضمیمه میشود (مانند 9.762Ki)، در حالی که در خروجیهای متنیتر، واحد کامل نشان داده میشود (مانند 9.762 KiB). برای شمارشها از نماد استاندارد SI استفاده میشود، مانند پیشوند k برای کیلو. در مورد تعداد فایلها، 1k به معنای ۱۰۰۰ فایل است.
دستورهای مختلف فهرستگیری (https://rclone.org/commands/rclone_ls) بهطور پیشفرض اعداد خام را در خروجی نمایش میدهند. گزینهٔ --human-readable باعث میشود که آنها به جای آن مقادیر را در قالبی خوانا برای انسان (با پیشوند کوتاه واحد) نمایش دهند.
دستور about (https://rclone.org/commands/rclone_about) بهطور پیشفرض خروجی را به صورت خوانا برای انسان نمایش میدهد و دارای گزینهٔ اختصاصی --full است تا به جای آن مقادیر خام را در خروجی چاپ کند.
دستور size (https://rclone.org/commands/rclone_size) هر دو مقدار خوانا برای انسان و اعداد خام را در یک خروجی یکسان ارائه میدهد.
دستور tree (https://rclone.org/commands/rclone_tree) نیز گزینهٔ --human-readable را مد نظر قرار میدهد، اما دقیقاً از همان نشانهگذاری سایر دستورها استفاده نخواهد کرد: مقدار را تا یک رقم اعشار گرد میکند و از پسوند تکحرفی استفاده مینماید، مانند K به جای Ki. دلیل این امر وابستگی آن به یک کتابخانهٔ خارجی است.
دستور تعاملی ncdu (https://rclone.org/commands/rclone_ncdu) بهطور پیشفرض مقادیر را به صورت خوانا برای انسان نمایش میدهد و برای تغییر وضعیت این حالت، به کلید u پاسخ میدهد..SS --ignore-case-sync
استفاده از این گزینه باعث میشود rclone هنگام همگامسازی، بزرگی و کوچکی حروف در نام فایلها را نادیده بگیرد؛ بنابراین اگر نام فایلهای موجود یکسان باشد، حتی در صورت تفاوت در بزرگی و کوچکی حروف، فایلها کپی یا همگامسازی نمیشوند.
--ignore-checksum
به طور معمول rclone مطابقت چکسام (checksum) فایلهای منتقلشده را بررسی میکند و در صورت عدم تطابق، خطای "corrupted on transfer" را صادر میکند.
میتوانید از این گزینه برای نادیده گرفتن این بررسی استفاده کنید. تنها زمانی باید از آن استفاده کنید که با پیام خطای "corrupted on transfer" مواجه شدهاید و مطمئن هستید که میخواهید دادههای بالقوه خراب را منتقل کنید.
--ignore-existing
استفاده از این گزینه باعث میشود rclone بدون قید و شرط تمام فایلهایی را که در مقصد وجود دارند، بدون توجه به محتوای آنها، نادیده بگیرد.
اگرچه این گزینه به طور کلی توصیه نمیشود، اما میتواند در مواردی که فایلهای شما به دلیل رمزنگاری تغییر میکنند مفید باشد. با این حال، در صورتی که انتقال نیمهکاره متوقف شده باشد، نمیتواند انتقالهای ناقص را اصلاح کند.
هنگام اجرای دستور move/moveto، این پرچم در صورت وجود فایلی با همان نام در مقصد، فایلهای رد شده را در مکان مبدأ بدون تغییر باقی میگذارد.
--ignore-size
به طور معمول rclone برای بررسی یکسان بودن فایلها، زمان تغییر (modification time) و اندازه آنها را بررسی میکند. اگر این پرچم را تنظیم کنید، rclone فقط زمان تغییر را بررسی خواهد کرد. اگر --checksum تنظیم شده باشد، فقط چکسام را بررسی میکند.
همچنین باعث میشود rclone از بررسی یکسان بودن اندازهها پس از انتقال صرفنظر کند.
این گزینه میتواند برای انتقال فایلها به و از OneDrive که گاهی اندازه فایلهای تصویری را به اشتباه گزارش میکند، مفید باشد (برای اطلاعات بیشتر به #399 (https://github.com/rclone/rclone/issues/399) مراجعه کنید).
-I, --ignore-times
استفاده از این گزینه باعث میشود rclone بدون در نظر گرفتن وضعیت فایلها در مقصد، بدون قید و شرط تمام فایلها را آپلود کند.
به طور معمول rclone فایلهایی را که زمان تغییر و اندازه یکسانی داشته باشند (یا در صورت استفاده از --checksum، چکسام یکسانی داشته باشند) رد میکند.
--immutable
با فایلهای مبدأ و مقصد به عنوان فایلهای تغییرناپذیر (immutable) رفتار میکند و اجازه اعمال تغییر را نمیدهد.
با تنظیم این گزینه، فایلها طبق درخواست ایجاد و حذف میشوند، اما فایلهای موجود هرگز بهروزرسانی نخواهند شد. اگر یک فایل موجود بین مبدأ و مقصد مطابقت نداشته باشد، rclone خطای Source and destination exist but do not match: immutable file modified را نمایش میدهد.
توجه داشته باشید که تنها دستوراتی که فایلها را منتقل میکنند (مانند sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move)) تحت تأثیر این رفتار قرار میگیرند و فقط ویرایش و تغییر غیرمجاز است. فایلها همچنان ممکن است به طور صریح (مانند delete (https://rclone.org/commands/rclone_delete)، purge (https://rclone.org/commands/rclone_purge)) یا به طور ضمنی (مانند sync (https://rclone.org/commands/rclone_sync)، move (https://rclone.org/commands/rclone_move)) حذف شوند. اگر میخواهید علاوه بر تغییر، از حذف نیز جلوگیری شود، از copy --immutable استفاده کنید.
این ویژگی میتواند به عنوان یک لایه حفاظتی اضافی برای مجموعهدادههای تغییرناپذیر یا فقطافزودنی (append-only) (بهویژه آرشیوهای پشتیبان) که هرگونه تغییر در آنها به منزله خرابی است و نباید منتشر شود، مفید باشد.
--inplace
پرچم --inplace رفتار rclone را هنگام آپلود فایلها به برخی از backendها (مقصدهایی که پرچم ویژگی PartialUploads در آنها فعال است) تغییر میدهد، مانند:
- •
- local
- •
- ftp
- •
- sftp
- •
- pcloud
بدون پرچم --inplace (حالت پیشفرض)، rclone ابتدا دادهها را در یک فایل موقت با پسوندی مشابه این آپلود میکند، که در آن XXXXXX نمایانگر هش اثر انگشت فایل مبدأ است و .partial مقدار --partial-suffix است (به طور پیشفرض .partial).
-
original-file-name.XXXXXX.partial
(rclone در صورت لزوم با کوتاه کردن بخش original-file-name اطمینان حاصل میکند که نام نهایی طولانیتر از ۱۰۰ کاراکتر نباشد).
پس از اتمام آپلود، rclone نام فایل .partial را به نام صحیح تغییر میدهد و در همان لحظه هر فایل موجود قبلی را بازنویسی میکند. اگر آپلود با شکست مواجه شود، فایل .partial حذف خواهد شد.
این کار از مشاهده فایلهای ناقص توسط سایر کاربران backend با نام جدیدشان جلوگیری کرده و مانع از بازنویسی فایل قدیمی تا زمان آپلود کامل فایل جدید میشود.
در صورت استفاده از پرچم --inplace، rclone بدون ایجاد فایل .partial، فایل را مستقیماً با نام نهایی آپلود میکند.
این بدان معناست که در حین آپلود، یک فایل ناقص در فهرست دایرکتوری قابل مشاهده خواهد بود و هر فایل موجود به محض شروع آپلود بازنویسی میشود. اگر انتقال با شکست مواجه شود، فایل حذف خواهد شد. این موضوع میتواند در صورت بروز خطا در انتقال، باعث از دست رفتن فایل موجود شود.
توجه داشته باشید که در سیستمفایل محلی، در صورت عدم استفاده از --inplace، پیوندهای سخت یا hard linkها (فقط در یونیکس) شکسته خواهند شد. همچنین در صورت استفاده از --inplace، امکان بهروزرسانی فایلهای اجراییِ در حال اجرا را نخواهید داشت.
همچنین توجه داشته باشید که نسخههای rclone پیش از v1.63.0 به گونهای رفتار میکنند که گویی پرچم --inplace همیشه فعال است..SS -i, --interactive
از این پرچم میتوان برای اعلام به rclone جهت درخواست تأیید دستی پیش از انجام عملیاتهای مخرب استفاده کرد.
توصیه میشود که هنگام یادگیری rclone، بهویژه همراه با rclone sync، از این پرچم استفاده کنید.
برای مثال:
-
$ rclone delete --interactive /tmp/dir rclone: delete "important-file.txt"? y) Yes, this is OK (default) n) No, skip this s) Skip all delete operations with no more questions !) Do all delete operations with no more questions q) Exit rclone now. y/n/s/!/q> n
معنی گزینهها:
- •
- y: بله، این عملیات انجام شود. برای این کار میتوانید کلید Return را نیز فشار دهید. از شما برای هر مورد سؤال خواهد شد، مگر اینکه s یا ! را انتخاب کنید.
- •
- n: خیر، این عملیات انجام نشود. از شما برای هر مورد سؤال خواهد شد، مگر اینکه s یا ! را انتخاب کنید.
- •
- s: رد کردن تمام عملیاتهای بعدی از این نوع بدون پرسش دوباره. این حالت تا زمان خروج rclone اعمال میشود. اگر نوع دیگری از عملیات وجود داشته باشد، برای آنها از شما سؤال پرسیده خواهد شد.
- •
- !: انجام همه عملیاتهای بعدی بدون پرسش دوباره. زمانی کاربرد دارد که تصمیم گرفتهاید انجام چنین عملیاتی توسط rclone مشکلی ندارد. این حالت تا زمان خروج rclone اعمال میشود. اگر نوع دیگری از عملیات وجود داشته باشد، برای آنها از شما سؤال پرسیده خواهد شد.
- •
- q: خروج آنی از rclone، محض اطمینان!
--leave-root
در طول اجرای rmdirs، دایرکتوری ریشه (root) حذف نخواهد شد، حتی اگر خالی باشد.
-l, --links
بهطور معمول rclone پیوندهای نمادین (symlinks) یا نقاط پیوند (junction points که در ویندوز رفتاری شبیه به symlink دارند) را نادیده میگیرد. فایلهای نادیدهگرفتهشده در عملیات sync کپی، جابهجا یا حذف نخواهند شد.
اگر از این پرچم استفاده کنید، rclone پیوندهای نمادین را از هر backend پشتیبانیشده کپی کرده و آنها را بهصورت فایلهای متنی با پسوند .rclonelink در مقصد ذخیره میکند.
این فایل متنی حاوی مقصد پیوند نمادین خواهد بود.
پرچم --links / -l این ویژگی را برای تمام backendهای پشتیبانیشده و VFS فعال میکند. در صورت نیاز، پرچمهای جداگانهای برای فعالسازی آن فقط برای VFS (--vfs-links) و backend محلی (--local-links) وجود دارد.
--list-cutoff int
هنگام همگامسازی، rclone پیش از مقایسه ورودیهای دایرکتوری نیاز دارد که آنها را مرتبسازی کند. بهطور پیشفرض در مقادیر پایینتر از این آستانه (۱٬۰۰۰٬۰۰۰)، rclone ورودیهای دایرکتوری را در حافظه ذخیره میکند. ذخیره ۱٬۰۰۰٬۰۰۰ ورودی تقریباً به ۱ گیگابایت حافظه RAM نیاز دارد. بالاتر از این آستانه، rclone ورودیهای دایرکتوری را روی دیسک ذخیره کرده و بدون مصرف مقدار زیادی حافظه، آنها را مرتب میکند.
انجام این کار بازدهی اندکی کمتر از مرتبسازی در حافظه دارد و تنها برای backendهای مبتنی بر باکت (مانند s3، b2، azureblob و swift) عملکرد خوبی خواهد داشت؛ اما اینها تنها backendهایی هستند که احتمال میرود میلیونها ورودی در یک دایرکتوری داشته باشند..SS --log-file string
ثبت تمام خروجیهای rclone در یک فایل. این گزینه بهطور پیشفرض فعال نیست. این ویژگی میتواند همراه با پرچم -v برای ردیابی مشکلات مربوط به همگامسازی مفید باشد. برای اطلاعات بیشتر بخش گزارشگیری (logging) را ببینید.
اگر فایل وجود داشته باشد، rclone به انتهای آن اضافه خواهد کرد.
توجه داشته باشید که اگر از برنامه logrotate برای مدیریت لاگهای rclone استفاده میکنید، باید از گزینه copytruncate استفاده نمایید، زیرا rclone سیگنالی برای چرخش لاگها ندارد.
در غیر این صورت، میتوانید از گزینههای زیر برای مدیریت چرخش داخلی لاگهای rclone استفاده کنید.
--log-file-max-size SizeSuffix
حداکثر اندازه فایل لاگ پیش از چرخش (مانند 10M). این SizeSuffix به نزدیکترین مبیبایت (MiB) یا در صورت کمتر بودن به 1 MiB گرد میشود.
اگر --log-file تنظیم نشده باشد، این گزینه نادیده گرفته خواهد شد.
اگر این گزینه تنظیم نشود، سایر گزینههای چرخش لاگ نادیده گرفته خواهند شد.
برای مثال، اگر پرچمهای زیر استفاده شوند:
-
rclone --log-file rclone.log --log-file-max-size 1M --log-file-max-backups 3
سپس این دستور فایلهای لاگی ایجاد خواهد کرد که شبیه به این هستند:
-
$ ls -l -rw------- 1 user user 1048491 Apr 11 17:15 rclone-2025-04-11T17-15-29.998.log -rw------- 1 user user 1048511 Apr 11 17:15 rclone-2025-04-11T17-15-30.467.log -rw------- 1 user user 1048559 Apr 11 17:15 rclone-2025-04-11T17-15-30.543.log -rw------- 1 user user 521602 Apr 11 17:15 rclone.log
که فایل rclone.log فایل جاری خواهد بود.
--log-file-compress
در صورت تنظیم، فایلهای لاگ چرخشیافته را با استفاده از gzip فشرده میکند. این کار پسوند فایلهای لاگ قدیمی را به .log.gz تغییر میدهد.
پیشفرض false است - فایلهای لاگ فشرده نشوند.
--log-file-max-age Duration
حداکثر مدتزمان نگهداری فایلهای لاگ قدیمی (مانند 7d). این مقدار به نزدیکترین روز، یا در صورت کمتر بودن به ۱ روز گرد میشود.
حالت پیشفرض نگهداری تمام فایلهای لاگ قدیمی است.
--log-file-max-backups int
حداکثر تعداد فایلهای لاگ قدیمی برای نگهداری.
حالت پیشفرض نگهداری تمام فایلهای لاگ قدیمی است.
--log-format string
فهرستی از گزینههای قالببندی لاگ که با کاما از هم جدا شدهاند. گزینههای پذیرفتهشده عبارتند از:
- •
- date - افزودن تاریخ با قالب YYYY/MM/YY به لاگ.
- •
- time - افزودن زمان با قالب HH:MM:SS به لاگ.
- •
- microseconds - افزودن میکروثانیه به زمان با قالب HH:MM:SS.SSSSSS.
- •
- UTC - ثبت لاگها بر اساس زمان UTC بهجای زمان محلی.
- •
- longfile - افزودن نام فایل مبدأ و شماره خط مربوط به عبارت لاگ.
- •
- shortfile - افزودن نام فایل مبدأ و شماره خط مربوط به عبارت لاگ.
- •
- pid - افزودن شناسه فرایند (PID) به لاگ - مفید برای استفاده همراه با rclone mount --daemon.
- •
- nolevel - عدم افزودن سطح گزارش (level) به لاگ.
- •
- json - معادل با افزودن --use-json-log.
این موارد با ترتیبی که در بالا ذکر شد به خط لاگ افزوده میشوند.
قالب پیشفرض لاگ "date,time" است..SS --log-level LogLevel
این گزینه سطح گزارش را برای rclone تعیین میکند. سطح پیشفرض گزارش NOTICE است.
سطح DEBUG معادل -vv است. این سطح اطلاعات اشکالزدایی فراوانی را در خروجی نمایش میدهد - که برای گزارش باگها و آگاهی دقیق از عملکرد rclone مفید است.
سطح INFO معادل -v است. این سطح اطلاعات مربوط به هر انتقال را در خروجی نمایش داده و بهطور پیشفرض آمار را هر یک دقیقه یکبار چاپ میکند.
اگر هیچ پرچم ثبتی مشخص نشود، NOTICE سطح پیشفرض گزارش خواهد بود. در شرایط کارکرد عادی، اطلاعات بسیار کمی در خروجی نمایش میدهد. این سطح هشدارها و رویدادهای مهم را ثبت میکند.
سطح ERROR معادل -q است. این سطح تنها پیامهای خطا را در خروجی نمایش میدهد.
همچنین بخش ثبت وقایع (logging) را ببینید.
--windows-event-log-level LogLevel
در صورت پیکربندی این گزینه (پیشفرض OFF است)، گزارشهای این سطح و بالاتر، علاوه بر گزارشهای عادی، در رویدادنگار ویندوز (Windows event log) ثبت خواهند شد. این موارد، صرفنظر از اینکه گزارشهای اصلی برای چه قالبی پیکربندی شده باشند، در قالب JSON بهصورتی که در زیر آمده است ثبت خواهند شد.
رویدادنگار ویندوز تنها ۳ سطح از نظر شدت دارد: Info، Warning و Error. در صورت فعال بودن، سطوح rclone به شکل زیر نگاشت میشوند:
- •
- Error ← ERROR (و بالاتر)
- •
- Warning ← WARNING (توجه داشته باشید که این سطح تعریف شده اما در حال حاضر استفاده نمیشود).
- •
- Info ← NOTICE، INFO و DEBUG.
چنانچه rclone مجوزهای کافی برای ساخت کلید رجیستری مورد نیاز را داشته باشد، منبع گزارش خود را "rclone" اعلام خواهد کرد. در غیر این صورت گزارشها تحت عنوان "Application" ثبت میشوند. میتوانید دستور rclone version --windows-event-log-level DEBUG را یکبار با دسترسی مدیر سیستم (administrator) اجرا کنید تا کلید رجیستری از پیش ایجاد شود.
توجه داشته باشید که سطح --windows-event-log-level باید بزرگتر (دارای شدت بالاتر) یا مساوی با --log-level باشد. برای مثال، برای ثبت DEBUG در یک فایل گزارش، اما ثبت خطاهای ERROR در رویدادنگار، از دستور زیر استفاده میکنید:
-
--log-file rclone.log --log-level DEBUG --windows-event-log-level ERROR
این گزینه تنها در پلتفرمهای ویندوز پشتیبانی میشود.
--use-json-log
این گزینه قالب گزارش را به JSON تغییر میدهد. سپس پیامهای گزارش بهصورت اشیاء مجزای JSON با این فیلدها ارسال میشوند: level، msg، source و time. قالب حاصل چیزی است که گاهی با نام newline-delimited JSON (https://en.wikipedia.org/wiki/JSON_streaming#Newline-delimited_JSON) (NDJSON) یا JSON Lines (JSONL) شناخته میشود. این شیوه برای پردازش توسط ابزارهای سنتی خطمحور و خطلولههای شل بسیار مناسب است، اما یک فایل گزارش کامل از نظر ساختاری JSON معتبر نیست و به تجزیهکنندهای نیاز دارد که بتواند آن را پردازش کند.
گزارشهای JSON در یک خط تک چاپ خواهند شد، اما در اینجا برای وضوح بیشتر بهصورت گسترده نمایش داده شدهاند.
-
{ "time": "2025-05-13T17:30:51.036237518+01:00", "level": "debug", "msg": "4 go routines active\n", "source": "cmd/cmd.go:298" }
گزارشهای مربوط به انتقالهای کاملشده داده دارای اطلاعات اضافی size خواهند بود. گزارشهایی که مربوط به شیء خاصی باشند، فیلدهای object و objectType را نیز شامل خواهند شد.
-
{ "time": "2025-05-13T17:38:05.540846352+01:00", "level": "info", "msg": "Copied (new) to: file2.txt", "size": 6, "object": "file.txt", "objectType": "*local.Object", "source": "operations/copy.go:368" }
گزارشهای آماری شامل یک فیلد stats خواهند بود که مشابه خروجی فراخوانی rc زیر است: core/stats (https://rclone.org/rc/#core-stats).
-
{ "time": "2025-05-13T17:38:05.540912847+01:00", "level": "info", "msg": "...text version of the stats...", "stats": { "bytes": 6, "checks": 0, "deletedDirs": 0, "deletes": 0, "elapsedTime": 0.000904825, ...truncated for clarity... "totalBytes": 6, "totalChecks": 0, "totalTransfers": 1, "transferTime": 0.000882794, "transfers": 1 }, "source": "accounting/stats.go:569" }
این گزینه تعداد تلاشهای مجدد سطح پایین که rclone انجام میدهد را کنترل میکند.
یک تلاش مجدد سطح پایین برای تکرار یک عملیات ناموفق - معمولاً یک درخواست HTTP - استفاده میشود. این مورد ممکن است برای مثال بارگذاری یک بخش (chunk) از یک فایل بزرگ باشد. شما تلاشهای مجدد سطح پایین را در گزارشها (log) با پرچم -v مشاهده خواهید کرد.
در عملیاتهای عادی نیازی به تغییر این مقدار از حالت پیشفرض نیست. با این حال، اگر تعداد زیادی تلاش مجدد سطح پایین دریافت میکنید، ممکن است بخواهید این مقدار را کاهش دهید تا rclone سریعتر به یک تلاش مجدد سطح بالا (پرچم --retries را ببینید) منتقل شود.
تلاشهای مجدد سطح پایین را با --low-level-retries 1 غیرفعال کنید.
--max-backlog int
این گزینه حداکثر تعداد فایلهای مجاز در صف انتظار (backlog) برای عملیاتهای sync/copy/move است که در انتظار بررسی یا انتقال قرار دارند.
این مقدار میتواند به طور دلخواه بزرگ تنظیم شود. تنها زمانی که صف در حال استفاده باشد حافظه مصرف خواهد شد. توجه داشته باشید که در زمان استفاده از صف انتظار، حافظهای از مرتبه N KiB مصرف خواهد شد.
تنظیم این مقدار به عددی بزرگ به rclone اجازه میدهد تا تعداد فایلهای معلق را با دقت بیشتری محاسبه کند، زمان پایان تقریبی دقیقتری ارائه دهد و عملکرد --order-by را دقیقتر سازد.
تنظیم این مقدار به عددی کوچک، rclone را با فهرستهای موجود در دوردست (remote) همگامتر میکند که ممکن است مطلوب باشد.
تنظیم این مقدار به یک عدد منفی، صف انتظار را تا حد ممکن بزرگ خواهد کرد.
--max-buffer-memory SizeSuffix
در صورت تنظیم، بیش از مقدار حافظه تعیینشده به عنوان بافر تخصیص داده نمیشود. اگر تنظیم نشود یا روی 0 یا off قرار گیرد، میزان حافظه در حال استفاده محدود نخواهد شد.
این مقدار شامل حافظه مصرفی بافرهای ایجاد شده توسط پرچم --buffer و بافرهای مورد استفاده در انتقالهای چندرشتهای (multi-thread) میشود.
بیشتر انتقالهای چندرشتهای حافظه اضافی مصرف نمیکنند، اما بسته به backend برخی این کار را انجام میدهند (مانند backend پروتکل s3 برای بارگذاریها). این بدان معناست که بین تنظیم مجموع --transfers روی بیشترین مقدار ممکن و مصرف حافظه، نوعی تعارض وجود دارد.
تنظیم --max-buffer-memory امکان کنترل حافظه بافر را فراهم میکند تا سیستم دچار بار اضافی نشود و در عین حال اجازه میدهد --transfers روی مقادیر بزرگ تنظیم شود.
--max-connections int
این گزینه حداکثر تعداد فراخوانیهای همزمان به API مربوط به backend را تعیین میکند. بسته به backend در حال استفاده و استفاده از HTTP1 در برابر HTTP2، ممکن است این مقدار تناظر یکبهیک با اتصالات TCP یا HTTP نداشته باشد.
هنگام دانلود فایلها، backendها تنها باز شدن اولیه جریان (stream) را محدود میکنند. دانلود تودهای دادهها به عنوان یک اتصال در نظر گرفته نمیشود. این یعنی پرچم --max--connections تعداد کل دانلودها را محدود نخواهد کرد.
توجه داشته باشید که این تنظیم میتواند باعث بروز بنبست (deadlock) شود، بنابراین باید با احتیاط استفاده شود.
اگر در حال انجام sync یا copy هستید، مطمئن شوید که --max-connections یکی بیشتر از مجموع --transfers و --checkers باشد.
اگر از --check-first استفاده میکنید، در این صورت --max-connections فقط باید یکی بیشتر از مقدار حداکثر بین --checkers و --transfers باشد.
بنابراین برای --max-connections 3 شما از --checkers 2 --transfers 2 --check-first یا --checkers 1 --transfers 1 استفاده خواهید کرد.
تنظیم این پرچم میتواند برای backendهایی که بارگذاری چندبخشی (multipart uploads) انجام میدهند مفید باشد تا تعداد بخشهای در حال انتقال همزمان را محدود کند..SS --max-delete int
این گزینه به rclone اعلام میکند که بیش از N فایل را حذف نکند. اگر این حد فراتر رود، یک خطای مهلک (fatal error) ایجاد شده و rclone عملیات در حال انجام را متوقف خواهد کرد.
--max-delete-size SizeSuffix
هنگامی که اندازه کل موارد حذفشده به میزان مشخصشده برسد، rclone حذف فایلها را متوقف خواهد کرد. پیشفرض آن غیرفعال (off) است.
اگر این حد فراتر رود، یک خطای مهلک ایجاد شده و rclone عملیات در حال انجام را متوقف خواهد کرد.
--max-depth int
این گزینه عمق پیمایش بازگشتی را برای همه دستورها به جز purge تغییر میدهد.
بنابراین اگر دستور rclone --max-depth 1 ls remote:path را اجرا کنید، تنها فایلهای موجود در بالاترین سطح دایرکتوری را خواهید دید. استفاده از --max-depth 2 بدین معناست که همه فایلهای موجود در دو سطح اول دایرکتوری را مشاهده خواهید کرد و به همین ترتیب.
به دلایل تاریخی، دستور lsd بهطور پیشفرض از مقدار ۱ برای --max-depth استفاده میکند - میتوانید این مورد را با پرچم خط فرمان تغییر دهید.
میتوانید از این دستور برای غیرفعال کردن پیمایش بازگشتی (با --max-depth 1) استفاده کنید.
توجه داشته باشید که اگر از این گزینه به همراه sync و --delete-excluded استفاده کنید، فایلهایی که پیمایش نشدهاند مستثنی تلقی شده و در مقصد حذف خواهند شد. اگر مطمئن نیستید چه اتفاقی رخ خواهد داد، ابتدا با --dry-run آن را آزمایش کنید.
--max-duration Duration
هنگامی که rclone به اندازه مدتزمان مشخصشده اجرا شود، انتقال را متوقف خواهد کرد. پیشفرض آن غیرفعال (off) است.
با رسیدن به این حد، تمام انتقالها فوراً متوقف خواهند شد. از --cutoff-mode برای تغییر این رفتار استفاده کنید.
در صورت رسیدن به حد مدتزمان، rclone با کد خروج ۱۰ خارج خواهد شد.
--max-transfer SizeSuffix
هنگامی که حجم دادههای ارسالی به اندازه مشخصشده برسد، rclone انتقال را متوقف خواهد کرد. پیشفرض آن غیرفعال (off) است.
با رسیدن به این حد، تمام انتقالها فوراً متوقف خواهند شد. از --cutoff-mode برای تغییر این رفتار استفاده کنید.
در صورت رسیدن به حد مجاز انتقال، rclone با کد خروج ۸ خارج خواهد شد.
--cutoff-mode HARD|SOFT|CAUTIOUS
رفتار گزینههای --max-transfer و --max-duration را پیکربندی میکند.
حالت HARD به محض رسیدن rclone به حد تعیینشده، فوراً انتقال را متوقف میکند. این حالت پیشفرض است.
حالت SOFT با رسیدن rclone به حد تعیینشده، از شروع انتقالهای جدید جلوگیری میکند.
حالت CAUTIOUS تلاش میکند از رسیدن rclone به حد تعیینشده جلوگیری کند. این حالت تنها برای --max-transfer کاربرد دارد.
-M, --metadata
فعال کردن این پرچم به rclone امکان میدهد متادیتا را از مبدأ به مقصد کپی کند. برای بکاندهای محلی، این شامل مالکیت، مجوزها، xattr و غیره است. برای اطلاعات بیشتر بخش metadata را ببینید.
--metadata-mapper SpaceSepList
اگر پارامتر --metadata-mapper /path/to/program را تعیین کنید، rclone از آن برنامه برای نگاشت متادیتا از شیء مبدأ به شیء مقصد استفاده خواهد کرد.
آرگومان این پرچم باید یک دستور به همراه فهرستی اختیاری از آرگومانهای جداشده با فاصله باشد. اگر یکی از آرگومانها حاوی فاصله است، آن را داخل " قرار دهید؛ اگر میخواهید نویسه لغوی " را در یک آرگومان داشته باشید، آرگومان را در " محصور کرده و " را دو برابر کنید. برای اطلاعات بیشتر، مستندات کدگذاری CSV را ببینید (https://godoc.org/encoding/csv).
-
--metadata-mapper "python bin/test_metadata_mapper.py" --metadata-mapper 'python bin/test_metadata_mapper.py "argument with a space"' --metadata-mapper 'python bin/test_metadata_mapper.py "argument with ""two"" quotes"'
این قابلیت از یک پروتکل ساده مبتنی بر JSON با ورودی از STDIN و خروجی روی STDOUT استفاده میکند. این برنامه به ازای هر فایل و دایرکتوری کپیشده فراخوانی خواهد شد و ممکن است فراخوانیها بهطور همروند انجام گیرند.
وظیفه برنامه این است که یک بلوک داده متادیتا (blob) را در ورودی دریافت کرده و آن را در خروجی به یک متادیتای مناسب برای بکاند مقصد تبدیل کند.
ورودی برنامه (از طریق STDIN) ممکن است ساختاری شبیه به این داشته باشد. این اطلاعات، بستری را برای Metadata فراهم میآورد که ممکن است حائز اهمیت باشد.
- •
- SrcFs رشته پیکربندی ریموتی است که شیء در حال حاضر روی آن قرار دارد.
- •
- SrcFsType نام بکاند مبدأ است.
- •
- DstFs رشته پیکربندی ریموتی است که شیء به آن کپی میشود.
- •
- DstFsType نام بکاند مقصد است.
- •
- Remote مسیر شیء نسبت به ریشه است.
- •
- Size، MimeType و ModTime ویژگیهای شیء هستند.
- •
- اگر این مورد یک دایرکتوری باشد، IsDir مقدارش true است (هنوز پیادهسازی نشده است).
- •
- در صورت شناختهشده بودن، ID شناسه مبدأ شیء است.
- •
- Metadata متادیتای اختصاصی بکاند است، همانطور که در مستندات بکاند شرح داده شده است.
-
{ "SrcFs": "gdrive:", "SrcFsType": "drive", "DstFs": "newdrive:user", "DstFsType": "onedrive", "Remote": "test.txt", "Size": 6, "MimeType": "text/plain; charset=utf-8", "ModTime": "2022-10-11T17:53:10.286745272+01:00", "IsDir": false, "ID": "xyz", "Metadata": { "btime": "2022-10-11T16:53:11Z", "content-type": "text/plain; charset=utf-8", "mtime": "2022-10-11T17:53:10.286745272+01:00", "owner": "user1@domain1.com", "permissions": "...", "description": "my nice file", "starred": "false" } }
سپس برنامه باید ورودی را طبق نیاز ویرایش کرده و به STDOUT ارسال نماید. فیلد بازگرداندهشده Metadata بهطور کامل برای شیء مقصد اعمال خواهد شد. هر فیلد دیگری نادیده گرفته خواهد شد. توجه داشته باشید که در این مثال، نامهای کاربری و مجوزها را تبدیل کرده و متنی را به توضیحات اضافه میکنیم:
-
{ "Metadata": { "btime": "2022-10-11T16:53:11Z", "content-type": "text/plain; charset=utf-8", "mtime": "2022-10-11T17:53:10.286745272+01:00", "owner": "user1@domain2.com", "permissions": "...", "description": "my nice file [migrated from domain1]", "starred": "false" } } فرادادهها را میتوان در اینجا نیز حذف کرد.
یک برنامه نمونه پایتون برای پیادهسازی تبدیلهای بالا میتواند چیزی شبیه به این باشد:
-
import sys, json i = json.load(sys.stdin) metadata = i["Metadata"] # Add tag to description if "description" in metadata: metadata["description"] += " [migrated from domain1]" else: metadata["description"] = "[migrated from domain1]" # Modify owner if "owner" in metadata: metadata["owner"] = metadata["owner"].replace("domain1.com", "domain2.com") o = { "Metadata": metadata } json.dump(o, sys.stdout, indent="\t")
میتوانید این مثال را (کمی گسترشیافتهتر) در کد منبع rclone در bin/test_metadata_mapper.py (https://github.com/rclone/rclone/blob/master/bin/test_metadata_mapper.py) بیابید.
اگر میخواهید ورودی نگاشتکننده فراداده و خروجی بازگرداندهشده از آن را در گزارش لاگ ببینید، میتوانید از -vv --dump mapper استفاده کنید.
برای اطلاعات بیشتر، بخش metadata را ببینید.
--metadata-set stringArray
مقدار را به صورت رشتهای در قالب key=value مشخص کنید تا هنگام بارگذاری، فراداده key با مقدار value افزوده شود. این گزینه را میتوان به هر تعداد دفعه که لازم است تکرار کرد. برای اطلاعات بیشتر، بخش metadata را ببینید.
--modify-window Duration
هنگام بررسی اینکه آیا فایلی تغییر یافته است یا خیر، این گزینه حداکثر اختلاف زمانی مجاز را تعیین میکند که فایلی میتواند داشته باشد و همچنان یکسان در نظر گرفته شود.
مقدار پیشفرض 1ns است، مگر اینکه توسط یک ریموت لغو شود. برای مثال OS X زمانهای تغییر را تنها تا نزدیکترین ثانیه ذخیره میکند، بنابراین اگر در حال خواندن و نوشتن روی یک سیستم فایل OS X هستید، این مقدار بهطور پیشفرض 1s خواهد بود.
این پرچم خط فرمان به شما اجازه میدهد آن مقدار پیشفرض محاسبهشده را لغو کنید.
--multi-thread-write-buffer-size SizeSuffix
هنگام انتقال با چند رشته، rclone برای هر رشته تعداد بایتهای مشخصشده را پیش از نوشتن روی دیسک، در حافظه بافر میکند.
این کار میتواند عملکرد را بهبود بخشد چنانچه سیستم فایل زیربنایی با تعداد زیادی نوشتنهای کوچک در موقعیتهای مختلف فایل به خوبی کنار نمیآید؛ بنابراین اگر متوجه شدید که سرعت انتقال به دلیل سرعت نوشتن دیسک محدود شده است، شاید بخواهید مقادیر مختلفی را آزمایش کنید. بهویژه برای درایوهای مغناطیسی و سیستمهای فایل ریموت، مقداری بالاتر میتواند مفید باشد.
با این حال، مقدار پیشفرض 128k باید تقریباً برای همه کاربردها مناسب باشد، بنابراین پیش از تغییر آن مطمئن شوید که شبکه گلوگاه واقعی شما نباشد.
به عنوان یک نکته پایانی، اندازه تنها عامل نیست: اندازه بلوک (یا مفهوم مشابه) میتواند تأثیرگذار باشد. در یک مورد، مشاهده کردیم که مضارب دقیق 16k بسیار بهتر از سایر مقادیر عمل کردند.
--multi-thread-chunk-size SizeSuffix
بهطور معمول اندازه تکه برای انتقالهای چندرشتهای توسط بکاند تعیین میشود. با این حال، برخی از بکاندها مانند local و smb (که OpenWriterAt را پیادهسازی میکنند اما OpenChunkWriter را خیر) اندازه تکه ذاتی ندارند.
در این حالت، از مقدار این گزینه استفاده میشود (پیشفرض 64Mi)..SS --multi-thread-cutoff SizeSuffix
هنگام انتقال فایلهای با اندازه بیش از مقدار مشخصشده به backendهای دارای قابلیت، rclone برای انتقال فایل از چندین رشته (thread) استفاده میکند (پیشفرض 256M).
backendهای دارای قابلیت در بخش نمای کلی (https://rclone.org/overview/#optional-features) با برچسب MultithreadUpload مشخص شدهاند. (آنها باید یکی از رابطهای داخلی OpenWriterAt یا OpenChunkWriter را پیادهسازی کنند). در زمان نگارش این مستند، این موارد شامل local، s3، azureblob، b2، oracleobjectstorage و smb هستند.
روی دیسک محلی، rclone ابتدا فایل را پیشتخصیص (preallocate) میدهد (با استفاده از fallocate(FALLOC_FL_KEEP_SIZE) در یونیکس یا NTSetInformationFile در ویندوز که اجرای هر دوی آنها زمانی نمیبرد)، سپس هر رشته مستقیماً در محل صحیح فایل مینویسد. این بدان معناست که rclone فایلهای تکهتکهشده (fragmented) یا تُنُک (sparse) ایجاد نخواهد کرد و در پایان انتقال، هیچ زمانی صرف سرهمبندی فایل نخواهد شد.
تعداد رشتههای مورد استفاده برای انتقال توسط --multi-thread-streams کنترل میشود.
اگر مایلید اطلاعات مربوط به رشتهها را مشاهده کنید، از -vv استفاده نمایید.
این قابلیت با دستورهای sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) و move (https://rclone.org/commands/rclone_move) و همچنین دستورهای مشابه copyto (https://rclone.org/commands/rclone_copyto) و moveto (https://rclone.org/commands/rclone_moveto) کار میکند. در صورتی که مقدار --vfs-cache-mode روی writes یا بالاتر تنظیم شده باشد، انتقالهای چندرشتهای در rclone mount و rclone serve نیز به کار گرفته خواهند شد.
بیشتر انتقالهای چندرشتهای حافظه اضافی مصرف نمیکنند، اما برخی از آنها چرا (برای نمونه بارگذاری در s3). در بدترین حالت، مصرف حافظه حداکثر میتواند برابر با --transfers * --multi-thread-chunk-size * --multi-thread-streams یا بهطور خاص برای backend اس۳ برابر با --transfers * --s3-chunk-size * --s3-concurrency باشد. با این حال، میتوانید از گزینه --max-buffer-memory (https://rclone.org/docs/#max-buffer-memory) برای کنترل حداکثر حافظه مصرفی در اینجا استفاده کنید.
توجه: این ویژگی فقط زمانی عمل میکند که مقصد از backendهای پشتیبانیشده باشد، اما به عنوان مبدأ با هر backend کار خواهد کرد.
توجه: کپیهای چندرشتهای برای حالت محلی به محلی (local to local) غیرفعال هستند زیرا بدون آن سریعتر انجام میشوند، مگر اینکه --multi-thread-streams به صورت صریح تنظیم شده باشد.
توجه: در ویندوز، استفاده از انتقالهای چندرشتهای به دیسک محلی باعث میشود فایلهای خروجی به صورت تُنُک (sparse) (https://en.wikipedia.org/wiki/Sparse_file) درآیند. برای غیرفعال کردن فایلهای تُنُک از --local-no-sparse استفاده کنید (که ممکن است باعث تأخیرهای طولانی در ابتدای انتقال شود) یا با --multi-thread-streams 0 انتقالهای چندرشتهای را غیرفعال نمایید.
--multi-thread-streams int
هنگام استفاده از انتقالهای چندرشتهای (به گزینه بالا --multi-thread-cutoff مراجعه کنید) این گزینه تعداد جریانها (streams) مورد استفاده را تنظیم میکند. برای غیرفعال کردن انتقالهای چندرشتهای مقدار را برابر 0 قرار دهید (پیشفرض 4).
اگر backend دارای تنظیمات --backend-upload-concurrency باشد (مانند --s3-upload-concurrency)، چنانچه مقدار آن بزرگتر از --multi-thread-streams باشد یا --multi-thread-streams تعیین نشده باشد، به جای آن از این مقدار به عنوان تعداد انتقالها استفاده خواهد شد.
--name-transform stringArray
گزینه --name-transform امکان تبدیل نام مسیر را برای دستورهای rclone copy، rclone sync و rclone move فراهم میکند. این تبدیلها تغییر نام فایلهای مبدأ و مقصد را با اعمال پیشوندها، پسوندها و سایر دگرگونیها در طول عملیات انتقال امکانپذیر میسازند. برای مشاهده مستندات جامع و مثالها، ببینید: convmv (https://rclone.org/commands/rclone_convmv).
--no-check-dest
گزینه --no-check-dest میتواند همراه با move یا copy استفاده شود و باعث میشود rclone در زمان کپی فایلها مقصد را اصلاً بررسی نکند.
این بدان معناست که:
- •
- فهرست فایلهای مقصد خوانده نمیشود که فراخوانیهای API را به حداقل میرساند
- •
- فایلها همیشه منتقل میشوند
- •
- این امر میتواند در ریموتهایی که اجازه فایل تکراری میدهند (مانند Google Drive) باعث ایجاد موارد همنام و تکراری شود
- •
- استفاده از --retries 1 توصیه میشود، چرا که در غیر این صورت در صورت تلاش مجدد (retry)، همهچیز دوباره منتقل خواهد شد
اگر مطمئن هستید هیچیک از فایلها در مقصد وجود ندارند، این پرچم برای به حداقل رساندن تراکنشها بسیار کاربردی است.
این یک پرچم تخصصی است و بیشتر کاربران باید از آن صرفنظر کنند!.SS --no-gzip-encoding
سرآیند Accept-Encoding: gzip را تنظیم نمیکند. این بدین معناست که rclone بهطور خودکار از کارساز درخواست فایلهای فشرده نخواهد کرد. زمانی کاربرد دارد که کارساز را طوری تنظیم کرده باشید تا فایلها را با Content-Encoding: gzip برگرداند، اما خودتان فایلهای فشرده بارگذاری کرده باشید.
در کارکرد عادی نیازی به تنظیم این گزینه نیست، و انجام آن بازدهی انتقال شبکه rclone را کاهش میدهد.
--no-traverse
پرچم --no-traverse کنترل میکند که آیا هنگام استفاده از دستورهای copy یا move، سامانه فایل مقصد پیمایش شود یا خیر. --no-traverse با sync سازگار نیست و در صورت ارائه به همراه sync نادیده گرفته خواهد شد.
اگر تنها تعداد کمی از فایلها را رونوشت میکنید (یا بیشتر فایلها را فیلتر میکنید) و/یا تعداد زیادی فایل در مقصد دارید، آنگاه --no-traverse مانع از فهرست کردن مقصد توسط rclone شده و در زمان صرفهجویی میکند.
با این حال، اگر تعداد زیادی فایل را رونوشت میکنید، بهویژه در رونوشتهایی که بسیاری از فایلهای مد نظر تغییر نکردهاند و نیازی به رونوشت ندارند، نباید از --no-traverse استفاده کنید.
برای نمونهای از نحوه استفاده از آن، rclone copy (https://rclone.org/commands/rclone_copy) را ببینید.
--no-unicode-normalization
نویسههای یونیکد را در نام فایلها در طول فرایند همگامسازی عادیسازی (normalize) نکن.
گاهی اوقات یک سیستمعامل نام فایلهای حاوی بخشهای یونیکد را در شکل تجزیهشده (decomposed) ذخیره میکند (بهویژه macOS). برخی سامانههای ذخیرهسازی ابری ممکن است سپس یونیکد را دوباره ترکیب (recompose) کنند، که اگر دادهها مجدداً به سامانه فایل محلی رونوشت شوند، به ایجاد فایلهای تکراری منجر میشود.
استفاده از این پرچم این قابلیت را غیرفعال کرده و با هر نویسه یونیکد به عنوان یک نویسه یکتا رفتار میکند. برای نمونه، بهطور پیشفرض é و é به یک نویسه یکسان عادیسازی میشوند. با --no-unicode-normalization با آنها به عنوان نویسههای مجزا و یکتا رفتار خواهد شد.
--no-update-modtime
هنگام استفاده از این پرچم، rclone زمان تغییر (modification time) فایلهای دوردست (remote) را در صورت نادرست بودن، برخلاف حالت عادی بهروزرسانی نخواهد کرد.
این پرچم میتواند زمانی استفاده شود که ریموت توسط ابزار دیگری نیز همگامسازی میشود (برای نمونه، کلاینت Google Drive).
--no-update-dir-modtime
هنگام استفاده از این پرچم، rclone زمان تغییر دایرکتوریهای دوردست را در صورت نادرست بودن، برخلاف حالت عادی بهروزرسانی نخواهد کرد.
--order-by string
پرچم --order-by ترتیبی را که فایلهای موجود در صف انتظار (backlog) در rclone sync، rclone copy و rclone move پردازش میشوند، کنترل میکند.
رشته مرتبسازی به این صورت ساخته میشود. بخش نخست معیاری را که اندازهگیری میشود توصیف میکند:
- •
- size - مرتبسازی بر اساس اندازه فایلها
- •
- name - مرتبسازی بر اساس مسیر کامل فایلها
- •
- modtime - مرتبسازی بر اساس تاریخ تغییر فایلها
این مقدار میتواند یک اصلاحکننده داشته باشد که با یک ویرگول به آن پیوست میشود:
- •
- ascending یا asc - مرتبسازی بهگونهای که کوچکترین (یا قدیمیترین) ابتدا پردازش شود
- •
- descending یا desc - مرتبسازی بهگونهای که بزرگترین (یا جدیدترین) ابتدا پردازش شود
- •
- mixed - مرتبسازی بهگونهای که برای برخی رشتهها (threads) کوچکترین ابتدا پردازش شود و برای برخی دیگر بزرگترین
اگر اصلاحکننده mixed باشد، میتواند یک درصد اختیاری نیز داشته باشد (که مقدار پیشفرض آن 50 است)، مانند: size,mixed,25 که بدین معناست ۲۵٪ از رشتهها باید کوچکترین موارد و ۷۵٪ بزرگترینها را بردارند. رشتههایی که کوچکترین را ابتدا برمیدارند همواره کوچکترین را در اولویت قرار میدهند و رشتههای اولویتدهنده به بزرگترینها نیز به همین ترتیب عمل میکنند. حالت mixed میتواند برای به حداقل رساندن زمان انتقال هنگام انتقال ترکیبی از فایلهای بزرگ و کوچک مفید باشد - فایلهای بزرگ تضمین دریافت رشتههای بارگذاری و پهنای باند را دارند و فایلهای کوچک بهطور مداوم پردازش خواهند شد.
اگر هیچ اصلاحکنندهای ارائه نشود، ترتیب بهصورت ascending خواهد بود.
برای نمونه:
- •
- --order-by size,desc - ابتدا بزرگترین فایلها ارسال شوند
- •
- --order-by modtime,ascending - ابتدا قدیمیترین فایلها ارسال شوند
- •
- --order-by name - ابتدا فایلها بر اساس ترتیب الفبایی مسیر ارسال شوند
اگر پرچم --order-by ارائه نشود یا با یک رشته خالی مشخص گردد، از ترتیب پیشفرض استفاده خواهد شد که همان ترتیب اسکن است. با --checkers 1 این ترتیب بیشتر الفبایی است، اما با مقدار پیشفرض --checkers 8 تا حدی تصادفی خواهد بود..SS محدودیتها (Limitations)
گزینهٔ --order-by یک پیمایش جداگانه روی دادهها انجام نمیدهد. این بدان معناست که در شرایط زیر ممکن است برخی از فایلها را خارج از ترتیب مشخصشده منتقل کند:
- •
- هیچ فایلی در صف انتظار وجود نداشته باشد یا مبدأ هنوز بهطور کامل پویش نشده باشد
- •
- بیش از مقدار --max-backlog فایل در صف انتظار وجود داشته باشد
برنامهٔ rclone تمام تلاش خود را میکند تا مناسبترین فایل در دسترس را منتقل کند، بنابراین در عمل این موضوع نباید مشکلی ایجاد نماید. گزینهٔ --order-by را بیشتر به عنوان گزینهای مبتنی بر «حداکثر تلاش» در نظر بگیرید تا ترتیبی بینقص و قطعی.
اگر ترتیبی بینقص میخواهید، باید --check-first را مشخص کنید که ابتدا پیش از انتقال هر فایلی، تمام فایلهایی را که نیاز به انتقال دارند مییابد.
--partial-suffix string
هنگامی که از --inplace استفاده نمیشود، باعث میشود rclone از --partial-suffix به عنوان پسوند فایلهای موقت استفاده کند.
محدودیت طول پسوند ۱۶ نویسه است.
مقدار پیشفرض .partial است.
--password-command SpaceSepList
این گزینه برنامهای را مشخص میکند که هنگام اجرا گذرواژهٔ پیکربندی را ارائه میدهد. این روش جایگزینی برای درخواست تعاملی گذرواژه توسط rclone یا تنظیم متغیر RCLONE_CONFIG_PASS است. همچنین هنگام تنظیم گذرواژهٔ پیکربندی برای نخستین بار نیز به کار میرود.
آرگومان این گزینه باید دستوری به همراه فهرستی از آرگومانها باشد که با فاصله از هم جدا شدهاند. اگر یکی از آرگومانها شامل فاصله است، آن را داخل " قرار دهید؛ اگر میخواهید نویسهٔ صریح " را درون یک آرگومان قرار دهید، آن آرگومان را درون " محصور کرده و " را دو بار تکرار کنید. برای اطلاعات بیشتر، کدگذاری CSV (https://godoc.org/encoding/csv) را ببینید.
برای مثال:
-
--password-command "echo hello" --password-command 'echo "hello with space"' --password-command 'echo "hello with ""quotes"" and space"'
توجه داشته باشید که هنگام تغییر گذرواژهٔ پیکربندی، متغیر محیطی RCLONE_PASSWORD_CHANGE=1 تنظیم خواهد شد. از این متغیر میتوان برای تفکیک رمزگشایی اولیهٔ فایل پیکربندی از گذرواژهٔ جدید استفاده کرد.
برای اطلاعات بیشتر به بخش رمزنگاری پیکربندی (Configuration Encryption) مراجعه کنید.
یک مثال از Windows PowerShell را در ویکی (https://github.com/rclone/rclone/wiki/Windows-Powershell-use-rclone-password-command-for-Config-file-password) ببینید.
-P, --progress
این گزینه باعث میشود rclone آمارها را در یک بلوک ثابت در ترمینال بهروزرسانی کند و نمایی بیدرنگ و همزمان از فرایند انتقال ارائه دهد.
هرگونه پیام گزارش (log) در بالای این بلوک ثابت پیمایش خواهد شد. پیامهای گزارش، بلوک ثابت را به سمت پایینترین بخش ترمینال میرانند تا در آنجا باقی بماند.
بهطور معمول این وضعیت هر ۵۰۰ میلیثانیه بهروزرسانی میشود، اما این دورهٔ زمانی را میتوان با گزینهٔ --stats لغو و بازنویسی کرد.
این گزینه میتواند برای داشتن نمایشی سادهتر به همراه گزینهٔ --stats-one-line استفاده شود.
برای تغییر طول نمایش نام فایلها (متناسب با عرضهای مختلف ترمینال)، گزینهٔ --stats-file-name-length را ببینید. خروجی پیشفرض برای ترمینالهایی با عرض ۸۰ نویسه قالببندی شده است.
نکته: در ویندوز تا زمانی که این باگ (https://github.com/Azure/go-ansiterm/issues/26) برطرف نشود، هنگام استفاده از --progress همهٔ نویسههای غیر ASCII با . جایگزین خواهند شد..SS --progress-terminal-title
این پرچم، هنگام استفاده همراه با -P/--progress، رشتهٔ ETA: %s را در عنوان ترمینال چاپ خواهد کرد.
-q, --quiet
این پرچم خروجی rclone را فقط به پیامهای خطا محدود میکند.
--refresh-times
پرچم --refresh-times میتواند برای بهروزرسانی زمان ویرایش فایلهای موجود، هنگامی که در بکاندهای فاقد پشتیبانی از هش ناهماهنگ هستند، استفاده شود.
این ویژگی زمانی مفید است که فایلها را با برچسبهای زمانی نادرست بارگذاری کردهاید و اکنون میخواهید آنها را تصحیح کنید.
این پرچم تنها برای مقصدهایی مفید است که از هش پشتیبانی نمیکنند (مانند crypt).
این گزینه را میتوان با هر یک از دستورهای همگامسازی sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move) استفاده کرد.
برای استفاده از این پرچم باید همگامسازی بر اساس زمان ویرایش را انجام دهید (بنابراین نباید از --size-only یا --checksum استفاده کنید). این پرچم در صورت استفاده از --size-only یا --checksum هیچ تأثیری نخواهد داشت.
اگر از این پرچم استفاده شود، هنگامی که rclone اقدام به بارگذاری فایلی میکند، وجود فایل مشابه در مقصد را بررسی خواهد کرد. اگر اندازهٔ این فایل (و در صورت وجود، چِکسام آن) با منبع مطابقت داشته باشد اما برچسب زمانی متفاوتی داشته باشد، rclone به جای بارگذاری مجدد، برچسب زمانی را روی فایل مقصد بهروزرسانی میکند. اگر چِکسام مطابقت نداشته باشد، rclone فایل جدید را بارگذاری خواهد کرد. اگر چِکسام وجود نداشته باشد (مانند یک بکاند crypt)، rclone برچسب زمانی را بهروزرسانی میکند.
توجه داشته باشید که برخی ریموتها نمیتوانند زمان ویرایش را بدون بارگذاری مجدد فایل تنظیم کنند، بنابراین این پرچم در آنها چندان کاربردی ندارد.
بهطور معمول، اگر در حال انجام همگامسازی بر اساس زمان ویرایش باشید، rclone بدون --refresh-times نیز زمانهای ویرایش را بهروزرسانی میکند، به شرطی که ریموت از چِکسامها پشتیبانی کند و چِکسامهای فایل مطابقت داشته باشند. با این حال، اگر چِکسامها موجود نباشند، rclone به جای تنظیم برچسب زمانی، فایل را بارگذاری خواهد کرد، زیرا این رفتار ایمن است.
--retries int
در صورت بروز خطا، کل عملیات همگامسازی را به این تعداد دفعات مجدداً تکرار میکند (پیشفرض: ۳).
برخی ریموتها ممکن است غیرقابل اعتماد باشند و چند بار تلاش مجدد کمک میکند فایلهایی که به دلیل خطا منتقل نشدهاند، دوباره دریافت و منتقل شوند.
تلاشهای مجدد را میتوانید با --retries 1 غیرفعال کنید.
--retries-sleep Duration
فاصلهٔ زمانی بین هر بار تلاش مجدد مشخصشده توسط --retries را تعیین میکند.
پیشفرض 0 است. برای غیرفعال کردن از 0 استفاده کنید.
--server-side-across-configs
اجازه میدهد عملیاتهای سمت سرور (مانند copy یا move) بین پیکربندیهای مختلف کار کنند.
این گزینه زمانی مفید است که بخواهید یک copy یا move سمت سرور را بین دو ریموت که از یک بکاند یکسان استفاده میکنند اما به روش متفاوتی پیکربندی شدهاند، انجام دهید.
توجه داشته باشید که این ویژگی بهطور پیشفرض فعال نیست، زیرا برای rclone آسان نیست که تشخیص دهد آیا این عملیات بین هر دو پیکربندی دلخواه کار خواهد کرد یا خیر.
--size-only
بهطور معمول rclone برای بررسی یکسان بودن فایلها، زمان ویرایش و اندازهٔ آنها را بررسی میکند. اگر این پرچم را تنظیم کنید، rclone تنها اندازه را بررسی خواهد کرد.
این گزینه هنگام انتقال فایلها از Dropbox که توسط کلاینت دسکتاپ تغییر یافتهاند و چِکسامها یا زمانهای ویرایش را همانند rclone تنظیم نمیکند، میتواند مفید باشد..SS --stats Duration
دستوراتی که داده انتقال میدهند (sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy)، copyto (https://rclone.org/commands/rclone_copyto)، move (https://rclone.org/commands/rclone_move)، moveto (https://rclone.org/commands/rclone_moveto)) آمار انتقال داده را در بازههای زمانی منظم برای نمایش پیشرفت چاپ میکنند.
این گزینه بازه زمانی را تنظیم میکند.
مقدار پیشفرض 1m است. برای غیرفعال کردن از 0 استفاده کنید.
اگر بازه زمانی آمار را تنظیم کنید، همه دستورات میتوانند آمار را نمایش دهند. این قابلیت هنگام اجرای دستورات دیگر، مانند check یا mount، میتواند مفید باشد.
آمارها بهطور پیشفرض در سطح INFO ثبت میشوند که به این معنی است در سطح لاگ پیشفرض یعنی NOTICE نمایش داده نخواهند شد. برای نمایش آنها از --stats-log-level NOTICE یا -v استفاده کنید. برای اطلاعات بیشتر درباره سطوح لاگ، بخش گزارشگیری (logging) را ببینید.
توجه داشته باشید که در macOS میتوانید یک سیگنال SIGINFO (که معمولاً در ترمینال با ctrl-T ارسال میشود) بفرستید تا آمار بلافاصله چاپ شود.
--stats-file-name-length int
بهطور پیشفرض، خروجی --stats نام فایلها و مسیرهای طولانیتر از ۴۰ نویسه را کوتاه میکند. این رفتار معادل ارائه --stats-file-name-length 40 است. برای غیرفعال کردن هرگونه کوتاهسازی نام فایلهای چاپشده توسط آمار، از --stats-file-name-length 0 استفاده کنید.
--stats-log-level LogLevel
سطح گزارشگیری برای نمایش خروجی --stats. این مقدار میتواند DEBUG، INFO، NOTICE یا ERROR باشد. پیشفرض INFO است. این بدان معناست که در سطح پیشفرض وقایعنگاری، یعنی NOTICE، آمار نمایش داده نمیشود - اگر میخواهید نمایش داده شود از --stats-log-level NOTICE استفاده کنید. برای جزئیات بیشتر درباره سطوح وقایعنگاری، بخش logging را ببینید.
--stats-one-line
هنگامی که این گزینه مشخص شود، rclone آمار را در یک خط خلاصه کرده و تنها مهمترین آمارها را نمایش میدهد.
--stats-one-line-date
هنگامی که این گزینه مشخص شود، rclone آمار تکخطی را فعال کرده و یک رشته تاریخ را در ابتدای نمایش قرار میدهد. پیشفرض 2006/01/02 15:04:05 - است.
--stats-one-line-date-format string
هنگامی که این گزینه مشخص شود، rclone آمار تکخطی را فعال کرده و یک رشته تاریخ دلخواه ارائهشده توسط کاربر را در ابتدای نمایش قرار میدهد. رشته تاریخ حتماً باید داخل گیومه قرار گیرد. برای نحو قالببندی تاریخ از مشخصات golang (https://golang.org/pkg/time/#Time.Format) پیروی کنید.
--stats-unit string
بهطور پیشفرض، نرخهای انتقال داده بر حسب بایت بر ثانیه چاپ میشوند که معادل --stats-unit bytes است.
این گزینه با مشخص کردن --stats-unit bits، امکان چاپ نرخ داده بر حسب بیت بر ثانیه را فراهم میکند. حجم داده منتقلشده همچنان بر حسب بایت گزارش خواهد شد.
نرخ انتقال بر پایه واحد دودویی (باینری) گزارش میشود، نه واحد SI. بنابراین 1 Mbit/s برابر با ۱٬۰۴۸٬۵۷۶ bit/s است و نه ۱٬۰۰۰٬۰۰۰ bit/s.
--suffix string
هنگام استفاده از sync (https://rclone.org/commands/rclone_sync)، copy (https://rclone.org/commands/rclone_copy) یا move (https://rclone.org/commands/rclone_move)، پسوند مشخصشده به هر فایلی که ممکن بود بازنویسی یا حذف شود اضافه خواهد شد. اگر فایلی با همان مسیر (پس از اضافه شدن پسوند) از قبل وجود داشته باشد، بازنویسی خواهد شد.
ریموت مورد استفاده باید از move یا copy سمت سرور پشتیبانی کند و باید از همان ریموت به عنوان مقصد sync استفاده کنید.
این گزینه برای استفاده با فایلها جهت اضافه کردن پسوند در دایرکتوری جاری یا به همراه --backup-dir کاربرد دارد. برای اطلاعات بیشتر --backup-dir را ببینید.
برای مثال
-
rclone copy --interactive /path/to/local/file remote:current --suffix .bak
فایلهای /path/to/local را در remote:current کپی میکند، اما به انتهای نام هر فایلی که قرار بود بهروزرسانی یا حذف شود، پسوند .bak را اضافه میکند.
اگر از rclone sync به همراه --suffix و بدون --backup-dir استفاده میکنید، توصیه میشود یک قاعده فیلتر برای مستثنی کردن پسوند قرار دهید؛ در غیر این صورت دستور sync فایلهای پشتیبان را حذف خواهد کرد.
-
rclone sync --interactive /path/to/local/file remote:current --suffix .bak --exclude "*.bak"
هنگام استفاده از --suffix، فعالسازی این گزینه باعث میشود rclone پسوند تعیینشده توسط SUFFIX را به جای بعد از پسوند فایلهای پشتیبانگیری شده، قبل از پسوند آنها قرار دهد.
بنابراین فرض کنید از --suffix -2019-01-01 استفاده کنیم؛ بدون این پرچم، از file.txt با نام file.txt-2019-01-01 پشتیبان گرفته میشود و با این پرچم به file-2019-01-01.txt پشتیبانگیری خواهد شد. این ویژگی میتواند برای اطمینان از اینکه فایلهای دارای پسوند کمکی همچنان باز میشوند، مفید باشد.
اگر فایلی دو (یا چند) پسوند داشته باشد و دومین (یا پسوند بعدی) به عنوان یک نوع MIME معتبر شناخته شود، پسوند پشتیبان قبل از آن پسوند قرار خواهد گرفت. بنابراین از file.tar.gz به صورت file-2019-01-01.tar.gz پشتیبانگیری میشود، در حالی که file.badextension.gz به صورت file.badextension-2019-01-01.gz ذخیره خواهد شد.
--syslog
در سیستمعاملهای پشتیبانیکننده (بهجز Windows یا Plan9)، تمام خروجی لاگها را به syslog ارسال میکند.
این گزینه میتواند برای اجرای rclone درون یک اسکریپت یا هنگام استفاده از rclone mount مفید باشد.
--syslog-facility string
در صورت استفاده از --syslog، این گزینه بخش لاگاندازی (syslog facility) مانند KERN یا USER را مشخص میکند. برای مشاهده فهرست گزینههای ممکن، man syslog را ببینید. بخش پیشفرض DAEMON است.
--temp-dir string
دایرکتوری مورد استفاده rclone برای فایلهای موقت را مشخص میکند تا جایگزین مقدار پیشفرض شود. مطمئن شوید که دایرکتوری وجود دارد و مجوزهای دسترسی لازم را داراست.
به طور پیشفرض، دایرکتوری موقت سیستمعامل استفاده خواهد شد:
- •
- در سیستمهای یونیکس، اگر $TMPDIR خالی نباشد از آن، وگرنه از /tmp.
- •
- در ویندوز، نخستین مقدار غیرخالی از میان %TMP%، %TEMP%، %USERPROFILE%، یا دایرکتوری ویندوز.
هنگامی که مقدار پیشفرض با این گزینه بازنویسی شود، مسیر مشخصشده به عنوان مقدار متغیر محیطی TMPDIR در سیستمهای یونیکس و TMP و TEMP در ویندوز تنظیم خواهد شد.
میتوانید از دستور config paths (https://rclone.org/commands/rclone_config_paths) برای مشاهده مقدار فعلی استفاده کنید.
--tpslimit float
تعداد تراکنشها در ثانیه را به این مقدار محدود میکند. مقدار پیشفرض 0 است که به معنای تراکنش نامحدود در ثانیه است.
یک تراکنش تقریباً به عنوان یک فراخوانی API تعریف میشود؛ مفهوم دقیق آن به بکاند بستگی دارد. برای بکاندهای مبتنی بر HTTP، شامل یک درخواست مانند HTTP PUT/GET/POST و پاسخ آن است. برای FTP/SFTP، یک تراکنش رفت و برگشتی بر روی پروتکل TCP است.
برای مثال، جهت محدود کردن rclone به ۱۰ تراکنش در هر ثانیه از --tpslimit 10، یا برای ۱ تراکنش در هر ۲ ثانیه از --tpslimit 0.5 استفاده کنید.
زمانی از این گزینه استفاده کنید که تعداد تراکنشهای rclone در هر ثانیه باعث بروز مشکل در ارائهدهنده فضای ذخیرهسازی ابری شود (برای مثال، منجر به مسدود شدن یا محدودیت نرخ/rate limit گردد).
این گزینه میتواند هنگام اجرای rclone mount جهت کنترل رفتار برنامههای مصرفکننده بسیار مفید باشد.
این محدودیت روی تمامی بکاندهای مبتنی بر HTTP و همچنین بکاندهای FTP و SFTP اعمال میشود. بر روی بکاند محلی (local) یا بکاند Storj اعمال نخواهد شد.
همچنین --tpslimit-burst را ببینید.
--tpslimit-burst int
حداکثر جهش ناگهانی (burst) تراکنشها برای --tpslimit (پیشفرض 1).
به طور معمول --tpslimit دقیقاً همان تعداد تراکنش در ثانیه تعیینشده را انجام میدهد. اما اگر --tps-burst را تعیین کنید، rclone میتواند تعدادی از تراکنشهای استفادهنشده در زمان بیکاری را ذخیره کند و جهشی تا سقف مقدار ارائهشده ایجاد نماید.
برای مثال اگر --tpslimit-burst 10 را تعیین کنید، چنانچه rclone برای مدتی بیش از 10*--tpslimit بیکار مانده باشد، میتواند ۱۰ تراکنش را بسیار سریع پیش از اینکه دوباره محدود شوند، به انجام برساند.
این ویژگی برای افزایش کارایی --tpslimit بدون تغییر میانگین بلندمدت تعداد تراکنشها در ثانیه به کار میرود..SS --track-renames
بهطور پیشفرض، rclone تغییر نام فایلها را دنبال نمیکند؛ بنابراین اگر نام یک فایل را بهصورت محلی تغییر دهید و سپس آن را در یک ریموت همگامسازی کنید، rclone فایل قدیمی را در ریموت حذف کرده و نسخه جدیدی را بارگذاری میکند.
یک همگامسازی rclone با گزینه --track-renames مانند یک همگامسازی عادی اجرا میشود، اما اشیایی را که در مقصد وجود دارند ولی در مبدأ نیستند (که معمولاً حذف میشوند) و اشیایی را که در مبدأ وجود دارند ولی در مقصد نیستند (که معمولاً منتقل میشوند) رهگیری میکند. این اشیاء سپس نامزد تغییر نام در نظر گرفته میشوند.
پس از همگامسازی، rclone اشیاء فقط-مبدأ و فقط-مقصد را با استفاده از --track-renames-strategy مشخصشده مطابقت میدهد و یا نام شیء مقصد را تغییر میدهد یا شیء مبدأ را منتقل کرده و شیء مقصد را حذف میکند. گزینه --track-renames مانند تمام همگامسازیهای rclone بدون وضعیت (stateless) است.
برای استفاده از این پرچم، مقصد باید از کپی سمت سرور (server-side copy) یا انتقال سمت سرور (server-side move) پشتیبانی کند، و برای استفاده از یک --track-renames-strategy مبتنی بر هش (پیشفرض)، مبدأ و مقصد باید هش سازگار داشته باشند.
اگر مقصد از کپی یا انتقال سمت سرور پشتیبانی نکند، rclone به رفتار پیشفرض بازمیگردد و پیامی در سطح خطا (error) در کنسول ثبت میکند.
در صورتی که --track-renames-strategy شامل hash باشد، مقصدهای رمزنگاریشده در حال حاضر توسط --track-renames پشتیبانی نمیشوند.
توجه داشته باشید که --track-renames با --no-traverse ناسازگار است و برای رهگیری تمام گزینههای نامزد تغییر نام، حافظه اضافی مصرف میکند.
همچنین توجه داشته باشید که --track-renames با --delete-before ناسازگار است و به جای --delete-during، گزینه --delete-after را انتخاب خواهد کرد.
--track-renames-strategy string
این گزینه معیارهای تطبیق فایل را برای --track-renames تغییر میدهد.
تطبیق توسط مجموعهای از این نشانهها که با ویرگول از هم جدا شدهاند کنترل میشود:
- •
- modtime - زمان تغییر فایل - در همه بکاندها پشتیبانی نمیشود
- •
- hash - هش محتوای فایل - در همه بکاندها پشتیبانی نمیشود
- •
- leaf - نام فایل بدون احتساب نام پوشه آن
- •
- size - اندازه فایل (این معیار همیشه فعال است)
گزینه پیشفرض hash است.
استفاده از --track-renames-strategy modtime,leaf فایلها را تنها بر اساس زمان تغییر، نام فایل (leaf) و اندازه مطابقت میدهد.
استفاده از --track-renames-strategy modtime یا leaf میتواند پشتیبانی از --track-renames را برای مقصدهای رمزنگاریشده فعال کند.
توجه داشته باشید که راهبرد hash در مقصدهای رمزنگاریشده پشتیبانی نمیشود.
--delete-(before,during,after)
این گزینه به شما امکان میدهد مشخص کنید هنگام همگامسازی پوشهها، فایلهای موجود در مقصد در چه زمانی حذف شوند.
مشخص کردن مقدار --delete-before، تمام فایلهای موجود در مقصد که در مبدأ نیستند را پیش از شروع انتقال فایلهای جدید یا بهروزشده حذف میکند. این حالت دو گذر در سیستمهای فایل انجام میدهد؛ یکی برای حذفها و دیگری برای کپیها.
مشخص کردن --delete-during فایلها را حین بررسی و بارگذاری فایلها حذف میکند. این سریعترین گزینه است و کمترین حافظه را مصرف میکند.
مشخص کردن --delete-after (مقدار پیشفرض)، حذف فایلها را تا زمانی که همه فایلهای جدید/بهروزشده با موفقیت منتقل شوند به تعویق میاندازد. فایلهایی که باید حذف شوند در مرحله کپی جمعآوری شده و پس از تکمیل موفقیتآمیز مرحله کپی حذف میگردند. فایلهای حذفشدنی در حافظه نگه داشته میشوند، بنابراین این حالت ممکن است حافظه بیشتری مصرف کند. این امنترین حالت است، زیرا فایلها را تنها در صورتی حذف میکند که پیش از آن هیچ خطایی رخ نداده باشد. اگر پیش از شروع حذفها خطایی رخ داده باشد، پیام not deleting files as there were IO errors را دریافت خواهید کرد..SS --fast-list
هنگام انجام هر کاری که نیازمند فهرستگیری دایرکتوری است (برای نمونه sync، copy، ls - و در واقع تقریباً هر دستور دیگری)، rclone راهبردهای متفاوتی برای انتخاب در پیش دارد.
راهبرد پایهای این است که یک دایرکتوری را فهرست کرده و آن را پیش از استفاده از فهرستگیریهای بیشتر برای پردازش هر زیردایرکتوری، پردازش میکند. این یک ویژگی اجباری در backend است که List نامیده میشود، به این معنی که توسط همهٔ backendها پشتیبانی میشود. این راهبرد حافظهٔ کمی مصرف میکند و از آنجا که قابلیت موازیسازی دارد، برای عملیاتی که پردازش نتایج فهرست را در بر دارند سریع است.
برخی backendها از یک راهبرد جایگزین پشتیبانی میکنند که در آن همهٔ فایلهای موجود در زیر یک دایرکتوری را میتوان در یک (یا تعداد کمی) تراکنش فهرست کرد. نرمافزار rclone از این راهبرد جایگزین از طریق یک ویژگی اختیاری backend با نام ListR (https://rclone.org/overview/#listr) پشتیبانی میکند. میتوانید در بخش ویژگیهای اختیاری مستندات نمای کلی سیستمهای ذخیرهسازی (https://rclone.org/overview/#optional-features) ببینید که این قابلیت برای کدام backendها فعال است (اینها معمولاً موارد مبتنی بر باکت مانند S3، B2، GCS و Swift هستند). این راهبرد برای عملیات عمیقاً بازگشتی به تراکنشهای کمتری نیاز دارد، که در backendهایی که بابت این تراکنشها هزینه دریافت میکنند یا محدودیت شدید نرخ درخواست دارند بسیار حائز اهمیت است. بسته به متغیرهای گوناگون، ممکن است سریعتر باشد (به دلیل تراکنشهای کمتر) یا کندتر (چون قابل موازیسازی نیست)، و اگر rclone ناچار باشد کل فهرست را در حافظه نگه دارد، ممکن است حافظهٔ بیشتری بطلبد.
اینکه rclone کدام راهبرد فهرستگیری را برای یک عملیات مشخص انتخاب میکند پیچیده است، اما به طور کلی سعی میکند بهترین گزینهٔ ممکن را برگزیند. در شرایطی که نیازی به ذخیرهٔ فایلهای فهرستشده در حافظه نباشد، مثلاً برای انواع بازگشتی نامحدود دستور ls، اولویت را به ListR میدهد. در موقعیتهای دیگر، اولویت را به List میدهد، مثلاً برای sync و copy که نیاز دارد فایلهای فهرستشده را در حافظه نگه دارد، و در حال انجام عملیاتی روی آنهاست که موازیسازی میتواند یک مزیت بسیار بزرگ باشد.
برنامهٔ rclone قادر نیست تمام پارامترهای مرتبط را برای تصمیمگیری دربارهٔ بهترین راهبرد لحاظ کند، و بنابراین به شما امکان میدهد به دو شیوه بر این انتخاب اثر بگذارید: میتوانید با استفاده از گزینهٔ --disable ListR و غیرفعال کردن این ویژگی از بهکارگیری ListR جلوگیری کنید، یا با استفاده از گزینهٔ --fast-list به rclone اجازه دهید تا در مواردی که معمولاً به دلیل مصرف حافظهٔ بالاتر این کار را نمیکرد، از ListR استفاده کند. برنامهٔ rclone در هر دو حالت باید همواره نتایج یکسانی ایجاد کند. استفاده از --disable ListR یا --fast-list بر روی یک remote که از ListR پشتیبانی نمیکند هیچ اثری ندارد؛ rclone صرفاً آن را نادیده میگیرد.
یک قاعدهٔ سرانگشتی این است که اگر بابت تراکنشها هزینه پرداخت میکنید و میتوانید کل فهرست همگامسازی را در حافظه جای دهید، استفاده از --fast-list توصیه میشود. اگر همگامسازی بسیار بزرگی در پیش دارید، از --fast-list استفاده نکنید، چرا که در غیر این صورت با کمبود حافظه مواجه خواهید شد. پیش از تصمیمگیری چند آزمایش انجام دهید و مقایسه کنید، و در صورت تردید فقط مقدار پیشفرض را به حال خود رها کنید تا rclone خود تصمیم بگیرد؛ یعنی از --fast-list استفاده نکنید.
--timeout Duration
مهلت زمانی بیکاری (idle timeout) ورودی/خروجی (IO) را تعیین میکند. اگر یک انتقال آغاز شود اما برای این مدت زمان مشخص بیکار بماند، اتصال قطعشده و آسیبدیده تلقی میشود.
مقدار پیشفرض 5m است. برای غیرفعال کردن آن را روی 0 تنظیم کنید.
--transfers int
تعداد انتقال فایلها که به صورت موازی اجرا میشوند. گاهی اگر remote خطاهای مهلت زمانی (timeout) زیادی میدهد، تنظیم این گزینه روی یک عدد کوچکتر میتواند مفید باشد، یا اگر پهنای باند زیاد و یک remote سریع در اختیار دارید، میتوانید آن را به عدد بزرگتری افزایش دهید.
حالت پیشفرض، اجرای ۴ انتقال فایل به صورت همروند است.
اگر میخواهید انتقالهای هر فایل را به صورت تکی کنترل کنید، به --multi-thread-streams نگاهی بیندازید.
-u, --update
این گزینه rclone را وادار میکند تا از هر فایلی که در مقصد وجود دارد و زمان ویرایش آن جدیدتر از فایل مبدأ است، صرفنظر کند.
این قابلیت میتواند در جلوگیری از انتقالهای غیرضروری هنگام انتقال به یک remote که مستقیماً از زمانهای ویرایش پشتیبانی نمیکند (یا هنگام استفاده از --use-server-modtime برای اجتناب از فراخوانیهای اضافی API) بسیار مفید باشد، چرا که این شیوه دقیقتر از بررسی با --size-only و سریعتر از استفاده از --checksum است. روی چنین remoteهایی (یا هنگام استفاده از --use-server-modtime) زمانی که بررسی میشود، زمان بارگذاری (upload) خواهد بود.
اگر یک فایل موجود در مقصد زمان ویرایشی قدیمیتر از فایل مبدأ داشته باشد، در صورت متفاوت بودن اندازهها بهروزرسانی خواهد شد. اگر اندازهها یکسان باشند، در صورتی که چکسام متفاوت باشد یا در دسترس نباشد، بهروزرسانی انجام میگیرد.
اگر یک فایل موجود در مقصد زمان ویرایشی برابر (در محدودهٔ پنجرهٔ ویرایش محاسبهشده) با فایل مبدأ داشته باشد، در صورت تفاوت در اندازهها بهروزرسانی خواهد شد. در این حالت چکسام بررسی نخواهد شد مگر اینکه پرچم --checksum ارائه شده باشد.
در تمام موارد دیگر، فایل بهروزرسانی نخواهد شد.
برای backendهایی که از زمان ویرایش پشتیبانی نکرده و در عوض از زمانهای بارگذاری استفاده میکنند، بهکارگیری پرچم --modify-window را برای جبران انحراف زمانی (time skew) میان مبدأ و backend در نظر داشته باشید. با این حال، اگر backend از چکسام پشتیبانی نمیکند، توجه داشته باشید که همگامسازی یا کپی در پنجرهٔ انحراف زمانی ممکن است به جهت ایمنی همچنان منجر به انتقالهای اضافی شود..SS --use-mmap
اگر این پرچم تنظیم شود، rclone از حافظهٔ ناشناسی (anonymous memory) که توسط mmap در بسترهای مبتنی بر Unix و توسط VirtualAlloc در Windows تخصیص یافته است، برای بافرهای انتقال خود استفاده میکند (اندازه توسط --buffer-size کنترل میشود). حافظهای که بدین شکل تخصیص داده میشود وارد هیپ (heap) مربوط به Go نمیشود و پس از پایان کار میتواند بلافاصله به سیستمعامل بازگردانده شود.
اگر این پرچم تنظیم نشود، rclone بافرها را با استفاده از تخصیصدهندهٔ حافظهٔ Go تخصیص داده و آزاد میکند که ممکن است حافظهٔ بیشتری مصرف کند، زیرا صفحات حافظه با سماجت کمتری به سیستمعامل پس داده میشوند.
ممکن است این قابلیت روی همهٔ بسترها بهخوبی کار نکند، از این رو بهطور پیشفرض غیرفعال است؛ در آینده ممکن است بهصورت پیشفرض فعال شود.
--use-server-modtime
برخی از بکاندهای ذخیرهسازی شیء (مانند Swift و S3) زمان تغییر فایل (modtime) را حفظ نمیکنند. در این بکاندها، rclone زمان تغییر اصلی را بهصورت فرادادهٔ اضافی روی شیء ذخیره میکند. بهطور پیشفرض، هنگامی که یک عملیات به modtime نیاز داشته باشد، یک فراخوانی API برای بازیابی فراداده انجام میدهد.
از این پرچم برای غیرفعال کردن فراخوانی اضافی API و تکیه بر زمان تغییر سرور استفاده کنید. در مواردی مانند همگامسازی از مبدأ محلی به مقصد دوردست با استفاده از --update، دانستن اینکه فایل محلی جدیدتر از زمان آخرین بارگذاری آن به سرور دوردست است کفایت میکند. در این موارد، این پرچم میتواند روند کار را سرعت بخشیده و تعداد فراخوانیهای ضروری API را کاهش دهد.
این پرچم تنها روی برخی از بکاندها پشتیبانی میشود و در بکاندهای پشتیبانینشده در سکوت نادیده گرفته خواهد شد. بکاندهای پشتیبانیشده شامل azureblob، oracleobjectstorage، s3 و swift هستند.
استفاده از این پرچم در یک عملیات همگامسازی بدون استفادهٔ همزمان از --update باعث میشود تمام فایلهایی که در زمانی غیر از آخرین زمان بارگذاری تغییر کردهاند مجدداً بارگذاری شوند، که احتمالاً مطلوب شما نیست.
-v, -vv, --verbose
با -v برنامهٔ rclone دربارهٔ هر فایلی که انتقال مییابد و شمار اندکی از رخدادهای مهم اطلاع میدهد.
با -vv برنامهٔ rclone بسیار پرحرف شده و دربارهٔ تکتک فایلهایی که بررسی و منتقل میکند گزارش میدهد. لطفاً گزارش باگها را همراه با گزارشی با این تنظیم ارسال کنید.
هنگام تنظیم میزان پرحرفی (verbosity) با متغیر محیطی، به ترتیب از RCLONE_VERBOSE=1 یا RCLONE_VERBOSE=2 برای -v و -vv استفاده کنید.
-V, --version
شمارهٔ نسخه را چاپ میکند
گزینههای SSL/TLS
اتصالات خروجی SSL/TLS که rclone برقرار میکند را میتوان با این گزینهها کنترل کرد. بهعنوان مثال، این قابلیت میتواند با بکاندهای HTTP یا WebDAV بسیار سودمند باشد. سرورهای HTTP برنامهٔ rclone مجموعهای از پیکربندیهای اختصاصی خود را برای SSL/TLS دارند که میتوانید آنها را در مستنداتشان بیابید.
--ca-cert stringArray
این گزینه گواهیهای مرجع صدور گواهی (CA) با کدگذاری PEM را بارگذاری کرده و از آن برای اعتبارسنجی گواهیهای سرورهایی که rclone به آنها متصل میشود استفاده میکند.
اگر گواهیهایی تولید کردهاید که توسط یک CA محلی امضا شدهاند، برای اتصال به سرورهایی که از آن گواهیها استفاده میکنند به این پرچم نیاز خواهید داشت.
--client-cert string
این گزینه گواهی سمت کلاینت با کدگذاری PEM را بارگذاری میکند.
این پرچم برای احراز هویت متقابل TLS استفاده میشود (https://en.wikipedia.org/wiki/Mutual_authentication).
هنگام استفاده از این گزینه، پرچم --client-key نیز الزامی است.
--client-key string
این گزینه کلید خصوصی سمت کلاینت با کدگذاری PEM را که برای احراز هویت متقابل TLS به کار میرود بارگذاری میکند. در ترکیب با --client-cert استفاده میشود.
انواع پشتیبانیشده عبارتند از:
- •
- رمزگذارینشده PKCS#1 ("BEGIN RSA PRIVATE KEY")
- •
- رمزگذارینشده PKCS#8 ("BEGIN PRIVATE KEY")
- •
- رمزگذاریشده PKCS#8 ("BEGIN ENCRYPTED PRIVATE KEY")
- •
- رمزگذاری سنتی PEM (مانند سرآیندهای DEK-Info) که بهطور خودکار شناسایی میشوند..SS --client-pass string
این گزینه میتواند برای ارائه یک گذرواژه اختیاری جهت رمزگشایی فایل کلید کلاینت استفاده شود.
توجه: گذرواژه باید مبهمسازی (obscure) شده باشد، بنابراین باید خروجی rclone obscure YOURPASSWORD باشد.
--no-check-certificate
گزینه --no-check-certificate مشخص میکند که آیا کلاینت زنجیره گواهی و نام میزبانِ سرور را اعتبارسنجی کند یا خیر. اگر --no-check-certificate مقدار true داشته باشد، TLS هر گواهی ارائهشده توسط سرور و هر نام میزبانی در آن گواهی را میپذیرد. در این حالت، TLS در برابر حملات مرد میانی (man-in-the-middle) آسیبپذیر خواهد بود.
مقدار پیشفرض این گزینه false است.
این گزینه فقط باید برای اهداف آزمایشی استفاده شود.
رمزنگاری پیکربندی (Configuration encryption)
فایل پیکربندی شما شامل اطلاعات لازم برای ورود به سرویسهای ابری شماست. این بدان معناست که باید فایل rclone.conf خود را در مکانی امن نگه دارید.
اگر در محیطی هستید که این کار امکانپذیر نیست، میتوانید برای پیکربندی خود یک گذرواژه تعیین کنید. این امر باعث میشود که هر بار هنگام اجرای rclone مجبور به ارائه گذرواژه باشید.
برای افزودن گذرواژه به پیکربندی rclone خود، دستور rclone config را اجرا کنید.
-
$ rclone config Current remotes: e) Edit existing remote n) New remote d) Delete remote s) Set configuration password q) Quit config e/n/d/s/q>
وارد بخش s (Set configuration password) شوید:
-
e/n/d/s/q> s Your configuration is not encrypted. If you add a password, you will protect your login information to cloud services. a) Add Password q) Quit to main menu a/q> a Enter NEW configuration password: password: Confirm NEW password: password: Password set Your configuration is encrypted. c) Change Password u) Unencrypt configuration q) Quit to main menu c/u/q>
اکنون پیکربندی شما رمزنگاری شده است و هر بار که rclone را اجرا میکنید باید گذرواژه را ارائه دهید. برای جزئیات به بخش زیر مراجعه کنید. در همان منو، میتوانید گذرواژه را تغییر دهید یا رمزنگاری را بهطور کامل از پیکربندی خود حذف کنید.
در صورت فراموشی یا از دست دادن گذرواژه، هیچ راهی برای بازیابی پیکربندی وجود ندارد.
همچنین میتوانید از دستورهای زیر استفاده کنید:
- •
- دستور rclone config encryption set (https://rclone.org/commands/rclone_config_encryption_set) برای تنظیم مستقیم رمزنگاری پیکربندی
- •
- دستور rclone config encryption remove (https://rclone.org/commands/rclone_config_encryption_remove) برای حذف آن
- •
- دستور rclone config encryption check (https://rclone.org/commands/rclone_config_encryption_check) برای بررسی صحت رمزنگاری آن.
ابزار rclone از nacl secretbox (https://godoc.org/golang.org/x/crypto/nacl/secretbox) استفاده میکند که آن هم بهنوبه خود از XSalsa20 و Poly1305 برای رمزنگاری و اصالتسنجی پیکربندی شما با استفاده از رمزنگاری کلید-مخفی بهره میبرد. گذرواژه با الگوریتم SHA-256 هش میشود که کلید موردنیاز برای secretbox را تولید میکند. گذرواژه هششده ذخیره نمیشود.
اگرچه این روش امنیت بسیار خوبی فراهم میکند، اما توصیه نمیکنیم فایل پیکربندی رمزنگاریشده rclone خود را در صورت داشتن اطلاعات حساس در دسترس عموم قرار دهید، مگر اینکه از یک گذرواژه بسیار قوی استفاده کرده باشید.
اگر در محیط شما امن است، میتوانید متغیر محیطی RCLONE_CONFIG_PASS را با گذرواژه خود مقداردهی کنید؛ در این صورت، از آن برای رمزگشایی پیکربندی استفاده خواهد شد.
میتوانید این مقدار را از طریق یک اسکریپت برای یک نشست (session) تنظیم کنید. برای سیستمهای شبهیونیکس، این متن را در فایلی به نام set-rclone-password ذخیره کنید:
-
#!/bin/echo Source this file don't run it read -s RCLONE_CONFIG_PASS export RCLONE_CONFIG_PASS
سپس هر زمان که مایل به استفاده بودید، فایل را فراخوانی (source) کنید. از طریق پوسته میتوانید دستور source set-rclone-password را اجرا نمایید. سپس گذرواژه از شما پرسیده شده و در متغیر محیطی قرار میگیرد.
روشی جایگزین برای ارائه گذرواژه، فراهم کردن اسکریپتی است که گذرواژه را بازیابی کرده و در خروجی استاندارد چاپ میکند. این اسکریپت باید دارای یک مسیر کامل (absolute path) باشد و به هیچ متغیر محیطی وابسته نباشد. اسکریپت یا از طریق آرگومان خط فرمان --password-command="..." یا از طریق متغیر محیطی RCLONE_PASSWORD_COMMAND مشخص میشود.
یک مثال کاربردی در این زمینه، استفاده از برنامه passwordstore برای بازیابی گذرواژه است:
-
export RCLONE_PASSWORD_COMMAND="pass rclone/config"
اگر مدیر گذرواژه passwordstore نگهدارنده گذرواژه پیکربندی rclone باشد، استفاده از روش اسکریپت بدین معناست که گذرواژه عمدتاً توسط سامانه passwordstore محافظت میشود و هرگز بهصورت متن خام در اسکریپتها قرار نمیگیرد و با دستورهای استاندارد در دسترس قابل مشاهده نخواهد بود. در نشستهای طولانیمدت rclone کاملاً محتمل است که نسخههایی از گذرواژهها ناخواسته در فایلهای لاگ یا حافظه موقت پیمایش ترمینال و غیره ثبت شوند. استفاده از روش اسکریپتی برای ارائه گذرواژه، امنیت گذرواژه پیکربندی را بهطور چشمگیری افزایش میدهد.
اگر rclone را درون یک اسکریپت اجرا میکنید، مگر در حالتی که از روش --password-command استفاده کنید، ممکن است بخواهید اعلانهای درخواست گذرواژه را غیرفعال کنید. برای این کار، پارامتر --ask-password=false را به rclone پاس دهید. با این کار، اگر RCLONE_CONFIG_PASS حاوی یک گذرواژه معتبر نباشد و --password-command نیز ارائه نشده باشد، rclone بهجای درخواست گذرواژه، با خطا متوقف میشود.
هنگام اجرای دستورهایی که ممکن است تحت تأثیر گزینههای موجود در فایل پیکربندی قرار گیرند، rclone طبق قوانین شرحدادهشده در بالا به دنبال فایلی موجود میگردد و هر فایلی را که بیابد بارگذاری میکند. اگر یک فایل رمزنگاریشده پیدا شود، این فرایند شامل رمزگشایی آن نیز خواهد بود که ممکن است منجر به درخواست گذرواژه شود. زمانی که دستور خط فرمانی را اجرا میکنید که میدانید عملاً از محتویات چنین فایل پیکربندی استفاده نمیکند، میتوانید با بازتعریف مکان فایل (override کردن مسیر)، مثلاً با یکی از مقادیر ویژه مستندشده برای پیکربندیِ صرفاً در حافظه (memory-only)، از بارگذاری آن جلوگیری کنید. از آنجا که تنها گزینههای مربوط به backendها میتوانند در فایلهای پیکربندی ذخیره شوند، این کار معمولاً برای دستورهایی که با backendها سروکار ندارند (مانند completion) غیرضروری است. با این حال، برای دستورهایی که بهطور کلی بر روی backendها عمل میکنند اما بدون ارجاع به یک remote ذخیرهشده به کار میروند (مانند فهرست کردن مسیرهای فایلسیستم محلی یا رشتههای اتصال) کاربرد خواهد داشت: rclone --config="" ls ..SS راهنمای سریع رمزنگاری پیکربندی
میتوانید رمزنگاری پیکربندی را بهسرعت و بدون قرارگیری دادهها بهصورت متن آشکار در حالت سکون یا انتقال اعمال کنید. دستورالعملهای دقیق برای سیستمعاملهای رایج:
مک (Mac)
- •
- تولید و ذخیره یک گذرواژه
-
security add-generic-password -a rclone -s config -w $(openssl rand -base64 40)
- •
- افزودن دستور بازیابی به .zprofile / .profile خود
-
export RCLONE_PASSWORD_COMMAND="/usr/bin/security find-generic-password -a rclone -s config -w"
لینوکس (Linux)
- •
- پیشنیاز: لینوکس بهطور پیشفرض به همراه یک مدیر گذرواژه ارائه نمیشود. ابزار "pass" را با استفاده از یک مدیر بسته نصب کنید، مانند apt install pass، yum install pass، و غیره (https://www.passwordstore.org/#download)؛ سپس یک مخزن گذرواژه را راهاندازی اولیه کنید: pass init rclone.
- •
- تولید و ذخیره یک گذرواژه
-
echo $(openssl rand -base64 40) | pass insert -m rclone/config
- •
- افزودن دستور بازیابی
-
export RCLONE_PASSWORD_COMMAND="/usr/bin/pass rclone/config"
ویندوز (Windows)
- •
- تولید و ذخیره یک گذرواژه
-
New-Object -TypeName PSCredential -ArgumentList "rclone", (ConvertTo-SecureString -String ([System.Web.Security.Membership]::GeneratePassword(40, 10)) -AsPlainText -Force) | Export-Clixml -Path "rclone-credential.xml"
- •
- افزودن دستور بازیابی گذرواژه
-
[Environment]::SetEnvironmentVariable("RCLONE_PASSWORD_COMMAND", "[System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR((Import-Clixml -Path "rclone-credential.xml").Password))")
رمزنگاری فایل پیکربندی (همه سیستمها)
- •
- دستور rclone config را اجرا کرده و گزینه s) Set configuration password را انتخاب کنید
- •
- گذرواژه حاصل از مراحل قبل را افزوده یا بهروزرسانی نمایید.SS "گزینههای توسعهدهنده (Developer options)"
این گزینهها هنگام توسعه یا اشکالزدایی rclone مفید هستند. همچنین گزینههای خاصِ ریموت دیگری نیز وجود دارند که در اینجا مستند نشدهاند و برای آزمایش به کار میروند. این گزینهها با نام ریموت آغاز میشوند، مانند --drive-test-option - مستندات مربوط به ریموت مورد نظر را ببینید.
--cpuprofile string
پروفایل پردازنده (CPU profile) را در یک فایل مینویسد. این فایل را میتوان با go tool pprof تحلیل کرد.
--memprofile string
پروفایل حافظه (memory profile) را در یک فایل مینویسد. این فایل را میتوان با go tool pprof تحلیل کرد.
--dump DumpFlags
پرچم --dump فهرستی از پرچمهای جداشده با کاما را برای تخلیه و ثبت اطلاعات دریافت میکند.
توجه داشته باشید که برخی از هدرها، مانند Accept-Encoding، ممکن است دقیقاً همانطور که در درخواست نشان داده میشوند درست نباشند، و اگر انکودینگ خودکار gzip در کتابخانههای استاندارد Go فعال بوده باشد، ممکن است پاسخ هدر Content-Encoding را نشان ندهد. در این حالت بدنهٔ درخواست پیش از نمایش از حالت فشرده (gunzip) خارج خواهد شد.
پرچمهای موجود عبارتند از:
- •
- headers هدرهای HTTP را تخلیه و چاپ میکند. هرگونه هدر Authorization: مستثنی خواهد شد، اما خروجی ممکن است همچنان حاوی اطلاعات حساس باشد. میتواند بسیار پرحجم و پرگو باشد. تنها برای اشکالزدایی مفید است. اگر هدرهای Authorization: را میخواهید، از auth استفاده کنید.
- •
- auth هدرهای HTTP را مانند headers تخلیه میکند، اما شامل تمام هدرهای Authorization: نیز میشود. این بدان معناست که خروجی احتمالاً حاوی اطلاعات حساس خواهد بود. برای تخلیه بدون هدرهای Authorization:، از headers استفاده کنید. میتواند بسیار پرحجم باشد. تنها برای اشکالزدایی مفید است. این پرچم همچنین باعث میشود گزارش اشکالزدایی فرآیند پیکربندی (مانند rclone config -vv) پاسخهای دادهشده به پرسشها، گذرواژهها و توکنهایی را که در حالت عادی سانسور میشوند، نمایش دهد.
- •
- bodies هدرها و بدنههای HTTP را تخلیه میکند. ممکن است حاوی اطلاعات حساس باشد. میتواند بسیار پرحجم باشد. تنها برای اشکالزدایی مفید است. توجه داشته باشید که بدنهها در حافظه بافر میشوند، بنابراین برای فایلهای بسیار بزرگ از این گزینه استفاده نکنید.
- •
- requests مشابه bodies است، اما بدنههای درخواست و هدرهای پاسخ را تخلیه میکند. برای اشکالزدایی مشکلات بارگیری (دانلود) مفید است.
- •
- responses مشابه bodies است، اما بدنههای پاسخ و هدرهای درخواست را تخلیه میکند. برای اشکالزدایی مشکلات بارگذاری (آپلود) مفید است.
- •
- filters فیلترها را تخلیه و چاپ میکند. برای مشاهدهٔ دقیق اینکه گزینههای include و exclude دقیقاً چه مواردی را پالایش میکنند، مفید است.
- •
- goroutines فهرستی از goroutineهای در حال اجرا را در پایان دستور تخلیه میکند.
- •
- openfiles فهرستی از فایلهای باز را در پایان دستور تخلیه میکند. این گزینه از دستور یونیکس lsof برای انجام این کار استفاده میکند، بنابراین برای استفاده از آن باید این دستور نصب شده باشد.
- •
- mapper دادههای خام (blobs) از نوع JSON که به برنامهٔ ارائهشده با --metadata-mapper ارسال شده و از آن دریافت میشوند را تخلیه میکند. میتواند برای اشکالزدایی رابط نقشهبردار فراداده مفید باشد.
- •
- curl درخواست HTTP را بهصورت یک دستور curl تخلیه میکند. میتواند همراه با سایر پرچمهای اشکالزدایی HTTP (مانند requests، bodies) استفاده شود. بهطور پیشفرض اطلاعات احراز هویت ماسک (پنهان) میشود - برای اینکه دستورات curl شامل اطلاعات احراز هویت نیز باشند، آن را همراه با auth استفاده کنید.
- •
- errors فقط تراکنشهای HTTP را تخلیه میکند که با خطای قابل تلاش مجدد مواجه شدهاند - یعنی خطای انتقال، خطای HTTP 429 (تعداد درخواستهای بیش از حد) یا خطای سرور HTTP 5xx. سایر پرچمهای dump کنترل میکنند چه چیزی تخلیه شود؛ بنابراین برای مثال از --dump errors,bodies استفاده کنید تا فقط هدرها و بدنههای تراکنشهای ناموفق تخلیه شوند. بهتنهایی، --dump errors هدرها را تخلیه میکند. این گزینه به شما امکان میدهد اطلاعات عیبیابی اولین شکست را بدون شلوغیِ تخلیهٔ تکتک تراکنشها ثبت کنید. ممکن است حاوی اطلاعات حساس باشد.
- •
- trace رویدادهای سطح اتصال را برای هر تراکنش HTTP با استفاده از بستهٔ net/http/httptrace در Go ثبت میکند - تفکیک DNS، اتصال TCP، دستدادن TLS (از جمله نسخهٔ توافقشدهٔ TLS، سایفر، پروتکل ALPN و گواهی سرور)، استفادهٔ مجدد از اتصال، نوشتن درخواست و زمان تا دریافت اولین بایت پاسخ. هر خط با زمان سپریشده از آغاز تراکنش برچسبگذاری میشود تا بتوانید ببینید زمان در کجا صرف شده است. این پرچم مکمل سایر پرچمهای dump است: این پرچم بهجای آنچه ارسال شده، نحوهٔ رفتار اتصال را نشان میدهد؛ بنابراین برای اشکالزدایی مشکلات اتصال، DNS، TLS، پراکسی و keep-alive مفید است. این پرچم هدرها یا بدنهها را تخلیه نمیکند - برای این منظور آن را با headers یا bodies ترکیب کنید..SS فیلترسازی (Filtering)
برای گزینههای فیلتر کردن
- •
- --delete-excluded
- •
- --filter
- •
- --filter-from
- •
- --exclude
- •
- --exclude-from
- •
- --exclude-if-present
- •
- --include
- •
- --include-from
- •
- --files-from
- •
- --files-from-raw
- •
- --files-from0
- •
- --min-size
- •
- --max-size
- •
- --min-age
- •
- --max-age
- •
- --hash-filter
- •
- --dump filters
- •
- --metadata-include
- •
- --metadata-include-from
- •
- --metadata-exclude
- •
- --metadata-exclude-from
- •
- --metadata-filter
- •
- --metadata-filter-from
بخش فیلترسازی را ببینید (https://rclone.org/filtering).
کنترل از راه دور (Remote control)
برای گزینههای کنترل از راه دور و دستورالعملهای نحوه کنترل از راه دور rclone:
- •
- --rc
- •
- هر موردی که با --rc- شروع شود
بخش کنترل از راه دور را ببینید (https://rclone.org/rc).
گزارشگیری (Logging)
برنامه rclone دارای ۴ سطح گزارشگیری است: ERROR، NOTICE، INFO و DEBUG.
بهطور پیشفرض، rclone گزارشها را در خطای استاندارد (standard error) ثبت میکند. این بدان معناست که میتوانید خطای استاندارد را تغییر مسیر دهید و همچنان خروجی عادی دستورهای rclone (مانند rclone ls) را مشاهده کنید.
بهطور پیشفرض، rclone پیامهایی در سطح Error و Notice تولید میکند.
اگر از پرچم -q استفاده کنید، rclone تنها پیامهای Error را تولید خواهد کرد.
اگر از پرچم -v استفاده کنید، rclone پیامهای Error، Notice و Info را تولید میکند.
اگر از پرچم -vv استفاده کنید، rclone پیامهای Error، Notice، Info و Debug را تولید خواهد کرد.
همچنین میتوانید سطوح گزارشگیری را با پرچم --log-level کنترل کنید.
اگر از گزینه --log-file استفاده کنید، rclone پیامهای Error، Info و Debug را به همراه خطای استاندارد به یک فایل هدایت میکند.
اگر از پرچم --syslog استفاده کنید، rclone گزارشها را به syslog میفرستد و گزینه --syslog-facility مشخص میکند که از کدام facility استفاده شود.
دستور rclone پیشوند همه پیامهای گزارش را با حروف بزرگِ سطح آنها مشخص میکند (مانند INFO) که این امر جستجو با grep در فایل گزارش را برای انواع اطلاعات آسان میسازد..SS "سنجهها (Metrics)"
ابزار rclone میتواند سنجهها را در قالب OpenMetrics/Prometheus منتشر کند.
برای فعالسازی نقطه پایانی (endpoint) سنجهها، از پرچم --metrics-addr استفاده کنید. همچنین اگر پرچم --rc و پرچم --rc-enable-metrics مشخص شده باشند، یا در صورت استفاده از rclone rcd --rc-enable-metrics، سنجهها میتوانند روی پورت --rc-addr نیز منتشر شوند.
ابزار rclone گزینههای پیکربندی گستردهای را برای نقطه پایانی HTTP سنجهها فراهم میکند. این تنظیمات ذیل بخش Metrics دستهبندی شدهاند و پیشوند --metrics-* دارند.
هنگامی که سنجهها با --rc-enable-metrics فعال شوند، روی همان پورت مربوط به rc API منتشر خواهند شد. در این حالت، پرچمهای --metrics-* نادیده گرفته میشوند و پیکربندی نقطه پایانی HTTP توسط پارامترهای --rc-* مدیریت خواهد شد.
کد خروج (Exit code)
اگر در حین اجرای دستور هرگونه خطایی رخ دهد، rclone با یک کد خروج غیرصفر خارج خواهد شد. این امر به اسکریپتها اجازه میدهد تا موارد شکست در عملیاتهای rclone را تشخیص دهند.
در طول مرحله راهاندازی، در صورت شناسایی خطا در پیکربندی، rclone فوراً خارج خواهد شد. همواره بلافاصله پیش از خروج، یک پیام ثبت وقایع وجود خواهد داشت.
هنگامی که rclone در حال اجرا است، خطاها را در طول مسیر انباشته میکند و تنها در صورتی با یک کد خروج غیرصفر خارج میشود که (پس از تلاشهای مجدد) همچنان انتقالهای ناموفقی باقی مانده باشند. به ازای هر خطای شمارششده، یک پیام گزارش با اولویت بالا (قابل مشاهده با -q) وجود خواهد داشت که متن پیام و فایلی که موجب مشکل شده است را نشان میدهد. همچنین هنگام شروع یک تلاش مجدد، پیامی با اولویت بالا نمایش داده میشود تا کاربر متوجه شود پیامهای خطای قبلی ممکن است پس از تلاش مجدد دیگر معتبر نباشند. اگر rclone تلاش مجددی انجام داده باشد، در صورت موفقیتآمیز بودن آن، یک پیام با اولویت بالا ثبت خواهد کرد.
فهرست کدهای خروج (List of exit codes)
- •
- 0 - موفقیت
- •
- 1 - خطایی که در جای دیگری دستهبندی نشده است
- •
- 2 - خطای نحو یا نحوه استفاده
- •
- 3 - دایرکتوری پیدا نشد
- •
- 4 - فایل پیدا نشد
- •
- 5 - خطای موقت (خطایی که ممکن است با تلاشهای مجدد بیشتر برطرف شود) (خطاهای Retry)
- •
- 6 - خطاهای با اهمیت کمتر (مانند خطاهای 461 از dropbox) (خطاهای NoRetry)
- •
- 7 - خطای مهلک (خطایی که تلاشهای مجدد بیشتر آن را رفع نخواهد کرد، مانند تعلیق حساب کاربری) (خطاهای Fatal)
- •
- 8 - فراتر رفتن از حد انتقال - رسیدن به سقف تعیینشده توسط --max-transfer
- •
- 9 - عملیات موفقیتآمیز بود، اما هیچ فایلی منتقل نشد (نیازمند --error-on-no-transfer)
- •
- 10 - فراتر رفتن از مدت زمان - رسیدن به سقف تعیینشده توسط --max-duration
متغیرهای محیطی (Environment variables)
ابزار rclone را میتوان به طور کامل با استفاده از متغیرهای محیطی پیکربندی کرد. از این متغیرها میتوان برای تنظیم مقادیر پیشفرض گزینهها یا ورودیهای فایل پیکربندی استفاده کرد.
گزینهها (Options)
مقدار پیشفرض هر گزینهای در rclone میتواند توسط متغیرهای محیطی تعیین شود.
برای یافتن نام متغیر محیطی، ابتدا نام طولانی گزینه را در نظر بگیرید، -- ابتدایی آن را حذف کنید، - را به _ تبدیل کنید، حروف را بزرگ کنید و عبارت RCLONE_ را به ابتدای آن بیفزایید.
برای مثال، برای تعیین همیشگی --stats 5s، متغیر محیطی RCLONE_STATS=5s را تنظیم کنید. اگر stats را در خط فرمان مشخص کنید، این مقدار تنظیم متغیر محیطی را بازنویسی (override) خواهد کرد.
یا برای استفاده همیشگی از سطل بازیافت در درایو با --drive-use-trash، مقدار RCLONE_DRIVE_USE_TRASH=true را قرار دهید.
میزان پرگویی گزارشها (Verbosity) کمی متفاوت است؛ معادل متغیر محیطی برای --verbose یا -v برابر با RCLONE_VERBOSE=1 است، و برای -vv برابر با RCLONE_VERBOSE=2 میباشد.
برای گزینهها و متغیرهای محیطی از تجزیهکننده (parser) یکسانی استفاده میشود، بنابراین دقیقاً ساختار یکسانی دارند.
گزینههای تنظیمشده توسط متغیرهای محیطی را میتوان با پرچم -vv مشاهده کرد، مانند rclone version -vv.
با گزینههایی که میتوانند چندین بار تکرار شوند (از نوع stringArray) کمی متفاوت رفتار میشود، زیرا متغیرهای محیطی را تنها یکبار میتوان تعریف کرد. به منظور فراهم کردن سازوکاری ساده جهت افزودن یک یا چند مورد، ورودی به عنوان یک رشته کدگذاریشده با CSV (https://godoc.org/encoding/csv) در نظر گرفته میشود. برای مثال
| متغیر محیطی | گزینههای معادل |
| RCLONE_EXCLUDE="*.jpg" | --exclude "*.jpg" |
| RCLONE_EXCLUDE="*.jpg,*.png" | --exclude "*.jpg" --exclude "*.png" |
| RCLONE_EXCLUDE='"*.jpg","*.png"' | --exclude "*.jpg" --exclude "*.png" |
| RCLONE_EXCLUDE='"/directory with comma , in it /**"' | `--exclude "/directory with comma , in it /**" |
اگر گزینههای stringArray هم به عنوان متغیرهای محیطی و هم گزینههای خط فرمان تعریف شوند، تمام مقادیر استفاده خواهند شد..SS "فایل پیکربندی (Config file)"
میتوانید مقادیر پیشفرض فایل پیکربندی را به ازای هر ریموت بهطور جداگانه تنظیم کنید. نام گزینههای پیکربندی در صفحهٔ مربوط به هر بکاند مستند شده است.
برای یافتن نام متغیر محیطی که باید تنظیم کنید، عبارت RCLONE_CONFIG_ + نام ریموت + _ + نام گزینهٔ فایل پیکربندی را در نظر گرفته و همهٔ آن را با حروف بزرگ بنویسید. توجه داشته باشید که یک پیامد در اینجا این است که نام ریموت باید به یک نام معتبر برای متغیر محیطی قابل تبدیل باشد؛ بنابراین تنها میتواند شامل حروف، ارقام، یا نویسهٔ زیرخط (_) باشد.
برای نمونه، جهت پیکربندی یک ریموت S3 به نام mys3: بدون نیاز به فایل پیکربندی (با استفاده از روشهای یونیکس برای مقداردهی متغیرهای محیطی):
-
$ export RCLONE_CONFIG_MYS3_TYPE=s3 $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX $ rclone lsd mys3: -1 2016-09-21 12:54:21 -1 my-bucket $ rclone listremotes | grep mys3 mys3:
توجه داشته باشید اگر قصد دارید با استفاده از متغیرهای محیطی یک ریموت بسازید، باید متغیر ..._TYPE را همانند بالا تعریف کنید.
توجه داشته باشید که نام ریموت ایجادشده از طریق متغیر محیطی، بر خلاف ریموتهای معمولی ذخیرهشده در فایل پیکربندی (طبق آنچه در بالا توضیح داده شد)، به بزرگ و کوچک بودن حروف حساس نیست. باید نام را در متغیر محیطی با حروف بزرگ بنویسید، اما همانطور که در مثال بالا مشاهده میشود، ریموت با حروف کوچک فهرست شده و قابل دسترسی است؛ در عین حال میتوانید با حروف بزرگ نیز به همان ریموت ارجاع دهید:
-
$ rclone lsd mys3: -1 2016-09-21 12:54:21 -1 my-bucket $ rclone lsd MYS3: -1 2016-09-21 12:54:21 -1 my-bucket
توجه داشته باشید که شما تنها میتوانید گزینههای بکاندِ مستقیم (immediate backend) را تنظیم کنید؛ بنابراین اگر myS3Crypt یک ریموت crypt بر پایهٔ یک ریموت S3 باشد، متغیر RCLONE_CONFIG_MYS3CRYPT_ACCESS_KEY_ID هیچ اثری نخواهد داشت. با این حال، RCLONE_S3_ACCESS_KEY_ID کلید دسترسی تمام ریموتهایی را که از S3 استفاده میکنند، از جمله myS3Crypt، تنظیم خواهد کرد.
همچنین توجه داشته باشید اکنون که rclone از رشتههای اتصال (connection strings) پشتیبانی میکند، احتمالاً استفاده از آنها سادهتر است که مثال بالا را به شکل زیر در میآورد:
-
rclone lsd :s3,access_key_id=XXX,secret_access_key=XXX:
اولویت (Precedence)
روشهای گوناگون پیکربندی بکاند با ترتیب زیر خوانده میشوند و نخستین موردی که دارای مقدار باشد مورد استفاده قرار میگیرد.
- •
- پارامترها در رشتههای اتصال، مانند myRemote,skip_links:
- •
- مقادیر پرچمهای ارائهشده در خط فرمان، مانند --skip-links
- •
- متغیرهای محیطی مخصوص به هر ریموت، مانند RCLONE_CONFIG_MYREMOTE_SKIP_LINKS (به بالا مراجعه کنید).
- •
- متغیرهای محیطی مخصوص بکاند، مانند RCLONE_LOCAL_SKIP_LINKS.
- •
- متغیرهای محیطی عمومی بکاند، مانند RCLONE_SKIP_LINKS.
- •
- فایل پیکربندی، مانند skip_links = true.
- •
- مقادیر پیشفرض، مانند false - این مقادیر قابل تغییر نیستند.
بنابراین اگر هم گزینهٔ --skip-links در خط فرمان مشخص شده باشد و هم متغیر محیطی RCLONE_LOCAL_SKIP_LINKS مقداردهی شده باشد، پرچم خط فرمان اولویت خواهد داشت.
پیکربندیهای بکاند که با متغیرهای محیطی تنظیم شدهاند را میتوان با پرچم -vv مشاهده کرد، مانند rclone about myRemote: -vv.
برای پیکربندیهای غیر بکاند، ترتیب اولویت به شرح زیر است:
- •
- مقادیر پرچمهای ارائهشده در خط فرمان، مانند --stats 5s.
- •
- متغیرهای محیطی، مانند RCLONE_STATS=5s.
- •
- مقادیر پیشفرض، مانند 1m - این مقادیر قابل تغییر نیستند..SS "سایر متغیرهای محیطی"
- •
- RCLONE_CONFIG_PASS برای نگهداری گذرواژه فایل پیکربندی شما تنظیم میشود (بخش Configuration Encryption را ببینید).
- •
- HTTP_PROXY، HTTPS_PROXY و NO_PROXY (یا نسخههای با حروف کوچک آنها).
- •
- HTTPS_PROXY برای درخواستهای https نسبت به HTTP_PROXY اولویت دارد.
- •
- مقادیر محیطی میتوانند یک URL کامل یا به صورت "host[:port]" باشند که در این صورت طرحواره "http" پیشفرض در نظر گرفته میشود.
- •
- مقادیر USER و LOGNAME به عنوان گزینههای جایگزین برای نام کاربری فعلی استفاده میشوند. روش اصلی برای یافتن نام کاربری وابسته به سیستمعامل است: Windows API در ویندوز، و شناسه کاربری واقعی در /etc/passwd در سیستمهای یونیکس. در این مستندات، از نام کاربری فعلی صرفاً با عنوان $USER یاد میشود.
- •
- RCLONE_CONFIG_DIR - rclone این متغیر را برای استفاده در فایلهای پیکربندی و زیرپردازهها تنظیم میکند تا به پوشه حاوی فایل پیکربندی اشاره کند.
گزینههای تعیینشده توسط متغیرهای محیطی با پرچمهای -vv و --log-level=DEBUG قابل مشاهده هستند، به عنوان مثال: rclone version -vv.
پیکربندی rclone روی ماشین دوردست / بدون نمایشگر (headless)
برخی از پیکربندیها (آنهایی که شامل oauth2 هستند) به یک مرورگر وب متصل به اینترنت نیاز دارند.
اگر قصد دارید rclone را روی یک ماشین دوردست یا بدون نمایشگر (headless) که مرورگری روی آن در دسترس نیست (مانند یک NAS یا سروری در مرکز داده) راهاندازی کنید، باید از روشهای جایگزین برای پیکربندی استفاده کنید. سه روش برای این کار وجود دارد که در ادامه شرح داده شدهاند.
پیکربندی با استفاده از rclone authorize
روی ماشین بدون نمایشگر (headless)، دستور rclone config را اجرا کنید، اما به پرسش Use web browser to automatically authenticate rclone with remote? پاسخ N بدهید.
-
Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes (default) n) No y/n> n Option config_token. For this to work, you will need rclone available on a machine that has a web browser available. For more help and alternate methods see: https://rclone.org/remote_setup Execute the following on the machine with the web browser (same rclone version recommended): rclone authorize "onedrive" Then paste the result. Enter a value. config_token>
سپس روی ماشین دسکتاپ اصلی خود، rclone authorize را اجرا کنید (https://rclone.org/commands/rclone_authorize).
-
rclone authorize "onedrive" NOTICE: Make sure your Redirect URL is set to "http://localhost:53682" in your custom config. NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx NOTICE: Log in and authorize rclone for access NOTICE: Waiting for code... Got code Paste the following into your remote machine ---> SECRET_TOKEN <---End paste
سپس به ماشین بدون نمایشگر (headless) بازگردید و کد را جایگذاری کنید.
-
config_token> SECRET_TOKEN -------------------- [acd12] client_id = client_secret = token = SECRET_TOKEN -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d>
نرمافزار rclone تمام پیکربندیهای خود را در یک فایل منفرد ذخیره میکند. این فایل را میتوان به راحتی جهت پیکربندی یک rclone راه دور (remote) کپی کرد (اگرچه برخی از backendها از استفادهٔ مجدد یک پیکربندی پشتیبانی نمیکنند؛ برای اطمینان مستندات backend خود را بررسی کنید).
کار را با اجرای rclone config جهت ایجاد فایل پیکربندی روی رایانهٔ محلی (desktop) خود آغاز کنید.
-
rclone config
سپس با اجرای rclone config file محل فایل را پیدا کنید.
-
$ rclone config file Configuration file is stored at: /home/user/.rclone.conf
در نهایت، فایل را به ماشین راه دور منتقل کرده (از طریق scp، برش و چسباندن، ftp، sftp و غیره) و در محل مناسب قرار دهید (از rclone config file در ماشین راه دور برای اطلاع از محل دقیق آن استفاده کنید).
پیکربندی با استفاده از تونل SSH
اگر یک کلاینت SSH روی سیستم محلی خود نصب دارید، میتوانید با استفاده از دستور زیر یک تونل SSH برای هدایت پورت 53682 به ماشین بدون رابط گرافیکی (headless) راهاندازی کنید:
-
ssh -L localhost:53682:localhost:53682 username@remote_server
سپس در ماشین headless دستور rclone config را اجرا کرده و به پرسش Use web browser to automatically authenticate rclone with remote? پاسخ Y بدهید.
-
Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes (default) n) No y/n> y NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config. NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx NOTICE: Log in and authorize rclone for access NOTICE: Waiting for code...
در آخر، نشانی اینترنتی ارائهشده یعنی http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx را در مرورگر ماشین محلی خود کپی و جایگذاری کرده، فرایند احراز هویت را به پایان برسانید و کار تمام است.
فیلترسازی، شاملسازی و مستثنیسازی (FILTERING, INCLUDES AND EXCLUDES)
پرچمهای فیلتر مشخص میکنند که دستورهای sync، move، ls، lsl، md5sum، sha1sum، size، delete، check و دستورات مشابه در rclone بر روی چه فایلهایی اعمال شوند.
این فیلترها بر اساس الگوهای نام مسیر/فایل؛ فهرستهای مسیر/فایل؛ عمر و اندازهٔ فایل، یا وجود یک فایل در یک دایرکتوری مشخص میشوند. ریموتهای مبتنی بر باکت (bucket) که فاقد مفهوم دایرکتوری هستند، فیلترها را به روشی مشابه بر کلید شیء (object key)، عمر و اندازه اعمال میکنند.
دستور purge در rclone از فیلترها پیروی نمیکند.
برای آزمایش فیلترها بدون خطر آسیب رسیدن به دادهها، آنها را به همراه rclone ls یا با استفاده از پرچمهای --dry-run و -vv به کار ببرید.
الگوهای فیلتر rclone را تنها میتوان در گزینههای خط فرمان فیلتر استفاده کرد، نه در مشخصات یک ریموت (remote).
به عنوان مثال، دستور rclone copy "remote:dir*.jpg" /path/to/dir اثر فیلتری ندارد؛ در حالی که rclone copy remote:dir /path/to/dir --include "*.jpg" دارای اثر فیلتر است.
مهم: از ترکیب همزمان هر دو مورد از پرچمهای --include...، --exclude... یا --filter... در یک دستور rclone خودداری کنید. نتایج ممکن است آن چیزی نباشد که انتظار دارید؛ در عوض از یک پرچم --filter... استفاده کنید..SS الگوهای تطبیق نام مسیر/فایل
نحو الگو (Pattern syntax)
در اینجا تعریف رسمی نحو الگو آورده شده است، مثالها در ادامه آمدهاند.
قوانین تطبیق Rclone از سبک glob پیروی میکنند:
-
* با هر دنبالهای از نویسههای غیرجداکننده (/) مطابقت دارد ** با هر دنبالهای از نویسهها شامل جداکنندههای / مطابقت دارد ? با هر تکنویسهٔ غیرجداکننده (/) مطابقت دارد [ [ ! ] { character-range } ] کلاس نویسه (نباید خالی باشد) { pattern-list } حالتهای جایگزین الگو {{ regexp }} عبارت باقاعده برای تطبیق c با نویسهٔ c مطابقت دارد (c != *, **, ?, \, [, {, }) \c با نویسهٔ رزرو شدهٔ c مطابقت دارد (c = *, **, ?, \, [, {, }) یا کلاس نویسه
character-range:
-
c با نویسهٔ c مطابقت دارد (c != \, -, ]) \c با نویسهٔ رزرو شدهٔ c مطابقت دارد (c = \, -, ]) lo - hi با نویسهٔ c برای lo <= c <= hi مطابقت دارد
pattern-list:
-
pattern { , pattern } الگوهای جداشده با کاما (بدون فاصله)
کلاسهای نویسه (مرجع عبارات باقاعدهٔ Go را ببینید (https://golang.org/pkg/regexp/syntax)) شامل موارد زیر است:
-
کلاسهای نویسهٔ نامگذاریشده (مانند [\d], [^\d], [\D], [^\D]) کلاسهای نویسهٔ Perl (مانند \s, \S, \w, \W) کلاسهای نویسهٔ ASCII (مانند [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
regexp برای کاربران پیشرفته جهت درج یک عبارت باقاعده - برای اطلاعات بیشتر به ادامه مراجعه کنید:
-
هر عبارت باقاعدهٔ re2 که حاوی `}}` نباشد
اگر الگوی فیلتر با یک / شروع شود، تنها در بالاترین سطح درخت دایرکتوری، نسبت به ریشهٔ ریموت (نه لزوماً ریشهٔ درایو) مطابقت داده میشود. اگر با / شروع نشود، تطبیق از انتهای نام مسیر/فایل آغاز میشود، اما فقط با یک جزء کامل مسیر مطابقت مییابد - باید از یک جداکنندهٔ / یا ابتدای مسیر/فایل تطبیق داده شود.
-
file.jpg - با "file.jpg" مطابقت دارد - با "directory/file.jpg" مطابقت دارد - با "afile.jpg" مطابقت ندارد - با "directory/afile.jpg" مطابقت ندارد /file.jpg - با "file.jpg" در دایرکتوری ریشهٔ ریموت مطابقت دارد - با "afile.jpg" مطابقت ندارد - با "directory/file.jpg" مطابقت ندارد
بالاترین سطح ریموت ممکن است بالاترین سطح درایو نباشد.
بهعنوان مثال، برای یک ساختار دایرکتوری محلی Microsoft Windows
-
F: ├── bkp ├── data │ ├── excl │ │ ├── 123.jpg │ │ └── 456.jpg │ ├── incl │ │ └── document.pdf
برای کپی کردن محتویات پوشهٔ data به پوشهٔ bkp بدون در نظر گرفتن محتویات زیرپوشهٔ excl، دستور زیر F:\data و F:\bkp را بهعنوان بالاترین سطح برای فیلتر کردن در نظر میگیرد.
rclone copy F:\data\ F:\bkp\ --exclude=/excl/**
مهم: در الگوهای نام مسیر/فایل از / استفاده کنید و نه \، حتی اگر روی Microsoft Windows اجرا میکنید.
الگوهای ساده به حروف بزرگ و کوچک حساس هستند، مگر اینکه پرچم --ignore-case استفاده شود.
بدون --ignore-case (پیشفرض)
-
potato - با "potato" مطابقت دارد - با "POTATO" مطابقت ندارد
با --ignore-case
-
potato - با "potato" مطابقت دارد - با "POTATO" مطابقت دارد
نحو الگوهای فیلتر برای آسانتر شدن کار کاربران، از نوع تطبیق سبک glob (مشابه آنچه bash استفاده میکند) است. با این حال، این روش کنترل کاملی بر روی تطبیق فراهم نمیکند، بنابراین rclone برای کاربران پیشرفته نحو عبارات باقاعده (regular expression) را نیز ارائه میدهد.
نرمافزار rclone عموماً عبارات باقاعده به سبک Perl را میپذیرد؛ نحو
دقیق آن در مرجع عبارات باقاعده
Go (https://golang.org/pkg/regexp/syntax) تعریف شده است.
عبارات باقاعده باید درون {{ }} قرار گیرند.
اگر glob با / شروع نشود، آنها تنها با آخرین بخش مسیر مطابقت مییابند،
و اگر شروع شود با کل نام مسیر تطبیق داده میشوند.
توجه داشته باشید که rclone تلاشی برای تجزیه عبارت باقاعده ارائهشده
نمیکند؛ بدین معنا که استفاده از هرگونه فیلتر عبارت باقاعده مانع از
استفاده rclone از قوانین فیلتر دایرکتوری میشود، زیرا در عوض،
هر مسیر را در برابر عبارت(های) باقاعده ارائهشده بررسی خواهد کرد.
در اینجا نحوه تبدیل {{regexp}} به یک عبارت باقاعده کامل برای تطبیق با کل مسیر آورده شده است:
-
{{regexp}} becomes (^|/)(regexp)$ /{{regexp}} becomes ^(regexp)$
نحو عبارت باقاعده میتواند با نحو glob ترکیب شود، برای مثال
-
*.{{jpe?g}} to match file.jpg, file.jpeg but not file.png
همچنین میتوانید از پرچمهای عبارت باقاعده استفاده کنید - برای مثال برای حساس نبودن به حروف کوچک و بزرگ:
-
*.{{(?i)jpg}} to match file.jpg, file.JPG but not file.png
مراقب نویسههای عام (wildcard) در عبارات باقاعده باشید - معمولاً نمیخواهید آنها در حالت عادی با جداکنندههای مسیر تطابق پیدا کنند. برای تطبیق با هر نام فایلی که با start شروع شده و با end خاتمه مییابد بنویسید:
-
{{start[^/]*end\.jpg}}
نه
-
{{start.*end\.jpg}}
چرا که این حالت با دایرکتوری به نام start که حاوی فایلی با نام end.jpg در آن باشد نیز مطابقت پیدا میکند، زیرا .* با نویسههای / تطابق خواهد یافت.
توجه داشته باشید که میتوانید از -vv --dump filters برای نمایش الگوهای فیلتر در قالب عبارت باقاعده استفاده کنید - rclone الگوهای glob را با تبدیل کردن آنها به عبارات باقاعده پیادهسازی میکند.
مثالهای الگوی فیلتر
| توضیحات | الگو | موارد منطبق | موارد غیرمنطبق |
| نویسه عام (Wildcard) | *.jpg | /file.jpg | /file.png |
| /dir/file.jpg | /dir/file.png | ||
| وابسته به ریشه (Rooted) | /*.jpg | /file.jpg | /file.png |
| /file2.jpg | /dir/file.jpg | ||
| جایگزینها (Alternates) | *.{jpg,png} | /file.jpg | /file.gif |
| /dir/file.png | /dir/file.gif | ||
| نویسه عام مسیر (Path Wildcard) | dir/** | /dir/anyfile | file.png |
| /subdir/dir/subsubdir/anyfile | /subdir/file.png | ||
| هر نویسهای (Any Char) | *.t?t | /file.txt | /file.qxt |
| /dir/file.tzt | /dir/file.png | ||
| بازه (Range) | *.[a-z] | /file.a | /file.0 |
| /dir/file.b | /dir/file.1 | ||
| گریز (Escape) | *.\?\?\? | /file.??? | /file.abc |
| /dir/file.??? | /dir/file.def | ||
| کلاس (Class) | *.\d\d\d | /file.012 | /file.abc |
| /dir/file.345 | /dir/file.def | ||
| عبارت باقاعده (Regexp) | *.{{jpe?g}} | /file.jpeg | /file.png |
| /dir/file.jpg | /dir/file.jpeeg | ||
| عبارت باقاعده ریشهدار (Rooted Regexp) | /{{.*\.jpe?g}} | /file.jpeg | /file.png |
| /file.jpg | /dir/file.jpg | ||
| فیلترهای نام مسیر/فایل در rclone از یک یا چند پرچم (flag) زیر تشکیل شدهاند: | |||
| • 2 | |||
| --include | |||
| • 2 | |||
| --include-from | |||
| • 2 | |||
| --exclude | |||
| • 2 | |||
| --exclude-from | |||
| • 2 | |||
| --filter | |||
| • 2 | |||
| --filter-from | |||
| میتوان بیش از یک نمونه از هر پرچم را به کار برد. | |||
| ابزار rclone در داخل خود از یک فهرست ترکیبی از تمام قواعد شمول (include) و عدم شمول (exclude) استفاده میکند. | |||
| ترتیب پردازش قواعد میتواند بر نتیجه فیلتر تأثیر بگذارد. | |||
| تمام پرچمهای همنوع، صرفنظر از ترتیبی که انواع مختلف پرچمها در خط فرمان قرار گرفتهاند، با هم و طبق ترتیب بالا پردازش میشوند. | |||
| نمونههای متعدد از یک پرچم یکسان، از چپ به راست و با توجه به موقعیت آنها در خط فرمان پردازش میشوند. | |||
| برای ترکیب و تغییر دادن ترتیب پردازش شمولها و عدم شمولها از پرچمهای --filter... استفاده کنید. | |||
| در پرچمهای --include-from، --exclude-from و --filter-from، قواعد از بالا به پایین فایلِ ارجاعشده پردازش میشوند. | |||
| اگر پرچم --include یا --include-from مشخص شده باشد، rclone یک قاعدهٔ - ** ضمنی را در نظر میگیرد و آن را به انتهای فهرست قواعد داخلی خود اضافه میکند. | |||
| مشخص کردن یک قاعدهٔ + با یک پرچم --filter... موجب در نظر گرفتن چنین قاعدهٔ ضمنی نمیشود. | |||
| هر نام مسیر/فایل که از rclone عبور میکند با فهرست ترکیبی فیلترها تطبیق داده میشود. | |||
| در اولین تطابق با یک قاعده، نام مسیر/فایل شامل یا مستثنی میشود و هیچ قاعدهٔ فیلتر دیگری برای آن مسیر/فایل پردازش نخواهد شد. | |||
| اگر rclone پس از بررسی تمام قواعد (از جمله قاعدهٔ ضمنی در صورت لزوم)، هیچ تطابقی پیدا نکند، نام مسیر/فایل مشمول میشود. | |||
| هر مسیر/فایلی که در این مرحله مشمول شود، توسط دستور rclone پردازش میگردد. | |||
| پرچمهای --files-from، --files-from-raw و --files-from0 بر سایر گزینههای فیلتر اولویت دارند و نمیتوان آنها را با گزینههای فیلتر دیگر ترکیب کرد. | |||
| برای مشاهده فهرست ترکیبی قواعد داخلی در قالب عبارات باقاعده (regular expression) برای یک دستور، پرچم --dump filters را اضافه کنید. | |||
| اجرای دستور rclone با پرچمهای --dump filters و -vv عناصر فیلتر داخلی را فهرست کرده و نحوه اعمال آنها را بر هر مسیر/فایل مبدأ نشان میدهد. | |||
| در حال حاضر روشی برای ارسال مستقیم گزینههای فیلتر عبارت باقاعده به rclone ارائه نشده است، هرچند قواعد فیلتر کلاس نویسه (character class) حاوی کلاسهای نویسه هستند. | |||
| مرجع عبارات باقاعده Go (https://golang.org/pkg/regexp/syntax) | |||
| نحوه اعمال قواعد فیلتر روی دایرکتوریها | |||
| دستورهای rclone روی نامهای مسیر/فایل اعمال میشوند نه دایرکتوریها. | |||
| کل محتویات یک دایرکتوری را میتوان با الگوی directory/* یا به صورت بازگشتی با directory/** با یک فیلتر تطبیق داد. | |||
| قواعد فیلتر دایرکتوری با یک جداکننده پایانی / تعریف میشوند. | |||
| به عنوان مثال، /directory/subdirectory/ یک قاعده فیلتر دایرکتوری rclone است. | |||
| دستورهای rclone میتوانند از قواعد فیلتر دایرکتوری استفاده کنند تا مشخص شود که آیا به صورت بازگشتی وارد زیردایرکتوریها شوند یا خیر. | |||
| این کار با جلوگیری از فهرست کردن دایرکتوریهای غیرضروری، دسترسی به یک ریموت را بهینهسازی میکند. | |||
| اینکه آیا بهینهسازی مطلوب است یا خیر، به قواعد فیلتر مشخصشده و محتوای ریموت مبدأ بستگی دارد. | |||
| اگر از هرگونه فیلتر عبارت باقاعده استفاده شود، هیچ بهینهسازی بازگشتی در دایرکتوری امکانپذیر نخواهد بود، زیرا rclone باید هر مسیر را در برابر عبارت(های) باقاعده ارائهشده بررسی کند. | |||
| بهینهسازی بازگشت در دایرکتوری در صورتی رخ میدهد که یکی از شرایط زیر برقرار باشد: | |||
| • 2 | |||
| ریموت مبدأ از دستور پایه (primitive) ListR در rclone پشتیبانی نکند. | |||
| سرویسهای local، sftp، Microsoft OneDrive و WebDAV از ListR پشتیبانی نمیکنند. | |||
| سرویس Google Drive و اکثر فضاهای ذخیرهسازی نوع باکت (bucket) پشتیبانی میکنند. | |||
| فهرست کامل (https://rclone.org/overview/#optional-features) | |||
| • 2 | |||
| روی سایر ریموتها (آنهایی که از ListR پشتیبانی میکنند)، در صورتی که دستور rclone به طور ذاتی بازگشتی نباشد، و به شرطی که با پرچم --fast-list اجرا نشده باشد. | |||
| دستورهای ls، lsf -R و size به طور ذاتی بازگشتی هستند اما sync، copy و move اینگونه نیستند. | |||
| • 2 | |||
| هر زمانی که پرچم --disable ListR روی یک دستور rclone اعمال شود. | |||
| دستورهای rclone قواعد فیلتر دایرکتوری را از روی قواعد فیلتر مسیر/فایل استنباط میکنند. | |||
| برای مشاهده قواعد فیلتر دایرکتوری که rclone برای یک دستور استنباط کرده است، پرچم --dump filters را مشخص کنید. | |||
| به عنوان مثال، برای یک قاعده شمول: | |||
| /a/*.jpg |
| ابزار rclone قاعده شمول دایرکتوری زیر را استنباط میکند: |
| /a/ |
| قواعد فیلتر دایرکتوری مشخصشده در یک دستور rclone میتوانند دامنه دستور rclone را محدود کنند، اما فیلترهای مسیر/فایل همچنان باید تعیین شوند. |
| برای نمونه، دستور rclone ls remote: --include /directory/ با هیچ فایلی تطابق نخواهد داشت. |
| از آنجا که این یک گزینه --include است، قاعده --exclude ** به طور ضمنی در نظر گرفته میشود و الگوی /directory/ تنها برای بهینهسازی دسترسی به ریموت با نادیده گرفتن همهچیز در خارج از آن دایرکتوری به کار میرود. |
| برای مثال، دستور rclone ls remote: --filter-from filter-list.txt با یک فایل filter-list.txt: |
| - /dir1/ |
| - /dir2/ |
| - ** |
| تمام فایلهای موجود در دایرکتوریهای dir1 یا dir2 یا زیردایرکتوریهای آنها به طور کامل از فهرستگیری مستثنی میشوند. |
| تنها فایلهای با پسوند pdf در ریشهٔ remote: یا زیردایرکتوریهای آن فهرست میشوند. |
| قاعدهٔ - ** از فهرست شدن هر مسیر/فایلی که قبلاً توسط قواعد بالا تطبیق نیافته باشد جلوگیری میکند. |
| گزینهٔ exclude-if-present بر اساس وجود یک فایل در یک دایرکتوری، یک قاعده عدم شمول دایرکتوری ایجاد میکند و نسبت به سایر قواعد فیلتر دایرکتوری rclone اولویت دارد. |
| هنگام استفاده از نحو فهرست الگو، اگر یک مورد الگو شامل / یا ** باشد، rclone قادر نخواهد بود قاعده فیلتر دایرکتوری را از این فهرست الگو استنباط کند. |
| به عنوان مثال برای یک قاعده شمول: |
| {dir1/**,dir2/**} |
| ابزار rclone فقط فایلهای زیر دایرکتوریهای dir1 یا dir2 را تطبیق میدهد، اما نمیتواند از این فیلتر برای مستثنی کردن دایرکتوری dir3 از پیمایش استفاده کند..PP |
| بهینهسازی بازگشت دایرکتوری ممکن است بر کارایی تأثیر بگذارد، اما معمولاً در نتیجه تأثیری ندارد. |
| یک استثنا در این مورد، عملیات sync همراه با گزینهٔ |
| --create-empty-src-dirs است که در آن هر دایرکتوری خالیِ پیمایششده |
| ایجاد خواهد شد. |
| با مثال فهرست الگوی {dir1/**,dir2/**} در بالا، این کار باعث ایجاد یک |
| دایرکتوری خالی dir3 در مقصد میشود (در صورتی که در مبدأ وجود داشته باشد). |
| تغییر فیلتر به {dir1,dir2}/**، یا تقسیم آن به دو قاعدهٔ include بهصورت |
| --include dir1/** --include dir2/**، همان فایلها را مطابقت میدهد |
| در حالی که دایرکتوریها را نیز فیلتر میکند، با این نتیجه که دیگر دایرکتوری |
| خالی dir3 ایجاد نخواهد شد. |
| --exclude - مستثنی کردن فایلهای منطبق با الگو |
| نامهای مسیر/فایل را بر اساس یک قاعدهٔ تکموردی استثنا از دستور rclone مستثنی میکند. |
| این پرچم میتواند تکرار شود. |
| برای ترتیب پردازش پرچمهای فیلتر، موارد بالا را ببینید. |
| پرچم --exclude نباید همراه با پرچمهای --include، |
| --include-from، --filter یا --filter-from |
| استفاده شود. |
| --exclude در صورت ترکیب با پرچمهای --files-from، |
| --files-from-raw یا --files-from0 هیچ تأثیری ندارد. |
| برای مثال، |
| rclone ls remote: --exclude *.bak تمام فایلهای .bak را از |
| فهرستبندی مستثنی میکند. |
| برای مثال، |
| rclone size remote: --exclude "/dir/**" اندازهٔ کل تمام فایلهای |
| روی remote: را به استثنای موارد موجود در دایرکتوری ریشهٔ dir |
| و زیردایرکتوریهای آن برمیگرداند. |
| برای مثال، در Microsoft Windows دستور |
| rclone ls remote: --exclude "*\[{JP,KR,HK}\]*" |
| فایلهای موجود در remote: را که فاقد [JP]، [KR] |
| یا [HK] در نامشان هستند فهرست میکند. |
| علامتهای نقلقول مانع از تفسیر نویسههای \ توسط شل میشوند. |
| نویسههای \ نویسههای [ و ] را گریز میدهند (escape میکنند) |
| تا فیلتر rclone با آنها بهصورت لفظی رفتار کند نه بهعنوان یک بازهٔ نویسهای (character-range). |
| نویسههای { و } یک فهرست الگوی rclone را تعریف میکنند. |
| برای سایر سیستمعاملها نقلقولهای تکی لازم است، یعنی: |
| rclone ls remote: --exclude '*\[{JP,KR,HK}\]*' |
| --exclude-from - خواندن الگوهای استثنا از فایل |
| نامهای مسیر/فایل را بر اساس قواعد موجود در یک فایل مشخص، از دستور rclone |
| مستثنی میکند. |
| این فایل شامل فهرستی از توضیحات و قواعد الگو است. |
| بهعنوان مثال در exclude-file.txt: |
| # a sample exclude rule file |
| *.bak |
| file2.jpg |
| دستور rclone ls remote: --exclude-from exclude-file.txt فایلهای |
| روی remote: را بهجز مواردی به نام file2.jpg یا دارای |
| پسوند .bak فهرست میکند. |
| این معادل است با: |
| rclone ls remote: --exclude file2.jpg --exclude "*.bak". |
| این پرچم میتواند تکرار شود. |
| برای ترتیب پردازش پرچمهای فیلتر، موارد بالا را ببینید. |
| پرچم --exclude-from در مواردی که چندین قاعدهٔ فیلترِ استثنا به یک |
| دستور rclone اعمال میشود، کاربردی است. |
| پرچم --exclude-from نباید همراه با پرچمهای --include، |
| --include-from، --filter یا --filter-from |
| استفاده شود. |
| --exclude-from در صورت ترکیب با پرچمهای --files-from، |
| --files-from-raw یا --files-from0 هیچ تأثیری ندارد. |
| --exclude-from به همراه - قواعد فیلتر را از ورودی |
| استاندارد میخواند..SS --include - شامل کردن فایلهای منطبق با الگو |
| یک قاعدهٔ شمول بر اساس نام مسیرها/فایلها به دستور rclone اضافه میکند. |
| این گزینه میتواند تکرار شود. |
| برای اطلاع از ترتیب پردازش گزینههای فیلتر، موارد بالا را ببینید. |
| گزینهٔ --include در صورت ترکیب با گزینههای |
| --files-from، --files-from-raw یا |
| --files-from0 هیچ تأثیری ندارد. |
| گزینهٔ --include به معنی اعمال --exclude ** در انتهای |
| فهرست فیلترهای داخلی rclone است. |
| بنابراین اگر گزینههای --include و --include-from |
| را با --exclude، --exclude-from، |
| --filter یا --filter-from ترکیب کنید، باید از قواعد |
| شمول برای تمام فایلهایی که میخواهید در عبارت include قرار گیرند استفاده نمایید. |
| برای انعطافپذیری بیشتر از گزینهٔ --filter-from استفاده کنید. |
| بهعنوان مثال، |
| دستور rclone ls remote: --include "*.{png,jpg}" فایلهای |
| موجود در remote: با پسوند .png و |
| .jpg را فهرست میکند. |
| تمام فایلهای دیگر مستثنی میشوند. |
| بهعنوان مثال، |
| چندین دستور rclone copy را میتوان با --include |
| و یک فهرست الگو ترکیب کرد. |
| rclone copy /vol1/A remote:A |
| rclone copy /vol1/B remote:B |
| معادل است با: |
| rclone copy /vol1 remote: --include "{A,B}/**" |
| بهعنوان مثال، |
| دستور rclone ls remote:/wheat --include "??[^[:punct:]]*" |
| فایلهای دایرکتوری wheat در remote: (و |
| زیردایرکتوریهای آن) را که نویسهٔ سوم آنها علامت نگارشی نباشد فهرست میکند. |
| این مثال از یک کلاس نویسهٔ اسکی (https://golang.org/pkg/regexp/syntax) |
| استفاده میکند. |
| --include-from - خواندن الگوهای شمول از فایل |
| بر اساس قواعد موجود در یک فایل مشخصشده، نام مسیرها/فایلها را به یک دستور rclone |
| اضافه میکند. |
| این فایل شامل فهرستی از توضیحات و قواعد الگو است. |
| بهعنوان نمونه در include-file.txt: |
| # a sample include rule file |
| *.jpg |
| file2.avi |
| دستور rclone ls remote: --include-from include-file.txt فایلهای |
| موجود در remote: با نام file2.avi یا پسوند |
| .jpg را فهرست میکند. |
| این دستور معادل است با: |
| rclone ls remote: --include file2.avi --include "*.jpg". |
| این گزینه میتواند تکرار شود. |
| برای اطلاع از ترتیب پردازش گزینههای فیلتر، موارد بالا را ببینید. |
| گزینهٔ --include-from در مواردی که چندین قاعدهٔ فیلتر |
| شمول به یک دستور rclone اعمال میشود، کاربردی است. |
| گزینهٔ --include-from به معنی اعمال --exclude ** در انتهای |
| یک فهرست فیلترهای داخلی rclone است. |
| بنابراین اگر گزینههای --include و --include-from |
| را با --exclude، --exclude-from، |
| --filter یا --filter-from ترکیب کنید، باید از قواعد |
| شمول برای تمام فایلهایی که میخواهید در عبارت include قرار گیرند استفاده نمایید. |
| برای انعطافپذیری بیشتر از گزینهٔ --filter-from استفاده کنید. |
| گزینهٔ --include-from در صورت ترکیب با گزینههای |
| --files-from، --files-from-raw یا |
| --files-from0 هیچ تأثیری ندارد. |
| گزینهٔ --include-from اگر پس از آن - بیاید، قواعد فیلتر را |
| از ورودی استاندارد میخواند..SS --filter - افزودن یک قاعده پالایش فایل |
| مسیرها/نامهای فایل را بر اساس یک قاعده واحد برای گنجاندن یا مستثنی کردن، |
| در قالب + یا -، برای دستور rclone مشخص میکند. |
| این پرچم میتواند تکرار شود. |
| برای اطلاع از ترتیبی که پرچمهای فیلتر بر اساس آن پردازش میشوند، بخش بالا را ببینید. |
| گزینه --filter + با --include تفاوت دارد. |
| در مورد --include، rclone قاعده |
| --exclude * را به طور ضمنی در نظر گرفته و آن را به انتهای فهرست قواعد |
| داخلی میافزاید. |
| اما --filter...+ چنین قاعدهای را به صورت ضمنی اعمال نمیکند. |
| گزینه --filter هنگام ترکیب با پرچمهای |
| --files-from، --files-from-raw یا |
| --files-from0 هیچ تأثیری ندارد. |
| گزینه --filter نباید همراه با پرچمهای --include، |
| --include-from، --exclude یا |
| --exclude-from استفاده شود. |
| برای نمونه: |
| دستور rclone ls remote: --filter "- *.bak" تمام |
| فایلهای .bak را از فهرست remote: مستثنی میکند. |
| --filter-from - خواندن الگوهای پالایش از یک فایل |
| مسیرها/نامهای فایل را بر اساس قواعد موجود در یک فایل مشخصشده |
| به دستور rclone اضافه میکند. |
| این فایل شامل فهرستی از توضیحات و قواعد الگو است. |
| قواعد گنجاندن با + و قواعد مستثنیکردن با - آغاز میشوند. |
| علامت ! قواعد موجود را پاک میکند. |
| قواعد به ترتیبی که تعریف شدهاند پردازش میشوند. |
| این پرچم میتواند تکرار شود. |
| برای اطلاع از ترتیبی که پرچمهای فیلتر بر اساس آن پردازش میشوند، بخش بالا را ببینید. |
| ترتیب قواعد فیلتر را طوری تنظیم کنید که محدودکنندهترین قاعده در ابتدا باشد و |
| به سمت پایین ادامه دهید. |
| خطوطی که با # یا ; آغاز میشوند نادیده گرفته شده و میتوان از آنها برای نوشتن |
| توضیحات استفاده کرد. |
| توضیحات درونخطی پشتیبانی نمیشوند. |
| از -vv --dump filters استفاده کنید تا ببینید چگونه در |
| عبارت باقاعده نهایی ظاهر میشوند. |
| برای نمونه، |
| برای filter-file.txt: |
| # a sample filter rule file |
| - secret*.jpg |
| + *.jpg |
| + *.png |
| + file2.avi |
| - /dir/tmp/** # WARNING! This text will be treated as part of the path. |
| - /dir/Trash/** |
| + /dir/** |
| # exclude everything else |
| - * |
| دستور rclone ls remote: --filter-from filter-file.txt مسیرها/فایلهای |
| روی remote: را فهرست میکند، شامل تمام فایلهای jpg و |
| png، به استثنای هر موردی که با secret*.jpg مطابقت داشته باشد، و |
| شامل file2.avi. |
| همچنین همه موارد موجود در دایرکتوری dir در ریشه |
| remote را در بر میگیرد، به جز remote:dir/Trash که آن |
| را مستثنی میکند. |
| هر چیز دیگری مستثنی میشود. |
| برای نمونه، |
| برای یک filter-file.txt جایگزین: |
| - secret*.jpg |
| + *.jpg |
| + *.png |
| + file2.avi |
| - * |
| فایلهای file1.jpg، file3.png و file2.avi |
| فهرست میشوند، در حالی که secret17.jpg و فایلهای بدون پسوند |
| .jpg یا .png مستثنی میگردند. |
| برای نمونه، |
| برای یک filter-file.txt جایگزین: |
| + *.jpg |
| + *.gif |
| ! |
| + 42.doc |
| - * |
| تنها فایل 42.doc فهرست میشود. |
| قواعد پیشین توسط ! پاک میشوند..SS --files-from - خواندن فهرست نامهای فایلهای مبدأ |
| مسیرها/فایلها را از روی فهرستی درون یک فایل مشخصشده به دستور rclone اضافه میکند. |
| rclone نام مسیرها/فایلها را به ترتیب موجود در فهرست پردازش میکند، و نه هیچ فایل دیگری را. |
| هنگامی که از --files-from، --files-from-raw یا --files-from0 استفاده شود، سایر پرچمهای فیلتر (--include، --include-from، |
| --exclude، --exclude-from، --filter و |
| --filter-from) نادیده گرفته میشوند. |
| گزینهٔ --files-from فهرستی از فایلها را بهعنوان ورودی خود انتظار دارد. |
| فاصلههای خالی ابتدا یا انتهای خطوط ورودی حذف میشوند. |
| خطوطی که با # یا ; آغاز شوند نادیده گرفته میشوند. |
| اگر پس از --files-from از - استفاده شود، فهرست فایلها از ورودی استاندارد خوانده میشود. |
| دستورهای rclone به همراه پرچم --files-from، ریموت را میپیمایند و با نامهای موجود در --files-from مانند مجموعهای از فیلترها برخورد میکنند. |
| اگر پرچمهای --no-traverse و --files-from با هم استفاده شوند، دستور rclone ریموت را نمیپیماید. |
| در عوض، به هر مسیر/فایلِ نامبرده در فایل بهصورت جداگانه رجوع میکند. |
| برای هر نام مسیر/فایل، معمولاً به ۱ فراخوانی API نیاز است. |
| این کار میتواند برای یک فهرست --files-from کوتاه و ریموتی حاوی فایلهای فراوان کارآمد باشد. |
| اگر هر یک از نامهای درون فایل --files-from در ریموت مبدأ موجود نباشد، دستورهای rclone خطایی صادر نمیکنند. |
| پرچم --files-from میتواند در یک دستور rclone تکرار شود تا نامهای مسیر/فایل را از چندین فایل بخواند. |
| فایلها از چپ به راست در خط فرمان خوانده میشوند. |
| مسیرهای درون فایل --files-from بهصورت شروعشونده از ریشهٔ مشخصشده در دستور rclone تفسیر میشوند. |
| جداکنندههای ابتدایی / نادیده گرفته میشوند. |
| اگر نیاز دارید ورودی بهصورت خام پردازش شود، --files-from-raw را ببینید. |
| بهعنوان مثال برای یک فایل files-from.txt: |
| # comment |
| file1.jpg |
| subdir/file2.jpg |
| دستور rclone copy --files-from files-from.txt /home/me/pics remote:pics |
| موارد زیر را، در صورت وجود و تنها همان فایلها، کپی میکند. |
| /home/me/pics/file1.jpg → remote:pics/file1.jpg |
| /home/me/pics/subdir/file2.jpg → remote:pics/subdir/file2.jpg |
| بهعنوان مثال، برای کپی کردن فایلهای زیر که با مسیر مطلق خود مشخص شدهاند: |
| /home/user1/42 |
| /home/user1/dir/ford |
| /home/user2/prefect |
| ابتدا یک زیرشاخهٔ مشترک پیدا کنید - در این حالت /home - و بقیه مسیر فایلها را با یا بدون / ابتدایی درون files-from.txt قرار دهید، مانند: |
| user1/42 |
| user1/dir/ford |
| user2/prefect |
| سپس آنها را به یک ریموت کپی کنید: |
| rclone copy --files-from files-from.txt /home remote:backup |
| این سه فایل به این صورت منتقل میشوند: |
| /home/user1/42 → remote:backup/user1/important |
| /home/user1/dir/ford → remote:backup/user1/dir/file |
| /home/user2/prefect → remote:backup/user2/stuff |
| یا اینکه اگر / بهعنوان ریشه انتخاب شود، محتوای files-from.txt چنین خواهد بود: |
| /home/user1/42 |
| /home/user1/dir/ford |
| /home/user2/prefect |
| دستور کپی بهصورت زیر خواهد بود: |
| rclone copy --files-from files-from.txt / remote:backup |
| سپس یک دایرکتوری اضافی home روی ریموت ایجاد خواهد شد: |
| /home/user1/42 → remote:backup/home/user1/42 |
| /home/user1/dir/ford → remote:backup/home/user1/dir/ford |
| /home/user2/prefect → remote:backup/home/user2/prefect |
| این پرچم همانند --files-from است، با این تفاوت که ورودی بهصورت خام خوانده میشود. |
| خطوط دارای فاصلههای خالی ابتدایی یا انتهایی، و خطوطی که با |
| ; یا # آغاز میشوند، بدون هیچ پردازشی خوانده میشوند. |
| دستور rclone lsf (https://rclone.org/commands/rclone_lsf) قالب سازگاری دارد |
| که میتواند برای خروجی گرفتن از فهرست فایلها از ریموتها جهت ورودی دادن به |
| --files-from-raw استفاده شود. |
| --files-from0 - خواندن فهرست نام فایلهای مبدأ جداشده با NUL |
| این پرچم همانند --files-from-raw است، با این تفاوت که ورودی بهجای |
| خطوط جدید، با نویسههای NUL (\0) تفکیک میشود. |
| این ویژگی، امکان مدیریت نام فایلهایی را که حاوی نویسههای خط جدید (newline) هستند فراهم میکند. |
| این گزینه مشابه با گزینه -print0 در find و گزینه |
| -0 در xargs است. |
| بهعنوان مثال، برای کپی کردن فایلهای فهرستشده توسط find: |
| find /path -print0 | rclone copy --files-from0 - / remote:path |
| --ignore-case - غیرحساس کردن جستجوها به بزرگی و کوچکی حروف |
| بهطور پیشفرض، الگوهای فیلتر rclone به بزرگی و کوچکی حروف حساس هستند. |
| پرچم --ignore-case تمام الگوهای فیلتر در خط فرمان را به بزرگی و کوچکی |
| حروف غیرحساس میکند. |
| بهعنوان مثال، |
| --include "zaphod.txt" با فایل Zaphod.txt تطابق ندارد. |
| با استفاده از --ignore-case این تطابق برقرار میشود. |
| نقلقول نویسههای ویژه پوسته |
| دستورات rclone با الگوهای فیلتری که شامل نویسههای ویژه پوسته (shell metacharacters) هستند |
| ممکن است در پوسته شما آنطور که انتظار میرود عمل نکنند و نیازمند نقلقول (کوت کردن) باشند. |
| بهعنوان مثال، در linux و OSX (نویسه ویژه *): |
| • 2 |
| --include \*.jpg |
| • 2 |
| --include '*.jpg' |
| • 2 |
| --include='*.jpg' |
| در Microsoft Windows فرایند بسط توسط خود دستور انجام میشود، نه پوسته؛ بنابراین |
| --include *.jpg نیازی به نقلقول ندارد. |
| اگر با خطای rclone: |
| Command .... needs .... arguments maximum: you provided .... non flag arguments: |
| مواجه شدید، علت معمولاً وجود فاصله در نام یک ریموت یا مقدار یک پرچم است. |
| راهحل در این صورت، نقلقول کردن (کوت کردن) مقادیر حاوی فاصله است. |
| فیلترهای دیگر |
| --min-size - عدم انتقال فایلهای کوچکتر از این مقدار |
| حداقل اندازه فایل را در حوزه دستور rclone کنترل میکند. |
| واحدهای پیشفرض KiB هستند اما اختصارات B، |
| K، M، G، T یا P نیز |
| معتبر میباشند. |
| بهعنوان مثال، |
| rclone ls remote: --min-size 50k فایلهای موجود در |
| remote: با اندازه ۵۰ کیلوبایت (KiB) یا بزرگتر را فهرست میکند. |
| برای اطلاعات بیشتر، مستندات گزینههای اندازه (https://rclone.org/docs#size-options) |
| را ببینید. |
| --max-size - عدم انتقال فایلهای بزرگتر از این مقدار |
| حداکثر اندازه فایل را در حوزه دستور rclone کنترل میکند. |
| واحدهای پیشفرض KiB هستند اما اختصارات B، |
| K، M، G، T یا P نیز |
| معتبر میباشند. |
| بهعنوان مثال، |
| rclone ls remote: --max-size 1G فایلهای موجود در |
| remote: با اندازه ۱ گیگابایت (GiB) یا کوچکتر را فهرست میکند. |
| برای اطلاعات بیشتر، مستندات گزینههای اندازه (https://rclone.org/docs#size-options) |
| را ببینید..SS --max-age - عدم انتقال فایلهای قدیمیتر از این مقدار |
| حداکثر عمر فایلهای موجود در دامنه یک دستور rclone را کنترل میکند. |
| گزینه --max-age فقط برای فایلها اعمال میشود و نه دایرکتوریها. |
| برای مثال، |
| دستور rclone ls remote: --max-age 2d فایلهای موجود در |
| remote: با عمر ۲ روز یا کمتر را فهرست میکند. |
| برای اطلاع از قالبهای معتبر، مستندات گزینههای زمان (https://rclone.org/docs/#time-options) را |
| ببینید. |
| --min-age - عدم انتقال فایلهای جدیدتر از این مقدار |
| حداقل عمر فایلهای موجود در دامنه یک دستور rclone را کنترل میکند. |
| (برای قالبهای معتبر به --max-age مراجعه کنید) |
| گزینه --min-age فقط برای فایلها اعمال میشود و نه دایرکتوریها. |
| برای مثال، |
| دستور rclone ls remote: --min-age 2d فایلهای موجود در |
| remote: با عمر ۲ روز یا بیشتر را فهرست میکند. |
| برای اطلاع از قالبهای معتبر، مستندات گزینههای زمان (https://rclone.org/docs/#time-options) را |
| ببینید. |
| --hash-filter - انتخاب قطعی زیرمجموعهای از فایلها |
| پرچم --hash-filter امکان انتخاب یک زیرمجموعه معین و قطعی از فایلها را فراهم میکند که برای موارد زیر مفید است: |
| "1." 3 |
| اجرای عملیاتهای همگامسازی بزرگ در میان چندین ماشین. |
| "2." 3 |
| بررسی زیرمجموعهای از فایلها برای پوسیدگی بیت (bitrot). |
| "3." 3 |
| هرگونه عملیات دیگری که در آن به نمونهای از فایلها نیاز باشد. |
| نحوه استفاده (Syntax) |
| این پرچم دو پارامتر را دریافت میکند که به صورت یک کسر بیان میشوند: |
| --hash-filter K/N |
| • 2 |
| N: تعداد کل افرازها (باید یک عدد صحیح مثبت باشد). |
| • 2 |
| K: افراز مشخص برای انتخاب (یک عدد صحیح از |
| 0 تا N). |
| برای مثال: |
| • 2 |
| --hash-filter 1/3: یکسوم نخست فایلها را انتخاب میکند. |
| • 2 |
| --hash-filter 2/3 و --hash-filter 3/3: بهترتیب افرازهای دوم و سوم را انتخاب میکنند. |
| افرازها هیچ همپوشانی با یکدیگر ندارند و تضمین میشود که تمام فایلها بدون تکرار پوشش داده میشوند. |
| انتخاب تصادفی افراز |
| برای انتخاب تصادفی یک افراز، از @ به عنوان K استفاده کنید: |
| --hash-filter @/M |
| برای مثال، --hash-filter @/3 بهطور تصادفی عددی بین 0 و 2 را انتخاب خواهد کرد. |
| این مقدار در طول تلاشهای مجدد ثابت باقی میماند. |
| نحوه کارکرد |
| • 2 |
| ابزار Rclone مسیر کامل هر فایل را دریافت کرده، آن را به حروف کوچک تبدیل میکند و نرمالسازی یونیکد را روی آن اعمال مینماید. |
| • 2 |
| سپس مسیر نرمالشده را به یک عدد ۶۴ بیتی هش میکند. |
| • 2 |
| نتیجه هش به پیمانه N محاسبه میشود تا فایل به یک افراز تخصیص یابد. |
| • 2 |
| اگر افراز محاسبهشده با K مطابقت نداشته باشد، فایل کنار گذاشته میشود. |
| • 2 |
| اگر فایل کنار گذاشته نشود، ممکن است فیلترهای دیگر نیز اعمال شوند. |
| مهم: ابزار Rclone برای اعمال این فیلتر تمام دایرکتوریها را پیمایش خواهد کرد..SS نکات استفاده |
| • 2 |
| استفاده همراه با rclone sync ایمن است؛ موارد انتخابی مبدا و مقصد |
| تطابق خواهند داشت. |
| • 2 |
| همراه با --delete-excluded استفاده نکنید، زیرا این کار |
| ممکن است فایلهای انتخابنشده را حذف کند. |
| • 2 |
| در صورت استفاده از --files-from، --files-from-raw یا |
| --files-from0 نادیده گرفته میشود. |
| مثالها |
| تقسیم فایلها به ۴ بخش |
| با فرض اینکه دایرکتوری فعلی شامل file1.jpg تا |
| file9.jpg باشد: |
| $ rclone lsf --hash-filter 0/4 . |
| file1.jpg |
| file5.jpg |
| $ rclone lsf --hash-filter 1/4 . |
| file3.jpg |
| file6.jpg |
| file9.jpg |
| $ rclone lsf --hash-filter 2/4 . |
| file2.jpg |
| file4.jpg |
| $ rclone lsf --hash-filter 3/4 . |
| file7.jpg |
| file8.jpg |
| $ rclone lsf --hash-filter 4/4 . # the same as --hash-filter 0/4 |
| file1.jpg |
| file5.jpg |
| همگامسازی یکچهارم نخست فایلها |
| rclone sync --hash-filter 1/4 source:path destination:path |
| بررسی یکپارچگی ۱٪ تصادفی از فایلها |
| rclone check --download --hash-filter @/100 source:path destination:path |
| سایر پرچمها |
| --delete-excluded - حذف فایلهای مستثنا شده از همگامسازی در مقصد |
| مهم: این پرچم برای دادههای شما خطرناک است - ابتدا همراه با |
| --dry-run و -v استفاده کنید. |
| در همراهی با rclone sync، پرچم --delete-excluded |
| هر فایلی را در مقصد که از دستور مستثنا شده باشد حذف میکند. |
| بهعنوان مثال، دامنه rclone sync --interactive A: B: میتواند |
| محدود شود: |
| rclone --min-size 50k --delete-excluded sync A: B: |
| تمام فایلهای موجود در B: که کمتر از 50 KiB هستند حذف میشوند زیرا |
| از دستور rclone sync مستثنا شدهاند. |
| --dump filters - تخلیه فیلترها در خروجی |
| فیلترهای تعریفشده را در قالب عبارت باقاعده (regular expression) در خروجی |
| استاندارد تخلیه میکند. |
| برای اشکالزدایی مفید است..SS استثنا کردن دایرکتوری بر اساس یک فایل (Exclude directory based on a file) |
| پرچم --exclude-if-present بر اساس وجود یک فایل مشخص درون دایرکتوری، |
| تعیین میکند که آیا آن دایرکتوری در محدوده پردازش دستور rclone قرار بگیرد یا خیر. |
| این پرچم میتواند برای بررسی چندین نام فایل تکرار شود؛ وجود هر یک از آنها |
| موجب استثنا شدن دایرکتوری خواهد شد. |
| این پرچم نسبت به سایر پرچمهای فیلتر اولویت دارد. |
| برای مثال برای ساختار دایرکتوری زیر: |
| dir1/file1 |
| dir1/dir2/file2 |
| dir1/dir2/dir3/file3 |
| dir1/dir2/dir3/.ignore |
| دستور rclone ls --exclude-if-present .ignore dir1 موارد |
| dir3، file3 یا .ignore را فهرست نمیکند. |
| فیلترهای فراداده (Metadata filters) |
| فیلترهای فراداده روش کاری بسیار مشابهی با فیلترهای معمولی نام فایل دارند، |
| با این تفاوت که با فرادادهها (https://rclone.org/docs/#metadata) روی |
| شیء مطابقت داده میشوند. |
| فراداده باید بهصورت الگوهای key=value مشخص شود. |
| این الگوها میتوانند با استفاده از الگوهای فیلتر عادی (wildcard) یا |
| عبارات باقاعده (regular expressions) تعریف شوند. |
| برای مثال، اگر بخواهید فقط فایلهای محلی با حالت (mode) دسترسی |
| 100664 را فهرست کنید، میتوانید این کار را انجام دهید: |
| rclone lsf -M --files-only --metadata-include "mode=100664" . |
| یا اگر بخواهید فایلهایی با atime، mtime |
| یا btime در یک تاریخ مشخص را نمایش دهید: |
| rclone lsf -M --files-only --metadata-include "[abm]time=2022-12-16*" . |
| همانند فیلتر کردن فایلها، فیلتر فراداده نیز فقط بر روی فایلها اعمال |
| میشود و نه بر روی دایرکتوریها. |
| فیلترها را میتوان با استفاده از این پرچمها اعمال کرد: |
| • 2 |
| --metadata-include - شامل کردن فرادادههای منطبق با الگو |
| • 2 |
| --metadata-include-from - خواندن الگوهای شاملسازی فراداده از فایل |
| (استفاده از - برای خواندن از stdin) |
| • 2 |
| --metadata-exclude - استثنا کردن فرادادههای منطبق با الگو |
| • 2 |
| --metadata-exclude-from - خواندن الگوهای استثناسازی فراداده از فایل |
| (استفاده از - برای خواندن از stdin) |
| • 2 |
| --metadata-filter - افزودن یک قاعده فیلتر فراداده |
| • 2 |
| --metadata-filter-from - خواندن الگوهای فیلتر فراداده از یک فایل |
| (استفاده از - برای خواندن از stdin) |
| هر پرچم میتواند تکرار شود. |
| برای جزئیات بیشتر به بخش نحوه اعمال قوانین فیلتر مراجعه کنید - این پرچمها |
| دقیقاً مشابه پرچمهای فیلتر نام فایل عمل میکنند، اما بهجای الگوهای نام فایل، |
| دارای الگوهای فراداده هستند. |
| اشتباهات رایج (Common pitfalls) |
| متداولترین مشکلات مرتبط با فیلترها در انجمن rclone |
| (https://forum.rclone.org) عبارتند از: |
| • 2 |
| عدم استفاده از مسیرهای نسبی نسبت به ریشه remote |
| • 2 |
| عدم استفاده از / برای تطابق از ریشه یک remote |
| • 2 |
| عدم استفاده از ** برای تطبیق محتویات یک دایرکتوری.SH rclone gui |
| دستور rclone gui واسط گرافیکی وب (Web GUI) رسمی که همراه با rclone |
| ارائه میشود را راهاندازی میکند. |
| با این دستور، rclone میتواند یک واسط گرافیکی کاربر (GUI) تحت وب را ارائه دهد |
| که از طریق یک مرورگر وب معمولی قابل دسترسی است. |
| آن را در ترمینال اجرا کنید تا rclone مقداردهی اولیه شده و سپس GUI را آغاز کند. |
| rclone gui |
| این دستور گزارشهایی مانند نمونهٔ زیر تولید خواهد کرد. |
| پنجرهٔ ترمینال برای تداوم اجرای GUI باید باز بماند: |
| 2026/04/14 11:36:04 NOTICE: Serving remote control on http://127.0.0.1:50803 |
| 2026/04/14 11:36:04 NOTICE: Serving GUI on http://127.0.0.1:50802 |
| 2026/04/14 11:36:04 NOTICE: GUI available at http://127.0.0.1:50802/login?pass=XXX&url=http%3A%2F%2F127.0.0.1%3A50803%2F&user=gui |
| شما همچنین میتوانید هنگام اجرای GUI فلگهای اشکالزدایی را اضافه کنید؛ |
| مانند -v که خروجی گزارشهای بیشتری را از سرور rc نمایش میدهد. |
| "استفاده از رابط کاربری (Using the GUI)" |
| بهمحض باز شدن مرورگر، داشبورد (Dashboard) به شما نمایش داده میشود؛ |
| صفحهٔ اصلی که در آن میتوانید وضعیت ریموتها و سیستم خود را مشاهده کنید. |
| در بالا، از سمت چپ، مجموعهای از زبانهها (تبها) را مشاهده میکنید که |
| میتوانید روی آنها کلیک کنید. |
| در سمت راست، دکمهٔ خروج و در صورت انتشار نسخهٔ جدیدی از rclone، پیام |
| "Update available" نمایش داده خواهد شد. |
| "داشبورد (Dashboard)" |
| معیارها (متریکها) را بهصورت زنده ببینید، از نزدیک شدن ظرفیت ریموتهایتان به |
| حداکثر مطلع شوید، و تغییرات نسخهٔ جاری (changelog) را بخوانید. |
| "کاوشگر (Explorer)" |
| دیسکهای محلی و ریموتها را کاوش و مدیریت کنید، فایلها و پوشهها را بارگیری |
| کرده و فرایندهای انتقال را آغاز نمایید. |
| "ریموتها (Remotes)" |
| فهرست ریموتها را مرور کرده و روی آنها ضربه بزنید تا به کاوشگر هدایت شوید. |
| در آنجا میتوانید در محتوای ریموتهای خود گردش کنید، انتقال دهید، بارگیری نمایید |
| و حتی فایلها را بارگذاری کنید. |
| "اتصالها (Mounts)" |
| ریموتها را بهعنوان درایوهای محلی روی رایانهٔ خود سوار (mount) کنید و اتصالهای |
| موجود را بررسی نمایید. |
| "سرویسدهندهها (Serves)" |
| اطلاعات سریعی دربارهٔ نمونههای در حال ارائه (serve) فعال به دست آورید و موارد |
| جدیدی را آغاز کنید. |
| "تنظیمات (Settings)" |
| فایل rclone.conf خود را بهطور مستقیم ویرایش کرده و فلگهای |
| گزارشگیری و پارامترهای عملکرد را تنظیم نمایید. |
| "نحوه کارکرد (How it works)" |
| هنگامی که rclone gui را اجرا میکنید، این اتفاقات رخ میدهد: |
| • 2 |
| برنامهٔ rclone رابط برنامهنویسی کنترل از راه دور (API با نام "rc") را راهاندازی میکند. |
| • 2 |
| برنامهٔ rclone سرور دومی را برای میزبانی واسط گرافیکی وب (Web GUI) راهاندازی میکند. |
| • 2 |
| اگر درگاه (پورت)، نام کاربری یا گذرواژه مشخص نشده باشد، مقادیر ناموجود بهطور خودکار |
| تولید میشوند. |
| • 2 |
| مگر اینکه گزینهٔ --no-open-browser ارسال شده باشد، پنجرهٔ مرورگر باز |
| خواهد شد. |
| • 2 |
| نشانی URL از قبل حاوی نام کاربری و گذرواژه است؛ در این صورت رابط کاربری از |
| این مقادیر استفاده کرده و شما را بهطور خودکار وارد سیستم میکند. |
| "امنیت (Security)" |
| بسیار مهم است که ابتدا بیندیشید rclone به چه مواردی دسترسی دارد و ممکن است چه |
| اطلاعاتی را به اشتراک بگذارید. |
| چند تدبیر مناسب: |
| • 2 |
| از گزینهٔ --no-auth استفاده نکنید (این گزینه صرفاً برای آزمایش است). |
| • 2 |
| آن را در شبکهٔ محلی در دسترس قرار ندهید (مثلاً با |
| --api-addr :5572 --addr :8080)، مگر اینکه به همهٔ دستگاههای |
| شبکهٔ محلی خود اطمینان داشته باشید. |
| استفاده از 127.0.0.1 یا localhost (حالت پیشفرض) ارجح است. |
| • 2 |
| در صورت استفاده از --user و --pass، از گذرواژههای قوی و |
| نامهای کاربری غیرقابلحدس (نه مواردی مثل "admin" یا "rclone") بهره بگیرید. |
| • 2 |
| اگر میخواهید آن را روی یک سرور میزبانی کرده و از راه دور به آن دسترسی داشته باشید، |
| مطمئن شوید که فقط رابط گرافیکی (GUI) را در معرض دسترسی قرار میدهید، نه RC API را. |
| آنها روی درگاههای (پورتهای) متفاوتی گوش میدهند. |
| اگر قصد دارید از راه دور به آن دسترسی داشته باشید اما تمایلی به راهاندازی پروکسی و |
| باز کردن درگاهها ندارید، میتوانید از Cloudflare Tunnels یا localhost.run یا |
| Tailscale استفاده کنید (که همگی رایگان هستند)..SS گزینهها (OPTIONS) |
| --addr stringArray IPaddress:Port برای کارساز GUI (پیشفرض: درگاه خودکار localhost) |
| --api-addr stringArray IPaddress:Port برای کارساز RC API (پیشفرض: درگاه خودکار localhost) |
| --enable-metrics فعالسازی نقطه پایانی سازگار با OpenMetrics/Prometheus در /metrics |
| -h, --help راهنمای gui |
| --no-auth عدم نیاز به احراز هویت برای RC API |
| --no-open-browser عدم باز کردن خودکار مرورگر |
| --pass string گذرواژه برای احراز هویت RC |
| --user string نام کاربری برای احراز هویت RC |
| تاریخچه (History) |
| در نگارش 1.74، رابط کاربری گرافیکی (GUI) برای سهولت استفاده بازنویسی شد و درون rclone قرار گرفت. |
| بسته GUI به صورت یک فایل فشرده zip تعبیهشده در باینری rclone عرضه میشود |
| و در زمان اجرا از درون این فایل zip ارائه میگردد. |
| "کنترل از راه دور rclone با API (Remote controlling rclone with its API)" |
| اگر rclone با پرچم --rc اجرا شود، یک کارساز HTTP را راهاندازی میکند |
| که میتوان از آن برای کنترل از راه دور rclone با استفاده از API آن بهره برد. |
| شما میتوانید برای دسترسی به API از دستور rc استفاده کنید یا مستقیماً |
| از طریق HTTP متصل شوید. |
| اگر صرفاً میخواهید یک کنترل از راه دور را اجرا کنید، دستور |
| rcd (https://rclone.org/commands/rclone_rcd) را ببینید. |
| امنیت (Security) |
| دسترسی به API مربوط به rc معادل دسترسی به شل (shell) در قالب کاربری است که rclone را اجرا میکند. |
| با درگاه rc همانند یک ورود تعاملی به سیستم میزبان رفتار کنید. |
| هر فراخوانندهای که بتواند به API متصل شود (و در صورت فعال بودن احراز هویت، آن را پشت سر بگذارد)، |
| میتواند اقدامات زیر و موارد دیگر را انجام دهد: |
| • 2 |
| اجرای دستورات سیستمعامل در قالب کاربر rclone. |
| دستور core/command باینری rclone را با آرگومانهای دلخواه مجدداً اجرا میکند، |
| و چندین گزینه پشتیبان (backend) نیز به اجرای برنامهها در شل میپردازند؛ بنابراین حتی |
| ایجاد یک ریموت با config/create میتواند منجر به اجرای دستورات سیستمی شود. |
| • 2 |
| خواندن و نوشتن هر فایلی که برای فرایند rclone در دسترس باشد، از طریق |
| هدایت operations/* یا sync/* به یک ریموت local |
| (یا از طریق --rc-files / --rc-serve). |
| نوشتن فایلهای دلخواه در قالب کاربر rclone به خودی خود مسیری برای اجرای کد است. |
| • 2 |
| بازخوانی اطلاعات هویتی و اعتبارسنجی ذخیرهشده. پیکربندیهای rclone معمولاً حاوی |
| اطلاعات محرمانه ارائهدهندگان ابری هستند. |
| دستور config/dump و موارد مشابه آنها را افشا میکنند؛ بنابراین نفوذ به rc |
| به تمام backendهای پیکربندیشده دسترسی پیدا میکند. |
| • 2 |
| تغییر رفتار زمان اجرای rclone با |
| options/set، مدیریت ریموتها با config/*، |
| و متوقف کردن فرایند با core/quit. |
| در حال حاضر هیچ سازوکار سطح دسترسی یا محدودهبندی (scope) به ازای هر نقطه پایانی وجود ندارد: |
| احراز هویت به صورت صفر و یکی (همهیاهیچ) است. |
| اعطای هرگونه دسترسی، تمامی دسترسیهای فوق را فراهم میکند. |
| در نتیجه: |
| • 2 |
| سرویس rc را به آدرس شبکهای که تحت کنترل شما نیست متصل (bind) نکنید. |
| آدرس پیشفرض لوپبک (localhost:5572) است؛ مگر اینکه دلیل خاصی برای تغییر آن داشته باشید، |
| آن را تغییر ندهید. |
| • 2 |
| روی اتصالات غیر از لوپبک از --rc-no-auth استفاده نکنید. این پرچم |
| احراز هویت را در نقاط پایانی دسترسی به ریموتها غیرفعال میکند — به |
| --rc-no-auth مراجعه کنید. |
| • 2 |
| از احراز هویت و TLS استفاده کنید |
| (--rc-user/--rc-pass یا --rc-htpasswd، |
| به همراه --rc-cert/--rc-key) هر زمان که درگاه توسط هر فردی |
| که کاملاً به او اعتماد ندارید قابل دسترسی است، و مقدار |
| --rc-min-tls-version را افزایش دهید. |
| پارامترهای پشتیبانیشده (Supported parameters) |
| --rc |
| پرچمی برای راهاندازی کارساز http جهت گوش فرادادن به درخواستهای راه دور..SS --rc-addr=IP |
| آدرس IP:درگاه یا :درگاه برای مقید کردن (bind) سرور به آن. |
| (پیشفرض: "localhost:5572"). |
| --rc-cert=KEY |
| کلید SSL PEM (ترکیب گواهی و گواهی CA). |
| --rc-client-ca=PATH |
| مرجع صدور گواهی کلاینت (CA) برای اعتبارسنجی کلاینتها. |
| --rc-htpasswd=PATH |
| فایل htpasswd - در صورت عدم ارائه، هیچ احراز هویتی انجام نمیشود. |
| --rc-key=PATH |
| فایل کلید خصوصی TLS PEM. |
| --rc-max-header-bytes=VALUE |
| حداکثر اندازه سرآیند درخواست (پیشفرض 4096). |
| --rc-min-tls-version=VALUE |
| حداقل نسخه TLS قابل قبول. |
| مقادیر معتبر عبارتند از "tls1.0"، "tls1.1"، "tls1.2" |
| و "tls1.3" (پیشفرض "tls1.0"). |
| --rc-user=VALUE |
| نام کاربری برای احراز هویت. |
| --rc-pass=VALUE |
| گذرواژه برای احراز هویت. |
| --rc-realm=VALUE |
| قلمرو (Realm) برای احراز هویت (پیشفرض "rclone"). |
| --rc-server-read-timeout=DURATION |
| مهلت زمانی سرور برای خواندن دادهها (پیشفرض 1h0m0s). |
| --rc-server-write-timeout=DURATION |
| مهلت زمانی سرور برای نوشتن دادهها (پیشفرض 1h0m0s). |
| --rc-serve |
| فعالسازی سرویسدهی اشیاء ریموت از طریق رابط HTTP. |
| این بدان معناست که اشیاء بهطور پیشفرض در |
| http://127.0.0.1:5572/ در دسترس خواهند بود، بنابراین میتوانید برای مشاهده فهرستی از ریموتها به |
| http://127.0.0.1:5572/ یا http://127.0.0.1:5572/* مراجعه کنید. |
| اشیاء را میتوان با استفاده از این ساختار از ریموتها درخواست کرد: |
| http://127.0.0.1:5572/[remote:path]/path/to/object |
| مگر اینکه برای سرور rc احراز هویت پیکربندی شده باشد |
| (--rc-user/--rc-pass یا --rc-htpasswd) یا |
| پرچم --rc-no-auth تنظیم شده باشد، فقط ریموتهایی که از قبل در فایل پیکربندی موجود هستند میتوانند به این روش سرویسدهی شوند. |
| ریموتهای درونخطی (مانند |
| [:webdav,url=...:])، پارامترهای رشته اتصال و مسیرهای محلی خالص رد میشوند، زیرا نمونهسازی آنها از طریق یک درخواست احراز هویتنشده میتواند دستوراتی را اجرا کند یا فایلهای محلی دلخواه را بخواند. |
| پیشفرض غیرفعال (Off). |
| گزینههای رشته اتصال global.* و rc |
| ریموتهایی که توسط rc ایجاد میشوند اجازه نمیدهند گزینههای global.* در رشته اتصال |
| (https://rclone.org/docs/#connection-strings) |
| پیکربندی سراسری فرایند rclone را تغییر دهند. |
| ریموتهایی که مستقیماً در خط فرمان ایجاد میشوند یا در فایل پیکربندی تعریف شدهاند، تحت تأثیر قرار نمیگیرند. |
| یک گزینه global.* همچنان بر روی بَکاند خاصی که روی آن تنظیم شده اعمال میشود (دقیقاً مانند یک گزینه override.*)، فقط به پیکربندی سراسری بقیه فرایند نشت نمیکند. |
| --rc-serve-no-modtime |
| تنظیم این پرچم برای صرفنظر کردن از خواندن زمان تغییر (میتواند سرعت کارها را افزایش دهد). |
| پیشفرض غیرفعال (Off). |
| --rc-files /path/to/directory |
| مسیر فایلهای محلی برای سرویسدهی روی سرور HTTP. |
| اگر این گزینه تنظیم شود، rclone فایلهای موجود در آن دایرکتوری را سرویسدهی خواهد کرد. |
| همچنین در صورت مشخص شدن، مسیر ریشه را در مرورگر وب باز میکند. |
| این گزینه برای پیادهسازی رابطهای کاربری گرافیکی (GUI) مبتنی بر مرورگر برای قابلیتهای rclone کاربرد دارد. |
| اگر --rc-user یا --rc-pass تنظیم شده باشد، نشانی اینترنتی که باز میشود اطلاعات احراز هویت را در ساختار نشانی به سبک |
| http://user:pass@localhost/ خواهد داشت. |
| پیشفرض غیرفعال (Off)..SS --rc-enable-metrics |
| فعالسازی نقطه پایانی (endpoint) سازگار با OpenMetrics/Prometheus در /metrics. |
| اگر کنترل بیشتری روی متریکها مورد نیاز است (برای مثال اجرای آن روی درگاهی دیگر یا با احراز هویت متفاوت)، میتوان نقطه پایانی را در عوض با پرچمهای --metrics-* فعال کرد. |
| پیشفرض خاموش (Off). |
| --rc-web-gui |
| تنظیم این پرچم برای ارائه واسط کاربری وب (web gui) پیشفرض روی همان درگاه rclone. |
| پیشفرض خاموش (Off). |
| --rc-allow-origin |
| تنظیم Access-Control-Allow-Origin مجاز برای درخواستهای rc. |
| میتواند به همراه --rc-web-gui استفاده شود اگر rclone روی نشانی IP متفاوتی نسبت به web-gui در حال اجرا باشد. |
| پیشفرض نشانی IP است که rc روی آن اجرا میشود. |
| --rc-web-fetch-url |
| تنظیم نشانی وب (URL) برای دریافت فایلهای rclone-web-gui از آن. |
| پیشفرض |
| https://api.github.com/repos/rclone/rclone-webui-react/releases/latest. |
| --rc-web-gui-update |
| تنظیم این پرچم برای بررسی و بهروزرسانی rclone-webui-react از rc-web-fetch-url. |
| پیشفرض خاموش (Off). |
| --rc-web-gui-force-update |
| تنظیم این پرچم برای بهروزرسانی اجباری rclone-webui-react از rc-web-fetch-url. |
| پیشفرض خاموش (Off). |
| --rc-web-gui-no-open-browser |
| تنظیم این پرچم برای غیرفعال کردن باز شدن خودکار مرورگر هنگام استفاده از web-gui. |
| پیشفرض خاموش (Off). |
| --rc-job-expire-duration=DURATION |
| منقضی کردن کارهای ناهمگام (async) پایانیافته قدیمیتر از DURATION (پیشفرض 60s). |
| --rc-job-expire-interval=DURATION |
| مدت زمان بازه برای بررسی کارهای ناهمگام (async) منقضیشده (پیشفرض 10s). |
| --rc-no-auth |
| بهطور پیشفرض rclone الزام میکند که احراز هویت روی واسط rc تنظیم شده باشد تا بتوان از هر متدی که به ریموتهای rclone دسترسی دارد استفاده کرد. |
| برای نمونه دسترسی به operations/list رد میشود زیرا مستلزم ایجاد ریموت است، همچنین برای sync/copy. |
| اگر این مورد تنظیم شود، هیچ احراز هویتی روی سرور برای استفاده از این متدها لازم نخواهد بود. |
| راهکار جایگزین استفاده از --rc-user و --rc-pass و بهکارگیری این اطلاعات احراز هویت در درخواست است. |
| پیشفرض خاموش (Off). |
| --rc-baseurl |
| پیشوند برای URLها. |
| پیشفرض root است. |
| --rc-template |
| قالب مشخصشده توسط کاربر. |
| دسترسی به کنترل از راه دور از طریق دستور rclone rc |
| خود Rclone پروتکل کنترل از راه دور را در دستور rclone rc خود پیادهسازی میکند. |
| میتوانید به این شکل از آن استفاده کنید: |
| $ rclone rc rc/noop param1=one param2=two |
| { |
| "param1": "one", |
| "param2": "two" |
| } |
| اگر ریموت روی نشانی وب متفاوتی نسبت به پیشفرض http://localhost:5572 در حال اجرا است، از گزینهٔ --url برای مشخص کردن آن استفاده کنید: |
| rclone rc --url http://some.remote:1234 rc/noop |
| یا اگر ریموت روی یک سوکت یونیکس (Unix socket) گوش میدهد، به جای آن از گزینهٔ --unix-socket استفاده کنید: |
| rclone rc --unix-socket /tmp/rclone.sock rc/noop |
| دستور rclone rc را به تنهایی و بدون هیچ آرگومانی اجرا کنید تا راهنمای دستورهای کنترل از راه دور نصبشده را ببینید. |
| توجه داشته باشید که این کار نیز مستلزم اتصال به سرور راه دور است..SS "ورودی JSON (JSON input)" |
| دستور rclone rc همچنین از پرچم --json پشتیبانی میکند که میتوان از آن برای ارسال پارامترهای ورودی پیچیدهتر استفاده کرد. |
| $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop |
| { |
| "p1": [ |
| 1, |
| "2", |
| null, |
| 4 |
| ], |
| "p2": { |
| "a": 1, |
| "b": 2 |
| } |
| } |
| اگر پارامتری که ارسال میشود یک شیء (object) باشد، میتوان آن را به جای استفاده از پرچم --json به عنوان یک رشتهٔ JSON ارسال کرد که خط فرمان را سادهتر میکند. |
| rclone rc operations/list fs=/tmp remote=test opt='{"showHash": true}' |
| به جای: |
| rclone rc operations/list --json '{"fs": "/tmp", "remote": "test", "opt": {"showHash": true}}' |
| "پارامترهای ویژه (Special parameters)" |
| رابط rc از برخی پارامترهای ویژه پشتیبانی میکند که برای تمام دستورات اعمال میشوند. |
| این پارامترها با _ آغاز میشوند تا نشان دهند که متمایز هستند. |
| "اجرای کارهای ناهمگام با _async = true (Running asynchronous jobs with _async = true)" |
| هر فراخوانی rc به عنوان یک کار (job) دستهبندی شده و شناسهٔ یکتای خود را دریافت میکند. |
| به طور پیشفرض، کارها به محض ایجاد شدن و به صورت همگام اجرا میشوند. |
| اگر هنگام ارسال به یک فراخوانی rc مقدار _async برابر با true باشد، بلافاصله همراه با یک شناسهٔ کار (job id) و شناسهٔ اجرا (execute id) پاسخ داده خواهد شد و کار در پسزمینه اجرا میشود. |
| از فراخوانی job/status میتوان برای دریافت اطلاعات کارِ در حال اجرا در پسزمینه استفاده کرد. |
| وضعیت کار را میتوان تا حداکثر ۱ دقیقه پس از اتمام آن بررسی کرد. |
| توصیه میشود کارهایی که ممکن است اجرای طولانی داشته باشند، مانند |
| sync/sync، sync/copy، sync/move و |
| operations/purge با پرچم _async اجرا شوند تا از هرگونه مشکل احتمالی مربوط به اتمام مهلت زمانی (timeout) درخواست و پاسخ HTTP جلوگیری گردد. |
| به عنوان جایگزینی برای _async، میتوانید سرآیند HTTP به صورت |
| Prefer: respond-async (استاندارد RFC 7240) را ارسال کنید. |
| این کار همان نتیجهٔ _async = true را دارد اما علاوه بر آن، به جای کد وضعیت 200، وضعیت HTTP با کد 202 (Accepted) را برمیگرداند و شامل یک سرآیند پاسخ Preference-Applied: respond-async است. |
| کد وضعیت 202 به کارخواهها (کلاینتها) این امکان را میدهد که بدون نیاز به بررسی بدنه، پاسخ ناهمگام را به سادگی از پاسخ تکمیلشده تشخیص دهند. |
| شروع یک کار با پرچم _async: |
| $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop |
| { |
| "jobid": 2, |
| "executeId": "d794c33c-463e-4acf-b911-f4b23e4f40b7" |
| } |
| مقدار jobid یک شناسهٔ یکتا برای کار در این نمونه از rclone است. |
| مقدار executeId نمونهٔ فرایند rclone را مشخص میکند و پس از راهاندازی مجدد rclone تغییر مییابد. |
| در کنار یکدیگر، جفت (executeId, jobid) یک کار را در طول راهاندازیهای مجدد rclone به صورت یکتا مشخص میکنند. |
| وضعیت را بررسی کنید تا ببینید آیا کار به پایان رسیده است یا خیر. |
| برای اطلاعات بیشتر دربارهٔ معنای این پارامترهای بازگشتی، فراخوانی job/status را مشاهده کنید. |
| $ rclone rc --json '{ "jobid":2 }' job/status |
| { |
| "duration": 0.000124163, |
| "endTime": "2018-10-27T11:38:07.911245881+01:00", |
| "error": "", |
| "executeId": "d794c33c-463e-4acf-b911-f4b23e4f40b7", |
| "finished": true, |
| "id": 2, |
| "output": { |
| "_async": true, |
| "p1": [ |
| 1, |
| "2", |
| null, |
| 4 |
| ], |
| "p2": { |
| "a": 1, |
| "b": 2 |
| } |
| }, |
| "startTime": "2018-10-27T11:38:07.911121728+01:00", |
| "success": true |
| } |
| میتوان از job/list برای نمایش کارهای در حال اجرا یا کارهایی که اخیراً پایان یافتهاند به همراه وضعیتشان استفاده کرد: |
| $ rclone rc job/list |
| { |
| "executeId": "d794c33c-463e-4acf-b911-f4b23e4f40b7", |
| "finished_ids": [ |
| 1 |
| ], |
| "jobids": [ |
| 1, |
| 2 |
| ], |
| "running_ids": [ |
| 2 |
| ] |
| } |
| این خروجی نشاندهندهٔ موارد زیر است: - executeId - شناسهٔ نمونهٔ کنونی rclone (برای تمام کارها یکسان است و پس از راهاندازی مجدد تغییر میکند) - jobids - آرایهای از تمام شناسههای کار (هم کارهای در حال اجرا و هم کارهای تمامشده) - running_ids - آرایهای از شناسههای کارهای در حال اجرای کنونی - finished_ids - آرایهای از شناسههای کارهای پایانیافته.SS تنظیم فلگهای پیکربندی با _config |
| اگر میخواهید پیکربندی (معادل فلگهای سراسری) را تنها برای مدت یک فراخوانی rc تنظیم کنید، پارامتر _config را ارسال کنید. |
| از طرف دیگر، میتوانید گزینههای پیکربندی را بهصورت مسطح (flat) در بالاترین سطح از نگاشت پارامترها ارسال کنید. |
| نام گزینهها همانند فلگهای CLI آنها بدون -- است و - با _ جایگزین میشود (برای مثال transfers بهجای Transfers درون _config). |
| این باید در همان قالبی باشد که کلید main بازگرداندهشده توسط options/get دارد. |
| rclone rc --loopback options/get blocks=main |
| با این دستور میتوانید راهنمایی بیشتری درباره این گزینهها مشاهده کنید (برای اطلاعات بیشتر بخش بلوکهای گزینهها را ببینید). |
| rclone rc --loopback options/info blocks=main |
| برای مثال، اگر بخواهید یک sync را با پارامتر --checksum اجرا کنید، این پارامتر را در شیء JSON خود ارسال میکنید. |
| "_config":{"CheckSum": true} |
| یا آن را بهصورت مسطح در بالاترین سطح ارسال کنید: |
| "checksum": true |
| در صورت استفاده از rclone rc میتوان آن را به شکل زیر ارسال کرد: |
| rclone rc sync/sync ... _config='{"CheckSum": true}' |
| یا بهسادگی بهصورت مسطح: |
| rclone rc sync/sync ... checksum=true |
| اگر هم پارامترهای مسطح و هم _config ارائه شوند، پارامترهای موجود در بلوک قدیمی _config اولویت خواهند داشت. |
| هر پارامتر پیکربندی که تنظیم نکنید، مقادیر پیشفرض سراسری را به ارث میبرد که از طریق فلگهای خط فرمان یا متغیرهای محیطی تعیین شدهاند. |
| توجه داشته باشید که امکان تنظیم برخی مقادیر بهصورت رشته (string) یا عدد صحیح (integer) وجود دارد - برای اطلاعات بیشتر بخش انواع داده را ببینید. |
| در اینجا نمونهای از تنظیم معادل --buffer-size در قالب رشته یا عدد صحیح آورده شده است. |
| "_config":{"BufferSize": "42M"} |
| "_config":{"BufferSize": 44040192} |
| یا مسطح: |
| "buffer_size": "42M" |
| "buffer_size": 44040192 |
| اگر میخواهید بررسی کنید که انتساب _config بهدرستی کار کرده است یا خیر، فراخوانی options/local نشان میدهد که مقدار روی چه چیزی تنظیم شده است..SS تنظیم پرچمهای فیلتر با _filter |
| اگر میخواهید فیلترها را تنها برای طول مدت یک فراخوانی rc تنظیم کنید، |
| پارامتر _filter را ارسال نمایید. |
| به عنوان روش جایگزین، میتوانید گزینههای فیلتر را به صورت همسطح (flat) در بالاترین |
| سطح نگاشت پارامترها ارسال کنید. |
| نام گزینهها همانند پرچمهای خط فرمان (CLI) آنها است، بدون -- |
| و با جایگزینی - با _ (برای نمونه |
| exclude به جای Exclude درون |
| _filter). |
| این باید در همان قالبی باشد که کلید filter بازگرداندهشده |
| توسط options/get دارد. |
| rclone rc --loopback options/get blocks=filter |
| میتوانید با این دستور راهنمای بیشتری درباره این گزینهها مشاهده کنید (برای |
| اطلاعات بیشتر به بخش بلوکهای گزینهها مراجعه نمایید). |
| rclone rc --loopback options/info blocks=filter |
| برای نمونه، اگر میخواهید یک همگامسازی را با این پرچمها اجرا کنید |
| --max-size 1M --max-age 42s --include "a" --include "b" |
| میتوانید این پارامتر را در داده خام JSON خود ارسال کنید: |
| "_filter":{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"} |
| یا آنها را به صورت همسطح در بالاترین سطح بفرستید: |
| "max_size":"1M", "include":["a","b"], "max_age":"42s" |
| در صورت استفاده از rclone rc میتوان آن را به این صورت ارسال کرد: |
| rclone rc ... _filter='{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}' |
| یا به سادگی به صورت همسطح: |
| rclone rc ... max_size=1M include="a,b" max_age=42s |
| اگر هم پارامترهای همسطح و هم _filter ارائه شوند، |
| پارامترهای موجود در بلوک قدیمی _filter اولویت خواهند داشت. |
| هر پارامتر فیلتری که تنظیم نکنید، مقادیر پیشفرض سراسری را که |
| با پرچمهای خط فرمان یا متغیرهای محیطی تعیین شدهاند، به ارث خواهد برد. |
| توجه داشته باشید که امکان تنظیم برخی مقادیر به صورت رشته یا عدد صحیح وجود دارد - برای |
| اطلاعات بیشتر بخش data types را ببینید. |
| در اینجا مثالی از تنظیم معادل --buffer-size در |
| قالب رشته یا عدد صحیح آمده است: |
| "_filter":{"MinSize": "42M"} |
| "_filter":{"MinSize": 44040192} |
| یا به صورت همسطح: |
| "min_size": "42M" |
| اگر میخواهید بررسی کنید که انتساب _filter به درستی عمل |
| کرده است، فراخوانی options/local نشان خواهد داد که مقدار |
| روی چه چیزی تنظیم شده است..SS اختصاص عملیاتها به گروهها با _group = value |
| هر فراخوانی rc برای ردیابی معیارهایش گروه آمار (stats) مختص به خود را دارد. |
| بهطور پیشفرض گروهبندی با نام گروه مرکب از پیشوند |
| job/ و شناسه کار انجام میشود، مانند job/1. |
| اگر _group مقداری داشته باشد، آمار آن درخواست تحت آن مقدار |
| گروهبندی خواهد شد. |
| این ویژگی به فراخواننده اجازه میدهد تا آمارها را با نام دلخواه خود گروهبندی کند. |
| آمار یک گروه خاص را میتوان با ارسال group به |
| core/stats دریافت کرد: |
| $ rclone rc --json '{ "group": "job/1" }' core/stats |
| { |
| "speed": 12345 |
| ... |
| } |
| انواع داده (Data types) | |||
| هنگامی که API انواع داده را بازمیگرداند، اینها عمدتاً انواع ساده و سرراست | |||
| عدد صحیح (integer)، رشته (string) یا بولی (boolean) خواهند بود. | |||
| با این حال، برخی از انواع برگرداندهشده توسط فراخوانی options/get و دریافتشده توسط | |||
| فراخوانیهای options/set و همچنین پارامترهای vfsOpt، | |||
| mountOpt و _config عبارتند از: | |||
| • 2 | |||
| Duration - اینها به صورت یک مدتزمان با عدد صحیح بر حسب | |||
| نانوثانیه برگردانده میشوند. | |||
| میتوان آنها را به صورت یک عدد صحیح تنظیم کرد، یا با یک رشته زمانی مانند | |||
| "5s" مشخص نمود. | |||
| برای اطلاعات بیشتر بخش گزینهها (https://rclone.org/docs/#options) را | |||
| ببینید. | |||
| • 2 | |||
| Size - اینها به صورت یک عدد صحیح از بایتها برگردانده میشوند. | |||
| میتوان آنها را به صورت یک عدد صحیح یا با یک رشته دارای پسوند اندازه مانند | |||
| "10M" تنظیم کرد. | |||
| برای اطلاعات بیشتر بخش گزینهها (https://rclone.org/docs/#options) را | |||
| ببینید. | |||
| • 2 | |||
| نوع شمارشی (مانند CutoffMode، DumpFlags، | |||
| LogLevel، VfsCacheMode) - اینها به صورت یک عدد صحیح | |||
| برگردانده میشوند و میتوانند به صورت عدد صحیح نیز مقداردهی شوند، اما برای | |||
| راحتی بیشتر میتوان آنها را به صورت رشته تنظیم کرد، مانند "HARD" برای | |||
| CutoffMode یا "DEBUG" برای LogLevel. | |||
| • 2 | |||
| BandwidthSpec - این مقدار به صورت یک رشته تنظیم و برگردانده میشود، مانند | |||
| "1M". | |||
| بلوکهای گزینه (Option blocks) | |||
| فراخوانیهای options/info (برای پیکربندی اصلی) و config/providers (برای | |||
| پیکربندی backend) را میتوان برای دریافت اطلاعات درباره گزینههای | |||
| پیکربندی rclone استفاده کرد. | |||
| این قابلیت برای ساخت رابطهای کاربری جهت نمایش و تنظیم هر یک از گزینههای | |||
| rclone به کار میرود. | |||
| این اطلاعات شامل آرایههایی از بلوکهای Option است. | |||
| این بلوکها قالب زیر را دارند. | |||
| هر بلوک یک گزینه منفرد را توصیف میکند. | |||
| tab( | ); | ||
| lw(13.6n) lw(11.7n) lw(19.4n) lw(25.3n). | |||
| فیلد | نوع | اختیاری | توضیحات |
| Name | string | N | نام گزینه در قالب snake_case |
| FieldName | string | N | نام فیلد استفادهشده در rc - در صورت خالی بودن از Name استفاده میشود. ممکن است برای فیلدهای تو در تو شامل "." باشد. |
| Help | string | N | راهنما، که با یک جمله در یک سطر آغاز میشود |
| Groups | string | Y | گروههایی که این گزینه به آنها تعلق دارد - رشته جداشده با کاما برای طبقهبندی گزینهها |
| Provider | string | Y | تنظیم برای فیلتر کردن بر اساس فراهمکننده (provider) |
| Default | any | N | مقدار پیشفرض؛ در صورت تنظیم (و غیر nil یا "" بودن)، فیلد Required کاری انجام نمیدهد |
| Value | any | N | مقداری که توسط فلگها تنظیم میشود |
| Examples | Examples | Y | مقادیر از پیشتعریفشدهای که میتوان از فهرست انتخاب کرد (گزینه چندگزینهای) |
| ShortOpt | string | Y | گزینه خط فرمان کوتاه برای این مورد |
| Hide | Visibility | N | در صورت غیر صفر بودن، این گزینه از پیکربندیکننده یا خط فرمان پنهان میشود |
| Required | bool | N | این گزینه الزامی است، به این معنی که مقدار نمیتواند خالی باشد مگر اینکه یک پیشفرض وجود داشته باشد |
| IsPassword | bool | N | در صورتی تنظیم میشود که گزینه یک گذرواژه باشد |
| NoPrefix | bool | N | در صورتی تنظیم میشود که گزینه مربوطه نباید از پیشوند backend استفاده کند |
| Advanced | bool | N | در صورتی تنظیم میشود که این یک گزینه پیکربندی پیشرفته باشد |
| Exclusive | bool | N | در صورتی تنظیم میشود که پاسخ تنها بتواند یکی از مثالها باشد (رشته خالی مجاز است مگر اینکه Required یا Default تنظیم شده باشد) |
| Sensitive | bool | N | در صورتی تنظیم میشود که این گزینه هنگام استفاده از rclone config redacted باید مخفی (سانسور) شود |
| نمونهای از این میتواند پرچم --log-level باشد. | |||
| توجه داشته باشید که Name گزینه به پرچم خط فرمان تبدیل میشود که | |||
| در آن _ با - جایگزین شده است. | |||
| { |
| "Advanced": false, |
| "Default": 5, |
| "DefaultStr": "NOTICE", |
| "Examples": [ |
| { |
| "Help": "", |
| "Value": "EMERGENCY" |
| }, |
| { |
| "Help": "", |
| "Value": "ALERT" |
| }, |
| ... |
| ], |
| "Exclusive": true, |
| "FieldName": "LogLevel", |
| "Groups": "Logging", |
| "Help": "Log level DEBUG|INFO|NOTICE|ERROR", |
| "Hide": 0, |
| "IsPassword": false, |
| "Name": "log_level", |
| "NoPrefix": true, |
| "Required": true, |
| "Sensitive": false, |
| "Type": "LogLevel", |
| "Value": null, |
| "ValueStr": "NOTICE" |
| }, |
| توجه داشته باشید که Help ممکن است چندخطی بوده و با |
| \n جدا شده باشد. |
| خط نخست همواره یک جمله کوتاه خواهد بود و این همان جملهای است که |
| هنگام اجرای rclone help flags نمایش داده میشود. |
| تعیین ریموتها برای کار |
| ریموتها بسته به دستور مورد استفاده، با پارامترهای fs=، srcFs= |
| و dstFs= مشخص میشوند. |
| این پارامترها مشابه سایر بخشهای rclone میتوانند یک رشته باشند؛ مانند |
| s3:bucket/path یا :sftp:/my/dir. |
| همچنین میتوان آنها را بهصورت بلابهای JSON مشخص کرد. |
| اگر یک بلاب JSON مشخص شود، باید شیئی از نگاشت رشتهها به |
| رشتهها باشد. |
| این مقادیر برای پیکربندی ریموت استفاده خواهند شد. |
| ۳ مقدار ویژه وجود دارد که میتوان آنها را تنظیم کرد: |
| • 2 |
| type - برای مشخص کردن ریموتی با نام :type:، روی type تنظیم میشود |
| • 2 |
| _name - برای مشخص کردن ریموتی با نام name:، روی name تنظیم میشود |
| • 2 |
| _root - ریشه ریموت را تنظیم میکند - ممکن است خالی باشد |
| بهطور معمول باید یکی از مقادیر _name یا type تنظیم شود. |
| اگر بکاند local مد نظر باشد، type باید روی |
| local تنظیم گردد. |
| اگر _root مشخص نشده باشد، مقدار پیشفرض آن ریشه |
| ریموت خواهد بود. |
| برای نمونه، این JSON معادل remote:/tmp است |
| { |
| "_name": "remote", |
| "_root": "/tmp" |
| } |
| و این معادل |
| :sftp,host='example.com':/tmp است |
| { |
| "type": "sftp", |
| "host": "example.com", |
| "_root": "/tmp" |
| } |
| و این معادل /tmp/dir است |
| { |
| "type": "local", |
| "_root": "/tmp/dir" |
| } |
| backend/command: اجرای یک دستور backend. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| command - یک رشته شامل نام دستور |
| • 2 |
| fs - یک رشته از نام remote، مانند |
| "drive:" |
| • 2 |
| arg - فهرستی از آرگومانها برای دستور backend |
| • 2 |
| opt - یک نگاشت رشته به رشته از گزینهها |
| بازمیگرداند: |
| • 2 |
| result - نتیجه حاصل از دستور backend |
| مثال: |
| rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2 |
| بازمیگرداند: |
| { |
| "result": { |
| "arg": [ |
| "path1", |
| "path2" |
| ], |
| "name": "noop", |
| "opt": { |
| "blue": "", |
| "echo": "yes" |
| } |
| } |
| } |
| توجه داشته باشید که این معادل مستقیم استفاده از این دستور "backend" |
| است: |
| rclone backend noop . -o echo=yes -o blue path1 path2 |
| توجه داشته باشید که آرگومانها باید با پرچم "-a" همراه باشند |
| برای اطلاعات بیشتر دستور backend را در (https://rclone.org/commands/rclone_backend) |
| ببینید. |
| cache/expire: پاکسازی یک remote از کش |
| یک remote را از cache backend پاکسازی میکند. |
| از دایرکتوری یا فایل پشتیبانی میکند. |
| پارامترها: - remote = مسیر به remote (الزامی) - withData = true/false برای |
| حذف دادههای کششده (chunkها) نیز (اختیاری) |
| برای مثال: |
| rclone rc cache/expire remote=path/to/sub/folder/ |
| rclone rc cache/expire remote=/ withData=true |
| cache/fetch: واکشی تکههای فایل |
| اطمینان حاصل میکند که تکههای (chunks) مشخصشده فایل روی دیسک کش شده باشند. |
| پارامتر chunks= تکههای فایل را برای بررسی مشخص میکند. |
| این پارامتر یک فهرست جداشده با کاما از نمایههای برشی (slice) آرایه میپذیرد. |
| نمایههای برشی مشابه برشهای پایتون هستند: start[:end] |
| مقدار start شماره تکه (chunk) مبتنی بر صفر از ابتدای فایل برای واکشی، به صورت |
| شاملشونده (inclusive) است. |
| مقدار end شماره تکه مبتنی بر صفر از ابتدای فایل برای واکشی، به صورت شاملنشونده |
| (exclusive) است. |
| هر دو مقدار میتوانند منفی باشند، که در این صورت از انتهای فایل شمارش |
| میشوند. |
| مقدار "-5:" نمایانگر ۵ تکه آخر یک فایل است. |
| چند مثال معتبر عبارتند از: ":5,-5:" -> پنج تکه اول و آخر |
| "0,-2" -> تکه اول و ماقبل آخر |
| "0:10" -> ده تکه اول |
| هر پارامتری با کلیدی که با "file" آغاز میشود میتواند برای |
| مشخص کردن فایلها جهت واکشی استفاده شود، مانند: |
| rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye |
| هنگامی که یک crypt remote بر روی کش استفاده شود، نام فایلها به صورت |
| خودکار رمزگذاری خواهند شد..SS cache/stats: دریافت آمار cache |
| نمایش آمار مربوط به remote از نوع cache. |
| برای این فراخوانی احراز هویت لازم نیست. |
| config/create: ایجاد پیکربندی برای یک remote. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| name - نام remote |
| • 2 |
| parameters - یک نگاشت از جفتهای { "key": "value" } |
| • 2 |
| type - نوع remote جدید |
| • 2 |
| opt - یک دیکشنری از گزینهها برای کنترل پیکربندی |
| 2 |
| • 2 |
| obscure - اعلام اینکه گذرواژهها متنی ساده بوده و نیازمند مبهمسازی (obscuring) هستند |
| • 2 |
| noObscure - اعلام اینکه گذرواژهها از قبل مبهم شدهاند و نیازی به |
| مبهمسازی ندارند |
| • 2 |
| noOutput - چیزی در stdout چاپ نشود |
| • 2 |
| nonInteractive - با کاربر تعاملی نداشته باشد، پرسشها را بازگرداند |
| • 2 |
| continue - ادامه فرآیند پیکربندی با یک پاسخ |
| • 2 |
| all - پرسیدن تمام پرسشهای پیکربندی، نه فقط پرسشهای پس از پیکربندی |
| • 2 |
| state - وضعیتی که باید از آن مجدداً آغاز شود - همراه با continue استفاده میشود |
| • 2 |
| result - نتیجهای که باید از آن مجدداً آغاز شود - همراه با continue استفاده میشود |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور config |
| create (https://rclone.org/commands/rclone_config_create) |
| مراجعه کنید. |
| config/delete: حذف یک remote در فایل پیکربندی. |
| پارامترها: |
| • 2 |
| name - نام remote برای حذف |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور config |
| delete (https://rclone.org/commands/rclone_config_delete) |
| مراجعه کنید. |
| config/dump: استخراج (dump) فایل پیکربندی. |
| یک شیء JSON برمیگرداند: - key: value |
| بهطوری که کلیدها نامهای remote و مقادیر پارامترهای پیکربندی هستند. |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور config dump (https://rclone.org/commands/rclone_config_dump) |
| مراجعه کنید. |
| config/get: دریافت یک remote در فایل پیکربندی. |
| پارامترها: |
| • 2 |
| name - نام remote برای دریافت |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور config dump (https://rclone.org/commands/rclone_config_dump) |
| مراجعه کنید. |
| config/listremotes: فهرست کردن remoteهای موجود در فایل پیکربندی و تعریفشده در متغیرهای محیطی. |
| برمیگرداند - remotes - آرایهای از نامهای remote |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور listremotes (https://rclone.org/commands/rclone_listremotes) |
| مراجعه کنید. |
| config/oauthstatus: دریافت وضعیت سرور احراز هویت OAuth. |
| وضعیت فعلی سرور احراز هویت OAuth را برمیگرداند. |
| یک شیء JSON برمیگرداند: - status - "running" یا "stopped" |
| - authUrl - نشانی URL برای مجوزدهی (تنها در صورتی که status برابر با |
| "running" باشد) |
| برای مثال |
| { |
| "status": "running", |
| "authUrl": "http://127.0.0.1:53682/auth?state=..." |
| } |
| در صورت فعال بودن سرور احراز هویت OAuth، آن را متوقف میکند. |
| این دستور میتواند برای بازیابی از یک فرآیند قطعشدهٔ OAuth بدون راهاندازی مجدد rclone استفاده شود. |
| اگر هیچ فرآیند احراز هویت OAuth در حال اجرایی وجود نداشته باشد، یک خطا بازگردانده میشود. |
| config/password: رمزگذاری پیکربندی یک ریموت. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| name - نام ریموت |
| • 2 |
| parameters - یک نگاشت از جفتهای { "key": "value" } |
| برای اطلاعات بیشتر درباره موارد فوق، دستور |
| config password (https://rclone.org/commands/rclone_config_password) را ببینید. |
| config/paths: خواندن مسیر فایل پیکربندی و سایر مسیرهای مهم. |
| یک شیء JSON با کلیدهای زیر بازمیگرداند: |
| • 2 |
| config: مسیر فایل پیکربندی |
| • 2 |
| cache: مسیر ریشهٔ دایرکتوری کش |
| • 2 |
| temp: مسیر ریشهٔ دایرکتوری موقت |
| بهعنوان مثال: |
| { |
| "cache": "/home/USER/.cache/rclone", |
| "config": "/home/USER/.rclone.conf", |
| "temp": "/tmp" |
| } |
| برای اطلاعات بیشتر درباره موارد فوق، دستور config paths (https://rclone.org/commands/rclone_config_paths) را ببینید. |
| config/providers: نمایش نحوهٔ پیکربندی ارائهدهندگان در فایل پیکربندی. |
| یک شیء JSON بازمیگرداند: - providers - آرایهای از اشیاء |
| برای اطلاعات بیشتر درباره موارد فوق، دستور |
| config providers (https://rclone.org/commands/rclone_config_providers) را ببینید. |
| توجه داشته باشید که بلوکهای Options در همان قالبی هستند که توسط |
| "options/info" بازگردانده میشوند. |
| آنها در بخش بلوکهای گزینه توضیح داده شدهاند. |
| config/setpath: تنظیم مسیر فایل پیکربندی |
| پارامترها: |
| • 2 |
| path - مسیر فایل پیکربندی مورد استفاده |
| config/unlock: باز کردن قفل فایل پیکربندی. |
| در صورت قفل بودن فایل پیکربندی، قفل آن را باز میکند. |
| پارامترها: |
| • 2 |
| 'configPassword' - گذرواژه برای باز کردن قفل فایل پیکربندی |
| ایدهٔ خوبی است که پیش از اجرای این فراخوانی، AskPassword را غیرفعال کنید. |
| config/unset: حذف کلیدها در یک ریموت درون فایل پیکربندی. |
| پارامترها: |
| • 2 |
| name - نام ریموت |
| • 2 |
| keys - فهرستی از نامهای کلید برای حذف |
| خروجی: |
| • 2 |
| removed - فهرستی از کلیدهایی که در عمل حذف شدند |
| برای اطلاعات بیشتر درباره موارد فوق، دستور config unset (https://rclone.org/commands/rclone_config_unset) را ببینید..SS config/update: بهروزرسانی پیکربندی برای یک remote. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| name - نام remote |
| • 2 |
| parameters - نگاشتی از جفتهای { "key": "value" } |
| • 2 |
| opt - فرهنگدادهای از گزینهها برای کنترل پیکربندی |
| 2 |
| • 2 |
| obscure - اعلام اینکه گذرواژهها به صورت متن خام هستند و نیاز به مبهمسازی دارند |
| • 2 |
| noObscure - اعلام اینکه گذرواژهها از قبل مبهم شدهاند و نیازی به مبهمسازی ندارند |
| • 2 |
| noOutput - چیزی در stdout چاپ نشود |
| • 2 |
| nonInteractive - عدم تعامل با کاربر، بازگرداندن پرسشها |
| • 2 |
| continue - ادامه روند پیکربندی با یک پاسخ |
| • 2 |
| all - پرسیدن تمام پرسشهای پیکربندی، نه فقط موارد پس از پیکربندی |
| • 2 |
| state - وضعیتی برای شروع مجدد - مورد استفاده به همراه continue |
| • 2 |
| result - نتیجهای برای شروع مجدد - مورد استفاده به همراه continue |
| برای اطلاعات بیشتر در مورد موارد فوق، دستور config |
| update (https://rclone.org/commands/rclone_config_update) را ببینید. |
| core/bwlimit: تنظیم محدودیت پهنای باند. |
| این دستور محدودیت پهنای باند را بر اساس رشته دادهشده تنظیم میکند. |
| این مقدار باید یک ورودی تکی برای محدودیت پهنای باند یا جفتی از پهنای باند upload:download باشد. |
| برای نمونه: |
| rclone rc core/bwlimit rate=off |
| { |
| "bytesPerSecond": -1, |
| "bytesPerSecondTx": -1, |
| "bytesPerSecondRx": -1, |
| "rate": "off" |
| } |
| rclone rc core/bwlimit rate=1M |
| { |
| "bytesPerSecond": 1048576, |
| "bytesPerSecondTx": 1048576, |
| "bytesPerSecondRx": 1048576, |
| "rate": "1M" |
| } |
| rclone rc core/bwlimit rate=1M:100k |
| { |
| "bytesPerSecond": 1048576, |
| "bytesPerSecondTx": 1048576, |
| "bytesPerSecondRx": 131072, |
| "rate": "1M" |
| } |
| اگر پارامتر rate ارائه نشود، وضعیت پهنای باند استعلام میگردد |
| rclone rc core/bwlimit |
| { |
| "bytesPerSecond": 1048576, |
| "bytesPerSecondTx": 1048576, |
| "bytesPerSecondRx": 1048576, |
| "rate": "1M" |
| } |
| قالب این پارامتر دقیقاً مشابه مقداری است که به --bwlimit ارسال میشود، به جز اینکه فقط یک مقدار پهنای باند را میتوان مشخص کرد. |
| در هر دو حالت، "rate" به صورت یک رشته خوانا برای انسان، و "bytesPerSecond" به صورت یک عدد بازگردانده میشود..SS core/command: اجرای یک دستور ترمینال rclone از طریق rc. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| command - یک رشته شامل نام دستور. |
| • 2 |
| arg - فهرستی از آرگومانها برای دستور بکاند. |
| • 2 |
| opt - یک نگاشت رشته به رشته از گزینهها. |
| • 2 |
| returnType - یکی از مقادیر ("COMBINED_OUTPUT"، "STREAM"، |
| "STREAM_ONLY_STDOUT"، "STREAM_ONLY_STDERR"). |
| 2 |
| • 2 |
| در صورت تنظیم نشدن، مقدار پیشفرض "COMBINED_OUTPUT" است. |
| • 2 |
| مقدارهای بازگشتی STREAM خروجی را در بدنه پیام HTTP مینویسند. |
| • 2 |
| مقدار COMBINED_OUTPUT خروجی را در پارامتر "result" |
| مینویسد. |
| موارد بازگشتی: |
| • 2 |
| result - نتیجه حاصل از دستور بکاند. |
| 2 |
| • 2 |
| تنها هنگام استفاده از returnType با مقدار "COMBINED_OUTPUT" تنظیم میشود. |
| • 2 |
| error - در صورتی که rclone با کد خطا خارج شود، تنظیم میشود. |
| • 2 |
| returnType - یکی از مقادیر ("COMBINED_OUTPUT"، "STREAM"، |
| "STREAM_ONLY_STDOUT"، "STREAM_ONLY_STDERR"). |
| مثال: |
| rclone rc core/command command=ls -a mydrive:/ -o max-depth=1 |
| rclone rc core/command -a ls -a mydrive:/ -o max-depth=1 |
| موارد بازگشتی: |
| { |
| "error": false, |
| "result": "<Raw command line output>" |
| } |
| OR |
| { |
| "error": true, |
| "result": "<Raw command line output>" |
| } |
| core/disks: فهرستکردن دیسکهای محلی |
| این دستور هیچ پارامتری نمیگیرد. |
| این فراخوانی برای برنامههای واسط گرافیکی (GUI) rclone است تا دیسکهای محلی و |
| دایرکتوریهای مهم را برای انجام انتقال دادهها شمارش و فهرست کنند. |
| فهرست بازگردانده شده شامل دایرکتوری ریشه، دایرکتوری خانگی کاربر |
| و هرگونه دیسک مانتشده خواهد بود. |
| موارد بازگردانده شده باید مستقیماً بهعنوان ریموت قابل استفاده باشند. |
| موارد بازگشتی: |
| • 2 |
| disks |
| 2 |
| • 2 |
| این یک آرایه از رشتهها شامل نام دیسکهای محلی است |
| core/du: بازگرداندن میزان فضای مصرفی یک دیسک محلی متصلشده. |
| این فراخوانی میزان فضای مصرفی دیسک را برای دایرکتوری محلی ارسالشده در dir بازمیگرداند. |
| اگر دایرکتوری مشخص نشده باشد، بهطور پیشفرض از دایرکتوری تعیینشده |
| توسط --cache-dir استفاده میشود. |
| • 2 |
| dir - رشته (اختیاری) |
| موارد بازگشتی: |
| { |
| "dir": "/", |
| "info": { |
| "Available": 361769115648, |
| "Free": 361785892864, |
| "Total": 982141468672 |
| } |
| } |
| برای این فراخوانی نیازی به احراز هویت نیست..SS core/gc: یک بازیافت حافظه را اجرا میکند. |
| این دستور به go runtime اعلام میکند که یک دور بازیافت حافظه (garbage collection) را اجرا کند. |
| فراخوانی این مورد در حالت عادی ضروری نیست، اما میتواند برای |
| اشکالزدایی مشکلات حافظه مفید باشد. |
| core/group-list: فهرستی از آمارها را برمیگرداند. |
| این دستور فهرستی از گروههای آماری که در حال حاضر در حافظه هستند را برمیگرداند. |
| مقادیر زیر را برمیگرداند: |
| { |
| "groups": آرایهای از نامهای گروهها: |
| [ |
| "group1", |
| "group2", |
| ... |
| ] |
| } |
| برای این فراخوانی نیازی به احراز هویت نیست. |
| core/memstats: آمارهای حافظه را برمیگرداند |
| این دستور آمارهای حافظه برنامه در حال اجرا را برمیگرداند. |
| معنای هر یک از مقادیر در مستندات go شرح داده شده است: |
| https://golang.org/pkg/runtime/#MemStats |
| مهمترین مقادیر برای بیشتر افراد عبارتند از: |
| • 2 |
| HeapAlloc - این مقدار حافظهای است که rclone واقعاً در حال استفاده از آن است |
| • 2 |
| HeapSys - این مقدار حافظهای است که rclone از سیستمعامل دریافت کرده است |
| • 2 |
| Sys - این مجموع کل حافظه درخواستشده از سیستمعامل است |
| 2 |
| • 2 |
| این یک حافظه مجازی است، بنابراین ممکن است شامل حافظه استفادهنشده نیز باشد |
| core/obscure: رشته ورودی را مبهم میکند. |
| یک رشته واضح ارسال کنید تا rclone آن را برای فایل پیکربندی مبهم کند: - |
| clear - string |
| خروجی: - obscured - string |
| core/pid: شناسه فرآیند (PID) فرآیند جاری را برمیگرداند |
| این دستور PID فرآیند جاری را برمیگرداند. |
| برای متوقف کردن فرآیند rclone کاربرد دارد. |
| core/quit: برنامه را خاتمه میدهد. |
| (اختیاری) یک کد خروج (exit code) برای استفاده در خاتمه دادن به برنامه ارسال کنید: - |
| exitCode - int |
| core/stats: آمارهای مربوط به انتقالهای جاری را برمیگرداند. |
| این دستور تمام آمارهای موجود را برمیگرداند: |
| rclone rc core/stats |
| اگر group مشخص نشود، مجموع آمارهای تمامی گروهها بازگردانده |
| خواهد شد. |
| پارامترها |
| • 2 |
| group - نام گروه آماری (string، اختیاری) |
| • 2 |
| short - اگر true باشد، آرایههای transferring و checking بازگردانده نخواهند شد |
| (boolean، اختیاری) |
| مقادیر زیر را برمیگرداند: |
| { |
| "bytes": مجموع بایتهای انتقالیافته از زمان شروع گروه، |
| "checks": تعداد فایلهای بررسیشده، |
| "deletedDirs": تعداد پوشههای حذفشده، |
| "deletes" : تعداد فایلهای حذفشده، |
| "elapsedTime": زمان به ثانیه با ممیز شناور از زمان شروع rclone، |
| "errors": تعداد خطاها، |
| "eta": زمان تخمینی به ثانیه تا تکمیل گروه، |
| "fatalError": مقدار بولی نشاندهنده وقوع حداقل یک خطای مهلک، |
| "lastError": رشته آخرین خطا، |
| "renames" : تعداد فایلهای تغییرنامیافته، |
| "listed" : تعداد مدخلهای پوشه فهرستشده، |
| "retryError": مقدار بولی نشاندهنده وقوع حداقل یک خطای غیر NoRetryError، |
| "serverSideCopies": تعداد رونوشتهای سمت سرور انجامشده، |
| "serverSideCopyBytes": تعداد بایتهای رونوشتشده در سمت سرور، |
| "serverSideMoves": تعداد جابهجاییهای سمت سرور انجامشده، |
| "serverSideMoveBytes": تعداد بایتهای جابهجاشده در سمت سرور، |
| "speed": سرعت میانگین به بایت بر ثانیه از زمان شروع گروه، |
| "totalBytes": تعداد کل بایتها در گروه، |
| "totalChecks": تعداد کل بررسیها در گروه، |
| "totalTransfers": تعداد کل انتقالها در گروه، |
| "transferTime" : کل زمان صرفشده برای کارهای در حال اجرا، |
| "transfers": تعداد فایلهای انتقالیافته، |
| "transferring": آرایهای از انتقالهای فایلِ در حال حاضر فعال: |
| [ |
| { |
| "bytes": مجموع بایتهای انتقالیافته برای این فایل، |
| "eta": زمان تخمینی به ثانیه تا تکمیل انتقال فایل |
| "name": نام فایل، |
| "percentage": پیشرفت انتقال فایل به درصد، |
| "speed": سرعت میانگین در کل مدت انتقال به بایت بر ثانیه، |
| "speedAvg": سرعت فعلی به بایت بر ثانیه بهصورت میانگین متحرک وزندار نمایی، |
| "size": اندازه فایل به بایت |
| } |
| ], |
| "checking": آرایهای از نامهای بررسیهای فایلِ در حال حاضر فعال |
| [] |
| } |
| مقادیر مربوط به "transferring"، "checking" و |
| "lastError" تنها در صورتی تخصیص داده میشوند که دادهای در دسترس باشد. |
| مقدار "eta" در صورتی که نتوان آن را تعیین کرد، null خواهد بود. |
| برای این فراخوانی نیازی به احراز هویت نیست..SS core/stats-delete: حذف گروه آمار. |
| این دستور کل گروه آمار را حذف میکند. |
| پارامترها |
| • 2 |
| group - نام گروه آمار (string) |
| core/stats-reset: بازنشانی آمار. |
| این دستور شمارندهها، خطاها و انتقالهای پایانیافته را برای همه آمارها، یا در صورت ارائه group برای یک گروه آماری مشخص پاک میکند. |
| پارامترها |
| • 2 |
| group - نام گروه آمار (string) |
| core/transferred: بازگرداندن آمار انتقالهای تکمیلشده. |
| این دستور آمار مربوط به انتقالهای تکمیلشده را بازمیگرداند: |
| rclone rc core/transferred |
| اگر group مشخص نشده باشد، انتقالهای تکمیلشده برای همه گروهها بازگردانده خواهند شد. |
| توجه داشته باشید که تنها ۱۰۰ انتقال تکمیلشده اخیر بازگردانده میشوند. |
| پارامترها |
| • 2 |
| group - نام گروه آمار (string) |
| مقادیر زیر را بازمیگرداند: |
| { |
| "transferred": an array of completed transfers (including failed ones): |
| [ |
| { |
| "name": name of the file, |
| "size": size of the file in bytes, |
| "bytes": total transferred bytes for this file, |
| "checked": if the transfer is only checked (skipped, deleted), |
| "what": the purpose of the transfer (transferring, deleting, checking, importing, hashing, merging, listing, moving, renaming), |
| "timestamp": integer representing millisecond unix epoch, |
| "error": string description of the error (empty if successful), |
| "jobid": id of the job that this transfer belongs to |
| } |
| ] |
| } |
| احراز هویت برای این فراخوانی الزامی نیست. |
| core/version: نمایش نسخه فعلی rclone، Go و سیستمعامل. |
| این دستور نسخههای فعلی rclone، Go و سیستمعامل را نمایش میدهد: |
| • 2 |
| version - نسخه rclone، برای مثال |
| "v1.71.2" |
| • 2 |
| decomposed - شماره نسخه بهصورت [major, minor, patch] |
| • 2 |
| isGit - بولی (boolean) - مقدار true اگر از روی نسخه git کامپایل شده باشد |
| • 2 |
| isBeta - بولی (boolean) - مقدار true اگر این یک نسخه بتا باشد |
| • 2 |
| os - سیستمعامل در حال استفاده بر اساس GOOS در Go (برای مثال |
| "linux") |
| • 2 |
| osKernel - نسخه هسته سیستمعامل (برای مثال |
| "6.8.0-86-generic (x86_64)") |
| • 2 |
| osVersion - نسخه سیستمعامل (برای مثال |
| "ubuntu 24.04 (64 bit)") |
| • 2 |
| osArch - معماری پردازنده مورد استفاده (برای مثال |
| "arm64 (ARMv8 compatible)") |
| • 2 |
| arch - معماری پردازنده مورد استفاده بر اساس GOARCH در Go (برای مثال |
| "arm64") |
| • 2 |
| goVersion - نسخه زمان اجرای Go مورد استفاده (برای مثال |
| "go1.25.0") |
| • 2 |
| linking - نوع فایل اجرایی rclone (بهصورت static یا dynamic) |
| • 2 |
| goTags - برچسبهای ساخت (build tags) جداشده با فاصله یا "none" |
| احراز هویت برای این فراخوانی الزامی نیست..SS debug/set-block-profile-rate: تنظیم runtime.SetBlockProfileRate برای تحلیل عملکرد انسداد (blocking profiling). |
| تابع SetBlockProfileRate کسری از رویدادهای انسداد goroutine را که در نمایه مسدودسازی (blocking profile) گزارش میشوند، کنترل میکند. |
| هدف تحلیلگر این است که بهطور میانگین به ازای هر rate نانوثانیه زمان صرفشده در حالت مسدود، از یک رویداد انسداد نمونهبرداری کند. |
| برای گنجاندن تمام رویدادهای انسداد در نمایه، مقدار rate = 1 را ارسال کنید. |
| برای غیرفعال کردن کامل تحلیل عملکرد، مقدار rate <= 0 را ارسال نمایید. |
| پس از فراخوانی این تابع، میتوانید از دستور زیر برای مشاهده نمایه مسدودسازی استفاده کنید: |
| go tool pprof http://localhost:5572/debug/pprof/block |
| پارامترها: |
| • 2 |
| rate - int |
| debug/set-gc-percent: فراخوانی runtime/debug.SetGCPercent برای تنظیم درصد هدف زبالهروبی (garbage collection). |
| تابع SetGCPercent درصد هدف زبالهروبی را تنظیم میکند: زمانی که نسبت دادههای تازه تخصیصیافته به دادههای زنده باقیمانده پس از دور پیشین زبالهروبی به این درصد برسد، یک چرخه جمعآوری زباله آغاز میشود. |
| تابع SetGCPercent مقدار تنظیمشده قبلی را برمیگرداند. |
| مقدار اولیه، مقدار متغیر محیطی GOGC در زمان راهاندازی است، یا در صورتی که این متغیر تنظیم نشده باشد، برابر با 100 خواهد بود. |
| این تنظیم ممکن است به منظور حفظ حد مجاز حافظه (memory limit) بهطور موثر کاهش یابد. |
| یک درصد منفی عملاً زبالهروبی را غیرفعال میکند، مگر اینکه به حد مجاز حافظه رسیده شود. |
| برای جزئیات بیشتر به https://pkg.go.dev/runtime/debug#SetMemoryLimit مراجعه کنید. |
| پارامترها: |
| • 2 |
| gc-percent - int |
| debug/set-mutex-profile-fraction: تنظیم runtime.SetMutexProfileFraction برای تحلیل عملکرد قفلهای متقابل (mutex profiling). |
| تابع SetMutexProfileFraction کسری از رویدادهای نزاع قفل (mutex contention) را که در نمایه mutex گزارش میشوند، کنترل میکند. |
| بهطور میانگین از هر rate رویداد، ۱ رویداد گزارش میشود (1/rate). |
| نرخ (rate) قبلی بازگردانده میشود. |
| برای غیرفعال کردن کامل تحلیل، مقدار rate را 0 قرار دهید. |
| برای صرفاً خواندن نرخ فعلی، مقدار rate < 0 را ارسال کنید. |
| (برای n>1 ممکن است جزئیات نمونهبرداری تغییر کند.) |
| پس از تنظیم این مقدار، میتوانید از دستور زیر برای تحلیل نزاع mutex استفاده کنید: |
| go tool pprof http://localhost:5572/debug/pprof/mutex |
| پارامترها: |
| • 2 |
| rate - int |
| نتایج: |
| • 2 |
| previousRate - int |
| debug/set-soft-memory-limit: فراخوانی runtime/debug.SetMemoryLimit برای تنظیم یک حد مجاز انعطافپذیر حافظه (soft memory limit) برای زمان اجرا (runtime). |
| تابع SetMemoryLimit یک حد مجاز انعطافپذیر حافظه را برای زمان اجرا فراهم میکند. |
| محیط زمان اجرا (runtime) اقدامات متعددی را برای پایبندی به این سقف حافظه انجام میدهد، از جمله تنظیم تناوب چرخههای زبالهروبی و بازگرداندن تهاجمیتر حافظه به سیستم زیرین. |
| این سقف حتی اگر GOGC=off باشد (یا اگر SetGCPercent(-1) اجرا شود) نیز رعایت خواهد شد. |
| حد ورودی بر حسب بایت تعیین میشود و شامل تمام حافظههای نگاشتشده (mapped)، مدیریتشده و آزادنشده توسط زمان اجرای Go است. |
| بهویژه، این حد فضای استفادهشده توسط فایل باینری Go و حافظه خارج از Go را به حساب نمیآورد؛ مانند حافظه مدیریتشده توسط سیستم زیرین از طرف فرآیند، یا حافظه مدیریتشده توسط کدهای غیر Go درون همان فرآیند. |
| نمونههایی از منابع حافظه مستثنیشده عبارتند از: حافظه هسته سیستمعامل نگهداشتهشده از طرف فرآیند، حافظه تخصیصیافته توسط کد C، و حافظه نگاشتشده توسط syscall.Mmap (زیرا توسط زمان اجرای Go مدیریت نمیشود). |
| تعیین حد صفر یا حدی که کمتر از میزان حافظه مصرفی توسط زمان اجرای Go باشد، ممکن است باعث شود زبالهروب تقریباً بهطور مداوم اجرا شود. |
| با این حال، برنامه ممکن است همچنان به کار خود ادامه دهد. |
| حد حافظه همواره توسط زمان اجرای Go رعایت میشود، بنابراین برای غیرفعال کردن مؤثر این رفتار، حد را مقدار بسیار بالایی قرار دهید. |
| مقدار math.MaxInt64 مقدار مرسوم برای غیرفعال کردن این حد است، اما مقادیر بسیار بیشتر از حافظه در دسترس سیستم زیرین نیز به همان اندازه خوب عمل میکنند. |
| برای یک راهنمای جامع که حد مجاز انعطافپذیر حافظه را با جزئیات بیشتر توضیح میدهد و همچنین انواع سناریوها و کاربردهای متداول، https://go.dev/doc/gc-guide را مشاهده کنید. |
| تابع SetMemoryLimit حد حافظه تنظیمشده قبلی را برمیگرداند. |
| یک ورودی منفی حد را تغییر نمیدهد و امکان دریافت حد حافظه فعلی تنظیمشده را فراهم میسازد. |
| پارامترها: |
| • 2 |
| mem-limit - int.SS fscache/clear: پاکسازی حافظهٔ پنهان Fs. |
| این دستور حافظهٔ پنهان fs را پاکسازی میکند. |
| اینجا مکانی است که ریموتهای ایجادشده از backendها برای مدت کوتاهی در حافظهٔ پنهان نگهداری میشوند |
| تا فراخوانیهای مکرر rc با کارایی بیشتری انجام شوند. |
| اگر پارامترهای یک backend را تغییر دهید، ممکن است بخواهید این دستور را فراخوانی کنید |
| تا پیش از ایجاد دوبارهٔ یک ریموت، نسخهٔ موجود آن از حافظهٔ پنهان پاک شود. |
| fscache/entries: بازگرداندن تعداد ورودیهای موجود در حافظهٔ پنهان fs. |
| این دستور تعداد ورودیهای موجود در حافظهٔ پنهان fs را برمیگرداند. |
| خروجی - entries - تعداد آیتمهای موجود در حافظهٔ پنهان |
| job/batch: اجرای همزمان دستهای از دستورات rc در rclone. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| concurrency - int - اجرای همزمان این تعداد دستور. |
| در صورت تنظیم نشدن، مقدار پیشفرض برابر با --transfers خواهد بود. |
| • 2 |
| inputs - فهرستی از ورودیها برای دستورات به همراه یک پارامتر اضافی _path |
| { |
| "_path": "rc/path", |
| "param1": "parameter for the path as documented", |
| "param2": "parameter for the path as documented, etc", |
| } |
| ورودیها میتوانند همانند استفادهٔ معمول از rc، از _async، _group، _config |
| و _filter استفاده کنند. |
| خروجی: |
| • 2 |
| results - فهرستی از نتایج حاصل از دستورات، با یک ورودی به ازای هر مورد در |
| inputs. |
| برای مثال: |
| rclone rc job/batch --json '{ |
| "inputs": [ |
| { |
| "_path": "rc/noop", |
| "parameter": "OK" |
| }, |
| { |
| "_path": "rc/error", |
| "parameter": "BAD" |
| } |
| ] |
| } |
| ' |
| نتیجهٔ حاصل: |
| { |
| "results": [ |
| { |
| "parameter": "OK" |
| }, |
| { |
| "error": "arbitrary error on input map[parameter:BAD]", |
| "input": { |
| "parameter": "BAD" |
| }, |
| "path": "rc/error", |
| "status": 500 |
| } |
| ] |
| } |
| پارامترها: ندارد. |
| نتایج: |
| • 2 |
| executeId - شناسه رشتهای از rclone در حال اجرا (پس از راهاندازی مجدد تغییر میکند) |
| • 2 |
| jobids - آرایهای از شناسههای کار عددی صحیح (با هر راهاندازی مجدد از ۱ شروع میشود) |
| • 2 |
| runningIds - آرایهای از شناسههای کار عددی صحیح که در حال اجرا هستند |
| • 2 |
| finishedIds - آرایهای از شناسههای کار عددی صحیح که به پایان رسیدهاند |
| احراز هویت برای این فراخوانی لازم نیست. |
| job/status: خواندن وضعیت شناسه کار |
| پارامترها: |
| • 2 |
| jobid - شناسه کار (عدد صحیح). |
| نتایج: |
| • 2 |
| finished - بولی (boolean) |
| • 2 |
| duration - مدت زمان اجرای کار به ثانیه |
| • 2 |
| endTime - زمان پایان کار (برای مثال |
| "2018-10-26T18:50:20.528746884+01:00") |
| • 2 |
| error - خطای رخداده از کار یا رشته خالی در صورت نبود خطا |
| • 2 |
| finished - مقدار بولی نشاندهنده پایان یافتن یا نیافتن کار |
| • 2 |
| id - همانطور که در بالا داده شده است |
| • 2 |
| executeId - شناسه نمونه rclone (پس از راهاندازی مجدد تغییر میکند)؛ همراه با id یک کار را به طور یکتا مشخص میکند |
| • 2 |
| startTime - زمان شروع کار (برای مثال |
| "2018-10-26T18:50:20.528336039+01:00") |
| • 2 |
| success - بولی - true برای موفقیت و در غیر این صورت false |
| • 2 |
| output - خروجی کار، مشابه آنچه در صورت فراخوانی همگام بازگردانده میشد |
| • 2 |
| progress - خروجی پیشرفت مربوط به کار زیربنایی |
| احراز هویت برای این فراخوانی لازم نیست. |
| job/stop: متوقف کردن کار در حال اجرا |
| پارامترها: |
| • 2 |
| jobid - شناسه کار (عدد صحیح). |
| job/stopgroup: متوقف کردن تمام کارهای در حال اجرا در یک گروه |
| پارامترها: |
| • 2 |
| group - نام گروه (رشته). |
| mount/listmounts: نمایش نقاط اتصال فعلی |
| این دستور نقاط متصلشده فعلی را نشان میدهد، که میتوان از آنها برای انجام عمل unmount استفاده کرد. |
| این دستور پارامتری نمیپذیرد و مقادیر زیر را بازمیگرداند: |
| • 2 |
| mountPoints: فهرست نقاط اتصال فعلی |
| مثال: |
| rclone rc mount/listmounts |
| mount/mount: ایجاد یک نقطه اتصال جدید |
| برنامه rclone به لینوکس، FreeBSD، macOS و ویندوز اجازه میدهد تا هر یک از سیستمهای ذخیرهسازی ابری Rclone را با استفاده از FUSE به عنوان یک سیستم فایل متصل (mount) کنند. |
| اگر هیچ mountType مشخص نشود، اولویت به این صورت در نظر گرفته میشود: ۱. |
| mount ۲. cmount ۳. mount2 |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک مسیر ریموت برای متصل شدن (الزامی) |
| • 2 |
| mountPoint: مسیر معتبر روی رایانه محلی (الزامی) |
| • 2 |
| mountType: یکی از مقادیر (mount، cmount، mount2) که پیادهسازی اتصال مورد استفاده را مشخص میکند |
| • 2 |
| mountOpt: یک شیء JSON شامل گزینههای Mount. |
| • 2 |
| vfsOpt: یک شیء JSON شامل گزینههای VFS. |
| همچنین، میتوانید گزینههای VFS و Mount را به صورت مسطح (flat) در بالاترین سطح نقشه پارامترها ارسال کنید. |
| نام گزینهها همانند پرچمهای CLI آنها بدون '--' و با جایگزینی '-' با '_' است (برای مثال |
| 'vfs_cache_mode' به جای 'CacheMode' در داخل |
| 'vfsOpt'، و 'volname' به جای 'VolName' |
| در داخل 'mountOpt'). |
| اگر هم پارامترهای مسطح و هم بلوکهای تو در توی 'vfsOpt'/'mountOpt' |
| ارائه شوند، پارامترهای موجود در بلوکهای تو در تو اولویت خواهند داشت. |
| در ویندوز، mountPoint میتواند روی "*" تنظیم شود تا حرف درایو بعدی موجود به طور خودکار اختصاص یابد، یا یک مسیر UNC اشتراک شبکه (برای مثال |
| "\server") تا به عنوان یک درایو شبکه متصل شود. |
| در این موارد، حرف درایو واقعی در زمان اتصال تعیین میشود. |
| این دستور مقادیر زیر را بازمیگرداند: |
| • 2 |
| mountPoint: نقطه اتصال واقعی که استفاده شده است (این ممکن است با |
| ورودی متفاوت باشد، برای مثال |
| در ویندوز وقتی "*" ارسال میشود، حرف درایو اختصاصیافته |
| بازگردانده میشود) |
| مثال: |
| rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint |
| rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount |
| rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt='{"CacheMode": 2}' mountOpt='{"AllowOther": true}' |
| rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfs_cache_mode=writes volname=MyTestVolume |
| rclone rc mount/mount fs=mydrive: mountPoint=* mountType=cmount |
| گزینههای vfsOpt همانطور که در options/get شرح داده شده است هستند و میتوان آنها را در |
| بخش "vfs" هنگام اجرا دید، و گزینههای mountOpt را میتوان در بخش |
| "mount" مشاهده کرد: |
| rclone rc options/get |
| این دستور تمام انواع ممکن mount را نمایش میدهد و آنها را در قالب یک فهرست برمیگرداند. |
| این دستور هیچ پارامتری دریافت نمیکند و موارد زیر را برمیگرداند: |
| • 2 |
| mountTypes: فهرست انواع mount |
| انواع mount رشتههایی مانند "mount"، "mount2" و |
| "cmount" هستند و میتوانند به عنوان پارامتر mountType به |
| دستور mount/mount ارسال شوند. |
| برای نمونه: |
| rclone rc mount/types |
| mount/unmount: پیادهسازی (unmount) نقطه اتصال فعال انتخابشده |
| نرمافزار rclone به لینوکس، FreeBSD، macOS و Windows اجازه میدهد هر یک از |
| سیستمهای ذخیرهسازی ابری Rclone را با استفاده از FUSE به عنوان یک سیستم فایل سوار (mount) کنند. |
| این دستور پارامترهای زیر را دریافت میکند: |
| • 2 |
| mountPoint: مسیر معتبر روی دستگاه محلی که نقطه اتصال در آن ایجاد شده است |
| (الزامی) |
| مثال: |
| rclone rc mount/unmount mountPoint=/home/<user>/mountPoint |
| mount/unmountall: پیادهسازی (unmount) تمام نقاط اتصال فعال |
| نرمافزار rclone به لینوکس، FreeBSD، macOS و Windows اجازه میدهد هر یک از |
| سیستمهای ذخیرهسازی ابری Rclone را با استفاده از FUSE به عنوان یک سیستم فایل سوار (mount) کنند. |
| این دستور هیچ پارامتری دریافت نمیکند و در صورت عدم موفقیت در پیادهسازی، خطا برمیگرداند. |
| برای نمونه: |
| rclone rc mount/unmountall |
| operations/about: بازگرداندن فضای استفادهشده در ریموت |
| این دستور پارامترهای زیر را دریافت میکند: |
| • 2 |
| fs - یک رشته نام ریموت، برای نمونه: |
| "drive:" |
| نتیجه همانند خروجی حاصل از دستور rclone about --json است. |
| برای اطلاعات بیشتر در مورد موارد بالا، به دستور about (https://rclone.org/commands/rclone_about) |
| مراجعه کنید. |
| operations/check: بررسی یکسان بودن مبدا و مقصد |
| تطابق فایلها را در مبدا و مقصد بررسی میکند. |
| این دستور اندازهها و هشها را مقایسه کرده و گزارشی از فایلهایی که |
| مطابقت ندارند را ثبت میکند. |
| این عملیات تغییری در مبدا یا مقصد ایجاد نمیکند. |
| این دستور پارامترهای زیر را دریافت میکند: |
| • 2 |
| srcFs - یک رشته نام ریموت، مانند |
| "drive:" برای مبدا، یا "/" برای سیستم فایل محلی |
| • 2 |
| dstFs - یک رشته نام ریموت، مانند |
| "drive2:" برای مقصد، یا "/" برای سیستم فایل محلی |
| • 2 |
| download - بررسی از طریق بارگیری (دانلود) به جای مقایسه هش |
| • 2 |
| checkFileHash - در نظر گرفتن checkFileFs:checkFileRemote به عنوان یک فایل SUM با |
| هشهایی از نوع مشخصشده |
| • 2 |
| checkFileFs - در نظر گرفتن checkFileFs:checkFileRemote به عنوان یک فایل SUM با |
| هشهایی از نوع مشخصشده |
| • 2 |
| checkFileRemote - در نظر گرفتن checkFileFs:checkFileRemote به عنوان یک فایل SUM با |
| هشهایی از نوع مشخصشده |
| • 2 |
| oneWay - بررسی فقط به صورت یکطرفه؛ فایلهای مبدا باید در ریموت وجود داشته باشند |
| • 2 |
| combined - ایجاد یک گزارش ترکیبی از تغییرات (پیشفرض false) |
| • 2 |
| missingOnSrc - گزارش تمام فایلهای ناموجود در مبدا (پیشفرض true) |
| • 2 |
| missingOnDst - گزارش تمام فایلهای ناموجود در مقصد (پیشفرض |
| true) |
| • 2 |
| match - گزارش تمام فایلهای منطبق (پیشفرض false) |
| • 2 |
| differ - گزارش تمام فایلهای غیرمنطبق (پیشفرض true) |
| • 2 |
| error - گزارش تمام فایلهای دارای خطا (در هشکردن یا خواندن) (پیشفرض true) |
| اگر گزینه download را مشخص کنید، دادهها را از هر دو ریموت بارگیری کرده |
| و آنها را به صورت بلادرنگ در برابر یکدیگر بررسی میکند. |
| این قابلیت برای ریموتهایی که از هش پشتیبانی نمیکنند یا در صورتی که |
| واقعاً بخواهید تمام دادهها را بررسی کنید مفید است. |
| اگر گزینه سراسری size-only را ارسال کنید، تنها اندازهها مقایسه میشوند |
| و هشها بررسی نخواهند شد. |
| از این حالت برای یک بررسی سریع استفاده کنید. |
| اگر گزینه checkFileHash را با یک نام هش معتبر تعیین کنید، |
| مقدار checkFileFs:checkFileRemote باید به یک فایل متنی با قالب SUM اشاره کند. |
| در این حالت، فایل چکسام به عنوان مبدا و dstFs به عنوان مقصد در نظر |
| گرفته میشود. |
| توجه داشته باشید که در این حالت srcFs استفاده نمیشود و نباید تعیین گردد. |
| خروجیها: |
| • 2 |
| success - در صورت نبود خطا true، در غیر این صورت false |
| • 2 |
| status - خلاصه متنی بررسی، OK یا یک رشته متنی |
| • 2 |
| hashType - هش استفادهشده در بررسی، ممکن است وجود نداشته باشد |
| • 2 |
| combined - آرایهای از رشتههای گزارش ترکیبی تغییرات |
| • 2 |
| missingOnSrc - آرایهای از رشتههای تمام فایلهای ناموجود در مبدا |
| • 2 |
| missingOnDst - آرایهای از رشتههای تمام فایلهای ناموجود در |
| مقصد |
| • 2 |
| match - آرایهای از رشتههای تمام فایلهای منطبق |
| • 2 |
| differ - آرایهای از رشتههای تمام فایلهای غیرمنطبق |
| • 2 |
| error - آرایهای از رشتههای تمام فایلهای دارای خطا (در هشکردن یا خواندن).SS operations/cleanup: پاکسازی فایلهای درون سطل زباله در ریموت یا مسیر |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته از نام ریموت، برای نمونه: |
| "drive:" |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور cleanup (https://rclone.org/commands/rclone_cleanup) مراجعه کنید. |
| operations/copyfile: رونوشت یک فایل از ریموت مبدأ به ریموت مقصد |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| srcFs - یک رشته از نام ریموت مانند |
| "drive:" برای مبدأ، یا "/" برای سیستم فایل محلی |
| • 2 |
| srcRemote - مسیری درون آن ریموت مانند |
| "file.txt" برای مبدأ |
| • 2 |
| dstFs - یک رشته از نام ریموت مانند |
| "drive2:" برای مقصد، یا "/" برای سیستم فایل محلی |
| • 2 |
| dstRemote - مسیری درون آن ریموت مانند |
| "file2.txt" برای مقصد |
| operations/copyurl: رونوشت نشانی URL به شیء |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته از نام ریموت مانند |
| "drive:" |
| • 2 |
| remote - مسیری درون آن ریموت مانند |
| "dir" |
| • 2 |
| url - رشته، نشانی URL برای خواندن از آن |
| • 2 |
| autoFilename - بولی، برای دریافت نام فایل مقصد از url روی true تنظیم شود |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور copyurl (https://rclone.org/commands/rclone_copyurl) مراجعه کنید. |
| operations/delete: حذف فایلهای موجود در مسیر |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته از نام ریموت مانند |
| "drive:" |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور delete (https://rclone.org/commands/rclone_delete) مراجعه کنید. |
| operations/deletefile: حذف تکفایل مشخصشده |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته از نام ریموت مانند |
| "drive:" |
| • 2 |
| remote - مسیری درون آن ریموت مانند |
| "dir" |
| برای اطلاعات بیشتر در مورد موارد بالا به دستور deletefile (https://rclone.org/commands/rclone_deletefile) مراجعه کنید. |
| operations/fsinfo: بازگرداندن اطلاعات درباره ریموت |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته از نام ریموت مانند |
| "drive:" |
| این دستور اطلاعاتی درباره ریموت دادهشده بازمیگرداند؛ |
| { |
| // optional features and whether they are available or not |
| "Features": { |
| "About": true, |
| "BucketBased": false, |
| "BucketBasedRootOK": false, |
| "CanHaveEmptyDirectories": true, |
| "CaseInsensitive": false, |
| "ChangeNotify": false, |
| "CleanUp": false, |
| "Command": true, |
| "Copy": false, |
| "DirCacheFlush": false, |
| "DirMove": true, |
| "Disconnect": false, |
| "DuplicateFiles": false, |
| "GetTier": false, |
| "IsLocal": true, |
| "ListR": false, |
| "MergeDirs": false, |
| "MetadataInfo": true, |
| "Move": true, |
| "OpenWriterAt": true, |
| "PublicLink": false, |
| "Purge": true, |
| "PutStream": true, |
| "PutUnchecked": false, |
| "ReadMetadata": true, |
| "ReadMimeType": false, |
| "ServerSideAcrossConfigs": false, |
| "SetTier": false, |
| "SetWrapper": false, |
| "Shutdown": false, |
| "SlowHash": true, |
| "SlowModTime": false, |
| "UnWrap": false, |
| "UserInfo": false, |
| "UserMetadata": true, |
| "WrapFs": false, |
| "WriteMetadata": true, |
| "WriteMimeType": false |
| }, |
| // Names of hashes available |
| "Hashes": [ |
| "md5", |
| "sha1", |
| "whirlpool", |
| "crc32", |
| "sha256", |
| "dropbox", |
| "mailru", |
| "quickxor" |
| ], |
| "Name": "local", // Name as created |
| "Precision": 1, // Precision of timestamps in ns |
| "Root": "/", // Path as created |
| "String": "Local file system at /", // how the remote will appear in logs |
| // Information about the system metadata for this backend |
| "MetadataInfo": { |
| "System": { |
| "atime": { |
| "Help": "Time of last access", |
| "Type": "RFC 3339", |
| "Example": "2006-01-02T15:04:05.999999999Z07:00" |
| }, |
| "btime": { |
| "Help": "Time of file birth (creation)", |
| "Type": "RFC 3339", |
| "Example": "2006-01-02T15:04:05.999999999Z07:00" |
| }, |
| "gid": { |
| "Help": "Group ID of owner", |
| "Type": "decimal number", |
| "Example": "500" |
| }, |
| "mode": { |
| "Help": "File type and mode", |
| "Type": "octal, unix style", |
| "Example": "0100664" |
| }, |
| "mtime": { |
| "Help": "Time of last modification", |
| "Type": "RFC 3339", |
| "Example": "2006-01-02T15:04:05.999999999Z07:00" |
| }, |
| "rdev": { |
| "Help": "Device ID (if special file)", |
| "Type": "hexadecimal", |
| "Example": "1abc" |
| }, |
| "uid": { |
| "Help": "User ID of owner", |
| "Type": "decimal number", |
| "Example": "500" |
| } |
| }, |
| "Help": "Textual help string\n" |
| } |
| } |
| این دستور معادل خط فرمانی ندارد، بنابراین بهجای آن از این دستور استفاده کنید: |
| rclone rc --loopback operations/fsinfo fs=remote: |
| یک فایل درهمسازی (هش) برای تمام اشیاء موجود در مسیر با استفاده از نوع هش مشخصشده تولید میکند. |
| خروجی در همان قالبی است که ابزارهای استاندارد md5sum/sha1sum ارائه میدهند. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت، برای مثال: |
| "drive:" برای مبدأ، "/" برای فایلسیستم محلی |
| 2 |
| • 2 |
| این میتواند به یک فایل اشاره کند و در این صورت تنها همان فایل در فهرست بازگردانده خواهد شد. |
| • 2 |
| hashType - نوع هش مورد استفاده |
| • 2 |
| download - بررسی از طریق بارگیری به جای هش (boolean) |
| • 2 |
| base64 - خروجی دادن هشها در قالب base64 به جای hex (boolean) |
| اگر پرچم download را مشخص کنید، دادهها را از ریموت دانلود کرده و درهمسازی را بهطور بلادرنگ ایجاد میکند. |
| این قابلیت میتواند برای ریموتهایی که از هش ارائهشده پشتیبانی نمیکنند یا در صورتی که واقعاً قصد بررسی تمام دادهها را دارید مفید باشد. |
| توجه داشته باشید که اگر مایل به ارائه یک checkfile برای بررسی هشها در برابر فایلهای فعلی هستید، باید به جای operations/hashsum از operations/check استفاده کنید. |
| مقادیر بازگشتی: |
| • 2 |
| hashsum - آرایهای از رشتههای مقادیر هش |
| • 2 |
| hashType - نوع هش استفادهشده |
| مثال: |
| $ rclone rc --loopback operations/hashsum fs=bin hashType=MD5 download=true base64=true |
| { |
| "hashType": "md5", |
| "hashsum": [ |
| "WTSVLpuiXyJO_kGzJerRLg== backend-versions.sh", |
| "v1b_OlWCJO9LtNq3EIKkNQ== bisect-go-rclone.sh", |
| "VHbmHzHh4taXzgag8BAIKQ== bisect-rclone.sh", |
| ] |
| } |
| برای اطلاعات بیشتر در مورد موارد فوق، دستور hashsum (https://rclone.org/commands/rclone_hashsum) را ببینید. |
| operations/hashsumfile: تولید یک هش برای یک فایل منفرد. |
| با استفاده از نوع هش مشخصشده، یک هش برای یک فایل منفرد تولید میکند. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت، برای مثال: |
| "drive:" |
| • 2 |
| remote - مسیری در آن ریموت، برای مثال: |
| "file.txt" |
| • 2 |
| hashType - نوع هش مورد استفاده |
| • 2 |
| download - بررسی از طریق بارگیری به جای هش (boolean) |
| • 2 |
| base64 - خروجی دادن هشها در قالب base64 به جای hex (boolean) |
| اگر پرچم download را مشخص کنید، دادهها را از ریموت بارگیری کرده و هش را بهطور بلادرنگ ایجاد میکند. |
| این قابلیت میتواند برای ریموتهایی که از هش ارائهشده پشتیبانی نمیکنند یا در صورتی که واقعاً قصد خواندن تمام دادهها را دارید مفید باشد. |
| مقادیر بازگشتی: |
| • 2 |
| hash - هش مربوط به فایل |
| • 2 |
| hashType - نوع هش استفادهشده |
| مثال: |
| $ rclone rc --loopback operations/hashsumfile fs=/ remote=/bin/bash hashType=MD5 download=true base64=true |
| { |
| "hashType": "md5", |
| "hash": "MDMw-fG2YXs7Uz5Nz-H68A==" |
| } |
| برای اطلاعات بیشتر در مورد موارد فوق، دستور hashsum (https://rclone.org/commands/rclone_hashsum) را ببینید..SS operations/list: فهرست کردن ریموت و مسیر مشخصشده در قالب JSON |
| این عملیات پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت، برای مثال |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت، برای مثال |
| "dir" |
| • 2 |
| opt - یک dictionary از گزینهها برای کنترل فهرستبندی (اختیاری) |
| 2 |
| • 2 |
| recurse - در صورت تنظیم، پیمایش بازگشتی در دایرکتوریها انجام میشود |
| • 2 |
| noModTime - در صورت تنظیم، زمان تغییر بازگردانده میشود |
| • 2 |
| showEncrypted - در صورت تنظیم، نامهای رمزگشاییشده نمایش داده میشوند |
| • 2 |
| showOrigIDs - در صورت تنظیم، شناسههای هر مورد در صورت مشخص بودن نمایش داده میشوند |
| • 2 |
| showHash - در صورت تنظیم، یک dictionary از هشها بازگردانده میشود |
| • 2 |
| noMimeType - در صورت تنظیم، نوعهای mime نمایش داده نمیشوند |
| • 2 |
| dirsOnly - در صورت تنظیم، تنها دایرکتوریها نمایش داده میشوند |
| • 2 |
| filesOnly - در صورت تنظیم، تنها فایلها نمایش داده میشوند |
| • 2 |
| metadata - در صورت تنظیم، متادیتای اشیاء نیز بازگردانده میشود |
| • 2 |
| hashTypes - یک array از رشتههای انواع هش برای نمایش در صورت تنظیم بودن showHash |
| مقادیر بازگشتی: |
| • 2 |
| list |
| 2 |
| • 2 |
| این یک array از اشیاء است، همانطور که در دستور lsjson شرح داده شده است |
| برای اطلاعات بیشتر درباره موارد فوق و مثالها، دستور lsjson (https://rclone.org/commands/rclone_lsjson) را ببینید. |
| operations/mkdir: ایجاد یک دایرکتوری یا کانتینر مقصد |
| این عملیات پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت، برای مثال |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت، برای مثال |
| "dir" |
| برای اطلاعات بیشتر درباره موارد فوق، دستور mkdir (https://rclone.org/commands/rclone_mkdir) را ببینید. |
| operations/movefile: انتقال یک فایل از ریموت مبدأ به ریموت مقصد |
| این عملیات پارامترهای زیر را میپذیرد: |
| • 2 |
| srcFs - یک رشته نام ریموت، برای مثال |
| "drive:" برای مبدأ، "/" برای سیستمفایل محلی |
| • 2 |
| srcRemote - یک مسیر در آن ریموت، برای مثال |
| "file.txt" برای مبدأ |
| • 2 |
| dstFs - یک رشته نام ریموت، برای مثال |
| "drive2:" برای مقصد، "/" برای سیستمفایل محلی |
| • 2 |
| dstRemote - یک مسیر در آن ریموت، برای مثال |
| "file2.txt" برای مقصد |
| operations/publiclink: ایجاد یا دریافت یک پیوند عمومی به فایل یا پوشه دادهشده. |
| این عملیات پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت، برای مثال |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت، برای مثال |
| "dir" |
| • 2 |
| unlink - boolean - در صورت تنظیم، پیوند را به جای افزودن حذف میکند |
| (اختیاری) |
| • 2 |
| expire - string - زمان انقضای پیوند، برای مثال |
| "1d" (اختیاری) |
| مقادیر بازگشتی: |
| • 2 |
| url - نشانی وب (URL) منبع |
| برای اطلاعات بیشتر درباره موارد فوق، دستور link (https://rclone.org/commands/rclone_link) را ببینید..SS operations/purge: حذف یک دایرکتوری یا کانتینر و تمام محتویات آن |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت مانند |
| "dir" |
| برای اطلاعات بیشتر درباره موارد بالا، دستور purge (https://rclone.org/commands/rclone_purge) را ببینید. |
| operations/rmdir: حذف یک دایرکتوری یا کانتینر خالی |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت مانند |
| "dir" |
| برای اطلاعات بیشتر درباره موارد بالا، دستور rmdir (https://rclone.org/commands/rclone_rmdir) را ببینید. |
| operations/rmdirs: حذف تمام دایرکتوریهای خالی در مسیر |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت مانند |
| "dir" |
| • 2 |
| leaveRoot - مقدار بولی (boolean)، برای حذف نشدن ریشه روی true تنظیم میشود |
| برای اطلاعات بیشتر درباره موارد بالا، دستور rmdirs (https://rclone.org/commands/rclone_rmdirs) را ببینید. |
| operations/settier: تغییر رده یا کلاس ذخیرهسازی در تمامی فایلهای مسیر |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند |
| "drive:" |
| برای اطلاعات بیشتر درباره موارد بالا، دستور settier (https://rclone.org/commands/rclone_settier) را ببینید. |
| operations/settierfile: تغییر رده یا کلاس ذخیرهسازی روی تکفایل مشخصشده |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت مانند |
| "dir" |
| operations/size: شمارش تعداد بایتها و فایلها در ریموت |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند |
| "drive:path/to/dir" |
| مقادیر بازگشتی: |
| • 2 |
| count - تعداد فایلها |
| • 2 |
| bytes - تعداد بایتهای موجود در آن فایلها |
| برای اطلاعات بیشتر درباره موارد بالا، دستور size (https://rclone.org/commands/rclone_size) را ببینید. |
| operations/stat: ارائه اطلاعات درباره فایل یا دایرکتوری ارائهشده |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت مانند "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت مانند "dir" |
| • 2 |
| opt - یک دیکشنری از گزینهها برای کنترل فهرستبندی (اختیاری) |
| 2 |
| • 2 |
| برای مشاهده گزینهها operations/list را ببینید |
| نتیجه به صورت زیر است: |
| • 2 |
| item - شیئی مشابه آنچه در دستور lsjson شرح داده شده است. |
| در صورت پیدا نشدن، مقدار آن null خواهد بود. |
| توجه داشته باشید که اگر تنها به فایلها نیاز دارید، فعال کردن پرچم filesOnly در گزینهها بسیار کارآمدتر است. |
| برای اطلاعات بیشتر درباره موارد بالا و مثالها، دستور lsjson (https://rclone.org/commands/rclone_lsjson) را ببینید..SS operations/uploadfile: بارگذاری فایل با استفاده از multiform/form-data |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - یک رشته نام ریموت، برای مثال: |
| "drive:" |
| • 2 |
| remote - یک مسیر در آن ریموت، برای مثال: |
| "dir" |
| • 2 |
| هر بخش در بدنه نمایانگر فایلی است که باید بارگذاری شود |
| options/blocks: فهرست کردن تمام بلوکهای گزینهها |
| بازمیگرداند: - options - فهرستی از نامهای بلوکهای گزینهها |
| options/get: دریافت تمام گزینههای سراسری |
| شیئی را بازمیگرداند که کلیدهای آن نام بلوکهای گزینه و مقادیر آن شیئی حاوی مقادیر فعلی گزینهها است. |
| پارامترها: |
| • 2 |
| blocks: رشته اختیاری از بلوکهای جداشده با کاما جهت گنجاندن |
| 2 |
| • 2 |
| اگر این مقدار داده نشود یا "" باشد، همه گنجانده میشوند |
| توجه داشته باشید که اینها گزینههای سراسری هستند و تحت تأثیر استفاده از پارامترهای _config و _filter قرار نمیگیرند. |
| اگر میخواهید پارامترهای تنظیمشده در _config یا _filter را بخوانید، از options/local استفاده کنید. |
| این دستور نامهای داخلی گزینه در rclone را نشان میدهد که بهجز چند استثنا، باید بهسادگی با گزینههای بیرونی مطابقت داشته باشند. |
| options/info: دریافت اطلاعات درباره تمام گزینههای سراسری |
| شیئی را بازمیگرداند که کلیدهای آن نام بلوکهای گزینه و مقادیر آن آرایهای از اشیاء شامل اطلاعات مربوط به هر گزینه است. |
| پارامترها: |
| • 2 |
| blocks: رشته اختیاری از بلوکهای جداشده با کاما جهت گنجاندن |
| 2 |
| • 2 |
| اگر این مقدار داده نشود یا "" باشد، همه گنجانده میشوند |
| این اشیاء در همان قالبی هستند که توسط |
| "config/providers" |
| بازگردانده میشود. |
| آنها در بخش بلوکهای گزینه شرح داده شدهاند. |
| options/local: دریافت پیکربندی فعال فعلی برای این فراخوانی |
| شیئی را با کلیدهای "config" و "filter" بازمیگرداند. |
| کلید "config" شامل پیکربندی محلی و کلید |
| "filter" شامل فیلترهای محلی است. |
| توجه داشته باشید که اینها گزینههای محلی مختص این فراخوانی rc هستند. |
| اگر _config ارائه نشده باشد، همان گزینههای سراسری خواهند بود. |
| این موضوع در مورد "_filter" نیز صدق میکند. |
| این فراخوانی بیشتر برای بررسی این موضوع مفید است که آیا ارسال _config و _filter بهدرستی کار میکند یا خیر. |
| این دستور نامهای داخلی گزینه در rclone را نشان میدهد که بهجز چند استثنا، باید بهسادگی با گزینههای بیرونی مطابقت داشته باشند. |
| options/set: تنظیم یک گزینه |
| پارامترها: |
| • 2 |
| نام بلوک گزینه حاوی شیئی با |
| 2 |
| • 2 |
| key: value |
| به هر تعداد که نیاز باشد قابل تکرار است. |
| تنها گزینههایی را که مایل به تغییرشان هستید ارسال کنید. |
| اگر گزینهای ناشناخته باشد، در سکوت نادیده گرفته میشود. |
| همه گزینهها در صورت تغییر به این شیوه اثربخش نخواهند بود. |
| برای مثال: |
| این دستور لاگهای سطح DEBUG (-vv) را تنظیم میکند (این مقادیر را میتوان با عدد یا رشته تنظیم کرد) |
| rclone rc options/set --json '{"main": {"LogLevel": "DEBUG"}}' |
| rclone rc options/set --json '{"main": {"LogLevel": 8}}' |
| و این لاگهای سطح INFO (-v) را تنظیم میکند |
| rclone rc options/set --json '{"main": {"LogLevel": "INFO"}}' |
| و این لاگهای سطح NOTICE (عادی بدون -v) را تنظیم میکند |
| rclone rc options/set --json '{"main": {"LogLevel": "NOTICE"}}' |
| برای افزودن یک افزونه به webgui استفاده میشود. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| url - نشانی http مخزن گیتهاب که افزونه در آن میزبانی میشود |
| (http://github.com/rclone/rclone-webui-react). |
| مثال: |
| rclone rc pluginsctl/addPlugin |
| pluginsctl/getPluginsForType: دریافت افزونهها با معیارهای نوع |
| تمام افزونههای ممکن را بر اساس نوع mime نمایش میدهد. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| type - نوع mime پشتیبانیشده توسط یک افزونه بارگذاریشده، مانند |
| (video/mp4, audio/mp3). |
| • 2 |
| pluginType - فیلتر کردن افزونهها بر اساس نوع آنها، مانند |
| (DASHBOARD, FILE_HANDLER, TERMINAL). |
| خروجیها: |
| • 2 |
| loadedPlugins - فهرست افزونههای عملیاتی فعلی. |
| • 2 |
| testPlugins - فهرست افزونههای توسعه که موقتاً بارگذاری شدهاند و معمولاً |
| روی سرور متفاوتی در حال اجرا هستند. |
| مثال: |
| rclone rc pluginsctl/getPluginsForType type=video/mp4 |
| pluginsctl/listPlugins: دریافت فهرست افزونههای بارگذاریشده فعلی |
| به شما امکان میدهد افزونههای فعال فعلی و جزئیات آنها را دریافت کنید. |
| این دستور هیچ پارامتری نمیپذیرد و مقادیر زیر را برمیگرداند: |
| • 2 |
| loadedPlugins - فهرست افزونههای عملیاتی فعلی. |
| • 2 |
| testPlugins - فهرست افزونههای توسعه که موقتاً بارگذاری شدهاند و معمولاً |
| روی سرور متفاوتی در حال اجرا هستند. |
| برای نمونه: |
| rclone rc pluginsctl/listPlugins |
| pluginsctl/listTestPlugins: نمایش افزونههای آزمایشی بارگذاریشده فعلی |
| امکان فهرست کردن افزونههای آزمایشی را که مقدار rclone.test در package.json آنها برابر با true تنظیم شده است فراهم میکند. |
| این دستور هیچ پارامتری نمیپذیرد و مقادیر زیر را برمیگرداند: |
| • 2 |
| loadedTestPlugins - فهرست افزونههای آزمایشی که در حال حاضر در دسترس هستند. |
| برای نمونه: |
| rclone rc pluginsctl/listTestPlugins |
| pluginsctl/removePlugin: حذف یک افزونه بارگذاریشده |
| به شما امکان میدهد یک افزونه را با استفاده از نام آن حذف کنید. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| name - نام افزونه در قالب |
| author/plugin_name. |
| برای نمونه: |
| rclone rc pluginsctl/removePlugin name=rclone/video-plugin |
| pluginsctl/removeTestPlugin: حذف یک افزونه آزمایشی |
| به شما امکان میدهد یک افزونه را با استفاده از نام آن حذف کنید. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| name - نام افزونه در قالب |
| author/plugin_name. |
| مثال: |
| rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react |
| این دستور خطایی بازمیگرداند که ورودی را به عنوان بخشی از رشتهی خطای خود به همراه دارد. |
| برای آزمایش مدیریت خطا مفید است. |
| احراز هویت برای این فراخوانی الزامی نیست. |
| rc/fatal: این دستور یک خطای مهلک بازمیگرداند |
| این دستور خطایی بازمیگرداند که ورودی را به عنوان بخشی از رشتهی خطای خود به همراه دارد. |
| برای آزمایش مدیریت خطا مفید است. |
| rc/list: فهرست کردن تمام دستورهای ثبتشدهی کنترل از راه دور |
| این دستور تمامی دستورهای ثبتشدهی کنترل از راه دور را به عنوان یک نگاشت JSON در پاسخ commands فهرست میکند. |
| احراز هویت برای این فراخوانی الزامی نیست. |
| rc/noop: بازتاب پارامترهای ورودی به پارامترهای خروجی |
| این دستور پارامترهای ورودی را برای اهداف آزمایشی به پارامترهای خروجی بازتاب میدهد. |
| میتوان از آن برای بررسی فعال بودن rclone و اطمینان از عملکرد صحیح ارسال پارامترها استفاده کرد. |
| احراز هویت برای این فراخوانی الزامی نیست. |
| rc/noopauth: بازتاب پارامترهای ورودی به پارامترهای خروجی با الزام به احراز هویت |
| این دستور پارامترهای ورودی را برای اهداف آزمایشی به پارامترهای خروجی بازتاب میدهد. |
| میتوان از آن برای بررسی فعال بودن rclone و اطمینان از عملکرد صحیح ارسال پارامترها استفاده کرد. |
| rc/panic: این دستور با ایجاد panic یک خطا بازمیگرداند |
| این دستور خطایی بازمیگرداند که ورودی را به عنوان بخشی از رشتهی خطای خود به همراه دارد. |
| برای آزمایش مدیریت خطا مفید است. |
| serve/list: نمایش سرورهای در حال اجرا |
| نمایش سرورهای در حال اجرا همراه با شناسه. |
| این دستور هیچ پارامتری دریافت نمیکند و موارد زیر را بازمیگرداند: |
| • 2 |
| list: فهرست دستورهای در حال اجرای serve |
| هر عنصر از این فهرست شامل موارد زیر خواهد بود: |
| • 2 |
| id: شناسه سرور |
| • 2 |
| addr: نشانیای که سرور روی آن در حال اجرا است |
| • 2 |
| params: پارامترهای استفادهشده برای راهاندازی سرور |
| برای نمونه: |
| rclone rc serve/list |
| مقدار بازگشتی: |
| { |
| "list": [ |
| { |
| "addr": "[::]:4321", |
| "id": "nfs-ffc2a4e5", |
| "params": { |
| "fs": "remote:", |
| "opt": { |
| "ListenAddr": ":4321" |
| }, |
| "type": "nfs", |
| "vfsOpt": { |
| "CacheMode": "full" |
| } |
| } |
| } |
| ] |
| } |
| یک سرور جدید با پارامترهای مشخصشده ایجاد میکند. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| type - نوع سرور: http، webdav، |
| ftp، sftp، nfs و غیره. |
| • 2 |
| fs - مسیر فضای ذخیرهسازی دوردست (remote) برای سرویسدهی |
| • 2 |
| addr - آدرس ip:port برای اجرای سرور بر روی آن، مانند ":1234" یا |
| "localhost:1234" |
| سایر پارامترها همانطور هستند که در مستندات گزینههای خط فرمان |
| rclone serve (https://rclone.org/commands/rclone_serve) شرح داده شده است. |
| برای تبدیل یک گزینه خط فرمان به یک پارامتر rc، علامت -- |
| ابتدایی را حذف کرده و - را با _ جایگزین کنید؛ بنابراین |
| --vfs-cache-mode تبدیل به vfs_cache_mode میشود. |
| پارامترهای گزینه (مانند VFS، پروکسی و گزینههای ویژه پروتکل) |
| را میتوان به صورت همسطح در بالاترین سطح نگاشت پارامترها یا درون |
| اشیاء تو در توی JSON ذیل کلیدهای vfsOpt، proxyOpt و |
| opt ارسال کرد (به عنوان مثال: |
| vfsOpt='{"CacheMode": 2}'، |
| proxyOpt='{"AuthProxy": "http://127.0.0.1:8080"}'). |
| اگر هم پارامترهای همسطح و هم بلوکهای تو در تو مشخص شوند، پارامترهای |
| موجود در بلوکهای تو در تو اولویت خواهند داشت. |
| توجه داشته باشید که پارامترهای سراسری باید با _config و |
| _filter طبق آنچه در بالا شرح داده شد تنظیم شوند. |
| مثالها: |
| rclone rc serve/start type=nfs fs=remote: addr=:4321 vfs_cache_mode=full |
| rclone rc serve/start --json '{"type":"nfs","fs":"remote:","addr":":1234","vfs_cache_mode":"full"}' |
| rclone rc serve/start type=webdav fs=remote: vfsOpt='{"CacheMode": 2}' proxyOpt='{"AuthProxy": "http://127.0.0.1:8080"}' |
| این دستور پاسخ زیر را باز میگرداند: |
| { |
| "addr": "[::]:4321", // Address the server was started on |
| "id": "nfs-ecfc6852" // Unique identifier for the server instance |
| } |
| یا در صورتی که راهاندازی با خطا مواجه شود، یک پیام خطا میدهد. |
| سرور را با serve/stop متوقف کرده و سرورهای در حال اجرا |
| را با serve/list فهرست کنید. |
| serve/stop: متوقف کردن سرویسدهی فعال انتخابشده |
| یک نمونه در حال اجرای serve را بر اساس شناسه (ID) متوقف میکند. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| id: همانطور که توسط serve/start بازگردانده شده است |
| این دستور در صورت موفقیت یک پاسخ خالی و در غیر این صورت یک پیام خطا برمیگرداند. |
| مثال: |
| rclone rc serve/stop id=12345 |
| serve/stopall: متوقف کردن همه سرورهای فعال |
| همه سرورهای فعال را متوقف کنید. |
| این دستور تمام سرورهای فعال را متوقف خواهد کرد. |
| rclone rc serve/stopall |
| این دستور تمام انواع ممکن serve را نمایش داده و آنها را به صورت یک فهرست بازمیگرداند. |
| این دستور هیچ پارامتری دریافت نمیکند و موارد زیر را بازمیگرداند: |
| • 2 |
| types: فهرستی از انواع serve، مانند "nfs"، "sftp" و غیره |
| انواع serve رشتههایی مانند "serve"، "serve2" و |
| "cserve" هستند و میتوانند به عنوان پارامتر serveType به serve/start فرستاده شوند. |
| برای مثال: |
| rclone rc serve/types |
| خروجی بازگشتی: |
| { |
| "types": [ |
| "http", |
| "sftp", |
| "nfs" |
| ] |
| } |
| sync/bisync: انجام همگامسازی دوطرفه بین دو مسیر. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| path1 (الزامی) - (string) یک رشته دایرکتوری ریموت، برای مثال |
| drive:path1 |
| • 2 |
| path2 (الزامی) - (string) یک رشته دایرکتوری ریموت، برای مثال |
| drive:path2 |
| • 2 |
| dryRun - (bool) حالت اجرای آزمایشی (dry-run) |
| • 2 |
| backupDir1 - (string) گزینه --backup-dir برای Path1. |
| باید یک مسیر غیرهمپوشان در همان ریموت باشد. |
| 0 |
| • 2 |
| backupDir2 - (string) گزینه --backup-dir برای Path2. |
| باید یک مسیر غیرهمپوشان در همان ریموت باشد. |
| 0 |
| • 2 |
| checkAccess - (bool) اطمینان از یافت شدن فایلهای مورد انتظار RCLONE_TEST در هر دو سیستمفایل Path1 و Path2، در غیر این صورت لغو عملیات. |
| 0 |
| • 2 |
| checkFilename - (string) نام فایل برای --check-access (پیشفرض: |
| RCLONE_TEST) |
| 0 |
| • 2 |
| checkSync - (string) کنترل مقایسه فهرستبندیهای نهایی: |
| true|false|only (پیشفرض: true) |
| 0 |
| • 2 |
| compare - (string) فهرستی از گزینههای مقایسه اختصاصی bisync جدا شده با کاما، برای مثال: |
| 'size,modtime,checksum' (پیشفرض: 'size,modtime') |
| 0 |
| • 2 |
| conflictLoser - (ConflictLoserAction) اقدام لازم برای فایل بازنده در تداخل همگامسازی (هنگامی که برنده وجود دارد) یا هر دو فایل (هنگامی که برندهای وجود ندارد): , num, pathname, delete (پیشفرض: num) |
| 0 |
| • 2 |
| conflictResolve - (string) حل خودکار تداخلها با اولویت دادن به نسخهای که عبارت است از: |
| none, path1, path2, newer, older, larger, smaller |
| (پیشفرض: none) |
| 0 |
| • 2 |
| conflictSuffix - (string) پسوند مورد استفاده هنگام تغییر نام --conflict-loser. |
| میتواند یک رشته یا دو رشته جدا شده با کاما برای تخصیص پسوندهای متفاوت به Path1/Path2 باشد. |
| (پیشفرض: 'conflict') |
| 0 |
| • 2 |
| createEmptySrcDirs - (bool) همگامسازی ایجاد و حذف دایرکتوریهای خالی. |
| (با --remove-empty-dirs ناسازگار است) |
| 0 |
| • 2 |
| downloadHash - (bool) محاسبه هش از طریق بارگیری در مواردی که روش دیگری در دسترس نیست. |
| (هشدار: ممکن است کند باشد و حجم زیادی داده مصرف کند!) |
| 0 |
| • 2 |
| filtersFile - (string) خواندن الگوهای فیلترسازی از یک فایل |
| 0 |
| • 2 |
| force - (bool) دور زدن بررسی ایمنی --max-delete و اجرای همگامسازی. |
| استفاده از آن همراه با --verbose پیشنهاد میشود |
| 0 |
| • 2 |
| ignoreListingChecksum - (bool) عدم استفاده از چکسامها برای فهرستبندیها (افزودن |
| --ignore-checksum برای صرفنظر کردن مضاعف از بررسیهای چکسام پس از رونوشت) |
| 0 |
| • 2 |
| maxLock - (Duration) فایلهای قفلی که قدیمیتر از این مقدار باشند منقضی در نظر گرفته میشوند |
| (پیشفرض: 0 (هرگز منقضی نمیشود)) (حداقل: 2m) |
| 0 |
| • 2 |
| noCleanup - (bool) نگهداشتن فایلهای کاری (مفید برای عیبیابی و آزمایش). |
| 0 |
| • 2 |
| noSlowHash - (bool) نادیده گرفتن چکسامهای فهرستبندی فقط در بکاندهایی که در آنها کند هستند |
| 0 |
| • 2 |
| recover - (bool) بازیابی خودکار از وقفه بدون نیاز به |
| --resync. |
| 0 |
| • 2 |
| removeEmptyDirs - (bool) حذف تمام دایرکتوریهای خالی در مرحله پاکسازی نهایی. |
| 0 |
| • 2 |
| resilient - (bool) اجازه به اجراهای آینده برای تلاش مجدد پس از برخی خطاهای کماهمیتتر، به جای الزام به --resync. |
| 0 |
| • 2 |
| resync - (bool) اجرای همگامسازی مجدد (resync) را انجام میدهد. |
| معادل با --resync-mode path1. |
| توصیه میشود ابتدا از --verbose یا --dry-run استفاده کنید. |
| 0 |
| • 2 |
| resyncMode - (string) در حین resync، اولویت دادن به نسخهای که عبارت است از: path1, |
| path2, newer, older, larger, smaller (پیشفرض: در صورت فعال بودن --resync مقدار path1، در غیر این صورت none برای عدم اجرای resync.).PD 0 |
| • 2 |
| slowHashSyncOnly - (bool) نادیدهگرفتن چکسامهای کُند برای فهرستگیریها و تفاضلها (deltas)، اما همچنان در نظر گرفتن آنها هنگام فراخوانیهای همگامسازی (sync). |
| 0 |
| • 2 |
| workdir - (string) استفاده از یک دایرکتوری کاری سفارشی - کاربردی برای آزمایش. |
| (پیشفرض: /home/ncw/.cache/rclone/bisync) |
| برای اطلاعات بیشتر، راهنمای دستور bisync (https://rclone.org/commands/rclone_bisync) و |
| توضیحات کامل bisync (https://rclone.org/bisync) را ببینید. |
| sync/copy: رونوشت یک دایرکتوری از ریموت مبدأ به ریموت مقصد |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| srcFs - یک رشته نام ریموت مانند |
| "drive:src" برای مبدأ |
| • 2 |
| dstFs - یک رشته نام ریموت مانند |
| "drive:dst" برای مقصد |
| • 2 |
| createEmptySrcDirs - در صورت تنظیم، دایرکتوریهای خالی مبدأ در مقصد ایجاد میشوند |
| برای اطلاعات بیشتر در مورد موارد بالا، دستور copy (https://rclone.org/commands/rclone_copy) را |
| ببینید. |
| sync/move: انتقال یک دایرکتوری از ریموت مبدأ به ریموت مقصد |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| srcFs - یک رشته نام ریموت مانند |
| "drive:src" برای مبدأ |
| • 2 |
| dstFs - یک رشته نام ریموت مانند |
| "drive:dst" برای مقصد |
| • 2 |
| createEmptySrcDirs - در صورت تنظیم، دایرکتوریهای خالی مبدأ در مقصد ایجاد میشوند |
| • 2 |
| deleteEmptySrcDirs - در صورت تنظیم، دایرکتوریهای خالی مبدأ حذف میشوند |
| برای اطلاعات بیشتر در مورد موارد بالا، دستور move (https://rclone.org/commands/rclone_move) را |
| ببینید. |
| sync/sync: همگامسازی یک دایرکتوری از ریموت مبدأ به ریموت مقصد |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| srcFs - یک رشته نام ریموت مانند |
| "drive:src" برای مبدأ |
| • 2 |
| dstFs - یک رشته نام ریموت مانند |
| "drive:dst" برای مقصد |
| • 2 |
| createEmptySrcDirs - در صورت تنظیم، دایرکتوریهای خالی مبدأ در مقصد ایجاد میشوند |
| برای اطلاعات بیشتر در مورد موارد بالا، دستور sync (https://rclone.org/commands/rclone_sync) را |
| ببینید. |
| vfs/forget: فراموشکردن فایلها یا دایرکتوریها در حافظهٔ نهان (cache) دایرکتوری. |
| این دستور مسیرهای موجود در حافظهٔ نهان دایرکتوری را فراموش میکند و باعث میشود در |
| صورت نیاز، مجدداً از ریموت خوانده شوند. |
| اگر هیچ مسیری ارسال نشود، تمام مسیرهای موجود در حافظهٔ نهان دایرکتوری فراموش |
| خواهند شد. |
| rclone rc vfs/forget |
| در غیر این صورت، فایلها یا دایرکتوریها را به صورت file=path یا dir=path ارسال کنید. |
| هر کلید پارامتری که با file شروع شود آن فایل را فراموش میکند و هر کدام که با dir |
| شروع شود آن دایرکتوری را فراموش خواهد کرد؛ به عنوان مثال: |
| rclone rc vfs/forget file=hello file2=goodbye dir=home/junk |
| این دستور یک پارامتر "fs" میگیرد. |
| اگر این پارامتر ارائه نشود و تنها یک VFS در حال استفاده باشد، از همان VFS |
| استفاده خواهد شد. |
| اگر بیش از یک VFS در حال استفاده باشد، پارامتر "fs" باید حتماً |
| ارائه شود..SS vfs/list: فهرست کردن VFSهای فعال. |
| این دستور VFSهای فعال را فهرست میکند. |
| این دستور فهرستی را تحت کلید "vfses" برمیگرداند که مقادیر آن، نامهای VFS هستند و میتوان آنها را در پارامتر "fs" به سایر دستورهای VFS ارسال کرد. |
| برای این فراخوانی نیازی به احراز هویت نیست. |
| vfs/poll-interval: دریافت وضعیت یا بهروزرسانی مقدار گزینهٔ poll-interval. |
| بدون ارائهٔ هیچ پارامتری، این دستور وضعیت کنونی تنظیم poll-interval را بازمیگرداند. |
| هنگامی که پارامتر interval=duration تنظیم شود، مقدار poll-interval بهروزرسانی شده و تابع بررسی دورهای (polling) مطلع میشود. |
| تنظیم interval=0 گزینهٔ poll-interval را غیرفعال میکند. |
| rclone rc vfs/poll-interval interval=5m |
| میتوان از پارامتر timeout=duration برای مشخص کردن مدتزمان انتظار جهت اِعمال مقدار جدید توسط تابع بررسی دورهای کنونی استفاده کرد. |
| اگر timeout کمتر یا مساوی ۰ باشد (که مقدار پیشفرض است)، به مدت نامحدود منتظر میماند. |
| مقدار جدید poll-interval تنها در صورتی فعال خواهد شد که مهلت زمانی (timeout) به پایان نرسد. |
| اگر poll-interval بهروزرسانی شود یا موقتاً غیرفعال گردد، بسته به ریموتِ مورد استفاده ممکن است برخی تغییرات توسط تابع بررسی دورهای دریافت نشوند. |
| این دستور یک پارامتر "fs" میپذیرد. |
| اگر این پارامتر ارائه نشود و تنها یک VFS در حال استفاده باشد، همان VFS استفاده خواهد شد. |
| اگر بیش از یک VFS در حال استفاده باشد، پارامتر "fs" باید ارائه شود. |
| vfs/queue: اطلاعات صف برای یک VFS. |
| این دستور اطلاعات مربوط به صف بارگذاری (upload) را برای VFS انتخابشده برمیگرداند. |
| این ویژگی تنها زمانی مفید است که --vfs-cache-mode > off باشد. |
| اگر آن را در زمانی فراخوانی کنید که --vfs-cache-mode برابر off است، نتیجهای خالی برمیگرداند. |
| { |
| "queue": // an array of files queued for upload |
| [ |
| { |
| "name": "file", // string: name (full path) of the file, |
| "id": 123, // integer: id of this item in the queue, |
| "size": 79, // integer: size of the file in bytes |
| "expiry": 1.5 // float: time until file is eligible for transfer, lowest goes first |
| "tries": 1, // integer: number of times we have tried to upload |
| "delay": 5.0, // float: seconds between upload attempts |
| "uploading": false, // boolean: true if item is being uploaded |
| }, |
| ], |
| } |
| زمان expiry، مدتزمان باقیمانده تا واجد شرایط شدن فایل برای بارگذاری برحسب ثانیه با ممیز شناور است. |
| این مقدار ممکن است منفی شود. |
| از آنجا که rclone در هر لحظه تنها به تعداد --transfers فایل را انتقال میدهد، تنها کمترین زمانهای انقضا به تعداد --transfers دارای uploading با مقدار true خواهند بود. |
| بنابراین ممکن است فایلهایی با زمان انقضای منفی وجود داشته باشند که مقدار uploading برای آنها false باشد. |
| این دستور یک پارامتر "fs" میپذیرد. |
| اگر این پارامتر ارائه نشود و تنها یک VFS در حال استفاده باشد، همان VFS استفاده خواهد شد. |
| اگر بیش از یک VFS در حال استفاده باشد، پارامتر "fs" باید ارائه شود. |
| برای این فراخوانی نیازی به احراز هویت نیست..SS vfs/queue-set-expiry: تنظیم زمان انقضا برای آیتم موجود در صف بارگذاری. |
| از این دستور برای تغییر زمان expiry (انقضا) برای یک آیتم در صف بارگذاری استفاده میشود. |
| پیش از استفاده از این فراخوانی، باید id آیتم را با استفاده از vfs/queue بخوانید. |
| سپس میتوانید expiry را برحسب ثانیههای ممیز شناور از زمان حال برای هنگامی که آیتم واجد شرایط بارگذاری است تنظیم کنید. |
| اگر میخواهید آیتم در اسرع وقت بارگذاری شود، آن را روی یک عدد منفی بزرگ (مانند -1000000000) تنظیم کنید. |
| اگر میخواهید بارگذاری آیتم برای مدت طولانی به تعویق بیفتد، آن را روی یک عدد مثبت بزرگ قرار دهید. |
| تنظیم expiry برای آیتمی که بارگذاری آن از قبل آغاز شده است هیچ اثری نخواهد داشت - بارگذاری آیتم بدون تغییر ادامه مییابد. |
| اگر این دستور در حالتی که --vfs-cache-mode روی off است فراخوانی شود، یا اگر id ارائهشده یافت نشود، خطایی بازمیگرداند. |
| این دستور پارامترهای زیر را میپذیرد: |
| • 2 |
| fs - انتخاب VFS در حال استفاده (اختیاری) |
| • 2 |
| id - یک شناسه عددی بازگرداندهشده از vfs/queue |
| • 2 |
| expiry - زمان انقضای جدید به صورت ثانیههای ممیز شناور |
| • 2 |
| relative - در صورت تعیین، زمان انقضا به صورت نسبی نسبت به انقضای فعلی در نظر گرفته میشود (اختیاری، بولی) |
| این دستور در صورت موفقیت یک نتیجه خالی و در غیر این صورت یک خطا بازمیگرداند. |
| این دستور پارامتر "fs" را میپذیرد. |
| اگر این پارامتر ارائه نشود و تنها یک VFS در حال استفاده باشد، همان VFS استفاده خواهد شد. |
| اگر بیش از یک VFS در حال استفاده باشد، ارائه پارامتر "fs" الزامی است. |
| vfs/refresh: تازهسازی کش دایرکتوری. |
| این دستور دایرکتوریهای مسیرهای مشخصشده را خوانده و حافظه موقت (کش) دایرکتوری را تازه میکند. |
| اگر هیچ مسیری ارسال نشود، دایرکتوری ریشه (root) را تازهسازی خواهد کرد. |
| rclone rc vfs/refresh |
| در غیر این صورت، دایرکتوریها را به صورت dir=path ارسال کنید. |
| هر کلید پارامتری که با dir شروع شود، آن دایرکتوری را تازهسازی خواهد کرد؛ مانند: |
| rclone rc vfs/refresh dir=home/junk dir2=data/misc |
| اگر پارامتر recursive=true داده شود، کل درخت دایرکتوری تازه خواهد شد. |
| این تازهسازی در صورت فعال بودن، از --fast-list استفاده خواهد کرد. |
| این دستور پارامتر "fs" را میپذیرد. |
| اگر این پارامتر ارائه نشود و تنها یک VFS در حال استفاده باشد، همان VFS استفاده خواهد شد. |
| اگر بیش از یک VFS در حال استفاده باشد، ارائه پارامتر "fs" الزامی است. |
| vfs/stats: آمار مربوط به یک VFS. |
| این دستور آمار مربوط به VFS انتخابشده را بازمیگرداند. |
| { |
| // Status of the disk cache - only present if --vfs-cache-mode > off |
| "diskCache": { |
| "bytesUsed": 0, |
| "erroredFiles": 0, |
| "files": 0, |
| "hashType": 1, |
| "outOfSpace": false, |
| "path": "/home/user/.cache/rclone/vfs/local/mnt/a", |
| "pathMeta": "/home/user/.cache/rclone/vfsMeta/local/mnt/a", |
| "uploadsInProgress": 0, |
| "uploadsQueued": 0 |
| }, |
| "fs": "/mnt/a", |
| "inUse": 1, |
| // Status of the in memory metadata cache |
| "metadataCache": { |
| "dirs": 1, |
| "files": 0 |
| }, |
| // Options as returned by options/get |
| "opt": { |
| "CacheMaxAge": 3600000000000, |
| // ... |
| "WriteWait": 1000000000 |
| } |
| } |
| این دستور پارامتر "fs" را میپذیرد. |
| اگر این پارامتر ارائه نشود و تنها یک VFS در حال استفاده باشد، همان VFS استفاده خواهد شد. |
| اگر بیش از یک VFS در حال استفاده باشد، ارائه پارامتر "fs" الزامی است. |
| برای این فراخوانی نیازی به احراز هویت نیست..SS دسترسی به کنترل از راه دور از طریق HTTP |
| ابزار Rclone یک پروتکل ساده مبتنی بر HTTP را پیادهسازی میکند. |
| هر نقطه پایانی (endpoint) یک شیء JSON را دریافت کرده و یک شیء JSON یا یک خطا برمیگرداند. |
| اشیای JSON در اصل نگاشتی از نامهای رشتهای به مقادیر هستند. |
| تمام فراخوانیها باید با استفاده از POST انجام شوند. |
| اشیای ورودی را میتوان با استفاده از پارامترهای URL، پارامترهای POST یا با ارائه "Content-Type: application/json" و یک قطعه داده JSON در بدنه درخواست فرستاد. |
| در ادامه مثالهایی از این موارد با استفاده از curl آورده شده است. |
| پاسخ به صورت یک قطعه داده JSON در بدنه پاسخ خواهد بود. |
| این خروجی به گونهای قالببندی شده است که برای انسان خوانا باشد. |
| خطاهای بازگشتی |
| اگر خطایی رخ دهد، یک وضعیت خطای HTTP (مانند 500) وجود خواهد داشت و بدنه پاسخ حاوی یک شیء خطای کدگذاریشده با JSON خواهد بود، مانند: |
| { |
| "error": "Expecting string value for key \"remote\" (was float64)", |
| "input": { |
| "fs": "/tmp", |
| "remote": 3 |
| }, |
| "status": 400, |
| "path": "operations/rmdir" |
| } |
| کلیدهای موجود در پاسخ خطا عبارتند از: |
| • 2 |
| error - رشته خطا |
| • 2 |
| input - پارامترهای ورودی فراخوانی |
| • 2 |
| status - کد وضعیت HTTP |
| • 2 |
| path - مسیر فراخوانی |
| CORS |
| سرور پشتیبانی اولیهای از CORS را پیادهسازی میکند و تمام مبداها (origins) را برای آن مجاز میداند. |
| پاسخ به درخواست پیشپرواز (preflight) از نوع OPTIONS سرآیندهای درخواستی "Access-Control-Request-Headers" را بازتاب خواهد داد. |
| استفاده از POST تنها با پارامترهای URL |
| curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2' |
| پاسخ |
| { |
| "potato": "1", |
| "sausage": "2" |
| } |
| یک پاسخ خطا به این صورت خواهد بود: |
| curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2' |
| { |
| "error": "arbitrary error on input map[potato:1 sausage:2]", |
| "input": { |
| "potato": "1", |
| "sausage": "2" |
| } |
| } |
| توجه داشته باشید که curl خطایی را به پوسته بازنمیگرداند، مگر اینکه از گزینه -f استفاده کنید |
| $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2' |
| curl: (22) The requested URL returned error: 400 Bad Request |
| $ echo $? |
| 22 |
| curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop |
| پاسخ |
| { |
| "potato": "1", |
| "sausage": "2" |
| } |
| توجه داشته باشید که میتوانید این موارد را با پارامترهای URL نیز ترکیب کنید؛ در این حالت، اولویت با پارامترهای POST خواهد بود. |
| curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4" |
| پاسخ |
| { |
| "potato": "1", |
| "rutabaga": "3", |
| "sausage": "4" |
| } |
| استفاده از POST با یک JSON blob |
| curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop |
| پاسخ |
| { |
| "password": "xyz", |
| "username": "xyz" |
| } |
| در صورت نیاز، این مورد را نیز میتوان با پارامترهای URL ترکیب کرد. |
| اولویت با JSON blob خواهد بود. |
| curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4' |
| { |
| "potato": 2, |
| "rutabaga": "3", |
| "sausage": 1 |
| } |
| اشکالزدایی rclone با pprof |
| اگر از گزینه --rc استفاده کنید، ابزارهای تحلیل کارایی (profiling) زبان go نیز روی همان درگاه فعال خواهند شد. |
| نقاط پایانی پروفایلسازی (profiling endpoints) از همان قواعد احراز هویت بقیه بخشهای rc پیروی میکنند: آنها تنها در صورتی ارائه میشوند که احراز هویت پیکربندی شده باشد (--rc-user/--rc-pass یا --rc-htpasswd) یا گزینه --rc-no-auth به کار رفته باشد. |
| برای اشکالزدایی روی درگاه پیشفرض localhost، آسانترین روش استفاده از --rc --rc-no-auth است (اما هشدار مربوط به استفاده از --rc-no-auth روی اتصالات غیر loopback را مطالعه کنید). |
| برای استفاده از این موارد، ابتدا go را نصب کنید (https://golang.org/doc/install)..SS "اشکالزدایی مصرف حافظه (Debugging memory use)" |
| برای تحلیل (profile) میزان مصرف حافظه rclone میتوانید دستور زیر را اجرا کنید: |
| go tool pprof -web http://localhost:5572/debug/pprof/heap |
| این دستور باید صفحهای را در مرورگر شما باز کند که نشان میدهد چه بخشهایی چقدر حافظه مصرف میکنند. |
| همچنین میتوانید از گزینهٔ -text برای ایجاد یک خلاصهٔ متنی استفاده کنید: |
| $ go tool pprof -text http://localhost:5572/debug/pprof/heap |
| Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total |
| flat flat% sum% cum cum% |
| 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode |
| 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize |
| 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/all.init |
| 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve.init |
| 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve/restic.init |
| 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2.init |
| 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init |
| 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0 |
| 0 0% 100% 1024.03kB 66.62% main.init |
| 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest |
| 0 0% 100% 513kB 33.38% net/http.(*conn).serve |
| 0 0% 100% 1024.03kB 66.62% runtime.main |
| "اشکالزدایی نشت گوروتینها (Debugging go routine leaks)" |
| نشت حافظه اغلب به دلیل نشت goroutineها رخ میدهد؛ به این صورت که حافظهای را که باید توسط بازیافت حافظه (garbage collection) پاکسازی میشد، زنده نگه میدارند. |
| مشاهدهٔ تمام goroutineهای فعال با استفاده از: |
| curl http://localhost:5572/debug/pprof/goroutine?debug=1 |
| یا مراجعه به نشانی http://localhost:5572/debug/pprof/goroutine?debug=1 در مرورگر وب خود. | |
| "دیگر پروفایلها برای بررسی (Other profiles to look at)" | |
| میتوانید خلاصهای از پروفایلهای موجود را در نشانی http://localhost:5572/debug/pprof مشاهده کنید. | |
| نحوهٔ استفاده از برخی از آنها به شرح زیر است: | |
| • 2 | |
| حافظه: go tool pprof http://localhost:5572/debug/pprof/heap | |
| • 2 | |
| گوروتینها: | |
| curl http://localhost:5572/debug/pprof/goroutine?debug=1 | |
| • 2 | |
| پروفایل ۳۰ ثانیهای پردازنده (CPU): | |
| go tool pprof http://localhost:5572/debug/pprof/profile | |
| • 2 | |
| ردگیری ۵ ثانیهای اجرا (execution trace): | |
| wget http://localhost:5572/debug/pprof/trace?seconds=5 | |
| • 2 | |
| پروفایل مسدود شدن گوروتینها (Goroutine blocking profile) | |
| 2 | |
| • 2 | |
| ابتدا با دستور زیر فعال کنید: | |
| rclone rc debug/set-block-profile-rate rate=1 (مستندات) | |
| • 2 | |
| go tool pprof http://localhost:5572/debug/pprof/block | |
| • 2 | |
| بررسی رقابت بر سر mutexها (Contended mutexes): | |
| 2 | |
| • 2 | |
| ابتدا با دستور زیر فعال کنید: | |
| rclone rc debug/set-mutex-profile-fraction rate=1 (مستندات) | |
| • 2 | |
| go tool pprof http://localhost:5572/debug/pprof/mutex | |
| برای اطلاعات بیشتر دربارهٔ نحوهٔ استفاده از پروفایلسازی، مستندات net/http/pprof (https://golang.org/pkg/net/http/pprof) را مشاهده کنید و برای یک مرور کلی، به پست وبلاگ تیم Go دربارهٔ پروفایلسازی برنامههای go (https://blog.golang.org/profiling-go-programs) مراجعه فرمایید. | |
| قلاب پروفایلسازی (profiling hook) هیچ بار اضافی (overhead) تحمیل نمیکند، مگر اینکه استفاده شود (https://stackoverflow.com/q/26545159/164234)..SH "نمای کلی سیستمهای ذخیرهسازی ابری" | |
| هر سیستم ذخیرهسازی ابری تفاوتهای اندکی با دیگری دارد. | |
| rclone تلاش میکند یک رابط یکپارچه برای آنها فراهم کند، اما برخی | |
| از تفاوتهای بنیادین همچنان نمایان میشوند. | |
| "ویژگیها" | |
| در اینجا نمایی کلی از ویژگیهای اصلی هر سیستم ذخیرهسازی ابری آورده شده است. | |
| "هش (Hash)" | |
| سیستم ذخیرهسازی ابری از انواع مختلف هش برای اشیاء پشتیبانی میکند. | |
| هشها هنگام انتقال دادهها به عنوان بررسی یکپارچگی استفاده میشوند و میتوانند | |
| به طور خاص با پرچم --checksum در همگامسازیها و در | |
| دستور check به کار روند. | |
| برای اعتبارسنجی جمعهای کنترلی هنگام انتقال بین سیستمهای ذخیرهسازی ابری، | |
| آنها باید از یک نوع هش مشترک پشتیبانی کنند. | |
| "زمان ویرایش (ModTime)" | |
| تقریباً تمامی سیستمهای ذخیرهسازی ابری نوعی برچسب زمان را روی اشیاء | |
| ذخیره میکنند، اما در چندین مورد از آنها، این مقدار چیزی نیست که برای | |
| همگامسازی مناسب باشد. | |
| برای مثال، | |
| برخی پساندازها (backends) تنها برچسب زمانی را مینویسند که نشاندهنده | |
| زمان بارگذاری است. | |
| برای این که زمان برای همگامسازی کاربردی باشد، سیستم باید قادر به ذخیره | |
| زمان ویرایش شیء مبدأ باشد. | |
| اگر اینگونه نباشد، rclone بهطور پیشفرض تنها اندازه فایل را بررسی میکند، | |
| اگرچه میتوان آن را پیکربندی کرد تا هش فایل را نیز بررسی کند (با | |
| پرچم --checksum). | |
| در حالت ایدهآل، همچنین باید امکان تغییر برچسب زمان یک فایل موجود بدون | |
| نیاز به بارگذاری مجدد آن وجود داشته باشد. | |
| tab( | ); |
| lw(19.4n) lw(50.6n). | |
| کلید | توضیحات |
| - | عدم پشتیبانی از ModTime - زمانها احتمالاً زمان بارگذاری هستند |
| R | پشتیبانی از ModTime در فایلها، اما بدون امکان تغییر بدون بارگذاری مجدد |
| R/W | پشتیبانی کامل از خواندن و نوشتن ModTime روی فایلها |
| DR | پشتیبانی از ModTime در فایلها و دایرکتوریها، اما بدون امکان تغییر بدون بارگذاری مجدد |
| DR/W | پشتیبانی کامل از خواندن و نوشتن ModTime روی فایلها و دایرکتوریها |
سیستمهای ذخیرهسازی با علامت - در ستون ModTime بدین معنا هستند که زمان ویرایش خواندهشده از اشیاء، زمان ویرایش فایل هنگام بارگذاری نیست. این زمان به احتمال زیاد زمان بارگذاری فایل است، یا شاید چیزی دیگر (مانند زمان ثبت عکس در Google Photos).
سیستمهای ذخیرهسازی با علامت R (به معنای فقطخواندنی) در ستون ModTime به این معنی هستند که زمان ویرایش اشیاء نگهداری شده و هنگام بارگذاری اشیاء بهروز میشود، اما از تغییر اختصاصی زمان ویرایش (عملیات SetModTime) بدون بارگذاری مجدد پشتیبانی نمیکنند، و احتمالاً حتی بدون حذف قبلی فایل موجود نیز امکانپذیر نیست. برخی عملیات در rclone، مانند دستورهای copy و sync، بهطور خودکار پشتیبانی از SetModTime را بررسی کرده و در صورت لزوم برای همگام نگهداشتن زمانهای ویرایش، دوباره بارگذاری میکنند. سایر دستورها بدون پشتیبانی از SetModTime کار نخواهند کرد؛ مثلاً دستور touch روی یک فایل موجود با شکست مواجه میشود، و تغییرات تنها روی زمان ویرایش فایلها در یک mount بدون هیچ هشداری نادیده گرفته میشوند.
سیستمهای ذخیرهسازی با R/W (به معنای خواندن/نوشتن) در ستون ModTime، بدین معنا هستند که آنها از عملیاتهای مختص زمان ویرایش نیز پشتیبانی میکنند.
سیستمهای ذخیرهسازی با D در ستون ModTime بدین معنا هستند که نمادهای پس از آن، افزون بر فایلها شامل دایرکتوریها نیز میشوند..SS حساس نبودن به بزرگی و کوچکی حروف (Case Insensitive)
اگر یک سیستم ذخیرهسازی ابری به بزرگی و کوچکی حروف حساس باشد (case sensitive)، امکان داشتن دو فایل که تفاوت آنها تنها در بزرگی و کوچکی حروف است وجود دارد؛ مانند file.txt و FILE.txt. اگر یک سیستم ذخیرهسازی ابری به بزرگی و کوچکی حروف حساس نباشد (case insensitive)، چنین چیزی امکانپذیر نیست.
این موضوع میتواند هنگام همگامسازی بین یک سیستم حساس به حروف و یک سیستم غیرحساس مشکلاتی ایجاد کند. نشانه این مشکل آن است که مهم نیست چند بار همگامسازی را اجرا کنید، این فرایند هرگز بهطور کامل به پایان نمیرسد.
سیستمفایل محلی و SFTP بسته به سیستمعامل ممکن است به بزرگی و کوچکی حروف حساس باشند یا نباشند.
- •
- Windows - معمولاً حساس نیست، اگرچه بزرگی و کوچکی حروف حفظ میشود
- •
- OSX - معمولاً حساس نیست، اگرچه امکان قالببندی آن به صورت حساس به بزرگی و کوچکی حروف وجود دارد
- •
- Linux - معمولاً حساس است، اما سیستمفایلهای غیرحساس به حروف نیز وجود دارند (مانند حافظههای USB با قالببندی FAT)
در بیشتر مواقع این امر مشکلی ایجاد نمیکند، زیرا کاربران معمولاً حتی در سیستمهای حساس نیز از نامگذاری فایلهایی که تفاوتشان تنها در بزرگی و کوچکی حروف است خودداری میکنند.
فایلهای تکراری (Duplicate files)
اگر یک سیستم ذخیرهسازی ابری اجازه فایلهای تکراری را بدهد، ممکن است دارای دو شیء با نام یکسان باشد.
این موضوع هنگام همگامسازی rclone را به شدت دچار سردرگمی میکند - از دستور rclone dedupe برای تغییر نام یا حذف موارد تکراری استفاده کنید.
نامهای فایل محدودشده (Restricted filenames)
برخی از سیستمهای ذخیرهسازی ابری ممکن است محدودیتهایی برای نویسههای مجاز در نام فایلها یا دایرکتوریها داشته باشند. هنگامی که rclone در حین بارگذاری فایل چنین نامی را شناسایی کند، نویسههای محدودشده را بهطور شفاف با نویسههای ظاهراً مشابه یونیکد (Unicode) جایگزین خواهد کرد. برای مدیریت مجموعههای مختلف نویسههای محدودشده در backendهای مختلف، rclone از سازوکاری به نام encoding استفاده میکند.
این فرایند طوری طراحی شده است که تا حد امکان از ابهام در نام فایلها جلوگیری کند و جابهجایی شفاف فایلها را میان چندین سیستم ذخیرهسازی ابری امکانپذیر سازد.
نامی که rclone به کاربر نشان میدهد یا در خروجی لاگ ثبت میکند، فقط شامل حداقل مجموعهای از نویسههای جایگزینشده خواهد بود تا از قالببندی درست اطمینان حاصل شود و لزوماً همان نام واقعی مورد استفاده در فضای ذخیرهسازی ابری نیست.
این تبدیل هنگام بارگیری فایل یا تحلیل آرگومانهای rclone بهصورت معکوس عمل میکند. برای مثال، هنگام بارگذاری فایلی با نام my file?.txt در Onedrive، این نام در کنسول بهصورت my file?.txt نمایش داده میشود، اما با نام my file?.txt در Onedrive ذخیره میگردد (نویسه ? با نویسه مشابه ? موسوم به "fullwidth question mark" جایگزین میشود). تبدیل معکوس امکان خواندن فایل unusual/name.txt را از Google Drive با ارسال نام unusual/name.txt در خط فرمان فراهم میکند (نویسه / باید با نویسه مشابه / جایگزین شود).
هشدارها (Caveats)
سامانه کدگذاری نام فایل در بیشتر موارد به خوبی کار میکند، دستکم در مواردی که نام فایلها به زبان انگلیسی یا زبانهای مشابه نوشته شده باشند. شاید حتی متوجه عملکرد آن نشوید: به سادگی کار میکند. با این حال، در برخی موارد ممکن است به بروز مشکلاتی منجر شود؛ برای نمونه هنگامی که نام فایلها به زبان چینی یا ژاپنی نوشته شده باشد، که در آنها همیشه از انواع تمامعرض (fullwidth) علائم نگارشی یونیکد استفاده میشود.
در Windows، نویسههای :، * و ? نمونههایی از نویسههای محدودشده هستند. اگر از این نویسهها در نام فایلها روی یک ریموت پشتیبانیکننده استفاده شود، Rclone هنگام بارگیری در Windows بهطور شفاف آنها را به معادلهای تمامعرض یونیکد *، ? و : تبدیل کرده و در زمان بارگذاری دوباره آنها را برمیگرداند. بدین ترتیب، فایلهایی با نامهای غیرمجاز در Windows همچنان میتوانند ذخیره شوند.
با این حال، اگر فایلهایی در سیستم Windows خود داشته باشید که از ابتدا همین نویسههای یونیکد در نام آنها وجود داشته باشد، مشمول همین فرایند تبدیل خواهند شد. برای نمونه اگر فایلی را در سیستمفایل Windows خود با نام Test:1.jpg ایجاد کنید (که در آن : نماد دونقطه تمامعرض یونیکد است) و از rclone برای بارگذاری آن در Google Drive استفاده کنید که از : معمولی (halfwidth question mark) پشتیبانی میکند، rclone نویسه تمامعرض : را با نویسه نیمعرض : جایگزین کرده و فایل را با نام Test:1.jpg در Google Drive ذخیره خواهد کرد. از آنجا که هم Windows و هم Google Drive اجازه نامگذاری Test:1.jpg را میدهند، احتمالاً در این حالت بهتر بود rclone نام فایل را دستنخورده باقی میگذاشت.
در وضعیت معکوس؛ اگر فایلی با نام Test:1.jpg در Google Drive خود داشته باشید (مثلاً بارگذاریشده از یک سیستم Linux که در آن نویسه : در نام فایلها معتبر است)، سپس بعداً از rclone برای رونوشت این فایل به رایانه Windows خود استفاده کنید، متوجه خواهید شد که روی دیسک محلی شما نام آن به Test:1.jpg تغییر مییابد. نام اصلی فایل به دلیل وجود : در Windows مجاز نیست و بنابراین rclone نام آن را تغییر میدهد تا انجام رونوشت امکانپذیر شود. همه اینها مطلوب است؛ با این حال، این موضوع میتواند به یک مشکل نیز بینجامد: اگر از قبل فایل متفاوتی با نام Test:1.jpg در Windows داشتید و سپس از rclone برای رونوشت در هر یک از دو جهت استفاده کنید، آنگاه Rclone فایلی را که در اصل نامش در Google Drive برابر Test:1.jpg بود و فایلی را که در اصل نامش در Windows برابر Test:1.jpg بود به عنوان یک فایل یکسان در نظر میگیرد و محتویات یکی را با دیگری جایگزین میکند.
مدیریت صحیح تمام مواردی از این قبیل در تمامی شرایط عملاً غیرممکن است، اما با سفارشیسازی گزینه encoding و تغییر مجموعه نویسههایی که rclone باید تبدیل کند، باید بتوانید پیکربندی مناسبی برای شرایط خاص خود ایجاد کنید. همچنین به مثال (https://rclone.org/overview/#encoding-example-windows) در زیر نگاه کنید.
(از Windows به عنوان نمونهای از سیستمفایل با نویسههای محدودشده زیاد، و از Google drive به عنوان سیستم ذخیرهسازی با محدودیتهای اندک استفاده شد.).SS نویسههای محدودشده پیشفرض (Default restricted characters)
جدول زیر نویسههایی را نشان میدهد که بهطور پیشفرض جایگزین میشوند.
هنگامی که یک نویسهٔ جایگزین در نام یک فایل یافت شود، این نویسه با نویسهٔ ‛ گریزدهی میشود تا از نامهای مبهم فایل جلوگیری شود. (بهعنوان مثال، فایلی به نام ␀.txt بهصورت ‛␀.txt نشان داده خواهد شد)
هر backend ذخیرهسازی ابری میتواند از مجموعه متفاوتی از نویسهها استفاده کند که در مستندات مربوط به هر backend مشخص خواهد شد.
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| SOH | 0x01 | ␁ |
| STX | 0x02 | ␂ |
| ETX | 0x03 | ␃ |
| EOT | 0x04 | ␄ |
| ENQ | 0x05 | ␅ |
| ACK | 0x06 | ␆ |
| BEL | 0x07 | ␇ |
| BS | 0x08 | ␈ |
| HT | 0x09 | ␉ |
| LF | 0x0A | ␊ |
| VT | 0x0B | ␋ |
| FF | 0x0C | ␌ |
| CR | 0x0D | ␍ |
| SO | 0x0E | ␎ |
| SI | 0x0F | ␏ |
| DLE | 0x10 | ␐ |
| DC1 | 0x11 | ␑ |
| DC2 | 0x12 | ␒ |
| DC3 | 0x13 | ␓ |
| DC4 | 0x14 | ␔ |
| NAK | 0x15 | ␕ |
| SYN | 0x16 | ␖ |
| ETB | 0x17 | ␗ |
| CAN | 0x18 | ␘ |
| EM | 0x19 | ␙ |
| SUB | 0x1A | ␚ |
| ESC | 0x1B | ␛ |
| FS | 0x1C | ␜ |
| GS | 0x1D | ␝ |
| RS | 0x1E | ␞ |
| US | 0x1F | ␟ |
| / | 0x2F | / |
| DEL | 0x7F | ␡ .TE کدگذاری پیشفرض همچنین این نامهای فایل را کدگذاری خواهد کرد، چرا که در بسیاری از سامانههای ذخیرهسازی ابری مشکلساز هستند. tab(@); l c. T{ نام فایل |
| جایگزین | ||
| T} | ||
| . | . | |
| .. | .. |
بایتهای نامعتبر UTF-8 (Invalid UTF-8 bytes)
برخی از backendها تنها از دنبالهای از بایتهای خوشساخت UTF-8 به عنوان نام فایل یا دایرکتوری پشتیبانی میکنند.
در این حالت، تمام بایتهای نامعتبر UTF-8 با یک نمایش نقلقولشده از مقدار بایت جایگزین میشوند تا امکان بارگذاری فایل روی چنین backendی فراهم شود. برای نمونه، بایت نامعتبر 0xFE به صورت ‛FE کدگذاری خواهد شد.
یک منبع رایج بایتهای نامعتبر UTF-8، سیستمهای فایل محلی هستند که نامها را در کدگذاری متفاوتی غیر از UTF-8 یا UTF-16 (مانند latin1) ذخیره میکنند. برای جزئیات بیشتر به بخش نامهای فایل محلی (https://rclone.org/local/#filenames) مراجعه کنید.
گزینه کدگذاری (Encoding option)
بیشتر backendها دارای یک گزینه کدگذاری هستند که به عنوان پرچم --backend-encoding مشخص میشود (که در آن backend نام backend موردنظر است)، یا به صورت پارامتر پیکربندی encoding (برای مشاهده آن باید تنظیمات پیشرفته را در rclone config انتخاب کنید).
این گزینه دارای یک مقدار پیشفرض است که نویسهها را به گونهای کدگذاری و رمزگشایی میکند تا بیشترین تعداد نویسهها حفظ شوند (بالا را ببینید).
با این حال، این حالت در برخی سناریوها ممکن است نادرست باشد؛ برای نمونه اگر در یک سیستم فایل ویندوز نویسههای تمامعرض یونیکد *، ؟ یا : دارید و میخواهید روی ریموت نیز دقیقاً به صورت همین نویسهها باقی بمانند و به نویسههای معمولی (نیمعرض) *، ? و : تبدیل نشوند.
پرچمهای --backend-encoding به شما امکان میدهند این رفتار را تغییر دهید. میتوانید کدگذاری را به طور کامل با --backend-encoding Raw غیرفعال کنید یا encoding = Raw را در فایل پیکربندی تنظیم نمایید.
گزینه Encoding فهرستی از کدگذاریها را که با کاما از هم جدا شدهاند، میپذیرد. با ارسال یک مقدار نامعتبر به این پرچم میتوانید فهرستی از تمام مقادیر ممکن را مشاهده کنید؛ مانند: --local-encoding "help". دستور rclone help flags encoding مقادیر پیشفرض backendها را نمایش میدهد.
| کدگذاری | نویسهها | کدگذاریشده به عنوان |
| Asterisk | * | * |
| BackQuote | ` | ` |
| BackSlash | \ | \ |
| Colon | : | : |
| CrLf | CR 0x0D, LF 0x0A | ␍, ␊ |
| Ctl | همه نویسههای کنترلی 0x00-0x1F | ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟ |
| Del | DEL 0x7F | ␡ |
| Dollar | $ | $ |
| Dot | . یا .. به عنوان کل رشته | ., .. |
| DoubleQuote | " | " |
| Exclamation | ! | ! |
| Hash | # | # |
| InvalidUtf8 | یک نویسه نامعتبر UTF-8 (مانند latin1) | |
| LeftCrLfHtVt | CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B در سمت چپ رشته | ␍, ␊, ␉, ␋ |
| LeftPeriod | . در سمت چپ رشته | . |
| LeftSpace | SPACE در سمت چپ رشته | ␠ |
| LeftTilde | ~ در سمت چپ رشته | ~ |
| LtGt | <, > | <, > |
| None ¹ | NUL 0x00 | ␀ |
| Percent | % | % |
| Pipe | | | | |
| Question | ? | ؟ |
| RightCrLfHtVt | CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B در سمت راست رشته | ␍, ␊, ␉, ␋ |
| RightPeriod | . در سمت راست رشته | . |
| RightSpace | SPACE در سمت راست رشته | ␠ |
| Semicolon | ; | ; |
| SingleQuote | ' | ' |
| Slash | / | / |
| SquareBracket | [, ] | [, ] |
| ¹ کدگذاری از NUL 0x00 به ␀ همواره بهصورت ضمنی انجام میشود، مگر در هنگام استفاده از Raw. | ||
| پیشتر در مستندات بهاشتباه به عنوان غیرفعالکنندهٔ کدگذاری ثبت شده بود، و برای | ||
| حفظ سازگاری عقبرو، رفتار آن تغییر نکرده است. | ||
| مثال کدگذاری: FTP | ||
| برای ارائه یک مثال مشخص، کدگذاری پیشفرض بکاند FTP بدین صورت است: | ||
| --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot" |
| با این حال، فرض کنید سرور FTP روی Windows اجرا میشود و |
| نمیتواند هیچیک از نویسههای نامعتبر Windows را در نام فایلها داشته باشد. |
| شما در حال پشتیبانگیری از سرورهای Linux روی این سرور FTP هستید که این |
| نویسهها را در نام فایلهای خود دارند. |
| بنابراین باید مجموعهٔ Windows را که عبارت است از: |
| Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot |
| به گزینههای موجود اضافه کنید، که نتیجه به صورت زیر خواهد بود: |
| Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace |
| این مورد را میتوان با استفاده از پرچم --ftp-encoding یا با استفاده |
| از پارامتر encoding در فایل پیکربندی مشخص کرد. |
| مثال کدگذاری: Windows |
| به عنوان مثالی دیگر، یک سیستم Windows را در نظر بگیرید که در آن فایلی با |
| نام Test:1.jpg وجود دارد، که در آن : نماد دونقطهٔ تمامپهنای (fullwidth) یونیکد است. |
| هنگام استفاده از rclone برای کپی کردن این فایل به یک ریموت که از :، |
| دونقطهٔ معمولی (halfwidth) پشتیبانی میکند (مانند Google Drive)، متوجه |
| خواهید شد که نام فایل به Test:1.jpg تغییر مییابد. |
| برای جلوگیری از این امر، میتوانید مجموعه نویسههایی را که rclone باید |
| برای فایلسیستم محلی تبدیل کند، با استفاده از آرگومان خط فرمان |
| --local-encoding تغییر دهید. |
| رفتار پیشفرض rclone در Windows معادل است با: |
| --local-encoding "Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot" |
| اگر میخواهید از نویسههای تمامپهنای :، * و |
| ? در نام فایلهای خود استفاده کنید بدون اینکه rclone هنگام |
| بارگذاری در یک ریموت آنها را تغییر دهد، همان مقدار پیشفرض را مشخص کنید |
| اما بدون Colon,Question,Asterisk: |
| --local-encoding "Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot" |
| همچنین، میتوانید تبدیل هرگونه نویسهای را با | |
| --local-encoding Raw غیرفعال کنید. | |
| به جای استفاده از آرگومان خط فرمان --local-encoding، | |
| میتوانید آن را به عنوان متغیر محیطی | |
| (https://rclone.org/docs/#environment-variables) | |
| RCLONE_LOCAL_ENCODING مقداردهی کنید، یا | |
| یک ریموت از نوع local را در پیکربندی خود | |
| تنظیم (https://rclone.org/docs/#configure) کرده، و گزینهٔ encoding را | |
| در آنجا مشخص نمایید. | |
| خطر انجام این کار در این است که اگر نام فایلی با نویسههای معمولی | |
| (halfwidth) شامل :، * و ? در فضای ابری خود داشته | |
| باشید و تلاش کنید آن را روی فایلسیستم Windows خود دریافت نمایید، این | |
| عملیات با خطا مواجه خواهد شد. | |
| این نویسهها در نام فایلهای ویندوز مجاز نیستند، و شما به rclone | |
| اعلام کردهاید که برای دور زدن این مشکل، آنها را به گونههای مجاز | |
| تمامپهنا (fullwidth) تبدیل نکند..SS نوع MIME (MIME Type) | |
| انواع MIME (که با عنوان media types نیز شناخته میشوند) انواع اسناد را با استفاده از یک ردهبندی متنی ساده دستهبندی میکنند، مانند | |
| text/html یا application/pdf. | |
| برخی سیستمهای ذخیرهسازی ابری از خواندن (R) نوع MIME اشیاء و برخی از نوشتن (W) نوع MIME اشیاء پشتیبانی میکنند. | |
| اگر فایلها را مستقیماً از سیستم ذخیرهسازی از طریق HTTP ارائه میدهید، نوع MIME میتواند حائز اهمیت باشد. | |
| اگر در حال رونوشت از یک remote با پشتیبانی از خواندن (R) به یک remote با پشتیبانی از نوشتن (W) باشید، rclone انواع MIME را حفظ خواهد کرد. | |
| در غیر این صورت، این موارد از روی پسوند فایل حدس زده میشوند، یا ممکن است خود remote نوع MIME را اختصاص دهد. | |
| متادیتا (Metadata) | |
| Backendها ممکن است از خواندن یا نوشتن متادیتا پشتیبانی کنند یا نکنند. | |
| آنها ممکن است از خواندن و نوشتن متادیتای سیستم (متادیتای درونی آن backend) و/یا متادیتای کاربر (متادیتای عمومی) پشتیبانی کنند. | |
| سطوح پشتیبانی از متادیتا عبارتند از: | |
| tab( | ); |
| lw(19.4n) lw(50.6n). | |
| کلید | توضیحات |
| R | فقط خواندن متادیتای سیستم، تنها برای فایلها |
| RW | خواندن و نوشتن متادیتای سیستم، تنها برای فایلها |
| RWU | خواندن و نوشتن متادیتای سیستم و خواندن و نوشتن متادیتای کاربر، تنها برای فایلها |
| DR | فقط خواندن متادیتای سیستم برای فایلها و دایرکتوریها |
| DRW | خواندن و نوشتن متادیتای سیستم برای فایلها و دایرکتوریها |
| DRWU | خواندن و نوشتن متادیتای سیستم و خواندن و نوشتن متادیتای کاربر برای فایلها و دایرکتوریها |
برای اطلاعات بیشتر مستندات متادیتا را در https://rclone.org/docs/#metadata ببینید.
ویژگیهای اختیاری (Optional Features)
تمام remoteهای rclone از یک مجموعه دستورات پایه پشتیبانی میکنند. سایر قابلیتها به ویژگیهای خاص هر backend وابسته هستند.
پاکسازی کامل (Purge)
این قابلیت یک دایرکتوری را سریعتر از حذف تمامی فایلهای درون آن دایرکتوری پاک میکند.
رونوشت (Copy)
هنگام رونوشت برداشتن از یک شیء به همان remote و از همان remote استفاده میشود. این ویژگی به عنوان رونوشت سمت سرور (server-side copy) شناخته میشود تا بتوانید یک فایل را بدون بارگیری و بارگذاری مجدد آن رونوشتبرداری کنید. این قابلیت در صورتی که از rclone copy یا rclone move استفاده کنید و remote مستقیماً از Move پشتیبانی نکند، استفاده میشود.
اگر سرور مستقیماً از Copy پشتیبانی نکند، برای عملیات رونوشت، فایل ابتدا بارگیری شده و سپس مجدداً بارگذاری میشود..SS Move
هنگام انتقال/تغییر نام یک شیء روی همان ریموت استفاده میشود. این عمل به عنوان انتقال سمت سرور (server-side move) یک فایل شناخته میشود. در صورت عدم پشتیبانی سرور از DirMove، این قابلیت در rclone move استفاده میشود.
اگر سرور قادر به انجام Move نباشد، rclone آن را با Copy و سپس حذف شبیهسازی میکند. اگر سرور از Copy نیز پشتیبانی نکند، rclone فایل را دانلود کرده و دوباره آپلود میکند.
DirMove
این قابلیت برای پیادهسازی rclone move جهت انتقال یک دایرکتوری در صورت امکان استفاده میشود. اگر امکانپذیر نباشد، برای هر فایل از Move استفاده میکند (که در صورت لزوم به Copy و سپس دانلود و آپلود تنزل مییابد - بخش Move را ببینید).
CleanUp
برای خالی کردن سطل زباله در یک ریموت توسط rclone cleanup استفاده میشود.
اگر سرور قادر به انجام CleanUp نباشد، rclone cleanup خطایی را برمیگرداند.
‡‡ توجه داشته باشید که اگرچه Box این قابلیت را پیادهسازی کرده است، اما باید تکتک فایلها را جداگانه حذف کند، بنابراین از خالی کردن سطل زباله از طریق رابط وب (WebUI) کندتر خواهد بود.
ListR
ریموت از فهرستبندی بازگشتی برای فهرست کردن سریع تمام محتویات زیر یک دایرکتوری پشتیبانی میکند. این قابلیت امکان عملکرد پرچم --fast-list را فراهم میسازد. برای جزئیات بیشتر مستندات rclone (https://rclone.org/docs/#fast-list) را ببینید.
StreamUpload
برخی ریموتها اجازه میدهند فایلها بدون دانستن قبلی حجم فایل آپلود شوند. این قابلیت اجازه میدهد برخی عملیات بدون ذخیره موقت (spooling) فایل روی دیسک محلی کار کنند، مانند rclone rcat.
MultithreadUpload
برخی ریموتها اجازه میدهند دادههای انتقالی به صورت قطعات موازی به ریموت ارسال شوند. اگر پشتیبانی شود، rclone از کپی چندریسمانی (multi-thread) برای انتقال بسیار سریعتر فایلها استفاده خواهد کرد.
LinkSharing
مجوزهای لازم را روی فایل یا پوشه تنظیم کرده و پیوندی را چاپ میکند که به دیگران اجازه دسترسی به آنها را میدهد، حتی اگر حسابی در آن ارائهدهنده ابری خاص نداشته باشند.
About
دستور about در rclone اطلاعات سهمیه (quota) یک ریموت را چاپ میکند. خروجی معمول شامل بایتهای استفادهشده، آزاد، سهمیه و موارد موجود در سطل زباله است.
اگر ریموتی فاقد قابلیت about باشد، rclone about remote: خطایی برمیگرداند.
پشتبندهای فاقد قابلیت about نمیتوانند فضای آزاد را برای rclone mount تعیین کنند، یا از سیاست mfs (بیشترین فضای خالی) به عنوان عضوی از یک ریموت union در rclone استفاده کنند.
دستور rclone about (https://rclone.org/commands/rclone_about) را ببینید.
EmptyDir
ریموت از دایرکتوریهای خالی پشتیبانی میکند. برای جزئیات به بخش محدودیتها (https://rclone.org/bugs/#limitations) مراجعه کنید. اکثر ریموتهای مبتنی بر شیء/باکت (Object/Bucket) از این قابلیت پشتیبانی نمیکنند.
سطوح (TIERS)
پشتبندهای rclone به سطوحی تقسیم شدهاند تا کاربران دیدی کلی از پایداری هر پشتبند داشته باشند.
| سطح | برچسب | مفهوم مورد نظر |
| Core | مناسب محیط تولید، درجه یک | |
| Stable | با پشتیبانی خوب، کاستیهای جزئی | |
| Supported | مناسب برای بسیاری از کاربردها؛ با هشدارهای شناختهشده | |
| Experimental | با احتیاط استفاده شود؛ انتظار کاستیها/تغییرات وجود دارد | |
| Deprecated | دیگر نگهداری یا پشتیبانی نمیشود | |
| در اینجا خلاصهای از تمام backendها آورده شده است: | ||
| امتیازدهی | ||
| نحوه امتیازدهی به backendها به این صورت است. | ||
| ویژگیها | ||
| اینها ویژگیهای اختیاری مفیدی هستند که یک backend باید تقریباً به ترتیب اهمیت داشته باشد. | ||
| هر یک از این موارد یک امتیاز برای ستون ویژگیها (Features) به همراه دارد. | ||
| • 2 | ||
| F1: هشها (Hash(es)) | ||
| • 2 | ||
| F2: زمان تغییر (Modtime) | ||
| • 2 | ||
| F3: بارگذاری جریانی (Stream upload) | ||
| • 2 | ||
| F4: رونوشت/انتقال (Copy/Move) | ||
| • 2 | ||
| F5: انتقال پوشه (DirMove) | ||
| 0 | ||
| • 2 | ||
| F6: متاداده (Metadata) | ||
| • 2 | ||
| F7: بارگذاری چندبخشی (MultipartUpload) | ||
| سطحبندی | ||
| سطح پس از تعیین این مشخصهها مشخص میشود. | ||
| در سطحبندی مقداری صلاحدید مجاز است، زیرا برخی از این مشخصهها مهمتر از سایرین هستند. | ||
| tab( | ); | |
| lw(5.5n) lw(9.2n) lw(11.1n) lw(13.8n) lw(16.6n) lw(13.8n). | ||
| مشخصه | T1: Core | T2: Stable |
| T3: Supported | ||
| T} | T4: Experimental | T5: Incubator |
| نگهدارندهها | >=2 | >=1 |
| >=1 | ||
| T} | >=0 | >=0 |
| منبع API | رسمی | رسمی |
| هرکدام | ||
| T} | هرکدام | هرکدام |
| ویژگیها (F1-F7) | >=5/7 | >=4/7 |
| >=3/7 | ||
| T} | >=2/7 | N/A |
| آزمونهای یکپارچهسازی | همه سبز | همه سبز |
| تقریباً همه سبز | ||
| T} | برخی ناپایدار (Flaky) | N/A |
| مدیریت خطا | Pacer | Pacer |
| تلاش مجدد | ||
| T} | تلاش مجدد | N/A |
| یکپارچگی داده | هشها، alt، modtime | هشها یا alt |
| هش یا modtime | ||
| T} | Best-effort | N/A |
| معیار عملکرد | بنچمارک در حد 2x S3 | مستندات بنچمارک |
| شواهد تجربی کافیست | ||
| T} | اختیاری | N/A |
| میزان پذیرش | استفاده گسترده | استفاده زیاد |
| کمی استفاده | ||
| T} | N/A | N/A |
| جامعیت مستندات | کامل | کامل |
| پایهای | ||
| T} | حداقل | حداقل |
| امنیت | اصل حداقل دسترسی | محدودههای منطقی |
| احراز هویت Basic | ||
| T} | کار میکند | کار میکند |
| "پرچمهای سراسری (GLOBAL FLAGS)" | ||
| این بخش گزینهها و پرچمهای سراسری را که در تمام دستورهای rclone در دسترس هستند، به تفکیک گروه شرح میدهد. | ||
| "کپی (Copy)" | ||
| پرچمها برای هر عملیاتی که میتواند یک فایل را کپی کند. | ||
| --check-first انجام تمام بررسیها پیش از آغاز انتقالها |
| -c, --checksum بررسی تغییرات با اندازه و چکسام (در صورت وجود، یا بازگشت به بررسی اندازه تنها) |
| --compare-dest stringArray شامل کردن مسیرهای سمت سرور اضافی هنگام مقایسه |
| --copy-dest stringArray متضمن --compare-dest است اما فایلها را نیز از مسیرها به مقصد کپی میکند |
| --cutoff-mode HARD|SOFT|CAUTIOUS حالت توقف انتقالها پس از رسیدن به حد مجاز انتقال: HARD|SOFT|CAUTIOUS (پیشفرض HARD) |
| --ignore-case-sync نادیده گرفتن بزرگی و کوچکی حروف هنگام همگامسازی |
| --ignore-checksum صرفنظر کردن از بررسی چکسام پس از کپی |
| --ignore-existing صرفنظر کردن از تمام فایلهایی که در مقصد وجود دارند |
| --ignore-size نادیده گرفتن اندازه هنگام صرفنظر کردن؛ استفاده از modtime یا چکسام |
| -I, --ignore-times صرفنظر نکردن از مواردی که اندازه و زمان یکسان دارند - انتقال تمام موارد بدون قید و شرط |
| --immutable عدم تغییر فایلها؛ شکست عملیات در صورت تغییر یافتن فایلهای موجود |
| --inplace دانلود مستقیم در فایل مقصد به جای دانلود اتمیک در فایل موقت و تغییر نام آن |
| -l, --links تبدیل پیوندهای نمادین به/از فایلهای عادی با پسوند '.rclonelink' |
| --max-backlog int حداکثر تعداد اشیاء در صف انتظارهای همگامسازی یا بررسی (پیشفرض 10000) |
| --max-duration Duration حداکثر مدت زمانی که rclone دادهها را انتقال میدهد (پیشفرض 0s) |
| --max-transfer SizeSuffix حداکثر حجم داده برای انتقال (پیشفرض غیرفعال) |
| -M, --metadata در صورت تنظیم، حفظ فراداده هنگام کپی اشیاء |
| --modify-window Duration حداکثر اختلاف زمانی برای یکسان در نظر گرفتن فایلها (پیشفرض 1ns) |
| --multi-thread-chunk-size SizeSuffix اندازه تکهها برای دانلودها / آپلودهای چندرشتهای، در صورت عدم تعیین توسط سیستمفایل (پیشفرض 64Mi) |
| --multi-thread-cutoff SizeSuffix استفاده از دانلود چندرشتهای برای فایلهای بزرگتر از این اندازه (پیشفرض 256Mi) |
| --multi-thread-streams int تعداد رشتههای مورد استفاده برای دانلود چندرشتهای (پیشفرض 4) |
| --multi-thread-write-buffer-size SizeSuffix اندازه بافر حافظه برای نوشتن در حالت چندرشتهای (پیشفرض 128Ki) |
| --name-transform stringArray تبدیل مسیرها در طول فرآیند کپی |
| --no-check-dest عدم بررسی مقصد؛ کپی کردن در هر صورت |
| --no-traverse عدم پیمایش سیستمفایل مقصد هنگام کپی |
| --no-update-dir-modtime بهروزرسانی نکردن زمان تغییر دایرکتوریها |
| --no-update-modtime بهروزرسانی نکردن زمان تغییر مقصد در صورت یکسان بودن فایلها |
| --order-by string دستورالعملها برای نحوه اولویتبندی انتقالها، مثلاً 'size,descending' |
| --partial-suffix string افزودن پسوند partial-suffix به نام فایل موقت هنگامی که --inplace استفاده نشده است (پیشفرض ".partial") |
| --refresh-times تازهسازی زمان تغییر (modtime) فایلهای دوردست (ریموت) |
| --server-side-across-configs اجازه به عملیاتهای سمت سرور (مانند کپی) برای کار بین پیکربندیهای مختلف |
| --size-only صرفنظر کردن تنها بر اساس اندازه، نه زمان تغییر یا چکسام |
| --streaming-upload-cutoff SizeSuffix حد آستانه برای جابهجایی به آپلود تکهای در صورت نامشخص بودن اندازه فایل؛ آغاز آپلود پس از رسیدن به این حد یا پایان فایل (پیشفرض 100Ki) |
| -u, --update صرفنظر کردن از فایلهایی که در مقصد جدیدتر هستند |
| "همگامسازی (Sync)" |
| پرچمهای مورد استفاده برای دستورهای همگامسازی (sync). |
| --backup-dir string تهیه نسخه پشتیبان در ساختار سلسلهمراتبی بر پایه DIR |
| --delete-after هنگام همگامسازی، حذف فایلها در مقصد پس از انتقال (پیشفرض) |
| --delete-before هنگام همگامسازی، حذف فایلها در مقصد پیش از آغاز انتقال |
| --delete-during هنگام همگامسازی، حذف فایلها در حین انتقال |
| --fix-case تغییر نام اجباری در مقصدِ غیرحساس به حروف کوچک و بزرگ برای مطابقت با مبدأ |
| --ignore-errors حذف فایلها حتی در صورت وجود خطاهای ورودی/خروجی (I/O) |
| --list-cutoff int مرتبسازی فهرستهای دایرکتوری روی دیسک فراتر از این آستانه جهت صرفهجویی در حافظه (پیشفرض 1000000) |
| --max-delete int هنگام همگامسازی، محدود کردن تعداد موارد حذفی (پیشفرض -1) |
| --max-delete-size SizeSuffix هنگام همگامسازی، محدود کردن مجموع حجم موارد حذفی (پیشفرض غیرفعال) |
| --suffix string پسوند برای افزودن به فایلهای تغییریافته |
| --suffix-keep-extension حفظ پسوند اصلی فایل هنگام استفاده از --suffix |
| --track-renames هنگام همگامسازی، ردگیری تغییر نام فایلها و انجام انتقال سمت سرور در صورت امکان |
| --track-renames-strategy string راهبردهای مورد استفاده هنگام همگامسازی با track-renames: hash|modtime|leaf (پیشفرض "hash") |
| "مهم (Important)" |
| پرچمهای مهم و کاربردی برای اکثر دستورها. |
| -n, --dry-run اجرای آزمایشی بدون اعمال هرگونه تغییر دائمی |
| -i, --interactive فعال کردن حالت تعاملی |
| -v, --verbose count چاپ خروجی با جزئیات بسیار بیشتر (تکرار برای جزئیات بیشتر) |
| "بررسی (Check)" |
| پرچمهای مورد استفاده برای دستورهای بررسی (check). |
| --max-backlog int حداکثر تعداد اشیاء در صف انتظارهای همگامسازی یا بررسی (پیشفرض 10000) |
| پرچمهایی برای امور عمومی شبکه و HTTP. |
| --bind string نشانی محلی برای مقیدسازی (bind) در اتصالات خروجی، IPv4، IPv6 یا نام |
| --bwlimit BwTimetable محدودیت پهنای باند بر حسب KiB/s، یا استفاده از پسوند B|K|M|G|T|P یا یک جدول زمانی کامل |
| --bwlimit-file BwTimetable محدودیت پهنای باند به ازای هر فایل بر حسب KiB/s، یا استفاده از پسوند B|K|M|G|T|P یا یک جدول زمانی کامل |
| --ca-cert stringArray گواهی CA مورد استفاده برای اعتبارسنجی سرورها |
| --client-cert string گواهی SSL کلاینت (PEM) برای احراز هویت دوطرفه TLS |
| --client-key string کلید خصوصی SSL کلاینت (PEM) برای احراز هویت دوطرفه TLS |
| --client-pass string گذرواژه کلید خصوصی SSL کلاینت (PEM) برای احراز هویت دوطرفه TLS (مبهمسازیشده) (مبهمسازیشده) |
| --contimeout Duration مهلت زمانی برقراری اتصال (پیشفرض 1m0s) |
| --disable-http-keep-alives غیرفعالسازی keep-aliveهای HTTP و استفاده یکباره از هر اتصال |
| --disable-http2 غیرفعالسازی HTTP/2 در انتقال سراسری (global transport) |
| --dscp string تنظیم مقدار DSCP برای اتصالات، مقدار یا نام، مانند CS1، LE، DF، AF21 |
| --expect-continue-timeout Duration مهلت زمانی هنگام استفاده از expect / 100-continue در HTTP (پیشفرض 1s) |
| --header stringArray تنظیم سرایند HTTP برای تمام تراکنشها |
| --header-download stringArray تنظیم سرایند HTTP برای تراکنشهای بارگیری |
| --header-upload stringArray تنظیم سرایند HTTP برای تراکنشهای بارگذاری |
| --http-proxy string نشانی URL پیشکار HTTP |
| --max-connections int حداکثر تعداد اتصالات همزمان به API پشتیبان، 0 برای نامحدود |
| --no-check-certificate اعتبارسنجی نکردن گواهی SSL سرور (ناامن) |
| --no-gzip-encoding تنظیم نکردن Accept-Encoding: gzip |
| --timeout Duration مهلت زمانی بیکاری ورودی/خروجی (پیشفرض 5m0s) |
| --tpslimit float محدود کردن تراکنشهای HTTP بر ثانیه به این مقدار |
| --tpslimit-burst int حداکثر جهش ناگهانی تراکنشها برای --tpslimit (پیشفرض 1) |
| --use-cookies فعالسازی حافظه کوکی (cookiejar) نشست |
| --user-agent string تنظیم user-agent روی یک رشته مشخص (پیشفرض "rclone/v1.75.1") |
| "کارایی (Performance)" |
| پرچمهای مفید برای افزایش کارایی. |
| --buffer-size SizeSuffix اندازه بافر درون حافظه هنگام خواندن فایلها برای هر --transfer (پیشفرض 16Mi) |
| --checkers int تعداد بررسیکنندههای همزمان برای اجرا (پیشفرض 8) |
| --transfers int تعداد انتقالهای همزمان فایل (پیشفرض 4) |
| "پیکربندی (Config)" |
| پرچمهایی برای پیکربندی عمومی rclone. |
| --ask-password مجاز بودن درخواست گذرواژه برای پیکربندی رمزگذاریشده (پیشفرض true) |
| --auto-confirm در صورت فعال بودن، تأییدیه کنسول درخواست نشود |
| --cache-dir string پوشهای که rclone برای حافظه موقت (کش) استفاده میکند (پیشفرض "$HOME/.cache/rclone") |
| --color AUTO|NEVER|ALWAYS زمان نمایش رنگها (و سایر کدهای ANSI) AUTO|NEVER|ALWAYS (پیشفرض AUTO) |
| --config string فایل پیکربندی (پیشفرض "$HOME/.config/rclone/rclone.conf") |
| --default-time Time زمانی که در صورت نامشخص بودن modtime برای فایلها و پوشهها نمایش داده میشود (پیشفرض 2000-01-01T00:00:00Z) |
| --disable string غیرفعالسازی فهرستی از ویژگیها که با کاما جدا شدهاند (برای دیدن فهرست از --disable help استفاده کنید) |
| -n, --dry-run اجرای آزمایشی بدون اعمال تغییرات دائمی |
| --error-on-no-transfer تنظیم وضعیت خروج 9 در صورتی که هیچ فایلی منتقل نشود، مفید در اسکریپتها |
| --fs-cache-expire-duration Duration نگهداری ریموتها در حافظه موقت برای این مدت (0 برای غیرفعالسازی کش) (پیشفرض 5m0s) |
| --fs-cache-expire-interval Duration بازه زمانی برای بررسی ریموتهای منقضیشده (پیشفرض 1m0s) |
| --human-readable چاپ اعداد در قالبی خوانا برای انسان، اندازهها با پسوند Ki|Mi|Gi|Ti|Pi |
| -i, --interactive فعالسازی حالت تعاملی |
| --kv-lock-time Duration حداکثر زمان برای قفل نگهداشتن پایگاهداده کلید-مقدار توسط فرایند (پیشفرض 1s) |
| --low-level-retries int تعداد دفعات تلاش مجدد سطح پایین (پیشفرض 10) |
| --max-buffer-memory SizeSuffix در صورت تنظیم، بیش از این مقدار حافظه به عنوان بافر تخصیص داده نشود (پیشفرض off) |
| --no-console پنهان کردن پنجره کنسول (تنها در ویندوز پشتیبانی میشود) |
| --no-unicode-normalization عدم نرمالسازی نویسههای یونیکد در نام فایلها |
| --password-command SpaceSepList دستور برای ارائه گذرواژه پیکربندی رمزگذاریشده |
| --retries int تلاش دوباره عملیات در صورت شکست به این تعداد دفعات (پیشفرض 3) |
| --retries-sleep Duration بازه زمانی میان تلاشهای دوباره در صورت شکست عملیات، مانند 500ms، 60s، 5m (0 برای غیرفعالسازی) (پیشفرض 0s) |
| --temp-dir string پوشهای که rclone برای فایلهای موقت استفاده خواهد کرد (پیشفرض "/tmp") |
| --use-mmap استفاده از تخصیصدهنده mmap (مستندات را ببینید) |
| --use-server-modtime استفاده از زمان ویرایش سرور به جای فراداده شیء |
| "اشکالزدایی (Debugging)" |
| پرچمهایی برای توسعهدهندگان. |
| --cpuprofile string نوشتن نمایه CPU در فایل |
| --dump DumpFlags فهرستی از موارد برای تخلیه (dump) از: headers, bodies, requests, responses, auth, filters, goroutines, openfiles, mapper, curl, errors, trace |
| --dump-bodies تخلیه سرایندها و بدنه HTTP - ممکن است شامل اطلاعات حساس باشد |
| --dump-headers تخلیه سرایندهای HTTP - ممکن است شامل اطلاعات حساس باشد |
| --memprofile string نوشتن نمایه حافظه در فایل |
| پرچمهایی برای فیلتر کردن فهرستهای دایرکتوری. |
| --delete-excluded حذف فایلهای موجود در مقصد که از همگامسازی مستثنی شدهاند |
| --exclude stringArray مستثنی کردن فایلهای منطبق با الگو |
| --exclude-from stringArray خواندن الگوهای استثنای فایل از فایل (استفاده از - برای خواندن از stdin) |
| --exclude-if-present stringArray مستثنی کردن دایرکتوریها در صورت وجود نام فایل |
| --files-from stringArray خواندن فهرست نامهای فایل مبدأ از فایل (استفاده از - برای خواندن از stdin) |
| --files-from-raw stringArray خواندن فهرست نامهای فایل مبدأ از فایل بدون هیچ پردازشی روی خطوط (استفاده از - برای خواندن از stdin) |
| --files-from0 stringArray خواندن فهرست نامهای فایل مبدأ از فایل با استفاده از NUL بهعنوان جداکننده (استفاده از - برای خواندن از stdin) |
| -f, --filter stringArray افزودن یک قانون فیلتر کردن فایل |
| --filter-from stringArray خواندن الگوهای فیلتر کردن فایل از یک فایل (استفاده از - برای خواندن از stdin) |
| --hash-filter string پارتیشنبندی نام فایلها با هش k/n یا بهصورت تصادفی @/n |
| --ignore-case نادیده گرفتن بزرگی و کوچکی حروف در فیلترها (غیرحساس به حروف بزرگ و کوچک) |
| --include stringArray شامل کردن فایلهای منطبق با الگو |
| --include-from stringArray خواندن الگوهای شمول فایل از فایل (استفاده از - برای خواندن از stdin) |
| --max-age Duration فقط انتقال فایلهای جدیدتر از این مقدار برحسب ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) |
| --max-depth int در صورت تنظیم، عمق بازگشت را به این مقدار محدود میکند (پیشفرض -1) |
| --max-size SizeSuffix فقط انتقال فایلهای کوچکتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال) |
| --metadata-exclude stringArray مستثنی کردن فرادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (استفاده از - برای خواندن از stdin) |
| --metadata-filter stringArray افزودن یک قانون فیلتر کردن فراداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن فراداده از یک فایل (استفاده از - برای خواندن از stdin) |
| --metadata-include stringArray شامل کردن فرادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول فراداده از فایل (استفاده از - برای خواندن از stdin) |
| --min-age Duration فقط انتقال فایلهای قدیمیتر از این مقدار برحسب ثانیه یا با پسوند ms|s|m|h|d|w|M|y (پیشفرض غیرفعال) |
| --min-size SizeSuffix فقط انتقال فایلهای بزرگتر از این مقدار برحسب KiB یا با پسوند B|K|M|G|T|P (پیشفرض غیرفعال) |
| فهرستکردن (Listing) |
| پرچمهایی برای فهرست کردن دایرکتوریها. |
| --default-time Time زمان نمایش در صورت نامشخص بودن modtime برای فایلها و دایرکتوریها (پیشفرض 2000-01-01T00:00:00Z) |
| --fast-list استفاده از فهرستکردن بازگشتی در صورت موجود بودن؛ مصرف حافظه بیشتر ولی تراکنشهای کمتر |
| گزارشگیری (Logging) |
| پرچمهایی برای ثبت گزارش و آمارها. |
| --log-file string ثبت همه موارد در این فایل |
| --log-file-compress در صورت تنظیم، فشردهسازی فایلهای گزارش چرخشیافته با gzip |
| --log-file-max-age Duration حداکثر زمان نگهداری فایلهای گزارش قدیمی (مانند "7d") (پیشفرض 0s) |
| --log-file-max-backups int حداکثر تعداد فایلهای گزارش قدیمی برای نگهداری |
| --log-file-max-size SizeSuffix حداکثر اندازه فایل گزارش پیش از چرخش آن (مانند "10M") (پیشفرض غیرفعال) |
| --log-format Bits فهرست جداشده با کاما از گزینههای قالب گزارش (پیشفرض date,time) |
| --log-level LogLevel سطح گزارش DEBUG|INFO|NOTICE|ERROR (پیشفرض NOTICE) |
| --log-systemd فعالسازی یکپارچگی با systemd برای ثبتکننده وقایع |
| --max-stats-groups int حداکثر تعداد گروههای آماری برای نگهداری در حافظه؛ در حداکثر، قدیمیترین دور ریخته میشود (پیشفرض 1000) |
| -P, --progress نمایش پیشرفت در حین انتقال |
| --progress-terminal-title نمایش پیشرفت در عنوان ترمینال (نیازمند -P/--progress) |
| -q, --quiet چاپ کمترین اطلاعات ممکن |
| --stats Duration بازه زمانی میان چاپ آمارها، مثلاً 500ms، 60s، 5m (0 برای غیرفعالسازی) (پیشفرض 1m0s) |
| --stats-file-name-length int حداکثر طول نام فایل در آمارها (0 برای بدون محدودیت) (پیشفرض 45) |
| --stats-log-level LogLevel سطح گزارش برای نمایش خروجی --stats شامل DEBUG|INFO|NOTICE|ERROR (پیشفرض INFO) |
| --stats-one-line جا دادن آمارها در یک خط |
| --stats-one-line-date فعالسازی --stats-one-line و افزودن پیشوند تاریخ/زمان کنونی |
| --stats-one-line-date-format string فعالسازی --stats-one-line-date و استفاده از تاریخ با قالب سفارشی: رشته تاریخ را در علامت نقلقول (") قرار دهید، ببینید https://golang.org/pkg/time/#Time.Format |
| --stats-unit string نمایش نرخ داده در آمارها بهصورت 'bits' یا 'bytes' در ثانیه (پیشفرض "bytes") |
| --syslog استفاده از Syslog برای ثبت گزارش |
| --syslog-facility string بخش (Facility) برای syslog، مثلاً KERN,USER (پیشفرض "DAEMON") |
| --use-json-log استفاده از قالب گزارش json |
| -v, --verbose count چاپ اطلاعات بسیار بیشتر (تکرار برای جزئیات بیشتر) |
| فراداده (Metadata) |
| پرچمهایی برای کنترل فراداده. |
| -M, --metadata در صورت تنظیم، حفظ فراداده هنگام کپی کردن اشیاء |
| --metadata-exclude stringArray مستثنی کردن فرادادههای منطبق با الگو |
| --metadata-exclude-from stringArray خواندن الگوهای استثنای فراداده از فایل (استفاده از - برای خواندن از stdin) |
| --metadata-filter stringArray افزودن یک قانون فیلتر کردن فراداده |
| --metadata-filter-from stringArray خواندن الگوهای فیلتر کردن فراداده از یک فایل (استفاده از - برای خواندن از stdin) |
| --metadata-include stringArray شامل کردن فرادادههای منطبق با الگو |
| --metadata-include-from stringArray خواندن الگوهای شمول فراداده از فایل (استفاده از - برای خواندن از stdin) |
| --metadata-mapper SpaceSepList برنامهای برای اجرا جهت تبدیل فراداده قبل از بارگذاری |
| --metadata-set stringArray افزودن فراداده key=value هنگام بارگذاری |
| پرچمهایی برای کنترل API کنترل از راه دور (Remote Control). |
| --rc فعالسازی سرور کنترل از راه دور |
| --rc-addr stringArray آدرس IPaddress:Port یا :Port برای مقید کردن (bind) سرور به آن (پیشفرض localhost:5572) |
| --rc-allow-origin string مبدأیی که درخواستهای بیندامنه (CORS) میتوانند از آن اجرا شوند |
| --rc-baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید |
| --rc-cert string کلید PEM مربوط به TLS (الحاق گواهی و گواهی CA) |
| --rc-client-ca string مرجع صدور گواهی (CA) کلاینت برای اعتبارسنجی کلاینتها |
| --rc-enable-metrics فعالسازی مسیر معیارهای Prometheus در سرور کنترل از راه دور |
| --rc-files string مسیر فایلهای محلی برای ارائه روی سرور HTTP |
| --rc-htpasswd string یک فایل htpasswd - در صورت عدم ارائه هیچ احراز هویتی انجام نمیشود |
| --rc-job-expire-duration Duration منقضی کردن کارهای ناهمگام (async) پایانیافته قدیمیتر از این مقدار (پیشفرض 1m0s) |
| --rc-job-expire-interval Duration بازه زمانی بررسی کارهای ناهمگام (async) منقضیشده (پیشفرض 10s) |
| --rc-key string کلید خصوصی PEM مربوط به TLS |
| --rc-max-header-bytes int حداکثر اندازه هدر درخواست (پیشفرض 4096) |
| --rc-min-tls-version string حداقل نسخه TLS قابل قبول (پیشفرض "tls1.0") |
| --rc-no-auth عدم الزام به احراز هویت برای روشهای خاص |
| --rc-pass string گذرواژه برای احراز هویت |
| --rc-realm string قلمرو (Realm) برای احراز هویت |
| --rc-response-header stringArray تنظیم هدر HTTP برای همه پاسخها، بازنویسی مقادیر موجود |
| --rc-salt string سالت (salt) برای هش کردن گذرواژه (پیشفرض "dlPL2MqE") |
| --rc-serve فعالسازی ارائه شیءهای راه دور |
| --rc-serve-no-modtime زمان تغییر را نخوان (میتواند سرعت را افزایش دهد) |
| --rc-server-read-timeout Duration مهلت زمانی سرور برای خواندن دادهها (پیشفرض 1h0m0s) |
| --rc-server-write-timeout Duration مهلت زمانی سرور برای نوشتن دادهها (پیشفرض 1h0m0s) |
| --rc-template string قالب مشخصشده توسط کاربر |
| --rc-user string نام کاربری برای احراز هویت |
| --rc-user-from-header string نام کاربری از یک هدر HTTP تعریفشده |
| --rc-web-fetch-url string نشانی URL برای دریافت نسخههای webgui (پیشفرض "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest") |
| --rc-web-gui راهاندازی WebGUI روی localhost |
| --rc-web-gui-force-update اجبار به بهروزرسانی به آخرین نسخه web gui |
| --rc-web-gui-no-open-browser مرورگر را به طور خودکار باز نکن |
| --rc-web-gui-update بررسی و بهروزرسانی به آخرین نسخه web gui |
| "معیارها (Metrics)" |
| پرچمهایی برای کنترل نقطه پایانی (endpoint) HTTP معیارها.. |
| --metrics-addr stringArray آدرس IPaddress:Port یا :Port برای مقید کردن (bind) سرور به آن |
| --metrics-allow-origin string مبدأیی که درخواستهای بیندامنه (CORS) میتوانند از آن اجرا شوند |
| --metrics-baseurl string پیشوند برای URLها - برای ریشه خالی بگذارید |
| --metrics-cert string کلید PEM مربوط به TLS (الحاق گواهی و گواهی CA) |
| --metrics-client-ca string مرجع صدور گواهی (CA) کلاینت برای اعتبارسنجی کلاینتها |
| --metrics-htpasswd string یک فایل htpasswd - در صورت عدم ارائه هیچ احراز هویتی انجام نمیشود |
| --metrics-key string کلید خصوصی PEM مربوط به TLS |
| --metrics-max-header-bytes int حداکثر اندازه هدر درخواست (پیشفرض 4096) |
| --metrics-min-tls-version string حداقل نسخه TLS قابل قبول (پیشفرض "tls1.0") |
| --metrics-pass string گذرواژه برای احراز هویت |
| --metrics-realm string قلمرو (Realm) برای احراز هویت |
| --metrics-response-header stringArray تنظیم هدر HTTP برای همه پاسخها، بازنویسی مقادیر موجود |
| --metrics-salt string سالت (salt) برای هش کردن گذرواژه (پیشفرض "dlPL2MqE") |
| --metrics-server-read-timeout Duration مهلت زمانی سرور برای خواندن دادهها (پیشفرض 1h0m0s) |
| --metrics-server-write-timeout Duration مهلت زمانی سرور برای نوشتن دادهها (پیشفرض 1h0m0s) |
| --metrics-template string قالب مشخصشده توسط کاربر |
| --metrics-user string نام کاربری برای احراز هویت |
| --metrics-user-from-header string نام کاربری از یک هدر HTTP تعریفشده |
| --rc-enable-metrics فعالسازی مسیر معیارهای Prometheus در سرور کنترل از راه دور |
| "بکاند (Backend)" |
| پرچمهای فقط-بکاند (اینها میتوانند در فایل پیکربندی نیز تنظیم شوند). |
| --alias-description string شرح ریموت (remote) |
| --alias-remote string ریموت یا مسیری که باید نام مستعار (alias) شود |
| --archive-description string شرح ریموت (remote) |
| --archive-remote string ریموت پوششدادهشده برای خواندن آرشیوها از آن |
| --azureblob-access-tier string لایه دسترسی (access tier) برای blob: hot، cool، cold یا archive |
| --azureblob-account string نام حساب ذخیرهسازی Azure |
| --azureblob-archive-tier-delete حذف blobهای لایه archive پیش از رونویسی |
| --azureblob-chunk-size SizeSuffix اندازه تکه بارگذاری (پیشفرض 4Mi) |
| --azureblob-client-certificate-password string گذرواژه فایل گواهی (اختیاری) (مبهمسازیشده) |
| --azureblob-client-certificate-path string مسیر فایل گواهی PEM یا PKCS12 حاوی کلید خصوصی |
| --azureblob-client-id string شناسه کلاینت مورد استفاده |
| --azureblob-client-secret string یکی از رمزهای کلاینت (client secret) مربوط به service principal |
| --azureblob-client-send-certificate-chain ارسال زنجیره گواهی هنگام استفاده از احراز هویت با گواهی |
| --azureblob-connection-string string رشته اتصال ذخیرهسازی (Connection String) |
| --azureblob-copy-concurrency int همروندی برای کپی چندبخشی (پیشفرض 512) |
| --azureblob-copy-cutoff SizeSuffix آستانه سوئیچ به کپی چندبخشی (پیشفرض 8Mi) |
| --azureblob-copy-total-concurrency int محدودیت همروندی سراسری برای تکههای کپی چندبخشی |
| --azureblob-decompress در صورت تنظیم، شیءهای کدگذاریشده با gzip را از حالت فشرده خارج میکند |
| --azureblob-delete-snapshots string تعیین نحوه برخورد با اسنپشاتها هنگام حذف blob |
| --azureblob-description string شرح ریموت (remote) |
| --azureblob-directory-markers بارگذاری یک شیء خالی با اسلش در انتها هنگام ایجاد دایرکتوری جدید |
| --azureblob-disable-checksum چکسام MD5 را با متاداده شیء ذخیره نکن |
| --azureblob-disable-instance-discovery صرفنظر از درخواست متاداده نمونه Microsoft Entra |
| --azureblob-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8) |
| --azureblob-endpoint string نقطه پایانی (endpoint) برای سرویس |
| --azureblob-env-auth خواندن اطلاعات احراز هویت از زمان اجرا (متغیرهای محیطی، CLI یا MSI) |
| --azureblob-key string کلید مشترک (Shared Key) حساب ذخیرهسازی |
| --azureblob-list-chunk int اندازه فهرست blob (پیشفرض 5000) |
| --azureblob-msi-client-id string شناسه شیء (Object ID) مربوط به MSI انتسابیافته به کاربر، در صورت وجود |
| --azureblob-msi-mi-res-id string شناسه منبع Azure مربوط به MSI انتسابیافته به کاربر، در صورت وجود |
| --azureblob-msi-object-id string شناسه شیء (Object ID) مربوط به MSI انتسابیافته به کاربر، در صورت وجود |
| --azureblob-no-check-container در صورت تنظیم، برای بررسی وجود کانتینر یا ایجاد آن تلاشی نکن |
| --azureblob-no-head-object در صورت تنظیم، هنگام دریافت شیءها قبل از GET درخواست HEAD نفرست |
| --azureblob-password string گذرواژه کاربر (مبهمسازیشده) |
| --azureblob-public-access string سطح دسترسی عمومی یک کانتینر: blob یا container |
| --azureblob-sas-url string نشانی SAS URL تنها برای دسترسی در سطح کانتینر |
| --azureblob-service-principal-file string مسیر فایل حاوی اعتبارنامهها برای استفاده با یک service principal |
| --azureblob-tenant string شناسه مستأجر (tenant) مربوط به service principal، که شناسه دایرکتوری نیز نامیده میشود |
| --azureblob-upload-concurrency int همروندی برای بارگذاریهای چندبخشی (پیشفرض 16) |
| --azureblob-upload-cutoff string آستانه سوئیچ به بارگذاری تکهای (<= 256 MiB) (منسوخشده) |
| --azureblob-use-az استفاده از ابزار az در Azure CLI برای احراز هویت |
| --azureblob-use-copy-blob استفاده از Copy Blob API هنگام کپی در همان حساب ذخیرهسازی (پیشفرض true) |
| --azureblob-use-emulator استفاده از شبیهساز ذخیرهسازی محلی اگر مقدار 'true' داده شود |
| --azureblob-use-msi استفاده از هویت مدیریتشده سرویس (MSI) برای احراز هویت (فقط در Azure کار میکند) |
| --azureblob-username string نام کاربری (معمولاً یک آدرس ایمیل) |
| --azurefiles-account string نام حساب ذخیرهسازی Azure |
| --azurefiles-chunk-size SizeSuffix اندازه تکه بارگذاری (پیشفرض 4Mi) |
| --azurefiles-client-certificate-password string گذرواژه فایل گواهی (اختیاری) (مبهمسازیشده) |
| --azurefiles-client-certificate-path string مسیر فایل گواهی PEM یا PKCS12 حاوی کلید خصوصی |
| --azurefiles-client-id string شناسه کلاینت مورد استفاده |
| --azurefiles-client-secret string یکی از رمزهای کلاینت (client secret) مربوط به service principal |
| --azurefiles-client-send-certificate-chain ارسال زنجیره گواهی هنگام استفاده از احراز هویت با گواهی |
| --azurefiles-connection-string string رشته اتصال ذخیرهسازی (Connection String) |
| --azurefiles-description string شرح ریموت (remote) |
| --azurefiles-disable-instance-discovery صرفنظر از درخواست متاداده نمونه Microsoft Entra |
| --azurefiles-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8,Dot) |
| --azurefiles-endpoint string نقطه پایانی (endpoint) برای سرویس |
| --azurefiles-env-auth خواندن اطلاعات احراز هویت از زمان اجرا (متغیرهای محیطی، CLI یا MSI) |
| --azurefiles-key string کلید مشترک (Shared Key) حساب ذخیرهسازی |
| --azurefiles-max-stream-size SizeSuffix حداکثر اندازه برای فایلهای جریانی (streamed) (پیشفرض 10Gi) |
| --azurefiles-msi-client-id string شناسه شیء (Object ID) مربوط به MSI انتسابیافته به کاربر، در صورت وجود |
| --azurefiles-msi-mi-res-id string شناسه منبع Azure مربوط به MSI انتسابیافته به کاربر، در صورت وجود |
| --azurefiles-msi-object-id string شناسه شیء (Object ID) مربوط به MSI انتسابیافته به کاربر، در صورت وجود |
| --azurefiles-password string گذرواژه کاربر (مبهمسازیشده) |
| --azurefiles-sas-url string نشانی SAS URL تنها برای دسترسی در سطح کانتینر |
| --azurefiles-service-principal-file string مسیر فایل حاوی اعتبارنامهها برای استفاده با یک service principal |
| --azurefiles-share-name string نام اشتراک Azure Files |
| --azurefiles-tenant string شناسه مستأجر (tenant) مربوط به service principal، که شناسه دایرکتوری نیز نامیده میشود |
| --azurefiles-upload-concurrency int همروندی برای بارگذاریهای چندبخشی (پیشفرض 16) |
| --azurefiles-use-az استفاده از ابزار az در Azure CLI برای احراز هویت |
| --azurefiles-use-emulator استفاده از شبیهساز ذخیرهسازی محلی اگر مقدار 'true' داده شود |
| --azurefiles-use-msi استفاده از هویت مدیریتشده سرویس (MSI) برای احراز هویت (فقط در Azure کار میکند) |
| --azurefiles-username string نام کاربری (معمولاً یک آدرس ایمیل) |
| --b2-account string شناسه حساب یا شناسه Application Key |
| --b2-chunk-size SizeSuffix اندازه تکه بارگذاری (پیشفرض 96Mi) |
| --b2-copy-cutoff SizeSuffix آستانه سوئیچ به کپی چندبخشی (پیشفرض 4Gi) |
| --b2-description string شرح ریموت (remote) |
| --b2-disable-checksum غیرفعال کردن چکسام برای فایلهای بزرگ (> آستانه بارگذاری) |
| --b2-download-auth-duration Duration زمان پیش از انقضای توکن مجوز پیوند عمومی بر حسب ثانیه یا با پسوند ms|s|m|h|d (پیشفرض 1w) |
| --b2-download-url string نقطه پایانی سفارشی برای بارگیریها |
| --b2-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --b2-endpoint string نقطه پایانی (endpoint) برای سرویس |
| --b2-hard-delete حذف دائمی فایلها هنگام حذف از ریموت، در غیر این صورت پنهان کردن آنها |
| --b2-key string کلید برنامه (Application Key) |
| --b2-lifecycle int تنظیم تعداد روزهایی که فایلهای حذفشده باید پس از ایجاد باکت نگهداری شوند |
| --b2-sse-customer-algorithm string در صورت استفاده از SSE-C، الگوریتم رمزگذاری سمت سرور مورد استفاده هنگام ذخیره این شیء در B2 |
| --b2-sse-customer-key string برای استفاده از SSE-C، میتوانید کلید رمزگذاری محرمانه را به صورت رشته سازگار با UTF-8 برای رمزگذاری/رمزگشایی دادهها ارائه دهید |
| --b2-sse-customer-key-base64 string برای استفاده از SSE-C، میتوانید کلید رمزگذاری محرمانه را در قالب Base64 برای رمزگذاری/رمزگشایی دادهها ارائه دهید |
| --b2-sse-customer-key-md5 string در صورت استفاده از SSE-C میتوانید چکسام MD5 کلید رمزگذاری محرمانه را ارائه دهید (اختیاری) |
| --b2-test-mode string یک رشته پرچم برای هدر X-Bz-Test-Mode جهت اشکالزدایی |
| --b2-upload-concurrency int همروندی برای بارگذاریهای چندبخشی (پیشفرض 4) |
| --b2-upload-cutoff SizeSuffix آستانه سوئیچ به بارگذاری تکهای (پیشفرض 200Mi) |
| --b2-version-at Time نمایش نسخههای فایل همانطور که در زمان مشخصشده بودند (پیشفرض غیرفعال) |
| --b2-versions گنجاندن نسخههای قدیمی در فهرستهای دایرکتوری |
| --box-access-token string توکن دسترسی اصلی برنامه Box |
| --box-auth-url string نشانی URL سرور احراز هویت |
| --box-box-config-file string مکان فایل config.json برنامه Box |
| --box-box-sub-type string (پیشفرض "user") |
| --box-client-credentials استفاده از جریان OAuth اطلاعات کاربری کلاینت (client credentials) |
| --box-client-id string شناسه کلاینت OAuth |
| --box-client-secret string رمز کلاینت OAuth |
| --box-commit-retries int حداکثر تعداد تلاش برای نهاییسازی (commit) فایل چندبخشی (پیشفرض 100) |
| --box-description string شرح ریموت (remote) |
| --box-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot) |
| --box-impersonate string جعل هویت این شناسه کاربر هنگام استفاده از حساب سرویس |
| --box-list-chunk int اندازه تکه فهرستبندی بین 1 تا 1000 (پیشفرض 1000) |
| --box-owned-by string فقط نمایش مواردی که متعلق به لاگین (آدرس ایمیل) ارائهشده هستند |
| --box-root-folder-id string برای اینکه rclone از یک پوشه غیرریشه به عنوان نقطه شروع استفاده کند پر کنید |
| --box-token string توکن دسترسی OAuth به صورت یک شیء JSON |
| --box-token-url string نشانی URL سرور توکن |
| --box-upload-cutoff SizeSuffix آستانه سوئیچ به بارگذاری چندبخشی (>= 50 MiB) (پیشفرض 50Mi) |
| --cache-chunk-clean-interval Duration هر چند وقت یکبار کش باید پاکسازی حافظه تکهها را انجام دهد (پیشفرض 1m0s) |
| --cache-chunk-no-memory غیرفعال کردن کش درونحافظهای برای ذخیره تکهها هنگام جریان داده (streaming) |
| --cache-chunk-path string دایرکتوری کش کردن فایلهای تکه (پیشفرض "$HOME/.cache/rclone/cache-backend") |
| --cache-chunk-size SizeSuffix اندازه یک تکه (دادههای بخشی فایل) (پیشفرض 5Mi) |
| --cache-chunk-total-size SizeSuffix کل فضایی که تکهها میتوانند روی دیسک محلی اشغال کنند (پیشفرض 10Gi) |
| --cache-db-path string دایرکتوری ذخیره پایگاه داده متاداده ساختار فایل (پیشفرض "$HOME/.cache/rclone/cache-backend") |
| --cache-db-purge پاک کردن تمام دادههای کششده برای این ریموت هنگام شروع |
| --cache-db-wait-time Duration مدت زمان انتظار برای در دسترس قرار گرفتن پایگاه داده - 0 نامحدود است (پیشفرض 1s) |
| --cache-description string شرح ریموت (remote) |
| --cache-info-age Duration مدت زمان کش کردن اطلاعات ساختار فایل (فهرست دایرکتوری، اندازه فایل، زمانها و غیره) (پیشفرض 6h0m0s) |
| --cache-plex-insecure string صرفنظر از تمام اعتبارسنجیهای گواهی هنگام اتصال به سرور Plex |
| --cache-plex-password string گذرواژه کاربر Plex (مبهمسازیشده) |
| --cache-plex-url string نشانی URL سرور Plex |
| --cache-plex-username string نام کاربری کاربر Plex |
| --cache-read-retries int تعداد دفعات تلاش مجدد برای خواندن از حافظه کش (پیشفرض 10) |
| --cache-remote string ریموت برای کش کردن |
| --cache-rps int محدود کردن تعداد درخواستها در ثانیه به فایلسیستم منبع (-1 برای غیرفعال کردن) (پیشفرض -1) |
| --cache-tmp-upload-path string دایرکتوری نگهداری فایلهای موقت تا زمانی که بارگذاری شوند |
| --cache-tmp-wait-time Duration چه مدت فایلها باید قبل از بارگذاری در کش محلی ذخیره شوند (پیشفرض 15s) |
| --cache-workers int تعداد پردازندههای موازی (workers) برای بارگیری تکهها (پیشفرض 4) |
| --cache-writes کش کردن دادههای فایل در عملیات نوشتن از طریق فایلسیستم |
| --chunker-chunk-size SizeSuffix فایلهای بزرگتر از اندازه تکه، به تکهها تقسیم خواهند شد (پیشفرض 2Gi) |
| --chunker-description string شرح ریموت (remote) |
| --chunker-fail-hard انتخاب نحوه مدیریت فایلهایی با تکههای ناموجود یا نامعتبر توسط chunker |
| --chunker-hash-type string انتخاب نحوه مدیریت مجموع هش توسط chunker (پیشفرض "md5") |
| --chunker-remote string ریموت برای تکهتکه کردن یا ادغام تکهها |
| --cloudinary-adjust-media-files-extensions Cloudinary قالبهای چندرسانهای را به عنوان یک صفت فایل در نظر میگیرد و آن را از نام حذف میکند، برخلاف اغلب فایلسیستمهای دیگر (پیشفرض true) |
| --cloudinary-api-key string کلید API سرویس Cloudinary |
| --cloudinary-api-secret string رمز API سرویس Cloudinary |
| --cloudinary-cloud-name string نام محیط (Environment Name) در Cloudinary |
| --cloudinary-description string شرح ریموت (remote) |
| --cloudinary-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot) |
| --cloudinary-eventually-consistent-delay Duration انتظار به مدت N ثانیه برای یکپارچگی نهایی (eventual consistency) پایگاههای داده پشتیبان عملیات بکاند (پیشفرض 0s) |
| --cloudinary-media-extensions stringArray پسوندهای رسانهای پشتیبانیشده توسط Cloudinary (پیشفرض 3ds,3g2,3gp,ai,arw,avi,avif,bmp,bw,cr2,cr3,djvu,dng,eps3,fbx,flif,flv,gif,glb,gltf,hdp,heic,heif,ico,indd,jp2,jpe,jpeg,jpg,jxl,jxr,m2ts,mov,mp4,mpeg,mts,mxf,obj,ogv,pdf,ply,png,psd,svg,tga,tif,tiff,ts,u3ma,usdz,wdp,webm,webp,wmv) |
| --cloudinary-upload-prefix string مشخص کردن نقطه پایانی API برای محیطهای خارج از ایالات متحده |
| --cloudinary-upload-preset string پیشتنظیم بارگذاری برای انتخاب نحوه دستکاری دارایی (asset) هنگام بارگذاری |
| --combine-description string شرح ریموت (remote) |
| --combine-upstreams SpaceSepList بالادستها (upstreams) برای ترکیب |
| --compress-description string شرح ریموت (remote) |
| --compress-level string GZIP (سطوح -2 تا 9): |
| --compress-mode string حالت فشردهسازی (پیشفرض "gzip") |
| --compress-ram-cache-limit SizeSuffix برخی ریموتها اجازه بارگذاری فایلهایی با اندازه نامشخص را نمیدهند (پیشفرض 20Mi) |
| --compress-remote string ریموت برای فشردهسازی |
| -L, --copy-links دنبال کردن پیوندهای نمادین (symlinks) و کپی کردن موردی که به آن اشاره شده است |
| --crypt-description string شرح ریموت (remote) |
| --crypt-directory-name-encryption گزینه رمزگذاری نام دایرکتوریها یا دستنخورده باقی گذاشتن آنها (پیشفرض true) |
| --crypt-filename-encoding string نحوه کدگذاری نام فایل رمزگذاریشده به رشته متنی (پیشفرض "base32") |
| --crypt-filename-encryption string نحوه رمزگذاری نام فایلها (پیشفرض "standard") |
| --crypt-no-data-encryption گزینه رمزگذاری دادههای فایل یا رها کردن آنها بدون رمزگذاری |
| --crypt-pass-bad-blocks در صورت تنظیم، بلوکهای خراب را به صورت تماماً صفر عبور میدهد |
| --crypt-password string گذرواژه یا عبارت عبور برای رمزگذاری (مبهمسازیشده) |
| --crypt-password2 string گذرواژه یا عبارت عبور برای سالت (مبهمسازیشده) |
| --crypt-remote string ریموت برای رمزگذاری/رمزگشایی |
| --crypt-server-side-across-configs منسوخشده: به جای آن از --server-side-across-configs استفاده کنید |
| --crypt-show-mapping برای تمام فایلهای فهرستشده، نحوه رمزگذاری نامها را نشان میدهد |
| --crypt-strict-names در صورت تنظیم، اگر crypt به نام فایلی برخورد کند که قابل رمزگشایی نیست، خطا میدهد |
| --crypt-suffix string در صورت تنظیم، پسوند پیشفرض ".bin" را بازنویسی میکند (پیشفرض ".bin") |
| --doi-description string شرح ریموت (remote) |
| --doi-doi string شناسه DOI یا نشانی URL در doi.org |
| --doi-doi-resolver-api-url string نشانی URL مربوط به API حلکننده (resolver) DOI برای استفاده |
| --doi-provider string ارائهدهنده DOI |
| --drime-access-token string توکن دسترسی API |
| --drime-chunk-size SizeSuffix اندازه تکه برای استفاده در بارگذاری (پیشفرض 5Mi) |
| --drime-description string شرح ریموت (remote) |
| --drime-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot) |
| --drime-hard-delete حذف دائمی فایلها به جای قرار دادن آنها در سطل زباله |
| --drime-list-chunk int تعداد مواردی که باید در هر فراخوانی فهرست شوند (پیشفرض 1000) |
| --drime-root-folder-id string شناسه پوشه ریشه |
| --drime-upload-concurrency int همروندی برای بارگذاریها و کپیهای چندبخشی (پیشفرض 4) |
| --drime-upload-cutoff SizeSuffix آستانه سوئیچ به بارگذاری تکهای (پیشفرض 5Mi) |
| --drime-workspace-id string شناسه حساب |
| --drive-acknowledge-abuse تنظیم برای اجازه بارگیری فایلهایی که خطای cannotDownloadAbusiveFile را برمیگردانند |
| --drive-allow-import-name-change اجازه تغییر نوع فایل هنگام بارگذاری اسناد Google Docs |
| --drive-auth-owner-only فقط فایلهایی را در نظر بگیر که متعلق به کاربر احراز هویتشده هستند |
| --drive-auth-url string نشانی URL سرور احراز هویت |
| --drive-chunk-size SizeSuffix اندازه تکه بارگذاری (پیشفرض 8Mi) |
| --drive-client-credentials استفاده از جریان OAuth اطلاعات کاربری کلاینت (client credentials) |
| --drive-client-id string شناسه کلاینت برنامه گوگل |
| --drive-client-secret string رمز کلاینت برنامه گوگل |
| --drive-copy-shortcut-content کپی محتویات میانبرها در سمت سرور به جای کپی خود میانبر |
| --drive-description string شرح ریموت (remote) |
| --drive-disable-http2 غیرفعال کردن استفاده drive از http2 (پیشفرض true) |
| --drive-encoding Encoding کدگذاری برای بکاند (پیشفرض InvalidUtf8) |
| --drive-env-auth دریافت اطلاعات کاربری IAM از زمان اجرا (متغیرهای محیطی یا متاداده نمونه در صورت نبود متغیرهای محیطی) |
| --drive-export-formats string فهرست جداشده با کاما از فرمتهای ترجیحی برای بارگیری اسناد Google Docs (پیشفرض "docx,xlsx,pptx,svg") |
| --drive-fast-list-bug-fix دور زدن یک باگ در فهرستبندی Google Drive (پیشفرض true) |
| --drive-formats string منسوخشده: export_formats را ببینید |
| --drive-impersonate string جعل هویت این کاربر هنگام استفاده از حساب سرویس |
| --drive-import-formats string فهرست جداشده با کاما از فرمتهای ترجیحی برای بارگذاری اسناد Google Docs |
| --drive-keep-revision-forever نگهداری دائمی آخرین بازبینی (head revision) جدید هر فایل |
| --drive-list-chunk int اندازه تکه فهرستبندی 100-1000، مقدار 0 برای غیرفعال کردن (پیشفرض 1000) |
| --drive-metadata-enforce-expansive-access اینکه آیا درخواست باید قوانین دسترسی گسترده را اعمال کند یا خیر |
| --drive-metadata-labels Bits کنترل اینکه آیا برچسبها باید در متاداده خوانده یا نوشته شوند (پیشفرض غیرفعال) |
| --drive-metadata-owner Bits کنترل اینکه آیا مالک باید در متاداده خوانده یا نوشته شود (پیشفرض read) |
| --drive-metadata-permissions Bits کنترل اینکه آیا مجوزها باید در متاداده خوانده یا نوشته شوند (پیشفرض غیرفعال) |
| --drive-pacer-burst int تعداد فراخوانیهای API مجاز بدون مکث (sleep) (پیشفرض 100) |
| --drive-pacer-min-sleep Duration حداقل زمان مکث میان فراخوانیهای API (پیشفرض 100ms) |
| --drive-resource-key string کلید منبع برای دسترسی به فایلی که از طریق پیوند به اشتراک گذاشته شده است |
| --drive-root-folder-id string شناسه پوشه ریشه |
| --drive-scope string فهرست جداشده با کاما از حوزههایی (scopes) که rclone باید هنگام درخواست دسترسی از drive استفاده کند |
| --drive-server-side-across-configs منسوخشده: به جای آن از --server-side-across-configs استفاده کنید |
| --drive-service-account-credentials string شیء JSON اعتبارنامههای حساب سرویس |
| --drive-service-account-file string مسیر فایل JSON اعتبارنامههای حساب سرویس |
| --drive-shared-with-me فقط نمایش فایلهایی که با من به اشتراک گذاشته شدهاند |
| --drive-show-all-gdocs نمایش همه اسناد Google Docs از جمله موارد غیرقابل خروجیگیری در فهرستها |
| --drive-size-as-quota نمایش اندازهها بر حسب سهمیه مصرفشده ذخیرهسازی، نه اندازه واقعی |
| --drive-skip-checksum-gphotos صرفنظر از چکسامها فقط روی عکسها و ویدیوهای Google Photos |
| --drive-skip-dangling-shortcuts در صورت تنظیم، از فایلهای میانبر معلق (بدون مقصد) صرفنظر میکند |
| --drive-skip-gdocs صرفنظر از اسناد Google Docs در تمام فهرستها |
| --drive-skip-shortcuts در صورت تنظیم، از فایلهای میانبر صرفنظر میکند |
| --drive-starred-only فقط نمایش فایلهای ستارهدار |
| --drive-stop-on-download-limit در نظر گرفتن خطاهای محدودیت بارگیری به عنوان خطای مهلک |
| --drive-stop-on-upload-limit در نظر گرفتن خطاهای محدودیت بارگذاری به عنوان خطای مهلک |
| --drive-team-drive string شناسه درایو مشترک (Team Drive) |
| --drive-token string توکن دسترسی OAuth به صورت یک شیء JSON |
| --drive-token-url string نشانی URL سرور توکن |
| --drive-trashed-only فقط نمایش فایلهایی که در سطل زباله هستند |
| --drive-upload-cutoff SizeSuffix آستانه سوئیچ به بارگذاری تکهای (پیشفرض 8Mi) |
| --drive-use-created-date استفاده از تاریخ ایجاد فایل به جای تاریخ تغییر |
| --drive-use-shared-date استفاده از تاریخ اشتراکگذاری فایل به جای تاریخ تغییر |
| --drive-use-trash ارسال فایلها به سطل زباله به جای حذف دائمی (پیشفرض true) |
| --drive-v2-download-min-size SizeSuffix در صورتی که شیءها بزرگتر باشند، از drive v2 API برای بارگیری استفاده میشود (پیشفرض غیرفعال) |
| --dropbox-auth-url string نشانی URL سرور احراز هویت |
| --dropbox-batch-mode string دستهبندی فایل برای بارگذاری sync|async|off (پیشفرض "sync") |
| --dropbox-batch-size int حداکثر تعداد فایلها در دسته بارگذاری |
| --dropbox-batch-timeout Duration حداکثر زمان مجاز برای بیکار بودن دسته بارگذاری قبل از بارگذاری (پیشفرض 0s) |
| --dropbox-chunk-size SizeSuffix اندازه تکه بارگذاری (< 150Mi) (پیشفرض 48Mi) |
| --dropbox-client-credentials استفاده از جریان OAuth اطلاعات کاربری کلاینت (client credentials) |
| --dropbox-client-id string شناسه کلاینت OAuth |
| --dropbox-client-secret string رمز کلاینت OAuth |
| --dropbox-description string شرح ریموت (remote) |
| --dropbox-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot) |
| --dropbox-export-formats CommaSepList فهرست جداشده با کاما از فرمتهای ترجیحی برای برونبری فایلها (پیشفرض html,md) |
| --dropbox-impersonate string جعل هویت این کاربر هنگام استفاده از حساب تجاری (Business) |
| --dropbox-impersonate-admin string شناسه مدیر تیم برای استفاده هنگام انجام اقدامات به عنوان مدیر تیم |
| --dropbox-pacer-min-sleep Duration حداقل زمان مکث میان فراخوانیهای API (پیشفرض 10ms) |
| --dropbox-root-namespace string تعیین شناسه فضای نام (namespace) متفاوتی در Dropbox به عنوان ریشه برای همه مسیرها |
| --dropbox-shared-files دستور به rclone برای کار بر روی تکتک فایلهای بهاشتراکگذاشتهشده |
| --dropbox-shared-folders دستور به rclone برای کار بر روی پوشههای بهاشتراکگذاشتهشده |
| --dropbox-show-all-exports نمایش همه فایلهای قابل برونبری در فهرستها |
| --dropbox-skip-exports صرفنظر از فایلهای قابل برونبری در تمام فهرستها |
| --dropbox-skip-shared-folders دستور به rclone برای صرفنظر از تمام پوشههای بهاشتراکگذاشتهشده |
| --dropbox-skip-unowned-folders دستور به rclone برای صرفنظر از پوشههای بهاشتراکگذاشتهشدهای که متعلق به کاربر فعلی نیستند |
| --dropbox-token string توکن دسترسی OAuth به صورت یک شیء JSON |
| --dropbox-token-url string نشانی URL سرور توکن |
| --fichier-api-key string کلید API شما، آن را از https://1fichier.com/console/params.pl دریافت کنید |
| --fichier-cdn در صورتی که مایل به استفاده از پیوندهای بارگیری CDN هستید تنظیم کنید |
| --fichier-description string شرح ریموت (remote) |
| --fichier-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot) |
| --fichier-file-password string اگر میخواهید یک فایل بهاشتراکگذاشتهشده محافظتشده با گذرواژه را بارگیری کنید، این پارامتر را اضافه کنید (مبهمسازیشده) |
| --fichier-folder-password string اگر میخواهید فایلهای موجود در یک پوشه بهاشتراکگذاشتهشده محافظتشده با گذرواژه را فهرست کنید، این پارامتر را اضافه کنید (مبهمسازیشده) |
| --fichier-shared-folder string اگر میخواهید یک پوشه بهاشتراکگذاشتهشده را بارگیری کنید، این پارامتر را اضافه کنید |
| --filefabric-description string شرح ریموت (remote) |
| --filefabric-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Del,Ctl,InvalidUtf8,Dot) |
| --filefabric-permanent-token string توکن احراز هویت دائمی |
| --filefabric-root-folder-id string شناسه پوشه ریشه |
| --filefabric-token string توکن نشست (Session) |
| --filefabric-token-expiry string زمان انقضای توکن |
| --filefabric-url string نشانی URL مربوط به Enterprise File Fabric برای اتصال به آن |
| --filefabric-version string نسخه خواندهشده از file fabric |
| --filelu-chunk-size SizeSuffix اندازه تکه برای استفاده در بارگذاری. برای بارگذاریهای چندبخشی استفاده میشود (پیشفرض 64Mi) |
| --filelu-description string شرح ریموت (remote) |
| --filelu-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,CrLf,Del,Ctl,LeftSpace,LeftPeriod,LeftTilde,LeftCrLfHtVt,RightSpace,RightPeriod,RightCrLfHtVt,InvalidUtf8,Dot,SquareBracket,Semicolon,Exclamation) |
| --filelu-key string کلید FileLu Rclone شما از بخش My Account |
| --filelu-upload-cutoff SizeSuffix آستانه سوئیچ به بارگذاری تکهای. هر فایلی بزرگتر از این مقدار به صورت تکههایی با اندازه chunk_size بارگذاری خواهد شد (پیشفرض 500Mi) |
| --filen-api-key string کلید API حساب Filen شما (مبهمسازیشده) |
| --filen-auth-version string نسخه احراز هویت (صرفاً برای استفاده داخلی) |
| string UUID دایرکتوری ریشهٔ حساب (تنها برای استفادهٔ داخلی) |
| --filen-description string توضیحات ریموت |
| --filen-email string ایمیل حساب Filen شما |
| --filen-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Del,Ctl,InvalidUtf8,Dot) |
| --filen-master-keys string کلیدهای اصلی (تنها برای استفادهٔ داخلی) |
| --filen-password string گذرواژهٔ حساب Filen شما (مبهمشده) |
| --filen-private-key string کلید خصوصی RSA (تنها برای استفادهٔ داخلی) |
| --filen-public-key string کلید عمومی RSA (تنها برای استفادهٔ داخلی) |
| --filen-upload-concurrency int همزمانی برای بارگذاریهای تکهای (پیشفرض 16) |
| --filescom-api-key string کلید API استفادهشده برای احراز هویت در Files.com |
| --filescom-description string توضیحات ریموت |
| --filescom-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot) |
| --filescom-password string گذرواژهٔ استفادهشده برای احراز هویت در Files.com (مبهمشده) |
| --filescom-site string زیردامنهٔ سایت شما (مانند mysite) یا دامنهٔ سفارشی (مانند myfiles.customdomain.com) |
| --filescom-username string نام کاربری استفادهشده برای احراز هویت در Files.com |
| --ftp-allow-insecure-tls-ciphers مجاز دانستن سایفرهای ناامن TLS |
| --ftp-ask-password اجازه برای درخواست گذرواژهٔ FTP در صورت نیاز |
| --ftp-close-timeout Duration بیشینه زمان انتظار برای پاسخ به بستن اتصال (پیشفرض 1m0s) |
| --ftp-concurrency int بیشینه تعداد اتصالات همزمان FTP، مقدار 0 برای نامحدود |
| --ftp-description string توضیحات ریموت |
| --ftp-disable-epsv غیرفعال کردن استفاده از EPSV حتی در صورت اعلام پشتیبانی سرور |
| --ftp-disable-mlsd غیرفعال کردن استفاده از MLSD حتی در صورت اعلام پشتیبانی سرور |
| --ftp-disable-tls13 غیرفعال کردن TLS 1.3 (راهکار موقت برای سرورهای FTP با TLS معیوب) |
| --ftp-disable-utf8 غیرفعال کردن استفاده از UTF-8 حتی در صورت اعلام پشتیبانی سرور |
| --ftp-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Del,Ctl,RightSpace,Dot) |
| --ftp-explicit-tls استفاده از Explicit FTPS (پروتکل FTP روی TLS) |
| --ftp-force-list-hidden استفاده از LIST -a برای اجبار در فهرست کردن فایلها و پوشههای پنهان. این گزینه استفاده از MLSD را غیرفعال میکند |
| --ftp-host string میزبان FTP برای اتصال |
| --ftp-http-proxy string نشانی URL برای پراکسی HTTP CONNECT |
| --ftp-idle-timeout Duration بیشینه زمان پیش از بستن اتصالات بیکار (پیشفرض 1m0s) |
| --ftp-no-check-certificate عدم اعتبارسنجی گواهی TLS سرور |
| --ftp-no-check-upload بررسی نکردن صحت بارگذاری |
| --ftp-pass string گذرواژهٔ FTP (مبهمشده) |
| --ftp-port int شماره درگاه FTP (پیشفرض 21) |
| --ftp-shut-timeout Duration بیشینه زمان انتظار برای وضعیت بسته شدن اتصال داده (پیشفرض 1m0s) |
| --ftp-socks-proxy string میزبان پراکسی Socks 5 |
| --ftp-tls استفاده از Implicit FTPS (پروتکل FTP روی TLS) |
| --ftp-tls-cache-size int اندازهٔ حافظهٔ موقت نشست TLS برای همهٔ اتصالات کنترلی و داده (پیشفرض 32) |
| --ftp-user string نام کاربری FTP (پیشفرض "$USER") |
| --ftp-writing-mdtm استفاده از MDTM برای تنظیم زمان تغییر (ناسازگاری مربوط به VsFtpd) |
| --gcs-access-token string توکن دسترسی کوتاهمدت |
| --gcs-anonymous دسترسی به باکتها و اشیاء عمومی بدون اطلاعات کاربری |
| --gcs-auth-url string نشانی URL سرور احراز هویت |
| --gcs-bucket-acl string فهرست کنترل دسترسی (ACL) برای باکتهای جدید |
| --gcs-bucket-policy-only بررسیهای دسترسی باید از خطمشیهای IAM در سطح باکت استفاده کنند |
| --gcs-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --gcs-client-id string شناسهٔ کلاینت OAuth |
| --gcs-client-secret string رمز کلاینت OAuth |
| --gcs-decompress در صورت تنظیم، اشیاء با کدگذاری gzip از حالت فشرده خارج میشوند |
| --gcs-description string توضیحات ریموت |
| --gcs-directory-markers بارگذاری یک شیء خالی با اسلش انتهایی هنگام ایجاد دایرکتوری جدید |
| --gcs-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,CrLf,InvalidUtf8,Dot) |
| --gcs-endpoint string نقطهٔ پایانی سفارشی برای API فضای ذخیرهسازی. برای استفاده از پیشفرض ارائهدهنده خالی بگذارید |
| --gcs-env-auth دریافت اطلاعات کاربری GCP IAM از محیط اجرا (متغیرهای محیطی یا فرادادههای نمونه در صورت نبود متغیرها) |
| --gcs-location string مکان برای باکتهای تازه ایجادشده |
| --gcs-no-check-bucket در صورت تنظیم، برای بررسی وجود باکت یا ایجاد آن تلاشی نمیشود |
| --gcs-object-acl string فهرست کنترل دسترسی (ACL) برای اشیاء جدید |
| --gcs-project-number string شماره پروژه |
| --gcs-service-account-file string مسیر فایل JSON اطلاعات کاربری Service Account |
| --gcs-storage-class string کلاس ذخیرهسازی مورد استفاده هنگام ذخیرهٔ اشیاء در Google Cloud Storage |
| --gcs-token string توکن دسترسی OAuth به صورت حباب JSON |
| --gcs-token-url string نشانی URL سرور توکن |
| --gcs-user-project string پروژهٔ کاربر |
| --gofile-access-token string توکن دسترسی API |
| --gofile-account-id string شناسهٔ حساب |
| --gofile-description string توضیحات ریموت |
| --gofile-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftPeriod,RightPeriod,InvalidUtf8,Dot,Exclamation) |
| --gofile-list-chunk int تعداد مواردی که در هر فراخوانی فهرست میشوند (پیشفرض 1000) |
| --gofile-root-folder-id string شناسهٔ پوشهٔ ریشه |
| --gphotos-auth-url string نشانی URL سرور احراز هویت |
| --gphotos-batch-mode string دستهبندی بارگذاری فایل sync|async|off (پیشفرض "sync") |
| --gphotos-batch-size int بیشینه تعداد فایلها در دستهٔ بارگذاری |
| --gphotos-batch-timeout Duration بیشینه زمان مجاز برای دستهٔ بارگذاری بیکار پیش از بارگذاری (پیشفرض 0s) |
| --gphotos-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --gphotos-client-id string شناسهٔ کلاینت OAuth |
| --gphotos-client-secret string رمز کلاینت OAuth |
| --gphotos-description string توضیحات ریموت |
| --gphotos-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,CrLf,InvalidUtf8,Dot) |
| --gphotos-include-archived همچنین مشاهده و بارگیری رسانههای بایگانیشده |
| --gphotos-proxy string استفاده از پراکسی gphotosdl برای بارگیری تصاویر با وضوح کامل |
| --gphotos-read-only تنظیم برای فقطخواندنی کردن بکاند Google Photos |
| --gphotos-read-size تنظیم برای خواندن اندازهٔ اقلام رسانهای |
| --gphotos-start-year int محدود کردن عکسهای بارگیری به مواردی که پس از سال دادهشده بارگذاری شدهاند (پیشفرض 2000) |
| --gphotos-token string توکن دسترسی OAuth به صورت حباب JSON |
| --gphotos-token-url string نشانی URL سرور توکن |
| --hasher-auto-size SizeSuffix بهروزرسانی خودکار چکسام برای فایلهای کوچکتر از این اندازه (به طور پیشفرض غیرفعال) |
| --hasher-description string توضیحات ریموت |
| --hasher-hashes CommaSepList فهرست جداشده با ویرگول از انواع چکسام پشتیبانیشده (پیشفرض md5,sha1) |
| --hasher-max-age Duration بیشینه زمان نگهداری چکسامها در حافظهٔ موقت (0 = بدون کش، off = کش دائمی) (پیشفرض off) |
| --hasher-remote string ریموت برای ذخیرهٔ موقت چکسامها (مانند myRemote:path) |
| --hdfs-data-transfer-protection string حفاظت از انتقال داده در Kerberos: authentication|integrity|privacy |
| --hdfs-description string توضیحات ریموت |
| --hdfs-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Colon,Del,Ctl,InvalidUtf8,Dot) |
| --hdfs-namenode CommaSepList گرهها و درگاههای نام در Hadoop |
| --hdfs-service-principal-name string نام سرویس پرینسیپال Kerberos برای namenode |
| --hdfs-username string نام کاربری Hadoop |
| --hidrive-auth-url string نشانی URL سرور احراز هویت |
| --hidrive-chunk-size SizeSuffix اندازهٔ تکهها برای بارگذاریهای تکهای (پیشفرض 48Mi) |
| --hidrive-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --hidrive-client-id string شناسهٔ کلاینت OAuth |
| --hidrive-client-secret string رمز کلاینت OAuth |
| --hidrive-description string توضیحات ریموت |
| --hidrive-disable-fetching-member-count دریافت نکردن تعداد اشیاء موجود در دایرکتوریها مگر در صورت نیاز قطعی |
| --hidrive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Dot) |
| --hidrive-endpoint string نقطهٔ پایانی برای سرویس (پیشفرض "https://api.hidrive.strato.com/2.1") |
| --hidrive-root-prefix string پوشهٔ ریشه/والد برای همهٔ مسیرها (پیشفرض "/") |
| --hidrive-scope-access string مجوزهای دسترسی که rclone باید هنگام درخواست دسترسی از HiDrive استفاده کند (پیشفرض "rw") |
| --hidrive-scope-role string سطح کاربری که rclone باید هنگام درخواست دسترسی از HiDrive استفاده کند (پیشفرض "user") |
| --hidrive-token string توکن دسترسی OAuth به صورت حباب JSON |
| --hidrive-token-url string نشانی URL سرور توکن |
| --hidrive-upload-concurrency int همزمانی برای بارگذاریهای تکهای (پیشفرض 4) |
| --hidrive-upload-cutoff SizeSuffix آستانه برای بارگذاریهای تکهای (پیشفرض 96Mi) |
| --http-description string توضیحات ریموت |
| --http-headers CommaSepList تنظیم هدرهای HTTP برای همهٔ تراکنشها |
| --http-no-escape گریز ندادن نویسههای ویژهٔ URL در نام مسیرها |
| --http-no-head استفاده نکردن از درخواستهای HEAD |
| --http-no-slash تنظیم این گزینه در صورتی که دایرکتوریهای سایت با / پایان نمییابند |
| --http-url string نشانی URL میزبان HTTP برای اتصال |
| --huaweidrive-auth-url string نشانی URL سرور احراز هویت |
| --huaweidrive-chunk-size SizeSuffix اندازهٔ تکههای بارگذاری (پیشفرض 8Mi) |
| --huaweidrive-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --huaweidrive-client-id string شناسهٔ کلاینت OAuth |
| --huaweidrive-client-secret string رمز کلاینت OAuth |
| --huaweidrive-description string توضیحات ریموت |
| --huaweidrive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftPeriod,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot) |
| --huaweidrive-list-chunk int اندازهٔ تکهٔ فهرستبندی بین 1 تا 1000 (پیشفرض 1000) |
| --huaweidrive-root-folder-id string شناسهٔ پوشهٔ ریشه |
| --huaweidrive-token string توکن دسترسی OAuth به صورت حباب JSON |
| --huaweidrive-token-url string نشانی URL سرور توکن |
| --huaweidrive-upload-cutoff SizeSuffix آستانه برای جابهجایی به بارگذاری با قابلیت ازسرگیری (پیشفرض 20Mi) |
| --iclouddrive-apple-id string شناسهٔ Apple ID |
| --iclouddrive-client-id string شناسهٔ کلاینت برای دسترسی به API سرویس iCloud (پیشفرض "d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d") |
| --iclouddrive-description string توضیحات ریموت |
| --iclouddrive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --iclouddrive-password string گذرواژه (مبهمشده) |
| --iclouddrive-service string سرویس iCloud مورد استفاده (پیشفرض "drive") |
| --imagekit-description string توضیحات ریموت |
| --imagekit-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Dollar,Question,Hash,Percent,BackSlash,Del,Ctl,InvalidUtf8,Dot,SquareBracket) |
| --imagekit-endpoint string میتوانید نشانی URL پایانی ImageKit.io خود را در [پیشخوان](https://imagekit.io/dashboard/developer/api-keys) بیابید |
| --imagekit-only-signed Restrict unsigned image URLs اگر در تنظیمات پیشخوان خود گزینهٔ Restrict unsigned image URLs را پیکربندی کردهاید، این را روی true بگذارید |
| --imagekit-private-key string میتوانید کلید خصوصی ImageKit.io خود را در [پیشخوان](https://imagekit.io/dashboard/developer/api-keys) بیابید |
| --imagekit-public-key string میتوانید کلید عمومی ImageKit.io خود را در [پیشخوان](https://imagekit.io/dashboard/developer/api-keys) بیابید |
| --imagekit-upload-tags string برچسبها برای افزودن به فایلهای بارگذاریشده، مانند "tag1,tag2" |
| --imagekit-versions گنجاندن نسخههای قدیمی در فهرستهای دایرکتوری |
| --internetarchive-access-key-id string کلید دسترسی IAS3 |
| --internetarchive-description string توضیحات ریموت |
| --internetarchive-disable-checksum درخواست نکردن از سرور برای آزمایش در برابر چکسام MD5 محاسبهشده توسط rclone (پیشفرض true) |
| --internetarchive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot) |
| --internetarchive-endpoint string نقطهٔ پایانی IAS3 (پیشفرض "https://s3.us.archive.org") |
| --internetarchive-front-endpoint string میزبان فرانتاند InternetArchive (پیشفرض "https://archive.org") |
| --internetarchive-item-derive تعیین اجرای اشتقاق روی آیتم IA یا خیر. در صورت تنظیم روی false، آیتم پس از بارگذاری توسط IA اشتقاق نمییابد (پیشفرض true) |
| --internetarchive-item-metadata stringArray فراداده برای تنظیم روی آیتم IA؛ این با فراداده در سطح فایل که با --metadata-set تنظیم میشود متفاوت است |
| --internetarchive-secret-access-key string کلید مخفی IAS3 (گذرواژه) |
| --internetarchive-wait-archive Duration زمان انتظار برای پایان یافتن وظایف پردازشی سرور (بهویژه archive و book_op) (پیشفرض 0s) |
| --internxt-chunk-size SizeSuffix اندازهٔ تکهها برای بارگذاریهای چندبخشی (پیشفرض 30Mi) |
| --internxt-description string توضیحات ریموت |
| --internxt-email string ایمیل حساب Internxt شما |
| --internxt-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,CrLf,RightPeriod,InvalidUtf8,Dot) |
| --internxt-pass string گذرواژه (مبهمشده) |
| --internxt-skip-hash-validation صرفنظر کردن از اعتبارسنجی هش هنگام بارگیری فایلها (پیشفرض true) |
| --internxt-upload-concurrency int همزمانی برای بارگذاریهای چندبخشی (پیشفرض 4) |
| --internxt-upload-cutoff SizeSuffix آستانه برای جابهجایی به بارگذاری چندبخشی (پیشفرض 100Mi) |
| --jottacloud-auth-url string نشانی URL سرور احراز هویت |
| --jottacloud-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --jottacloud-client-id string شناسهٔ کلاینت OAuth |
| --jottacloud-client-secret string رمز کلاینت OAuth |
| --jottacloud-description string توضیحات ریموت |
| --jottacloud-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Percent,Del,Ctl,InvalidUtf8,Dot) |
| --jottacloud-hard-delete حذف دائمی فایلها به جای انتقال آنها به سطل زباله |
| --jottacloud-md5-memory-limit SizeSuffix فایلهای بزرگتر از این مقدار برای محاسبهٔ MD5 در صورت نیاز، روی دیسک کش میشوند (پیشفرض 10Mi) |
| --jottacloud-no-versions جلوگیری از نسخهبندی سمت سرور با حذف فایلها و ایجاد دوبارهٔ آنها به جای بازنویسی |
| --jottacloud-token string توکن دسترسی OAuth به صورت حباب JSON |
| --jottacloud-token-url string نشانی URL سرور توکن |
| --jottacloud-trashed-only تنها نمایش فایلهایی که در سطل زباله هستند |
| --jottacloud-upload-resume-limit SizeSuffix بارگذاری فایلهای بزرگتر از این مقدار در صورت بروز شکست قابلیت ازسرگیری دارد (پیشفرض 10Mi) |
| --koofr-description string توضیحات ریموت |
| --koofr-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --koofr-endpoint string نقطهٔ پایانی API مورد استفاده برای Koofr |
| --koofr-mountid string شناسهٔ مانت مورد استفاده |
| --koofr-password string گذرواژهٔ شما برای rclone؛ یکی در https://app.koofr.net/app/admin/preferences/password بسازید (مبهمشده) |
| --koofr-provider string ارائهدهندهٔ فضای ذخیرهسازی خود را انتخاب کنید |
| --koofr-setmtime آیا بکاند از تنظیم زمان تغییر پشتیبانی میکند (پیشفرض true) |
| --koofr-user string نام کاربری شما |
| --linkbox-description string توضیحات ریموت |
| --linkbox-email string ایمیل برای ورود |
| --linkbox-password string گذرواژه برای ورود (مبهمشده) |
| --linkbox-token string توکن از https://www.linkbox.to/admin/account |
| --local-case-insensitive وادار کردن فایلسیستم به گزارش خود به صورت حساس نبودن به حروف کوچک و بزرگ |
| --local-case-sensitive وادار کردن فایلسیستم به گزارش خود به صورت حساس به حروف کوچک و بزرگ |
| --local-description string توضیحات ریموت |
| --local-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Dot) |
| --local-fatal-if-no-space مهلک تلقی کردن خطاهای کمبود فضا در حین انتقالها |
| --local-hashes CommaSepList فهرست جداشده با ویرگول از انواع چکسام پشتیبانیشده |
| --local-links ترجمهٔ پیوندهای نمادین به/از فایلهای معمولی با پسوند '.rclonelink' برای بکاند محلی |
| --local-metadata-restore-special-bits بازیابی بیتهای setuid، setgid و چسبنده (sticky) از فراداده |
| --local-no-check-updated بررسی نکردن تغییر یافتن فایلها در حین بارگذاری |
| --local-no-clone غیرفعال کردن کلونینگ reflink برای کپیهای سمت سرور |
| --local-no-preallocate غیرفعال کردن تخصیص پیشاپیش فضای دیسک برای فایلهای انتقالیافته |
| --local-no-set-modtime غیرفعال کردن تنظیم زمان تغییر |
| --local-no-sparse غیرفعال کردن فایلهای کمپشت (sparse) برای بارگیریهای چندرشتهای |
| --local-nounc غیرفعال کردن تبدیل UNC (نامهای طولانی مسیر) در Windows |
| --local-time-type mtime|atime|btime|ctime تعیین نوع زمان بازگرداندهشده (پیشفرض mtime) |
| --local-unicode-normalization اعمال یکسانسازی یونیکد NFC روی مسیرها و نامهای فایل |
| --local-zero-size-links صفر فرض کردن اندازهٔ Stat برای پیوندها (و در عوض خواندن آنها) (منسوخ) |
| --mailru-auth-url string نشانی URL سرور احراز هویت |
| --mailru-check-hash عملی که دستور copy در صورت عدم تطابق یا نامعتبر بودن چکسام فایل باید انجام دهد (پیشفرض true) |
| --mailru-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --mailru-client-id string شناسهٔ کلاینت OAuth |
| --mailru-client-secret string رمز کلاینت OAuth |
| --mailru-description string توضیحات ریموت |
| --mailru-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --mailru-pass string گذرواژه (مبهمشده) |
| --mailru-speedup-enable صرفنظر کردن از بارگذاری کامل در صورت وجود فایلی با همان هش داده (پیشفرض true) |
| --mailru-speedup-file-patterns string فهرست جداشده با ویرگول از الگوهای نام فایل واجد شرایط برای افزایش سرعت (قرار دادن با هش) (پیشفرض "*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf") |
| --mailru-speedup-max-disk SizeSuffix این گزینه امکان غیرفعال کردن افزایش سرعت (قرار دادن با هش) را برای فایلهای بزرگ فراهم میکند (پیشفرض 3Gi) |
| --mailru-speedup-max-memory SizeSuffix فایلهای بزرگتر از اندازهٔ ارائهشده در زیر همیشه روی دیسک هش میشوند (پیشفرض 32Mi) |
| --mailru-token string توکن دسترسی OAuth به صورت حباب JSON |
| --mailru-token-url string نشانی URL سرور توکن |
| --mailru-user string نام کاربری (معمولاً ایمیل) |
| --mega-2fa string کد 2FA حساب MEGA شما در صورتی که حساب با آن تنظیم شده باشد |
| --mega-debug ارائهٔ خروجی اشکالزدایی بیشتر از Mega |
| --mega-description string توضیحات ریموت |
| --mega-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,InvalidUtf8,Dot) |
| --mega-hard-delete حذف دائمی فایلها به جای انداختن آنها در سطل زباله |
| --mega-pass string گذرواژه (مبهمشده) |
| --mega-use-https استفاده از HTTPS برای انتقالها |
| --mega-user string نام کاربری |
| --memory-description string توضیحات ریموت |
| --memory-discard در صورت تنظیم، همهٔ عملیات نوشتن نادیده گرفته شده و خواندنها خطا برمیگردانند |
| --netstorage-account string تنظیم نام حساب NetStorage |
| --netstorage-description string توضیحات ریموت |
| --netstorage-host string دامنه+مسیر میزبان NetStorage برای اتصال |
| --netstorage-protocol string انتخاب بین پروتکل HTTP یا HTTPS (پیشفرض "https") |
| --netstorage-secret string تنظیم کلید محرمانه/G2O حساب NetStorage برای احراز هویت (مبهمشده) |
| -x, --one-file-system عبور نکردن از مرزهای فایلسیستم (تنها unix/macOS) |
| --onedrive-access-scopes SpaceSepList تنظیم دامنههای دسترسی مورد درخواست rclone (پیشفرض Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access) |
| --onedrive-auth-url string نشانی URL سرور احراز هویت |
| --onedrive-av-override امکان بارگیری فایلهایی که سرور تشخیص ویروس برای آنها داده است |
| --onedrive-chunk-size SizeSuffix اندازهٔ تکهها برای بارگذاری فایلها - باید مضربی از 320k (327,680 بایت) باشد (پیشفرض 10Mi) |
| --onedrive-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --onedrive-client-id string شناسهٔ کلاینت OAuth |
| --onedrive-client-secret string رمز کلاینت OAuth |
| --onedrive-delta در صورت تنظیم، rclone از فهرستبندی دلتا برای پیادهسازی فهرستبندیهای بازگشتی استفاده خواهد کرد |
| --onedrive-description string توضیحات ریموت |
| --onedrive-drive-id string شناسهٔ درایو مورد استفاده |
| --onedrive-drive-type string نوع درایو (personal | business | documentLibrary) |
| --onedrive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot) |
| --onedrive-expose-onenote-files تنظیم برای نمایش فایلهای OneNote در فهرستبندیهای دایرکتوری |
| --onedrive-hard-delete حذف دائمی فایلها هنگام پاک کردن |
| --onedrive-hash-type string مشخص کردن نوع هش مورد استفاده برای بکاند (پیشفرض "auto") |
| --onedrive-link-password string تنظیم گذرواژه برای پیوندهای ایجادشده با دستور link |
| --onedrive-link-scope string تنظیم دامنهٔ پیوندهای ایجادشده با دستور link (پیشفرض "anonymous") |
| --onedrive-link-type string تنظیم نوع پیوندهای ایجادشده با دستور link (پیشفرض "view") |
| --onedrive-list-chunk int اندازهٔ تکهٔ فهرستبندی (پیشفرض 1000) |
| --onedrive-metadata-permissions Bits کنترل اینکه آیا مجوزها باید در فراداده خوانده یا نوشته شوند (پیشفرض off) |
| --onedrive-no-versions حذف همهٔ نسخهها در عملیاتهای اصلاحی |
| --onedrive-region string انتخاب منطقهٔ ابری ملی برای OneDrive (پیشفرض "global") |
| --onedrive-root-folder-id string شناسهٔ پوشهٔ ریشه |
| --onedrive-server-side-across-configs منسوخ: به جای آن از --server-side-across-configs استفاده کنید |
| --onedrive-tenant string شناسهٔ مستأجر پرینسیپال سرویس؛ همچنین شناسهٔ دایرکتوری آن نیز نامیده میشود |
| --onedrive-tenant-url string نشانی URL مستأجر برای دسترسی غیرمدیریتی به OneDrive |
| --onedrive-token string توکن دسترسی OAuth به صورت حباب JSON |
| --onedrive-token-url string نشانی URL سرور توکن |
| --onedrive-upload-cutoff SizeSuffix آستانه برای جابهجایی به بارگذاری تکهای (پیشفرض off) |
| --oos-attempt-resume-upload در صورت true بودن، تلاش برای ازسرگیری بارگذاری چندبخشیِ قبلاً آغازشده برای شیء |
| --oos-chunk-size SizeSuffix اندازهٔ تکهها برای بارگذاری (پیشفرض 5Mi) |
| --oos-compartment string مشخص کردن OCID بخش (compartment) در صورت نیاز به فهرست کردن باکتها |
| --oos-config-file string مسیر فایل پیکربندی OCI (پیشفرض "~/.oci/config") |
| --oos-config-profile string نام نمایه درون فایل پیکربندی oci (پیشفرض "Default") |
| --oos-copy-cutoff SizeSuffix آستانه برای جابهجایی به کپی چندبخشی (پیشفرض 4.656Gi) |
| --oos-copy-timeout Duration زمان انقضای کپی (پیشفرض 1m0s) |
| --oos-decompress در صورت تنظیم، اشیاء با کدگذاری gzip از حالت فشرده خارج میشوند |
| --oos-description string توضیحات ریموت |
| --oos-disable-checksum ذخیره نکردن چکسام MD5 به همراه فرادادهٔ شیء |
| --oos-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,InvalidUtf8,Dot) |
| --oos-endpoint string نقطهٔ پایانی برای API فضای ذخیرهسازی شیء |
| --oos-leave-parts-on-error در صورت true بودن، لغو نکردن فرایند بارگذاری هنگام بروز خطا و باقی گذاشتن تمام بخشهای بارگذاریشدهٔ موفق برای بازیابی دستی |
| --oos-max-upload-parts int بیشینه تعداد بخشها در یک بارگذاری چندبخشی (پیشفرض 10000) |
| --oos-namespace string فضای نام Object storage |
| --oos-no-check-bucket در صورت تنظیم، تلاشی برای بررسی وجود باکت یا ایجاد آن صورت نمیگیرد |
| --oos-provider string ارائهدهندهٔ احراز هویت خود را انتخاب کنید (پیشفرض "env_auth") |
| --oos-region string منطقهٔ Object storage |
| --oos-sse-customer-algorithm string در صورت استفاده از SSE-C، هدر اختیاری که "AES256" را به عنوان الگوریتم رمزنگاری مشخص میکند |
| --oos-sse-customer-key string برای استفاده از SSE-C، هدر اختیاری که کلید رمزنگاری ۲۵۶ بیتی کدگذاریشده با base64 را مشخص میکند |
| --oos-sse-customer-key-file string برای استفاده از SSE-C، فایلی شامل رشتهٔ کدگذاریشده با base64 از کلید رمزنگاری AES-256 مرتبط |
| --oos-sse-customer-key-sha256 string در صورت استفاده از SSE-C، هدر اختیاری که هش SHA256 کدگذاریشده با base64 کلید رمزنگاری را مشخص میکند |
| --oos-sse-kms-key-id string در صورت استفاده از کلید اصلی خود در vault، این هدر مشخصکنندهٔ آن است |
| --oos-storage-tier string کلاس ذخیرهسازی مورد استفاده هنگام ذخیرهٔ اشیاء جدید در فضای ذخیرهسازی. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm (پیشفرض "Standard") |
| --oos-upload-concurrency int همزمانی برای بارگذاریهای چندبخشی (پیشفرض 10) |
| --oos-upload-cutoff SizeSuffix آستانه برای جابهجایی به بارگذاری تکهای (پیشفرض 200Mi) |
| --opendrive-access string فایلها و پوشهها با این مجوز دسترسی بارگذاری خواهند شد (پیشفرض private) (پیشفرض "private") |
| --opendrive-chunk-size SizeSuffix فایلها در تکههایی با این اندازه بارگذاری خواهند شد (پیشفرض 10Mi) |
| --opendrive-description string توضیحات ریموت |
| --opendrive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot) |
| --opendrive-password string گذرواژه (مبهمشده) |
| --opendrive-username string نام کاربری |
| --pcloud-auth-url string نشانی URL سرور احراز هویت |
| --pcloud-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --pcloud-client-id string شناسهٔ کلاینت OAuth |
| --pcloud-client-secret string رمز کلاینت OAuth |
| --pcloud-description string توضیحات ریموت |
| --pcloud-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --pcloud-hostname string نام میزبان برای اتصال (پیشفرض "api.pcloud.com") |
| --pcloud-password string گذرواژهٔ pcloud شما (مبهمشده) |
| --pcloud-root-folder-id string این مورد را پر کنید تا rclone از یک پوشهٔ غیرریشه به عنوان نقطهٔ شروع استفاده کند (پیشفرض "d0") |
| --pcloud-token string توکن دسترسی OAuth به صورت حباب JSON |
| --pcloud-token-url string نشانی URL سرور توکن |
| --pcloud-username string نام کاربری pcloud شما |
| --pikpak-chunk-size SizeSuffix اندازهٔ تکهها برای بارگذاریهای چندبخشی (پیشفرض 5Mi) |
| --pikpak-description string توضیحات ریموت |
| --pikpak-device-id string شناسهٔ دستگاه مورد استفاده برای مجوزدهی |
| --pikpak-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot) |
| --pikpak-hash-memory-limit SizeSuffix فایلهای بزرگتر از این اندازه برای محاسبهٔ هش در صورت نیاز، روی دیسک کش میشوند (پیشفرض 10Mi) |
| --pikpak-no-media-link استفاده از پیوندهای اصلی فایل به جای پیوندهای چندرسانهای |
| --pikpak-pass string گذرواژهٔ Pikpak (مبهمشده) |
| --pikpak-root-folder-id string شناسهٔ پوشهٔ ریشه |
| --pikpak-trashed-only تنها نمایش فایلهایی که در سطل زباله هستند |
| --pikpak-upload-concurrency int همزمانی برای بارگذاریهای چندبخشی (پیشفرض 4) |
| --pikpak-upload-cutoff SizeSuffix آستانه برای جابهجایی به بارگذاری تکهای (پیشفرض 200Mi) |
| --pikpak-use-trash ارسال فایلها به سطل زباله به جای حذف دائمی (پیشفرض true) |
| --pikpak-user string نام کاربری Pikpak |
| --pikpak-user-agent string عامل کاربر (User Agent) HTTP برای pikpak (پیشفرض "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0") |
| --pixeldrain-api-key string کلید API برای حساب pixeldrain شما |
| --pixeldrain-api-url string نقطهٔ پایانی API برای اتصال. در بیشتر موارد دستنخورده گذاشتن آن مشکلی ایجاد نمیکند (پیشفرض "https://pixeldrain.com/api") |
| --pixeldrain-description string توضیحات ریموت |
| --pixeldrain-root-folder-id string ریشهٔ فایلسیستم مورد استفاده (پیشفرض "me") |
| --premiumizeme-auth-url string نشانی URL سرور احراز هویت |
| --premiumizeme-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --premiumizeme-client-id string شناسهٔ کلاینت OAuth |
| --premiumizeme-client-secret string رمز کلاینت OAuth |
| --premiumizeme-description string توضیحات ریموت |
| --premiumizeme-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --premiumizeme-token string توکن دسترسی OAuth به صورت حباب JSON |
| --premiumizeme-token-url string نشانی URL سرور توکن |
| --protondrive-2fa string کد 2FA |
| --protondrive-app-version string رشتهٔ نسخهٔ برنامه |
| --protondrive-description string توضیحات ریموت |
| --protondrive-enable-caching کش کردن فرادادهٔ فایلها و پوشهها جهت کاهش فراخوانیهای API (پیشفرض true) |
| --protondrive-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LeftSpace,RightSpace,InvalidUtf8,Dot) |
| --protondrive-mailbox-password string گذرواژهٔ صندوق پستی حساب دومرحلهای proton شما (مبهمشده) |
| --protondrive-original-file-size بازگرداندن اندازهٔ فایل پیش از رمزنگاری (پیشفرض true) |
| --protondrive-otp-secret-key string کلید مخفی OTP (مبهمشده) |
| --protondrive-password string گذرواژهٔ حساب proton شما (مبهمشده) |
| --protondrive-replace-existing-draft ایجاد نسخهٔ جدید در صورت تشخیص تداخل نام فایل |
| --protondrive-username string نام کاربری حساب proton شما |
| --putio-auth-url string نشانی URL سرور احراز هویت |
| --putio-client-credentials استفاده از جریان اعتبارسنجی کلاینت OAuth |
| --putio-client-id string شناسهٔ کلاینت OAuth |
| --putio-client-secret string رمز کلاینت OAuth |
| --putio-description string توضیحات ریموت--putio-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --putio-token string توکن دسترسی OAuth بهصورت یک blob جیسان |
| --putio-token-url string نشانی URL سرور توکن |
| --qingstor-access-key-id string شناسه کلید دسترسی QingStor |
| --qingstor-chunk-size SizeSuffix اندازه تکه برای استفاده در بارگذاری (پیشفرض 4Mi) |
| --qingstor-connection-retries int تعداد تلاشهای مجدد اتصال (پیشفرض 3) |
| --qingstor-description string توضیحات ریموت |
| --qingstor-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Ctl,InvalidUtf8) |
| --qingstor-endpoint string نشانی URL نقطه پایانی برای اتصال به API کینگاستور (QingStor) |
| --qingstor-env-auth دریافت اعتبارنامههای QingStor از محیط زمان اجرا |
| --qingstor-secret-access-key string کلید دسترسی محرمانه QingStor (گذرواژه) |
| --qingstor-upload-concurrency int همزمانی برای بارگذاریهای چندبخشی (پیشفرض 1) |
| --qingstor-upload-cutoff SizeSuffix حد آستانه برای جابهجایی به بارگذاری تکهای (پیشفرض 200Mi) |
| --qingstor-zone string منطقه (Zone) برای اتصال |
| --quatrix-api-key string کلید API برای دسترسی به حساب Quatrix |
| --quatrix-description string توضیحات ریموت |
| --quatrix-effective-upload-time string زمان بارگذاری مطلوب برای یک تکه (پیشفرض "4s") |
| --quatrix-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --quatrix-hard-delete حذف دائمی فایلها به جای انتقال آنها به سطل زباله |
| --quatrix-host string نام میزبان حساب Quatrix |
| --quatrix-maximal-summary-chunk-size SizeSuffix حداکثر مجموع تمام تکهها؛ نباید کمتر از 'transfers'*'minimal_chunk_size' باشد (پیشفرض 95.367Mi) |
| --quatrix-minimal-chunk-size SizeSuffix حداقل اندازه برای یک تکه (پیشفرض 9.537Mi) |
| --quatrix-skip-project-folders نادیده گرفتن پوشههای پروژه در عملیاتها |
| --s3-access-key-id string شناسه کلید دسترسی AWS |
| --s3-acl string فهرست کنترل دسترسی از پیشآماده (Canned ACL) مورد استفاده هنگام ساخت باکتها و ذخیره یا رونوشت اشیاء |
| --s3-bucket-acl string فهرست کنترل دسترسی از پیشآماده (Canned ACL) مورد استفاده هنگام ساخت باکتها |
| --s3-bucket-object-lock-enabled فعالسازی قفل شیء (Object Lock) هنگام ایجاد باکتهای جدید |
| --s3-bypass-governance-retention اجازه حذف یا ویرایش اشیاء قفلشده با حالت GOVERNANCE |
| --s3-chunk-size SizeSuffix اندازه تکه مورد استفاده برای بارگذاری (پیشفرض 5Mi) |
| --s3-copy-cutoff SizeSuffix حد آستانه برای جابهجایی به رونوشت چندبخشی (پیشفرض 4.656Gi) |
| --s3-decompress در صورت تنظیم، اشیاء کدگذاریشده با gzip را از حالت فشرده خارج میکند |
| --s3-description string توضیحات ریموت |
| --s3-directory-bucket تنظیم برای استفاده از باکتهای دایرکتوری AWS |
| --s3-directory-markers بارگذاری یک شیء خالی با اسلش در انتها هنگام ایجاد دایرکتوری جدید |
| --s3-disable-checksum عدم ذخیره جمع مقابلهای MD5 به همراه فرادادههای شیء |
| --s3-disable-http2 غیرفعالسازی استفاده از http2 برای بکاندهای S3 |
| --s3-download-url string نقطه پایانی سفارشی برای بارگیریها |
| --s3-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,InvalidUtf8,Dot) |
| --s3-endpoint string نقطه پایانی برای S3 API |
| --s3-env-auth دریافت اعتبارنامههای AWS از محیط زمان اجرا (متغیرهای محیطی یا فرادادههای EC2/ECS در صورت نبود متغیرها) |
| --s3-force-path-style در صورت true استفاده از سبک دسترسی مسیری و در صورت false استفاده از سبک میزبانی مجازی (پیشفرض true) |
| --s3-ibm-api-key string کلید API آیبیام برای دریافت توکن IAM |
| --s3-ibm-iam-endpoint string نقطه پایانی IBM IAM مورد استفاده برای احراز هویت |
| --s3-ibm-resource-instance-id string شناسه نمونه سرویس IBM |
| --s3-leave-parts-on-error در صورت true، خودداری از فراخوانی لغو بارگذاری هنگام بروز خطا و باقی گذاشتن تمام بخشهای بارگذاریشده روی S3 برای بازیابی دستی |
| --s3-list-chunk int اندازه تکه فهرستبندی (پاسخ فهرست برای هر درخواست ListObject در S3) (پیشفرض 1000) |
| --s3-list-url-encode Tristate کدگذاری درگاه وبی (URL encode) فهرستها: true/false/unset (پیشفرض unset) |
| --s3-list-version int نسخه ListObjects مورد استفاده: 1، 2 یا 0 برای خودکار |
| --s3-list-versions-oldest-first Tristate تنظیم در صورتی که بکاند نسخههای شیء را از قدیمیترین بازگرداند (پیشفرض unset) |
| --s3-location-constraint string محدودیت مکانی - باید منطبق با Region تنظیم شود |
| --s3-max-upload-parts int حداکثر تعداد بخشها در یک بارگذاری چندبخشی (پیشفرض 10000) |
| --s3-might-gzip Tristate این گزینه را در صورتی تنظیم کنید که ممکن است بکاند اشیاء را با gzip فشرده کند (پیشفرض unset) |
| --s3-no-check-bucket در صورت تنظیم، تلاشی برای بررسی وجود باکت یا ایجاد آن صورت نمیگیرد |
| --s3-no-head در صورت تنظیم، عدم ارسال درخواست HEAD برای بررسی یکپارچگی اشیاء بارگذاریشده |
| --s3-no-head-object در صورت تنظیم، عدم اجرای HEAD قبل از GET هنگام دریافت اشیاء |
| --s3-no-system-metadata جلوگیری از تنظیم و خواندن فرادادههای سیستمی |
| --s3-object-lock-legal-hold-status string وضعیت توقیف قانونی (legal hold) قفل شیء برای اعمال هنگام بارگذاری یا رونوشت اشیاء |
| --s3-object-lock-mode string حالت Object Lock برای اعمال هنگام بارگذاری یا رونوشت اشیاء |
| --s3-object-lock-retain-until-date string تاریخ نگهداری قفل شیء برای اعمال هنگام بارگذاری یا رونوشت اشیاء |
| --s3-object-lock-set-after-upload تنظیم قفل شیء از طریق فراخوانیهای جداگانه API پس از بارگذاری |
| --s3-object-lock-supported Tristate اینکه آیا ارائهدهنده از S3 Object Lock پشتیبانی میکند یا خیر (پیشفرض unset) |
| --s3-profile string پروفایل مورد استفاده در فایل مشترک اعتبارنامهها |
| --s3-provider string انتخاب ارائهدهنده S3 |
| --s3-region string منطقه (Region) برای اتصال |
| --s3-requester-pays فعالسازی گزینه پرداخت توسط درخواستکننده هنگام تعامل با باکت S3 |
| --s3-role-arn string شناسه ARN مربوط به نقش IAM برای واگذاری (assume) |
| --s3-role-external-id string شناسه خارجی (External ID) برای نقش واگذارشده |
| --s3-role-session-duration string مدت نشست برای نقش واگذارشده |
| --s3-role-session-name string نام نشست برای نقش واگذارشده |
| --s3-sdk-log-mode Bits تنظیم برای اشکالزدایی SDK (پیشفرض Off) |
| --s3-secret-access-key string کلید دسترسی محرمانه AWS (گذرواژه) |
| --s3-server-side-encryption string الگوریتم رمزنگاری سمت سرور مورد استفاده هنگام ذخیره این شیء در S3 |
| --s3-session-token string یک توکن نشست AWS |
| --s3-shared-credentials-file string مسیر فایل مشترک اعتبارنامهها |
| --s3-sign-accept-encoding Tristate تنظیم در صورتی که rclone باید Accept-Encoding را به عنوان بخشی از امضا بگنجاند (پیشفرض unset) |
| --s3-sse-customer-algorithm string در صورت استفاده از SSE-C، الگوریتم رمزنگاری سمت سرور مورد استفاده هنگام ذخیره این شیء در S3 |
| --s3-sse-customer-key string برای استفاده از SSE-C میتوانید کلید رمزنگاری محرمانه برای رمزگذاری/رمزگشایی دادههای خود را ارائه دهید |
| --s3-sse-customer-key-base64 string در صورت استفاده از SSE-C باید کلید رمزنگاری محرمانه کدگذاریشده در قالب base64 را برای رمزگذاری/رمزگشایی دادهها مشخص کنید |
| --s3-sse-customer-key-md5 string در صورت استفاده از SSE-C میتوانید جمع مقابلهای MD5 کلید رمزنگاری محرمانه را ارائه دهید (اختیاری) |
| --s3-sse-kms-key-id string در صورت استفاده از شناسه KMS، باید ARN کلید را ارائه دهید |
| --s3-storage-class string کلاس ذخیرهسازی مورد استفاده هنگام ذخیره اشیاء جدید در S3 |
| --s3-upload-concurrency int همزمانی برای بارگذاریها و رونوشتهای چندبخشی (پیشفرض 4) |
| --s3-upload-cutoff SizeSuffix حد آستانه برای جابهجایی به بارگذاری تکهای (پیشفرض 200Mi) |
| --s3-use-accelerate-endpoint در صورت true، استفاده از نقطه پایانی پرسرعت (accelerated) در AWS S3 |
| --s3-use-accept-encoding-gzip Accept-Encoding: gzip ارسال یا عدم ارسال سرآیند Accept-Encoding: gzip (پیشفرض unset) |
| --s3-use-already-exists Tristate تنظیم در صورتی که rclone باید خطاهای BucketAlreadyExists را هنگام ساخت باکت گزارش کند (پیشفرض unset) |
| --s3-use-arn-region در صورت true، پشتیبانی از arn region را برای سرویس فعال میکند |
| --s3-use-data-integrity-protections Tristate در صورت true، استفاده از محافظتهای یکپارچگی داده AWS S3 (پیشفرض unset) |
| --s3-use-dual-stack در صورت true، استفاده از نقطه پایانی دوپشتهای AWS S3 (پشتیبانی از IPv6) |
| --s3-use-multipart-etag Tristate استفاده از ETag در بارگذاریهای چندبخشی برای اعتبارسنجی (پیشفرض unset) |
| --s3-use-multipart-uploads Tristate تنظیم در صورتی که rclone باید از بارگذاریهای چندبخشی استفاده کند (پیشفرض unset) |
| --s3-use-presigned-request استفاده از درخواست از پیش امضاشده یا PutObject برای بارگذاریهای تکبخشی |
| --s3-use-unsigned-payload Tristate استفاده از بار داده بدون امضا در PutObject (پیشفرض unset) |
| --s3-use-x-id Tristate تنظیم در صورتی که rclone باید پارامترهای نشانی وب x-id را اضافه کند (پیشفرض unset) |
| --s3-v2-auth در صورت true، استفاده از احراز هویت نسخه ۲ (v2) |
| --s3-version-at Time نمایش نسخههای فایل همانطور که در زمان مشخصشده بودند (پیشفرض off) |
| --s3-version-deleted نمایش نشانگرهای فایل حذفشده هنگام استفاده از نسخهها |
| --s3-versions گنجاندن نسخههای قدیمی در فهرستهای دایرکتوری |
| --seafile-2fa احراز هویت دومرحلهای (مقدار 'true' اگر حساب دارای 2FA فعال باشد) |
| --seafile-create-library ایجاد کتابخانه توسط rclone در صورت عدم وجود آن |
| --seafile-description string توضیحات ریموت |
| --seafile-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8,Dot) |
| --seafile-library string نام کتابخانه |
| --seafile-library-key string گذرواژه کتابخانه (فقط برای کتابخانههای رمزگذاریشده) (مبهم) |
| --seafile-pass string گذرواژه (مبهم) |
| --seafile-url string نشانی URL میزبان seafile برای اتصال |
| --seafile-user string نام کاربری (معمولاً آدرس ایمیل) |
| --sftp-ask-password اجازه درخواست گذرواژه SFTP در صورت نیاز |
| --sftp-blake3sum-command string دستور مورد استفاده برای خواندن درهمسازهای BLAKE3 |
| --sftp-chunk-size SizeSuffix اندازه تکه برای بارگذاری و بارگیری (پیشفرض 32Ki) |
| --sftp-ciphers SpaceSepList فهرست جداشده با فاصله از رمزها برای رمزگذاری نشست، به ترتیب اولویت |
| --sftp-concurrency int حداکثر تعداد درخواستهای در حال انتظار برای یک فایل (پیشفرض 64) |
| --sftp-connections int حداکثر تعداد اتصالات همزمان SFTP، مقدار 0 برای نامحدود |
| --sftp-copy-is-hardlink تنظیم برای فعالسازی رونوشتهای سمت سرور با استفاده از پیوندهای سخت (hardlink) |
| --sftp-crc32sum-command string دستور مورد استفاده برای خواندن درهمسازهای CRC-32 |
| --sftp-description string توضیحات ریموت |
| --sftp-disable-concurrent-reads در صورت تنظیم، عدم استفاده از خواندنهای همزمان |
| --sftp-disable-concurrent-writes در صورت تنظیم، عدم استفاده از نوشتنهای همزمان |
| --sftp-disable-hashcheck غیرفعالسازی اجرای دستورهای SSH برای تعیین در دسترس بودن درهمسازی فایلهای ریموت |
| --sftp-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Del,Ctl,Dot) |
| --sftp-hashes CommaSepList فهرست جداشده با کاما از انواع جمعهای مقابلهای پشتیبانیشده |
| --sftp-host string میزبان SSH برای اتصال |
| --sftp-host-key-algorithms SpaceSepList فهرست جداشده با فاصله از الگوریتمهای کلید میزبان، به ترتیب اولویت |
| --sftp-host-keys CommaSepList کلیدهای میزبان پینشده برای این ریموت، مورد استفاده برای تأیید سرور |
| --sftp-http-proxy string نشانی URL برای پراکسی HTTP CONNECT |
| --sftp-idle-timeout Duration حداکثر زمان پیش از بستن اتصالات بیکار (پیشفرض 1m0s) |
| --sftp-key-exchange SpaceSepList فهرست جداشده با فاصله از الگوریتمهای تبادل کلید، به ترتیب اولویت |
| --sftp-key-file string مسیر فایل کلید خصوصی کدگذاریشده با PEM |
| --sftp-key-file-pass string عبارت عبور برای رمزگشایی فایل کلید خصوصی کدگذاریشده با PEM (مبهم) |
| --sftp-key-pem string کلید خصوصی خام با کدگذاری PEM |
| --sftp-key-use-agent در صورت تنظیم، استفاده از ssh-agent را اجباری میکند |
| --sftp-known-hosts-file string مسیر اختیاری به فایل known_hosts |
| --sftp-macs SpaceSepList فهرست جداشده با فاصله از الگوریتمهای MAC (کد اصالتسنجی پیام)، به ترتیب اولویت |
| --sftp-md5sum-command string دستور مورد استفاده برای خواندن درهمسازهای MD5 |
| --sftp-pass string گذرواژه SSH؛ برای استفاده از ssh-agent خالی بگذارید (مبهم) |
| --sftp-path-override string بازنویسی مسیر مورد استفاده توسط دستورهای پوسته SSH |
| --sftp-pin-host-key پین کردن کلید میزبان سرور در اولین اتصال (اعتماد در اولین استفاده یا TOFU) |
| --sftp-port int شماره درگاه SSH (پیشفرض 22) |
| --sftp-pubkey string گواهی عمومی SSH برای احراز هویت مبتنی بر گواهی عمومی |
| --sftp-pubkey-file string مسیر اختیاری به فایل کلید عمومی |
| --sftp-server-command string مسیر یا دستور را برای اجرای سرور sftp در میزبان دوردست مشخص میکند |
| --sftp-set-env SpaceSepList متغیرهای محیطی برای ارسال به sftp و دستورها |
| --sftp-set-modtime در صورت تنظیم، زمان ویرایش روی ریموت تنظیم میشود (پیشفرض true) |
| --sftp-sha1sum-command string دستور مورد استفاده برای خواندن درهمسازهای SHA-1 |
| --sftp-sha256sum-command string دستور مورد استفاده برای خواندن درهمسازهای SHA-256 |
| --sftp-shell-type string نوع پوسته SSH در سرور ریموت، در صورت وجود |
| --sftp-skip-links تنظیم برای صرفنظر از تمام پیوندهای نمادین و سایر فایلهای غیرعادی |
| --sftp-socks-proxy string میزبان پراکسی Socks 5 |
| --sftp-ssh SpaceSepList مسیر و آرگومانهای باینری خارجی ssh |
| --sftp-subsystem string زیرسیستم SSH2 را در میزبان ریموت مشخص میکند (پیشفرض "sftp") |
| --sftp-use-fstat در صورت تنظیم، استفاده از fstat به جای stat |
| --sftp-use-insecure-cipher فعالسازی استفاده از رمزها و روشهای تبادل کلید ناامن |
| --sftp-user string نام کاربری SSH (پیشفرض "$USER") |
| --sftp-xxh128sum-command string دستور مورد استفاده برای خواندن درهمسازهای XXH128 |
| --sftp-xxh3sum-command string دستور مورد استفاده برای خواندن درهمسازهای XXH3 |
| --shade-api-key string یک کلید API برای حساب شما |
| --shade-chunk-size SizeSuffix اندازه تکه مورد استفاده برای بارگذاری (پیشفرض 64Mi) |
| --shade-description string توضیحات ریموت |
| --shade-drive-id string شناسه درایو شما، این مورد در تنظیمات درایو قابل مشاهده است. پیکربندیهای جداگانه rclone باید برای هر درایو ایجاد شوند |
| --shade-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --shade-endpoint string نقطه پایانی برای سرویس |
| --shade-max-upload-parts int حداکثر تعداد بخشها در یک بارگذاری چندبخشی (پیشفرض 10000) |
| --shade-token string توکن JWT برای انجام عملیات Shade FS. این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد |
| --shade-token-expiry string زمان انقضای توکن JWT. این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد |
| --shade-upload-concurrency int همزمانی برای بارگذاریها و رونوشتهای چندبخشی. این تعداد تکههای همان فایل است که به صورت همزمان بارگذاری میشوند (پیشفرض 4) |
| --sharefile-auth-url string نشانی URL سرور احراز هویت |
| --sharefile-chunk-size SizeSuffix اندازه تکه بارگذاری (پیشفرض 64Mi) |
| --sharefile-client-credentials استفاده از گردش کار اعتبارات کارخواه (Client Credentials) در OAuth |
| --sharefile-client-id string شناسه کلاینت OAuth |
| --sharefile-client-secret string رمز کلاینت OAuth |
| --sharefile-description string توضیحات ریموت |
| --sharefile-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot) |
| --sharefile-endpoint string نقطه پایانی برای فراخوانیهای API |
| --sharefile-root-folder-id string شناسه پوشه ریشه |
| --sharefile-token string توکن دسترسی OAuth بهصورت یک blob جیسان |
| --sharefile-token-url string نشانی URL سرور توکن |
| --sharefile-upload-cutoff SizeSuffix حد آستانه برای جابهجایی به بارگذاری چندبخشی (پیشفرض 128Mi) |
| --sia-api-password string گذرواژه API دیمن Sia (مبهم) |
| --sia-api-url string نشانی URL مربوط به API دیمن Sia مانند http://sia.daemon.host:9980 (پیشفرض "http://127.0.0.1:9980") |
| --sia-description string توضیحات ریموت |
| --sia-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot) |
| --sia-user-agent string عامل کاربر Siad (پیشفرض "Sia-Agent") |
| --skip-links عدم هشدار درباره پیوندهای نمادین نادیدهگرفتهشده |
| --skip-specials عدم هشدار درباره لولهها (pipes)، سوکتها و اشیاء دستگاهیِ نادیدهگرفتهشده |
| --smb-case-insensitive اینکه آیا سرور طوری پیکربندی شده که به بزرگی و کوچکی حروف حساس نباشد (پیشفرض true) |
| --smb-description string توضیحات ریموت |
| --smb-domain string نام دامنه برای احراز هویت NTLM (پیشفرض "WORKGROUP") |
| --smb-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot) |
| --smb-hide-special-share پنهانسازی اشتراکهای ویژه (مانند $print) که کاربران نباید به آنها دسترسی داشته باشند (پیشفرض true) |
| --smb-host string نام میزبان سرور SMB برای اتصال |
| --smb-idle-timeout Duration حداکثر زمان پیش از بستن اتصالات بیکار (پیشفرض 1m0s) |
| --smb-kerberos-ccache string مسیر حافظه موقت اعتبارنامه کربروس (krb5cc) |
| --smb-pass string گذرواژه SMB (مبهم) |
| --smb-port int شماره درگاه SMB (پیشفرض 445) |
| --smb-spn string نام اصلی سرویس (SPN) |
| --smb-use-kerberos استفاده از احراز هویت Kerberos |
| --smb-user string نام کاربری SMB (پیشفرض "$USER") |
| --storj-access-grant string مجوز دسترسی (Access grant) |
| --storj-api-key string کلید API |
| --storj-description string توضیحات ریموت |
| --storj-passphrase string عبارت عبور رمزنگاری |
| --storj-provider string انتخاب یک روش احراز هویت (پیشفرض "existing") |
| --storj-satellite-address string آدرس ماهواره (پیشفرض "us1.storj.io") |
| --sugarsync-access-key-id string شناسه کلید دسترسی Sugarsync |
| --sugarsync-app-id string شناسه برنامه Sugarsync |
| --sugarsync-authorization string مجوز Sugarsync |
| --sugarsync-authorization-expiry string انقضای مجوز Sugarsync |
| --sugarsync-deleted-id string شناسه پوشه حذفشده در Sugarsync |
| --sugarsync-description string توضیحات ریموت |
| --sugarsync-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Ctl,InvalidUtf8,Dot) |
| --sugarsync-hard-delete حذف دائمی فایلها در صورت مقدار درست |
| --sugarsync-private-access-key string کلید دسترسی خصوصی Sugarsync |
| --sugarsync-refresh-token string توکن نوسازی Sugarsync |
| --sugarsync-root-id string شناسه ریشه Sugarsync |
| --sugarsync-user string کاربر Sugarsync |
| --swift-application-credential-id string شناسه اعتبارنامه برنامه (OS_APPLICATION_CREDENTIAL_ID) |
| --swift-application-credential-name string نام اعتبارنامه برنامه (OS_APPLICATION_CREDENTIAL_NAME) |
| --swift-application-credential-secret string رمز اعتبارنامه برنامه (OS_APPLICATION_CREDENTIAL_SECRET) |
| --swift-auth string نشانی URL احراز هویت برای سرور (OS_AUTH_URL) |
| --swift-auth-token string توکن احراز هویت از روش دیگر احراز هویت - اختیاری (OS_AUTH_TOKEN) |
| --swift-auth-version int نسخه احراز هویت - اختیاری - در صورتی که URL فاقد شماره نسخه است روی (1,2,3) تنظیم شود (ST_AUTH_VERSION) |
| --swift-chunk-size SizeSuffix فایلهای بزرگتر از این اندازه تکهتکه خواهند شد (پیشفرض 5Gi) |
| --swift-description string توضیحات ریموت |
| --swift-domain string دامنه کاربر - اختیاری (احراز هویت v3) (OS_USER_DOMAIN_NAME) |
| --swift-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,InvalidUtf8) |
| --swift-endpoint-type string نوع نقطه پایانی برای انتخاب از کاتالوگ سرویس (OS_ENDPOINT_TYPE) (پیشفرض "public") |
| --swift-env-auth دریافت اعتبارنامههای swift از متغیرهای محیطی در قالب استاندارد OpenStack |
| --swift-fetch-until-empty-page هنگام صفحهبندی، همیشه دریافت کن مگر اینکه یک صفحه خالی بازگردانده شود |
| --swift-key string کلید API یا گذرواژه (OS_PASSWORD) |
| --swift-leave-parts-on-error در صورت true، خودداری از فراخوانی لغو بارگذاری هنگام بروز خطا |
| --swift-no-chunk عدم تقسیم فایلها به تکهها هنگام بارگذاری جریانی |
| --swift-no-large-objects غیرفعالسازی پشتیبانی از اشیاء بزرگ ایستا و پویا |
| --swift-partial-page-fetch-threshold int هنگام صفحهبندی، در صورتی که صفحه کنونی در این درصد از حد مجاز باشد، دریافت کن |
| --swift-region string نام منطقه - اختیاری (OS_REGION_NAME) |
| --swift-storage-policy string سیاست ذخیرهسازی مورد استفاده هنگام ایجاد یک کانتینر جدید |
| --swift-storage-url string نشانی URL فضای ذخیرهسازی - اختیاری (OS_STORAGE_URL) |
| --swift-tenant string نام مستأجر - اختیاری برای احراز هویت v1، در غیر این صورت این مورد یا tenant_id الزامی است (OS_TENANT_NAME یا OS_PROJECT_NAME) |
| --swift-tenant-domain string دامنه مستأجر - اختیاری (احراز هویت v3) (OS_PROJECT_DOMAIN_NAME) |
| --swift-tenant-id string شناسه مستأجر - اختیاری برای احراز هویت v1، در غیر این صورت این مورد یا tenant الزامی است (OS_TENANT_ID) |
| --swift-use-segments-container Tristate انتخاب مقصد برای بخشهای اشیاء بزرگ (پیشفرض unset) |
| --swift-user string نام کاربری برای ورود (OS_USERNAME) |
| --swift-user-id string شناسه کاربر برای ورود - اختیاری - اکثر سیستمهای swift از کاربر استفاده کرده و این را خالی میگذارند (احراز هویت v3) (OS_USER_ID) |
| --ulozto-app-token string توکن برنامه جهت شناسایی برنامه. کلید API برنامه را میتوان در API یافت |
| --ulozto-description string توضیحات ریموت |
| --ulozto-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) |
| --ulozto-list-page-size int اندازه یک صفحه منفرد برای دستورهای فهرست. ۱-۵۰۰ (پیشفرض 500) |
| --ulozto-password string گذرواژه کاربر (مبهم) |
| --ulozto-root-folder-slug string در صورت تنظیم، rclone از این پوشه به عنوان پوشه ریشه برای تمام عملیاتها استفاده خواهد کرد. برای مثال، |
| --ulozto-username string نام کاربری مبنا (principal) برای اجرای عملیات با آن |
| --union-action-policy string سیاست انتخاب بالادست در دسته ACTION (پیشفرض "epall") |
| --union-cache-time int زمان حافظه موقت (کَش) برای فضای مصرفشده و آزاد (به ثانیه) (پیشفرض 120) |
| --union-create-policy string سیاست انتخاب بالادست در دسته CREATE (پیشفرض "epmfs") |
| --union-description string توضیحات ریموت |
| --union-min-free-space SizeSuffix حداقل فضای آزاد مناسب برای سیاستهای lfs/eplfs (پیشفرض 1Gi) |
| --union-search-policy string سیاست انتخاب بالادست در دسته SEARCH (پیشفرض "ff") |
| --union-upstreams string فهرستی از بالادستها که با فاصله جدا شدهاند |
| --webdav-auth-redirect حفظ احراز هویت در بازنشانی مسیر (redirect) |
| --webdav-bearer-token string توکن حامل (Bearer) به جای کاربر/گذرواژه (برای مثال یک Macaroon) |
| --webdav-bearer-token-command string دستور لازم برای اجرا جهت دریافت توکن حامل |
| --webdav-description string توضیحات ریموت |
| --webdav-encoding string کدگذاری برای بکاند |
| --webdav-headers CommaSepList تنظیم سرآیندهای HTTP برای تمام تراکنشها |
| --webdav-nextcloud-chunk-size SizeSuffix اندازه تکه بارگذاری Nextcloud (پیشفرض 10Mi) |
| --webdav-owncloud-exclude-mounts استثنا کردن حافظههای متصلشده (mount شده) در ownCloud |
| --webdav-owncloud-exclude-shares استثنا کردن اشتراکهای ownCloud |
| --webdav-pacer-min-sleep Duration حداقل زمان درنگ میان فراخوانیهای API (پیشفرض 10ms) |
| --webdav-pass string گذرواژه (مبهم) |
| --webdav-unix-socket string مسیر سوکت دامنه یونیکس برای اتصال به آن، به جای باز کردن مستقیم اتصال TCP |
| --webdav-url string نشانی URL میزبان http برای اتصال |
| --webdav-user string نام کاربری |
| --webdav-vendor string نام وبگاه/سرویس/نرمافزار WebDAV مورد استفاده شما |
| --yandex-auth-url string نشانی URL سرور احراز هویت |
| --yandex-client-credentials استفاده از گردش کار اعتبارات کارخواه (Client Credentials) در OAuth |
| --yandex-client-id string شناسه کلاینت OAuth |
| --yandex-client-secret string رمز کلاینت OAuth |
| --yandex-description string توضیحات ریموت |
| --yandex-encoding Encoding کدگذاری برای بکاند (پیشفرض Slash,Del,Ctl,InvalidUtf8,Dot) |
| --yandex-hard-delete حذف دائمی فایلها به جای انتقال آنها به سطل زباله |
| --yandex-spoof-ua تنظیم عامل کاربر (User Agent) مطابق با نسخه رسمی کلاینت دیسک یاندکس؛ ممکن است به عملکرد بارگذاری کمک کند (پیشفرض true) |
| --yandex-token string توکن دسترسی OAuth بهصورت یک blob جیسان |
| --yandex-token-url string نشانی URL سرور توکن |
| --yandex-upload-wait Duration مدتزمان انتظار پس از بارگذاری پیش از تنظیم زمان ویرایش (پیشفرض 0s) |
| --zoho-auth-url string نشانی URL سرور احراز هویت |
| --zoho-client-credentials استفاده از گردش کار اعتبارات کارخواه (Client Credentials) در OAuth |
| --zoho-client-id string شناسه کلاینت OAuth |
| --zoho-client-secret string رمز کلاینت OAuth |
| --zoho-description string توضیحات ریموت |
| --zoho-encoding Encoding کدگذاری برای بکاند (پیشفرض Del,Ctl,InvalidUtf8) |
| --zoho-list-folder-burst int تعداد فهرستبندیهای متوالی مجاز از همان پوشه پیش از اعمال محدودیت توسط --zoho-list-folder-limit (پیشفرض 6) |
| --zoho-list-folder-limit int حداکثر تعداد مجاز فهرستبندی همان پوشه در هر --zoho-list-folder-window (پیشفرض 19) |
| --zoho-list-folder-window Duration بازه زمانی برای --zoho-list-folder-limit (پیشفرض 1m0s) |
| --zoho-region string منطقه (Region) در Zoho برای اتصال |
| --zoho-root-folder-id string شناسه پوشه ریشه |
| --zoho-token string توکن دسترسی OAuth بهصورت یک blob جیسان |
| --zoho-token-url string نشانی URL سرور توکن |
| --zoho-tpslimit float حداکثر تعداد تراکنشهای API بر ثانیه (پیشفرض 6) |
| --zoho-tpslimit-burst int تعداد فراخوانیهای پشتسرهمِ مجاز API بدون توقف، برای --zoho-tpslimit (پیشفرض 1) |
| --zoho-upload-cutoff SizeSuffix حد آستانه برای جابهجایی به API بارگذاری فایلهای بزرگ (>= 10 MiB) (پیشفرض 10Mi) |
| .fi |
| "پلاگین ولوم داکر (Docker Volume Plugin)" |
| "مقدمه (Introduction)" |
| داکر ۱.۹ پشتیبانی از ایجاد ولومهای نامگذاریشده |
| (https://docs.docker.com/storage/volumes) |
| از طریق رابط خط فرمان |
| (https://docs.docker.com/engine/reference/commandline/volume_create) |
| و مونت کردن آنها در کانتینرها را به عنوان راهکاری برای به اشتراکگذاری دادهها میان آنها اضافه کرده است. |
| از داکر ۱.۱۰ به بعد میتوانید ولومهای نامگذاریشده را با Docker |
| Compose (https://docs.docker.com/compose) |
| بر اساس تعاریف موجود در فایلهای |
| docker-compose.yml (https://docs.docker.com/compose/compose-file/compose-file-v2/#volume-configuration-reference) |
| برای استفاده توسط گروههای کانتینری روی یک میزبان منفرد ایجاد کنید. |
| از داکر ۱.۱۲، ولومها توسط Docker |
| Swarm (https://docs.docker.com/engine/swarm/key-concepts) |
| که در Docker Engine گنجانده شده پشتیبانی میشوند و از روی تعاریف موجود در فایلهای swarm compose |
| v3 (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference) |
| برای استفاده به همراه swarm stacks در میان چندین گره کلاستر ایجاد میگردند. |
| پلاگینهای ولوم داکر |
| (https://docs.docker.com/engine/extend/plugins_volume) |
| درایور پیشفرض ولوم local داکر را با ولومهای دارای وضعیت (stateful) که بین کانتینرها و میزبانها به اشتراک گذاشته میشوند ارتقا میدهند. |
| برخلاف ولومهای محلی، هنگام حذف چنین ولومهایی دادههای شما پاک نخواهند شد. |
| پلاگینها میتوانند به صورت مدیریتشده توسط دیمن داکر، به عنوان یک سرویس سیستمی بومی (تحت systemd، sysv یا upstart) یا به شکل یک فایل اجرایی مستقل اجرا شوند. |
| برنامهٔ Rclone میتواند در تمام این حالتها به عنوان پلاگین ولوم داکر اجرا گردد. |
| این ابزار از طریق API پلاگین |
| (https://docs.docker.com/engine/extend/plugin_api) |
| با دیمن محلی داکر تعامل برقرار میکند و وظیفهٔ مونت کردن سیستمهای فایل راه دور در کانتینرهای داکر را بر عهده دارد؛ بنابراین باید روی همان میزبانی که دیمن داکر در حال اجراست یا روی تکتک گرههای Swarm اجرا شود. |
| "شروع به کار (Getting started)" |
| در اولین مثال از ولوم rclone با پروتکل SFTP (https://rclone.org/sftp) |
| به همراه Docker engine روی یک ماشین مستقل اوبونتو استفاده خواهیم کرد. |
| کار را با نصب Docker (https://docs.docker.com/engine/install) |
| روی میزبان آغاز کنید. |
| درایور FUSE پیشنیاز مونت کردن rclone است و باید روی میزبان نصب شود: |
| sudo apt-get -y install fuse3 |
| دو دایرکتوری مورد نیاز پلاگین داکر rclone را ایجاد کنید: |
| sudo mkdir -p /var/lib/docker-plugins/rclone/config |
| sudo mkdir -p /var/lib/docker-plugins/rclone/cache |
| پلاگین مدیریتشدهٔ rclone داکر را متناسب با معماری خود (در اینجا |
| amd64) نصب کنید: |
| docker plugin install rclone/docker-volume-rclone:amd64 args="-v" --alias rclone --grant-all-permissions |
| docker plugin list |
| ولوم SFTP خود را ایجاد کنید (https://rclone.org/sftp/#standard-options): |
| docker volume create firstvolume -d rclone -o type=sftp -o sftp-host=_hostname_ -o sftp-user=_username_ -o sftp-pass=_password_ -o allow-other=true |
| توجه داشته باشید که از آنجا که همهٔ گزینهها ایستا هستند، حتی نیازی به اجرای |
| rclone config یا ساخت فایل rclone.conf ندارید (اما |
| دایرکتوری config همچنان باید وجود داشته باشد). |
| در سادهترین حالت میتوانید از localhost به عنوان |
| hostname و از اطلاعات هویتی SSH خود به عنوان username و |
| password استفاده کنید. |
| همچنین میتوانید مسیر راه دور را به دایرکتوری خانگی خود روی میزبان تغییر دهید، |
| برای مثال -o path=/home/username. |
| اکنون زمان ایجاد یک کانتینر آزمایشی و مونت کردن ولوم در آن است: |
| docker run --rm -it -v firstvolume:/mnt --workdir /mnt ubuntu:latest bash |
| اگر همهچیز به درستی پیش برود، وارد کانتینر جدید خواهید شد و مستقیماً به مسیر ریموت مونتشدهٔ SFTP منتقل میشوید. |
| میتوانید دستور ls را برای مشاهدهٔ محتویات دایرکتوری مونتشده تایپ کنید یا کارهای دیگر خود را انجام دهید. |
| پس از اتمام کار، exit را وارد کنید. |
| کانتینر متوقف خواهد شد اما ولوم باقی میماند و آمادهٔ استفادهٔ مجدد است. |
| هنگامی که دیگر نیازی به آن نداشتید، آن را حذف کنید: |
| docker volume list |
| docker volume remove firstvolume |
| اکنون بیایید موردی پیشرفتهتر را امتحان کنیم: ولوم Google |
| Drive (https://rclone.org/drive) روی Docker Swarm چندگرهای. |
| باید کار را با نصب Docker و FUSE، ایجاد دایرکتوریهای پلاگین و نصب پلاگین rclone روی تکتک گرههای swarm آغاز کنید. |
| سپس Swarm را راهاندازی کنید (https://docs.docker.com/engine/swarm/swarm-mode). |
| ولومهای Google Drive به یک توکن دسترسی (access token) نیاز دارند که از طریق مرورگر وب قابل تنظیم بوده و به صورت دورهای توسط rclone تمدید میشود. |
| پلاگین مدیریتشده قادر به اجرای مرورگر نیست، بنابراین از روشی مشابه با راهاندازی rclone در سیستمهای بدون محیط گرافیکی |
| (https://rclone.org/remote_setup) استفاده خواهیم کرد. |
| دستور rclone config (https://rclone.org/commands/rclone_config_create) را روی |
| یک ماشین دیگر مجهز به مرورگر وب و رابط کاربری گرافیکی اجرا کنید. |
| ریموت Google Drive را ایجاد کنید |
| (https://rclone.org/drive/#standard-options). |
| پس از اتمام، فایل rclone.conf به دست آمده را به کلاستر Swarm منتقل کرده و آن را در مسیر |
| /var/lib/docker-plugins/rclone/config/rclone.conf روی |
| تمامی گرهها ذخیره نمایید. |
| به طور پیشفرض این مسیر فقط برای کاربر ریشه (root) قابل دسترسی است، بنابراین به مجوزهای مناسب نیاز خواهید داشت. |
| پیکربندی نهایی مشابه زیر خواهد بود: |
| [gdrive] |
| type = drive |
| scope = drive |
| drive_id = 1234567... |
| root_folder_id = 0Abcd... |
| token = {"access_token":...} |
| اکنون فایلی به نام example.yml با توصیف swarm stack مشابه زیر ایجاد کنید: |
| version: '3' |
| services: |
| heimdall: |
| image: linuxserver/heimdall:latest |
| ports: [8080:80] |
| volumes: [configdata:/config] |
| volumes: |
| configdata: |
| driver: rclone |
| driver_opts: |
| remote: 'gdrive:heimdall' |
| allow_other: 'true' |
| vfs_cache_mode: full |
| poll_interval: 0 |
| و استک را مستقر کنید: |
| docker stack deploy example -c ./example.yml |
| پس از چند ثانیه، داکر توصیف پردازششدهٔ استک را روی کلاستر توزیع کرده، سرویس example_heimdall را روی پورت |
| 8080 ایجاد میکند، کانتینرهای سرویس را روی یک یا چند گره کلاستر اجرا کرده و ولوم example_configdata را از پلاگینهای rclone روی میزبانهای گره درخواست مینماید. |
| میتوانید از دستورهای زیر برای تأیید نتایج استفاده کنید:.IP |
| docker service ls |
| docker service ps example_heimdall |
| docker volume ls |
| مرورگر خود را به http://cluster.host.address:8080 هدایت کرده و با سرویس کار کنید. |
| پس از اتمام کار، آن را با دستور docker stack remove example متوقف نمایید. |
| توجه داشته باشید که حجم(های) example_configdata که بنا به نیاز روی گرههای خوشه ایجاد شدهاند، همراه با stack بهطور خودکار حذف نخواهند شد، بلکه برای استفادههای بعدی باقی میمانند. |
| میتوانید آنها را با اجرای دستی دستور docker volume remove example_configdata در هر گره حذف کنید. |
| ایجاد حجمها از طریق خط فرمان (Creating Volumes via CLI) |
| حجمها را میتوان با دستور |
| docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create) |
| ایجاد کرد. |
| در اینجا چند مثال آورده شده است: |
| docker volume create vol1 -d rclone -o remote=storj: -o vfs-cache-mode=full |
| docker volume create vol2 -d rclone -o remote=:storj,access_grant=xxx:heimdall |
| docker volume create vol3 -d rclone -o type=storj -o path=heimdall -o storj-access-grant=xxx -o poll-interval=0 |
| به پرچم -d rclone توجه کنید که به docker اعلام میکند حجم را از درایور rclone درخواست کند. |
| این سازوکار حتی اگر درایور مدیریتشده را با نام کامل آن rclone/docker-volume-rclone نصب کرده باشید نیز کار میکند، زیرا گزینه --alias rclone را مشخص کردهاید. |
| حجمها را میتوان به صورت زیر بررسی کرد: |
| docker volume list |
| docker volume inspect vol1 |
| پیکربندی حجم (Volume Configuration) |
| پرچمهای rclone و گزینههای حجم از طریق پرچم -o در دستور |
| docker volume create تنظیم میشوند. |
| آنها شامل پارامترهای مختص backend و همچنین گزینههای mount و |
| VFS هستند. |
| همچنین چند گزینه ویژه -o وجود دارد: remote، |
| fs، type، path، mount-type و |
| persist. |
| گزینه remote نام یک remote موجود را از فایل پیکربندی، همراه با یک دونقطه در انتها و در صورت تمایل با یک مسیر remote مشخص میکند. |
| سینتکس کامل را در مستندات rclone |
| (https://rclone.org/docs/#syntax-of-remote-paths) ببینید. |
| این گزینه میتواند نام مستعار fs را داشته باشد تا از تداخل با پارامتر |
| remote در backendهایی مانند crypt یا |
| alias جلوگیری شود. |
| سینتکس remote=:backend:dir/subdir میتواند برای ایجاد remoteهای |
| آنی (بدون پیکربندی) به کار رود |
| (https://rclone.org/docs/#backend-path-to-dir)، در حالی که گزینههای |
| type و path جایگزین سادهتری برای این منظور ارائه میدهند. |
| استفاده از دو گزینه مجزا: |
| -o type=backend -o path=dir/subdir |
| معادل سینتکس ترکیبی زیر است: |
| -o remote=:backend:dir/subdir |
| اما مسلماً مقداردهی آن در اسکریپتها آسانتر است. |
| بخش path اختیاری است. |
| گزینههای Mount و VFS |
| (https://rclone.org/commands/rclone_serve_docker/#options) و همچنین |
| پارامترهای backend (https://rclone.org/flags/#backend) همانند پرچمهای خط فرمان |
| همتای خود بدون پیشوند -- نامگذاری میشوند. |
| در صورت تمایل میتوانید در نام گزینهها به جای خط تیره از زیرخط (underscore) استفاده کنید. |
| برای مثال، --vfs-cache-mode full تبدیل میشود به |
| -o vfs-cache-mode=full یا -o vfs_cache_mode=full. |
| پرچمهای بولی خط فرمان که بدون مقدار هستند، مقدار true را دریافت میکنند؛ مثلاً |
| --allow-other تبدیل میشود به -o allow-other=true یا |
| -o allow_other=true. |
| لطفاً توجه داشته باشید که تنها میتوانید پارامترهایی را برای backendای تعیین کنید |
| که مستقیماً توسط نوع backend مربوط به remote سوارشده ارجاع داده شده است. |
| اگر این یک backend پوششدهنده مانند alias، chunker یا crypt باشد، |
| نمیتوانید گزینههایی را برای remote یا backend ارجاعشده مشخص کنید. |
| این محدودیت توسط تجزیهگر رشته اتصال rclone اعمال شده است. |
| تنها راهکار جایگزین این است که افزونه را با rclone.conf تغذیه کنید یا |
| آرگومانهای افزونه را پیکربندی نمایید (پایین را ببینید)..SS گزینههای ویژه Volume (Special Volume Options) |
| گزینهٔ mount-type روش سوار کردن (mount) را تعیین میکند و بهطور کلی میتواند |
| یکی از این موارد باشد: mount، cmount یا mount2. |
| این گزینه میتواند با نام مستعار mount_type نیز به کار رود. |
| باید توجه داشت که افزونهٔ مدیریتشدهٔ docker برای rclone در حال حاضر |
| از روش cmount پشتیبانی نمیکند و به mount2 نیز بهندرت |
| نیاز است. |
| پیشفرض این گزینه نخستین روش یافتشده است، که معمولاً |
| mount میباشد، بنابراین عموماً به آن نیازی نخواهید داشت. |
| گزینهٔ persist یک گزینهٔ بولی (true/false) رزرو شده است. |
| در آینده، این گزینه امکان ماندگاری ریموتهای آنی (on-the-fly) را در فایل |
| rclone.conf افزونه فراهم خواهد کرد. |
| رشتههای اتصال (Connection Strings) |
| مقدار remote میتواند با رشتههای |
| اتصال (https://rclone.org/docs/#connection-strings) به عنوان روشی جایگزین |
| جهت ارائهٔ پارامترهای backend گسترش یابد. |
| این حالت با گزینههای backend دستور -o معادل است، با یک |
| تفاوت نحوی. |
| درون رشتهٔ اتصال، پیشوند backend باید از نام پارامترها حذف شود، اما در |
| آرایهٔ -o param=value باید حضور داشته باشد. |
| برای نمونه، آرایهٔ گزینهٔ زیر را: |
| -o remote=:sftp:/home -o sftp-host=localhost |
| با رشتهٔ اتصال معادل مقایسه کنید: |
| -o remote=:sftp,host=localhost:/home |
| این تفاوت از آنجا ناشی میشود که گزینههای پرچم -o key=val نه |
| تنها شامل پارامترهای backend، بلکه شامل پرچمهای mount/VFS و احتمالاً سایر |
| تنظیمات نیز میشوند. |
| همچنین این امکان را میدهد تا گزینهٔ remote از |
| crypt-remote (یا پارامترهای backend با نام مشابه) متمایز گردد و |
| به دلیل جایگزینی شفافتر مقادیر، اسکریپتنویسی را آسانتر میسازد. |
| استفاده با Swarm یا Compose (Using with Swarm or Compose) |
| هر دو ابزار Docker Swarm و Docker Compose از فایلهای متنی با |
| قالب YAML (http://yaml.org/spec/1.2/spec.html) برای توصیف گروهها (stackها)ی |
| کانتینرها، ویژگیها، شبکهها و حجمهای (volumes) آنها استفاده میکنند. |
| ابزار Compose از قالب compose |
| v2 (https://docs.docker.com/compose/compose-file/compose-file-v2/#volume-configuration-reference) |
| و Swarm از قالب compose |
| v3 (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference) |
| استفاده میکند. |
| آنها تا حد زیادی مشابه یکدیگر هستند؛ تفاوتهای آنها در مستندات |
| docker (https://docs.docker.com/compose/compose-file/compose-versioning/#upgrading) توضیح داده شده است. |
| حجمها توسط زیرشاخههای گرهٔ سطحبالای |
| volumes: توصیف میشوند. |
| هر یک از آنها باید متناسب با حجم مربوطه نامگذاری شده و حداقل دارای دو |
| عنصر باشد: مقدار مشخص driver: rclone و ساختار |
| driver_opts: که همان نقش پرچمهای خط فرمان |
| -o key=val را ایفا میکند: |
| volumes: |
| volume_name_1: |
| driver: rclone |
| driver_opts: |
| remote: 'gdrive:' |
| allow_other: 'true' |
| vfs_cache_mode: full |
| token: '{"type": "borrower", "expires": "2021-12-31"}' |
| poll_interval: 0 |
| به چند نکتهٔ مهم توجه کنید: |
| • 2 |
| قالب YAML استفاده از _ را به جای - در نام گزینهها ترجیح میدهد. |
| • 2 |
| قالب YAML با نقلقولهای تکی و دوتایی به صورت یکسان برخورد میکند. |
| رشتههای ساده و اعداد صحیح را میتوان بدون نقلقول قرار داد. |
| • 2 |
| مقادیر بولی باید مانند 'true' یا |
| "false" در نقلقول قرار گیرند، چرا که این دو کلمه توسط YAML رزرو شدهاند. |
| • 2 |
| رشتهٔ فایلسیستم با کلید remote (یا |
| fs) مشخص میشود. |
| معمولاً میتوانید از نقلقول در اینجا صرفنظر کنید، اما اگر رشته با دونقطه پایان یابد، |
| باید آن را مانند |
| remote: "storage_box:" در نقلقول قرار دهید. |
| • 2 |
| قالب YAML نسبت به آکولادهای احاطهکننده در مقادیر حساس است، چرا که این در واقع |
| نحو دیگری برای نگاشتهای کلید/مقدار |
| (http://yaml.org/spec/1.2/spec.html#id2790832) است. |
| برای نمونه، توکنهای دسترسی JSON معمولاً حاوی نقلقولهای دوتایی و |
| آکولادهای احاطهکننده هستند، بنابراین باید آنها را درون نقلقول تکی بگذارید..SS نصب بهصورت افزونه مدیریتشده |
| دیمن Docker میتواند افزونهها را از یک رجیستری ایمیج نصب کرده و آنها را بهصورت مدیریتشده (managed) اجرا کند. |
| ما ایمیج افزونهٔ |
| docker-volume-rclone (https://hub.docker.com/p/rclone/docker-volume-rclone) |
| را روی Docker Hub (https://hub.docker.com) نگهداری میکنیم. |
| افزونه حجم Rclone نیازمند Docker Engine >= 19.03.15 است. |
| این افزونه پیش از نصب، نیازمند وجود دو دایرکتوری روی میزبان است. |
| توجه داشته باشید که افزونه آنها را بهصورت خودکار ایجاد نخواهد کرد. |
| بهطور پیشفرض، این دایرکتوریها باید در مسیرهای زیر روی میزبان موجود باشند (اگرچه میتوانید مسیرها را تغییر دهید): |
| • 2 |
| مسیر /var/lib/docker-plugins/rclone/config برای فایل پیکربندی |
| rclone.conf رزرو شده است و باید وجود داشته باشد، حتی اگر |
| خالی بوده و فایل پیکربندی موجود نباشد. |
| • 2 |
| مسیر /var/lib/docker-plugins/rclone/cache فایل وضعیت افزونه و |
| همچنین کشهای اختیاری VFS را نگه میدارد. |
| میتوانید افزونهٔ |
| مدیریتشده (https://docs.docker.com/engine/reference/commandline/plugin_install) |
| را با تنظیمات پیشفرض بهصورت زیر نصب کنید: |
| docker plugin install rclone/docker-volume-rclone:amd64 --grant-all-permissions --alias rclone |
| بخش :amd64 در مشخصات ایمیج که پس از دونقطه میآید، برچسب (tag) نامیده میشود. |
| معمولاً میخواهید آخرین نسخهٔ افزونه را برای معماری سیستم خود نصب کنید. |
| در این حالت، برچسب صرفاً نام معماری خواهد بود، مانند amd64 در بالا. |
| معماریهای زیر در حال حاضر برای افزونه در دسترس هستند: |
| • 2 |
| amd64 |
| • 2 |
| arm64 |
| • 2 |
| arm-v7 |
| گاهی ممکن است نسخهای خاص از افزونه را بخواهید، نه آخرین نسخهٔ آن را. |
| در این صورت باید از برچسب ایمیج به شکل |
| :ARCHITECTURE-VERSION استفاده کنید. |
| برای مثال، جهت نصب نسخهٔ v1.56.2 افزونه روی معماری |
| arm64 باید از برچسب arm64-1.56.2 استفاده کنید (توجه داشته باشید که |
| حرف v حذف شده است)، بنابراین مشخصات کامل ایمیج بهصورت |
| rclone/docker-volume-rclone:arm64-1.56.2 درمیآید. |
| ما برچسب latest را نیز برای افزونه ارائه میدهیم، اما از آنجا که تا زمان نگارش این متن docker |
| از افزونههای چندمعماری پشتیبانی نمیکند، این برچسب در حال حاضر یک نام مستعار برای amd64 است. |
| طبق قرارداد، برچسب latest پیشفرض بوده و میتواند |
| حذف شود؛ بنابراین هم rclone/docker-volume-rclone:latest و هم صرفاً |
| rclone/docker-volume-rclone به آخرین نگارش افزونه برای پلتفرم amd64 اشاره خواهند داشت. |
| همچنین بخش amd64 را میتوان از برچسبهای نسخهدار افزونه rclone حذف کرد. |
| برای مثال، مرجع ایمیج rclone بهصورت |
| rclone/docker-volume-rclone:amd64-1.56.2 میتواند برای راحتی بهصورت |
| rclone/docker-volume-rclone:1.56.2 خلاصه شود. |
| با این حال، برای معماریهای غیر اینتل همچنان باید از برچسب کامل استفاده کنید، |
| زیرا اجرای amd64 یا latest ناموفق خواهد بود. |
| افزونهٔ مدیریتشده در واقع یک کانتینر ویژه است که در یک فضای نام (namespace) |
| مجزا از کانتینرهای عادی docker اجرا میشود. |
| درون آن دستور rclone serve docker اجرا میگردد. |
| دایرکتوریهای config و cache در زمان راهاندازی بهصورت bind-mount به درون کانتینر متصل میشوند. |
| دیمن docker به یک سوکت unix که توسط دستور درون کانتینر ایجاد شده است متصل میشود. |
| این دستور اتصالات راهدور را بر حسب تقاضا درون خود ایجاد کرده، سپس سازوکار docker |
| آنها را از طریق فضاهای نام اتصال (mount namespaces) هسته منتشر ساخته و بهصورت |
| bind-mount به کانتینرهای کاربری درخواستکننده متصل میکند. |
| میتوانید پس از نصب، زمانی که افزونه غیرفعال است (در حال استفاده نیست)، برخی از تنظیمات آن را تغییر دهید؛ برای نمونه: |
| docker plugin disable rclone |
| docker plugin set rclone RCLONE_VERBOSE=2 config=/etc/rclone args="--vfs-cache-mode=writes --allow-other" |
| docker plugin enable rclone |
| docker plugin inspect rclone |
| توجه داشته باشید که اگر docker از غیرفعالسازی افزونه خودداری کرد، باید تمام حجمهای فعال متصل به آن |
| و همچنین کانتینرها و سرویسهای swarm استفادهکننده از آنها را پیدا کرده و حذف کنید. |
| این کار نسبتاً دشوار و زمانبر است، بنابراین لطفاً از پیش با دقت برنامهریزی کنید. |
| میتوانید تنظیمات زیر را تغییر دهید: args، config، |
| cache، HTTP_PROXY، HTTPS_PROXY، |
| NO_PROXY و RCLONE_VERBOSE. |
| همگام نگهداشتن تنظیمات افزونه در سراسر گرههای کلاستر swarm وظیفهٔ شما است. |
| تنظیم args آرگومانهای خط فرمان را برای |
| دستور rclone serve docker مشخص میکند (بهطور پیشفرض none). |
| آرگومانها باید با فاصله از هم جدا شوند، بنابراین معمولاً مایل خواهید بود آنها را در خط فرمان |
| docker plugin set (https://docs.docker.com/engine/reference/commandline/plugin_set) |
| داخل نقلقول (کوتیشن) قرار دهید. |
| هم پرچمهای |
| serve docker (https://rclone.org/commands/rclone_serve_docker#options) |
| و هم پرچمهای عمومی rclone (https://rclone.org/flags) پشتیبانی میشوند، |
| از جمله پارامترهای backend که بهعنوان پیشفرض برای ایجاد حجم به کار خواهند رفت. |
| توجه داشته باشید که در صورت خالی بودن مقدار args، افزونه (به دلیل این |
| باگ docker (https://github.com/moby/moby/blob/v20.10.7/plugin/v2/plugin.go#L195)) |
| با خطا مواجه خواهد شد. |
| بهعنوان یک راهحل جایگزین، برای نمونه از |
| args="-v" استفاده کنید. |
| تنظیم config=/host/dir مسیر جایگزینی را روی میزبان برای دایرکتوری config تعیین میکند. |
| افزونه فایل rclone.conf را در اینجا جستجو خواهد کرد. |
| عدم وجود فایل پیکربندی خطا محسوب نمیشود، اما دایرکتوری حتماً باید موجود باشد. |
| لطفاً توجه داشته باشید که افزونه ممکن است بهطور دورهای فایل پیکربندی را بازنویسی کند، برای نمونه |
| هنگامی که توکنهای دسترسی به فضای ذخیرهسازی را تمدید میکند. |
| این نکته را در نظر داشته باشید و بکوشید از شرایط رقابتی (race condition) بین افزونه و سایر نمونههای |
| rclone روی میزبان که ممکن است همزمان قصد تغییر پیکربندی را داشته باشند و منجر به خرابی rclone.conf شوند، جلوگیری کنید. |
| همچنین میتوانید فایلهایی مانند کلیدهای خصوصی برای ریموتهای SFTP را در این دایرکتوری قرار دهید. |
| فقط توجه داشته باشید که این مسیر در داخل کانتینر افزونه روی مسیر پیشتعریفشدهٔ /data/config متصل (bind-mount) میشود. |
| برای مثال، اگر نام فایل کلید شما روی میزبان sftp-box1.key باشد، گزینهٔ پیکربندی حجم مربوطه باید بهصورت |
| -o sftp-key-file=/data/config/sftp-box1.key تعیین شود. |
| تنظیم cache=/host/dir مسیر جایگزینی را روی میزبان برای |
| دایرکتوری cache مشخص میکند. |
| افزونه کشهای VFS را در اینجا نگه میدارد. |
| همچنین فایل docker-plugin.state را در این دایرکتوری ایجاد و نگهداری خواهد کرد. |
| هنگامی که افزونه راهاندازی مجدد یا دوباره نصب شود، برای بازسازی حجمهایی که پیشتر وجود داشتهاند به این فایل مراجعه میکند. |
| با این حال، پس از راهاندازی مجدد، این حجمها دوباره به درون کانتینرهای مصرفکننده متصل نخواهند شد. |
| معمولاً این امر مشکلی نیست، زیرا دیمن docker بهطور عادی کانتینرهای کاربری متأثر را پس از بروز خطاها، |
| راهاندازی مجدد دیمن یا راهاندازی مجدد میزبان، دوباره راهاندازی میکند. |
| تنظیم RCLONE_VERBOSE سطح پرحرفی (verbosity) افزونه را از 0 (صرفاً خطاها، بهطور پیشفرض) |
| تا 2 (اشکالزدایی) تعیین میکند. |
| میزان پرحرفی را میتوان از طریق args="-v [-v] ..." نیز تنظیم کرد. |
| از آنجا که آرگومانها عمومیتر هستند، بهندرت به این تنظیم نیاز خواهید داشت. |
| خروجی افزونه بهطور پیشفرض لاگ دیمن docker را روی میزبان محلی تغذیه میکند. |
| مدخلهای لاگ بهصورت خطا (error) در لاگ docker منعکس میشوند، اما سطح واقعی تعیینشده توسط rclone |
| را در رشتهٔ پیام کپسولهشده حفظ میکنند. |
| متغیرهای HTTP_PROXY، HTTPS_PROXY و NO_PROXY |
| تنظیمات پروکسی افزونه را سفارشیسازی میکنند. |
| میتوانید گزینههای سفارشی افزونه را مستقیماً هنگام نصب آن، یکباره تنظیم کنید: |
| docker plugin remove rclone |
| docker plugin install rclone/docker-volume-rclone:amd64 \ |
| --alias rclone --grant-all-permissions \ |
| args="-v --allow-other" config=/etc/rclone |
| docker plugin inspect rclone |
| پروتکل docker plugin volume راهکاری برای افزونهها فراهم نمیکند تا دیمن docker را از در دسترس بودن یا نبودن یک volume مطلع سازند. |
| بهعنوان یک راهکار موقت میتوانید یک healthcheck تنظیم کنید تا از پاسخگو بودن نقطه اتصال (mount) اطمینان حاصل شود، برای نمونه: |
| services: |
| my_service: |
| image: my_image |
| healthcheck: |
| test: ls /path/to/rclone/mount || exit 1 |
| interval: 1m |
| timeout: 15s |
| retries: 3 |
| start_period: 15s |
| اجرای افزونه تحت Systemd (Running Plugin under Systemd) |
| در بیشتر موارد باید حالت مدیریتشده (managed mode) را ترجیح دهید. |
| علاوه بر این، MacOS و Windows از افزونههای بومی Docker پشتیبانی نمیکنند. |
| لطفاً در این سیستمها از حالت managed استفاده کنید. |
| تنها در صورتی ادامه دهید که از Linux استفاده میکنید. |
| ابتدا، rclone را نصب کنید (https://rclone.org/install). |
| برای آزمایش میتوانید فقط آن را اجرا کنید (عبارت rclone serve docker را تایپ کرده و کلید Enter را بزنید). |
| بسته FUSE را نصب کنید: |
| sudo apt-get -y install fuse |
| دو فایل پیکربندی systemd زیر را بارگیری کنید: |
| docker-volume-rclone.service (https://raw.githubusercontent.com/rclone/rclone/master/contrib/docker-plugin/systemd/docker-volume-rclone.service) |
| و |
| docker-volume-rclone.socket (https://raw.githubusercontent.com/rclone/rclone/master/contrib/docker-plugin/systemd/docker-volume-rclone.socket). |
| آنها را در دایرکتوری /etc/systemd/system/ قرار دهید: |
| cp docker-volume-plugin.service /etc/systemd/system/ |
| cp docker-volume-plugin.socket /etc/systemd/system/ |
| لطفاً توجه داشته باشید که تمام دستورات این بخش باید با دسترسی کاربر ریشه (root) اجرا شوند، اما ما پیشوند sudo را برای رعایت اختصار حذف کردهایم. |
| اکنون دایرکتوریهای مورد نیاز سرویس را بسازید: |
| mkdir -p /var/lib/docker-volumes/rclone |
| mkdir -p /var/lib/docker-plugins/rclone/config |
| mkdir -p /var/lib/docker-plugins/rclone/cache |
| سرویس افزونه docker را در حالت فعالسازی با سوکت (socket activated) اجرا کنید: |
| systemctl daemon-reload |
| systemctl start docker-volume-rclone.service |
| systemctl enable docker-volume-rclone.socket |
| systemctl start docker-volume-rclone.socket |
| systemctl restart docker |
| یا سرویس را بهطور مستقیم اجرا کنید: |
| • 2 |
| دستور systemctl daemon-reload را اجرا کنید تا systemd پیکربندی جدید را اعمال کند. |
| • 2 |
| دستور systemctl enable docker-volume-rclone.service را اجرا کنید تا سرویس جدید هنگام روشن شدن دستگاه بهطور خودکار آغاز به کار کند. |
| • 2 |
| دستور systemctl start docker-volume-rclone.service را برای شروع سرویس در همین لحظه اجرا کنید. |
| • 2 |
| دستور systemctl restart docker را اجرا کنید تا دیمن docker مجدداً راهاندازی شده و سوکت افزونه جدید را شناسایی کند. |
| توجه داشته باشید که این مرحله در حالت managed که docker از تغییرات وضعیت افزونه آگاه است، لازم نیست. |
| هر دو روش از دیدگاه کاربر معادل یکدیگر هستند، اما من شخصاً فعالسازی با سوکت را ترجیح میدهم..SS "عیبیابی (Troubleshooting)" |
| میتوانید تنظیمات افزونهٔ مدیریتشده را (https://docs.docker.com/engine/extend/#debugging-plugins) با دستورهای زیر مشاهده کنید: |
| docker plugin list |
| docker plugin inspect rclone |
| توجه داشته باشید که docker (حتی آخرین نسخهٔ 20.10.7) مقادیر واقعی args را نمایش نمیدهد، بلکه تنها مقادیر پیشفرض را نشان میدهد. |
| برای مشاهدهٔ خروجی افزونهٔ مدیریتشده به عنوان بخشی از لاگ دیمن docker، از دستور journalctl --unit docker استفاده کنید. |
| توجه داشته باشید که docker خطوط افزونه را به عنوان errors نشان میدهد، اما سطح واقعی آنها از طریق رشتهٔ پیام کپسولهشده قابل مشاهده است. |
| شما معمولاً آخرین نسخه از افزونهٔ مدیریتشده را برای بستر (platform) خود نصب خواهید کرد. |
| برای چاپ نسخهٔ واقعی نصبشده، دستورهای زیر را به کار ببرید: |
| PLUGID=$(docker plugin list --no-trunc | awk '/rclone/{print$1}') |
| sudo runc --root /run/docker/runtime-runc/plugins.moby exec $PLUGID rclone version |
| حتی میتوانید از runc برای اجرای شل (shell) درون کانتینر افزونه استفاده کنید: |
| sudo runc --root /run/docker/runtime-runc/plugins.moby exec --tty $PLUGID bash |
| همچنین میتوانید از curl برای بررسی اتصالپذیری سوکت افزونه استفاده کنید: |
| docker plugin list --no-trunc |
| PLUGID=123abc... |
| sudo curl -H Content-Type:application/json -XPOST -d {} --unix-socket /run/docker/plugins/$PLUGID/rclone.sock http://localhost/Plugin.Activate |
| اگرچه این کار بهندرت مورد نیاز است. |
| اگر افزونه به درستی کار نمیکند، و فقط به عنوان آخرین راهکار پس از تلاش برای عیبیابی با روشهای فوق، میتوانید وضعیت (state) افزونه را پاک کنید. |
| توجه داشته باشید که احتمالاً همهٔ حجمهای rclone docker موجود باید دوباره ایجاد شوند. همانطور که پیشتر گفته شد، ممکن است به این کار نیاز باشد زیرا نصب مجدد، فایلهای وضعیت موجود را پاک نمیکند تا بازیابی آسان میسر باشد. |
| docker plugin disable rclone # disable the plugin to ensure no interference |
| sudo rm /var/lib/docker-plugins/rclone/cache/docker-plugin.state # removing the plugin state |
| docker plugin enable rclone # re-enable the plugin afterward |
| "نکات قابل توجه (Caveats)" |
| در پایان میخواهم به یک نکتهٔ مهم دربارهٔ بهروزرسانی تنظیمات حجم (volume) اشاره کنم. |
| رابط خط فرمان Docker CLI دستور اختصاصی مانند docker volume update ندارد. |
| ممکن است اجرای docker volume create با گزینههای بهروزرسانیشده روی یک حجم موجود وسوسهانگیز به نظر برسد، اما یک تله در این میان وجود دارد. |
| این دستور هیچ کاری انجام نخواهد داد و حتی خطایی نیز برنمیگرداند. |
| امیدوارم نگهدارندگان docker روزی این مشکل را برطرف کنند. |
| در این فاصله آگاه باشید که باید قبل از ایجاد مجدد حجم با تنظیمات جدید، ابتدا حجم قبلی را حذف کنید: |
| docker volume remove my_vol |
| docker volume create my_vol -d rclone -o opt1=new_val1 ... |
| و بررسی کنید که تنظیمات بهروزرسانی شده باشند: |
| docker volume list |
| docker volume inspect my_vol |
| اگر docker از حذف حجم خودداری کرد، باید کانتینرها یا سرویسهای swarm که از آن استفاده میکنند را پیدا کرده و ابتدا آنها را متوقف کنید..SS Bisync |
| دستور bisync یک دستور پیشرفته به شمار میرود، بنابراین با احتیاط از آن استفاده کنید. |
| پیش از استفاده، اطمینان حاصل کنید که کل راهنما (https://rclone.org/bisync) (بهویژه بخش محدودیتها) را خوانده و متوجه شدهاید؛ در غیر این صورت ممکن است دادهها از دست بروند. |
| پرسشها را میتوانید در انجمن Rclone (https://forum.rclone.org) مطرح کنید. |
| "شروع به کار (Getting started)" |
| • 2 |
| برنامه rclone را نصب کرده (https://rclone.org/install) و ریموتهای خود را پیکربندی کنید. |
| • 2 |
| دستور Bisync دایرکتوری کاری خود را در |
| ~/.cache/rclone/bisync روی Linux، |
| /Users/yourusername/Library/Caches/rclone/bisync روی Mac یا |
| C:\Users\MyLogin\AppData\Local\rclone\bisync |
| روی Windows ایجاد میکند. |
| اطمینان حاصل کنید که این مکان قابل نوشتن باشد. |
| • 2 |
| دستور bisync را با پرچم --resync و با تعیین مسیرهای ریشه دایرکتوریهای همگامسازی محلی و دوردست اجرا کنید. |
| • 2 |
| برای دفعات بعدی اجرای همگامسازی، پرچم --resync را حذف کنید. |
| (مهم!) |
| • 2 |
| برای مستثنی کردن فایلها و دایرکتوریهای غیرضروری از همگامسازی، استفاده از یک فایل فیلترها را در نظر بگیرید. |
| • 2 |
| برای ایمنی بیشتر، راهاندازی ویژگی --check-access را در نظر داشته باشید. |
| • 2 |
| در Linux یا Mac، تنظیم یک مدخل crontab را در نظر بگیرید. |
| به لطف فایلهای قفلی که bisync نگهداری میکند، این دستور میتواند با اطمینان در وظایف همروند cron اجرا شود. |
| بهعنوان مثال، نخستین دستور شما ممکن است به این شکل باشد: |
| rclone bisync remote1:path1 remote2:path2 --create-empty-src-dirs --compare size,modtime,checksum --slow-hash-sync-only --resilient -MvP --drive-skip-gdocs --fix-case --resync --dry-run |
| اگر همهچیز مناسب به نظر میرسد، آن را دوباره بدون --dry-run اجرا کنید. |
| پس از آن، --resync را نیز حذف کنید. |
| در اینجا گزارش یک اجرای نمونه آمده است (برچسبهای زمانی برای وضوح بیشتر حذف شدهاند): |
| rclone bisync /testdir/path1/ /testdir/path2/ --verbose |
| INFO : Synching Path1 "/testdir/path1/" with Path2 "/testdir/path2/" |
| INFO : Path1 checking for diffs |
| INFO : - Path1 File is new - file11.txt |
| INFO : - Path1 File is newer - file2.txt |
| INFO : - Path1 File is newer - file5.txt |
| INFO : - Path1 File is newer - file7.txt |
| INFO : - Path1 File was deleted - file4.txt |
| INFO : - Path1 File was deleted - file6.txt |
| INFO : - Path1 File was deleted - file8.txt |
| INFO : Path1: 7 changes: 1 new, 3 newer, 0 older, 3 deleted |
| INFO : Path2 checking for diffs |
| INFO : - Path2 File is new - file10.txt |
| INFO : - Path2 File is newer - file1.txt |
| INFO : - Path2 File is newer - file5.txt |
| INFO : - Path2 File is newer - file6.txt |
| INFO : - Path2 File was deleted - file3.txt |
| INFO : - Path2 File was deleted - file7.txt |
| INFO : - Path2 File was deleted - file8.txt |
| INFO : Path2: 7 changes: 1 new, 3 newer, 0 older, 3 deleted |
| INFO : Applying changes |
| INFO : - Path1 Queue copy to Path2 - /testdir/path2/file11.txt |
| INFO : - Path1 Queue copy to Path2 - /testdir/path2/file2.txt |
| INFO : - Path2 Queue delete - /testdir/path2/file4.txt |
| NOTICE: - WARNING New or changed in both paths - file5.txt |
| NOTICE: - Path1 Renaming Path1 copy - /testdir/path1/file5.txt..path1 |
| NOTICE: - Path1 Queue copy to Path2 - /testdir/path2/file5.txt..path1 |
| NOTICE: - Path2 Renaming Path2 copy - /testdir/path2/file5.txt..path2 |
| NOTICE: - Path2 Queue copy to Path1 - /testdir/path1/file5.txt..path2 |
| INFO : - Path2 Queue copy to Path1 - /testdir/path1/file6.txt |
| INFO : - Path1 Queue copy to Path2 - /testdir/path2/file7.txt |
| INFO : - Path2 Queue copy to Path1 - /testdir/path1/file1.txt |
| INFO : - Path2 Queue copy to Path1 - /testdir/path1/file10.txt |
| INFO : - Path1 Queue delete - /testdir/path1/file3.txt |
| INFO : - Path2 Do queued copies to - Path1 |
| INFO : - Path1 Do queued copies to - Path2 |
| INFO : - Do queued deletes on - Path1 |
| INFO : - Do queued deletes on - Path2 |
| INFO : Updating listings |
| INFO : Validating listings for Path1 "/testdir/path1/" vs Path2 "/testdir/path2/" |
| INFO : Bisync successful |
| $ rclone bisync --help |
| کاربرد: |
| rclone bisync remote1:path1 remote2:path2 [flags] |
| آرگومانهای موقعیتی: |
| Path1, Path2 مسیر محلی، یا فضای ذخیرهسازی ریموت با ':' به همراه مسیر اختیاری. |
| برای مشاهده فهرست ریموتهای پیکربندیشده، 'rclone listremotes' را وارد کنید. |
| گزینههای اختیاری: |
| --backup-dir1 string مسیر --backup-dir برای Path1. باید یک مسیر غیرهمپوشان روی همان ریموت باشد. |
| --backup-dir2 string مسیر --backup-dir برای Path2. باید یک مسیر غیرهمپوشان روی همان ریموت باشد. |
| --check-access اطمینان از یافتشدن فایلهای موردانتظار RCLONE_TEST در هر دو سیستمفایل Path1 و Path2، در غیر این صورت لغو عملیات. |
| --check-filename string نام فایل برای --check-access (پیشفرض: RCLONE_TEST) |
| --check-sync string کنترل مقایسه فهرستهای نهایی: true|false|only (پیشفرض: true) (پیشفرض "true") |
| --compare string فهرست جداشده با کاما از گزینههای مقایسه مختص bisync مانند 'size,modtime,checksum' (پیشفرض: 'size,modtime') |
| --conflict-loser ConflictLoserAction اقدام لازم روی بازنده تداخل همگامسازی (وقتی برندهای هست) یا هر دو فایل (وقتی برندهای نیست): , num, pathname, delete (پیشفرض: num) |
| --conflict-resolve string حل خودکار تداخلها با ترجیح نسخهای که: none, path1, path2, newer, older, larger, smaller (پیشفرض: none) (پیشفرض "none") |
| --conflict-suffix string پسوند مورد استفاده هنگام تغییر نام --conflict-loser. میتواند یک رشته یا دو رشته جداشده با کاما برای تخصیص پسوندهای متفاوت به Path1/Path2 باشد. (پیشفرض: 'conflict') |
| --create-empty-src-dirs همگامسازی ایجاد و حذف دایرکتوریهای خالی. (ناسازگار با --remove-empty-dirs) |
| --download-hash محاسبه هش با بارگیری در صورت عدم دسترسی از راههای دیگر. (هشدار: ممکن است کند باشد و حجم زیادی مصرف کند!) |
| --filters-file string خواندن الگوهای فیلتر از یک فایل |
| --force دور زدن بررسی ایمنی --max-delete و اجرای همگامسازی. استفاده به همراه --verbose توصیه میشود |
| -h, --help راهنمای bisync |
| --ignore-listing-checksum عدم استفاده از چکسامها برای فهرستها (افزودن --ignore-checksum برای نادیدهگرفتن مضاعف بررسی چکسام پس از کپی) |
| --max-lock Duration منقضی فرض کردن فایلهای قفل قدیمیتر از این مدت (پیشفرض: 0 (هرگز منقضی نشود)) (حداقل: 2m) (پیشفرض 0s) |
| --no-cleanup نگهداشتن فایلهای کاری (مفید برای عیبیابی و آزمایش). |
| --no-slow-hash نادیدهگرفتن چکسام فهرستها فقط در بکاندهایی که در آنها کند هستند |
| --recover بازیابی خودکار از وقفهها بدون نیاز به --resync. |
| --remove-empty-dirs حذف همه دایرکتوریهای خالی در مرحله پاکسازی نهایی. |
| --resilient امکان تلاش مجدد در اجراهای بعدی پس از برخی خطاهای کماهمیتتر، به جای الزام به --resync. |
| -1, --resync اجرای همگامسازی مجدد (resync). معادل --resync-mode path1. استفاده از --verbose یا --dry-run در ابتدا توصیه میشود. |
| --resync-mode string در طول resync، ترجیح دادن نسخهای که: path1, path2, newer, older, larger, smaller (پیشفرض: path1 اگر --resync داده شود، در غیر این صورت none برای عدم resync.) (پیشفرض "none") |
| --retries int تعداد دفعات تلاش مجدد در صورت شکست عملیاتها (نیازمند --resilient). (پیشفرض 3) |
| --retries-sleep Duration فاصله زمانی بین تلاشهای مجدد در صورت شکست عملیاتها، مثلاً 500ms, 60s, 5m (مقدار 0 برای غیرفعالسازی) (پیشفرض 0s) |
| --slow-hash-sync-only نادیدهگرفتن چکسامهای کند برای فهرستها و دلتاها، اما لحاظ کردن آنها در فراخوانیهای sync. |
| --workdir string استفاده از دایرکتوری کاری سفارشی - مفید برای آزمایش. (پیشفرض: {WORKDIR}) |
| --max-delete PERCENT بررسی ایمنی حداکثر درصد مجاز فایلهای حذفشده. در صورت فراتر رفتن، اجرای bisync لغو خواهد شد. (پیشفرض: 50%) |
| -n, --dry-run اجرای آزمایشی بدون اعمال تغییرات - هیچ فایلی کپی یا حذف نمیشود. |
| -v, --verbose افزایش سطح گزارشگیری (verbosity). برای جزئیات بیشتر میتواند بیش از یک بار مشخص شود. |
| پرچمهای دلخواه rclone میتوانند در خط فرمان bisync |
| (https://rclone.org/commands/rclone_bisync) مشخص شوند؛ به عنوان مثال: |
| rclone bisync ./testdir/path1/ gdrive:testdir/path2/ --drive-skip-gdocs -v -v --timeout 10s |
| توجه داشته باشید که برهمکنش پرچمهای گوناگون rclone با جریان فرایند bisync |
| هنوز بهطور کامل آزمایش نشده است. |
| مسیرها (Paths) |
| آرگومانهای Path1 و Path2 میتوانند ارجاعاتی به هر ترکیبی از مسیرهای دایرکتوری |
| محلی (مطلق یا نسبی)، مسیرهای UNC (//server/share/path)، |
| مسیرهای درایو Windows (همراه با حرف درایو و :) یا |
| ریموتهای پیکربندیشده (https://rclone.org/docs/#syntax-of-remote-paths) به |
| همراه مسیرهای اختیاری زیردایرکتوری باشند. |
| ارجاعات ابری با داشتن یک : در آرگومان تشخیص داده میشوند (پشتیبانی |
| Windows در زیر را ببینید). |
| با Path1 و Path2 بهطور یکسان رفتار میشود؛ به این صورت که هیچکدام اولویتی برای |
| تغییرات فایل ندارند (بهجز در طول --resync)، و بازدهی دسترسی نیز |
| بسته به این که یک ریموت روی Path1 باشد یا Path2 تغییری نمیکند. |
| فهرستهای موجود در دایرکتوری کاری bisync (پیشفرض: |
| ~/.cache/rclone/bisync) بر اساس آرگومانهای Path1 و |
| Path2 نامگذاری میشوند تا بتوان همگامسازیهای جداگانهای را برای دایرکتوریهای مجزا |
| درون درخت تنظیم کرد، مانند: |
| path_to_local_tree..dropbox_subdir.lst. |
| پس از همگامسازی، هر دایرکتوری خالی در هر دو سیستمفایل Path1 و Path2 |
| بهطور پیشفرض حذف نمیشود، مگر اینکه |
| --create-empty-src-dirs مشخص شده باشد. |
| اگر پرچم --remove-empty-dirs مشخص شود، در آخرین مرحله فرایند، |
| تمام دایرکتوریهای خالی در هر دو مسیر پاکسازی خواهند شد. |
| پرچمهای خط فرمان (Command-line flags) |
| --resync |
| این گزینه عملاً باعث میشود هر دو سیستمفایل Path1 و Path2 شامل یک |
| ابرمجموعه منطبق از همه فایلها باشند. |
| بهطور پیشفرض، فایلهای موجود در Path2 که در Path1 وجود ندارند به |
| Path1 کپی میشوند، و فرایند سپس درخت Path1 را به Path2 کپی میکند. |
| توالی --resync تقریباً معادل دستورهای زیر است |
| (اما برای گزینههای دیگر --resync-mode را ببینید): |
| rclone copy Path2 Path1 --ignore-existing [--create-empty-src-dirs] |
| rclone copy Path1 Path2 [--create-empty-src-dirs] |
| دایرکتوریهای پایه در هر دو سیستمفایل Path1 و Path2 باید وجود داشته باشند، در غیر |
| این صورت bisync شکست خواهد خورد. |
| این مورد برای ایمنی لازم است - تا bisync بتواند معتبر بودن هر دو مسیر را |
| تأیید کند. |
| هنگام استفاده از --resync، نسخه جدیدتر یک فایل در سیستمفایل Path2 |
| (بهطور پیشفرض) با نسخه سیستمفایل Path1 بازنویسی خواهد شد. |
| (توجه داشته باشید که این رفتار کاملاً متقارن نیست |
| (https://github.com/rclone/rclone/issues/5681#issuecomment-938761815)، |
| و گزینههای متقارنتری را میتوان با پرچم --resync-mode |
| مشخص کرد.) |
| تغییرات (deltas) را با دقت و با استفاده از |
| --dry-run (https://rclone.org/flags/#non-backend-flags) ارزیابی کنید. |
| برای اجرای همگامسازی مجدد (resync)، یکی از مسیرها میتواند خالی باشد (هیچ فایلی |
| در درخت مسیر وجود نداشته باشد). |
| اجرای resync باید به وجود فایلها در هر دو مسیر منجر شود، در غیر این صورت یک |
| اجرای عادی غیر-resync با شکست مواجه خواهد شد. |
| در یک اجرای غیر-resync، خالی بودن هر یک از مسیرها (نبود هیچ فایلی در درخت) |
| با این خطا شکست میخورد: |
| Empty current PathN listing. Cannot sync to an empty directory: X.pathN.lst |
| این یک بررسی ایمنی است تا اطمینان حاصل شود که یک مسیر خالی غیرمنتظره منجر به |
| حذف همه چیز در مسیر دیگر نشود. |
| توجه داشته باشید که --resync به معنی --resync-mode path1 |
| است، مگر اینکه --resync-mode متفاوتی صراحتاً مشخص شده باشد. |
| نیازی به استفاده همزمان از هر دو پرچم --resync و |
| --resync-mode نیست -- هر یک از آنها بدون دیگری کافی است. |
| نکته: گزینه --resync (شامل --resync-mode) |
| فقط باید در سه شرایط خاص (و نادر) استفاده شود: |
| "1." 3 |
| این نخستین اجرای bisync شما (بین این دو مسیر) است |
| "2." 3 |
| بهتازگی تغییراتی در تنظیمات bisync خود ایجاد کردهاید (مانند ویرایش |
| محتویات --filters-file) |
| "3." 3 |
| در اجرای قبلی خطایی رخ داده است، و در نتیجه، bisync اکنون |
| برای بازیابی به --resync نیاز دارد |
| در سایر مواقع، باید از --resync صرفنظر کنید. |
| دلیل این است که --resync تنها هر سمت را به سمت دیگر کپی |
| (نه همگامسازی) میکند. |
| بنابراین، اگر برای هر اجرای bisync از --resync استفاده کنید، |
| هرگز حذف یک فایل ممکن نخواهد بود -- فایل حذفشده همواره در پایان هر اجرا |
| مجدداً ظاهر میشود (زیرا از سمت دیگر که هنوز در آن وجود دارد کپی میشود). |
| به همین ترتیب، تغییر نام یک فایل همیشه منجر به یک نسخه تکراری (هم نام قدیم |
| و هم نام جدید) در هر دو سمت خواهد شد. |
| اگر متوجه شدید که وقفههای مکرر ناشی از مورد شماره ۳ مشکلساز است، به جای |
| اجرای خودکار --resync، راهکار پیشنهادی استفاده از پرچمهای |
| --resilient، --recover و --conflict-resolve |
| است (به همراه حالت Graceful Shutdown در صورت نیاز) تا یک پیکربندی بسیار مقاوم |
| و خودکفا ("تنظیم کن و فراموشش کن") برای bisync ایجاد شود که بتواند |
| بهطور خودکار از تقریباً هر وقفهای که با آن مواجه میشود بازیابی شود. |
| افزودن چیزی شبیه به موارد زیر را در نظر بگیرید: |
| --resilient --recover --max-lock 2m --conflict-resolve newer |
| در صورتی که فایلی در حین یک --resync در هر دو طرف متفاوت باشد، --resync-mode مشخص میکند که کدام نسخه روی نسخهٔ دیگر بازنویسی (overwrite) خواهد شد. |
| گزینههای پشتیبانیشده مشابه --conflict-resolve هستند. |
| برای همهٔ گزینههای زیر، نسخهای که نگه داشته میشود به عنوان "برنده" (winner) و نسخهای که رونویسی (حذف) میشود به عنوان "بازنده" (loser) نامیده میشود. |
| نام گزینهها بر اساس "برنده" تعیین شده است: |
| • 2 |
| path1 - (پیشفرض) - نسخهٔ موجود در Path1 بدون قید و شرط برنده در نظر گرفته میشود (صرفنظر از modtime و size، در صورت وجود). |
| این گزینه میتواند در صورتی مفید باشد که در زمان اجرای --resync، یکی از طرفین قابل اعتمادتر یا بهروزتر از دیگری باشد. |
| • 2 |
| path2 - مشابه path1، با این تفاوت که نسخهٔ path2 به عنوان برنده در نظر گرفته میشود. |
| • 2 |
| newer - فایل تازهتر (بر اساس modtime) بدون در نظر گرفتن اینکه از کدام طرف آمده، برنده محسوب میشود. |
| این ممکن است منجر به ترکیبی از برخی برندگان از Path1 و برخی برندگان از Path2 شود. |
| (پیادهسازی این حالت مشابه اجرای rclone copy --update در هر دو جهت است.) |
| • 2 |
| older - مشابه newer، با این تفاوت که فایل قدیمیتر به عنوان برنده و فایل جدیدتر به عنوان بازنده در نظر گرفته میشود. |
| • 2 |
| larger - فایل بزرگتر (بر اساس size) برنده در نظر گرفته میشود (صرفنظر از modtime، در صورت وجود). |
| این میتواند گزینهای مفید برای remoteهایی باشد که از modtime پشتیبانی نمیکنند، یا برای فایلهایی (مانند فایلهای لاگ) که در طول زمان معمولاً افزایش حجم دارند نه کاهش. |
| • 2 |
| smaller - فایل کوچکتر (بر اساس size) برنده در نظر گرفته میشود (صرفنظر از modtime، در صورت وجود). |
| برای تمام گزینههای بالا، به موارد زیر توجه داشته باشید: |
| • 2 |
| اگر هر یک از remoteهای زیربنایی از روش انتخابی پشتیبانی نکنند، نادیده گرفته شده و به مقدار پیشفرض یعنی path1 بازمیگردد. |
| (برای مثال، اگر --resync-mode newer تنظیم شده باشد، اما یکی از مسیرها از یک remote استفاده کند که از modtime پشتیبانی نمیکند.) |
| • 2 |
| اگر نتوان برندهای را تعیین کرد زیرا مشخصهٔ روش انتخابی وجود ندارد یا یکسان است، این مشخصه نادیده گرفته میشود و bisync در عوض با بررسی سایر روشهای فعال --compare، تلاش میکند تشخیص دهد که آیا فایلها متفاوت هستند یا خیر. |
| (برای نمونه، اگر --resync-mode newer تنظیم شده باشد، اما مقادیر modtime در Path1 و Path2 یکسان باشند، bisync اندازهها را مقایسه خواهد کرد.) |
| اگر bisync به این نتیجه برسد که فایلها تفاوت دارند، اولویت به هر کدام داده میشود که در آن لحظه "source" باشد. |
| (در عمل، این یک مزیت جزئی به Path2 میدهد، زیرا کپی 2to1 قبل از کپی 1to2 انجام میشود.) |
| اگر فایلها تفاوتی نداشته باشند، چیزی کپی نمیشود (زیرا هر دو طرف از قبل صحیح هستند). |
| • 2 |
| این گزینهها فقط برای فایلهایی اعمال میشوند که در هر دو طرف وجود دارند (با نام و مسیر نسبی یکسان). |
| فایلهایی که تنها در یک طرف هستند و در طرف دیگر وجود ندارند، در طول --resync همواره به طرف دیگر کپی میشوند (این یکی از تفاوتهای اصلی بین اجراهای resync و اجراهای عادی است). |
| • 2 |
| گزینههای --conflict-resolve، --conflict-loser و --conflict-suffix در طول --resync اعمال نمیشوند و برخلاف این پرچمها، هیچ فایلی در حین --resync تغییر نام نمییابد. |
| وقتی فایلی در طول --resync در هر دو طرف متفاوت باشد، همواره یک نسخه روی نسخهٔ دیگر بازنویسی میشود (درست مانند rclone copy). |
| (استفاده از --backup-dir را برای نگهداری نسخهٔ پشتیبان از نسخهٔ بازنده در نظر بگیرید.) |
| • 2 |
| برخلاف --conflict-resolve، پرچم --resync-mode none یک گزینهٔ معتبر نیست (یا بهتر بگوییم، به عنوان "عدم resync" تفسیر میشود، مگر اینکه --resync نیز مشخص شده باشد، که در این حالت نادیده گرفته خواهد شد.) |
| • 2 |
| برندگان و بازندگان فقط در سطح فایلهای جداگانه تعیین میشوند (در حال حاضر گزینهای برای انتخاب کامل و اتمیک یک دایرکتوری برنده وجود ندارد، اگرچه گزینههای path1 و path2 معمولاً نتیجهای مشابه تولید میکنند.) |
| • 2 |
| جهت حفظ سازگاری عقبرو (backward-compatibility)، پرچم --resync به معنای --resync-mode path1 خواهد بود، مگر اینکه یک --resync-mode دیگر به طور صریح مشخص شود. |
| به طور مشابه، تمام گزینههای --resync-mode (به جز none) به صورت ضمنی بیانگر --resync هستند؛ بنابراین نیازی به استفادهٔ همزمان از هر دو پرچم --resync و --resync-mode نیست - استفاده از هر کدام به تنهایی کافی است..SS --check-access |
| فایلهای بررسی دسترسی یک تدبیر ایمنی مضاعف در برابر از دست رفتن دادهها هستند. |
| bisync اطمینان حاصل میکند که فایلهای منطبق RCLONE_TEST را در مکانهای یکسان در سیستمفایلهای Path1 و Path2 پیدا کند. |
| فایلهای RCLONE_TEST بهطور خودکار تولید نمیشوند. |
| برای اینکه --check-access موفق شود، ابتدا باید یکی از این دو کار را انجام دهید: |
| A) یک یا چند فایل RCLONE_TEST را در هر دو سیستم قرار دهید، یا B) گزینه --check-filename را روی نام فایلی تنظیم کنید که هماکنون در مکانهای مختلف در سرتاسر مجموعه فایلهای همگامشده شما استفاده میشود. |
| روشهای توصیهشده برای A) شامل موارد زیر است: |
| • 2 |
| rclone touch Path1/RCLONE_TEST (ایجاد یک فایل جدید) |
| • 2 |
| rclone copyto Path1/RCLONE_TEST Path2/RCLONE_TEST (رونوشت از یک فایل موجود) |
| • 2 |
| rclone copy Path1/RCLONE_TEST Path2/RCLONE_TEST --include "RCLONE_TEST" |
| (رونوشت از چندین فایل بهصورت همزمان و بازگشتی) |
| • 2 |
| ایجاد دستی فایلها (خارج از rclone) |
| • 2 |
| اجرای یکباره bisync بدون --check-access برای تنظیم فایلهای منطبق روی هر دو سیستمفایل نیز کار خواهد کرد، اما به دلیل احتمال خطای کاربر ترجیح داده نمیشود (شما موقتاً این ویژگی ایمنی را غیرفعال میکنید). |
| توجه داشته باشید که --check-access همچنان بر روی --resync اعمال میشود، بنابراین bisync --resync --check-access به عنوان روشی برای تنظیم اولیه فایلها کار نخواهد کرد (این برای اطمینان از این است که bisync نتواند ناخواسته کلید ایمنی خود را دور بزند (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=3.%20%2D%2Dcheck%2Daccess%20doesn%27t%20always%20fail%20when%20it%20should)). |
| برچسبهای زمانی و محتویات فایلها برای فایلهای RCLONE_TEST اهمیتی ندارند، تنها نامها و مکانها مهم هستند. |
| اگر در درخت همگامسازی خود پیوندهای نمادین دارید، توصیه میشود فایلهای RCLONE_TEST را در درخت دایرکتوری مقصدِ پیوند قرار دهید تا چنانچه درخت مقصد در دسترس نباشد، از اینکه bisync تصور کند دستهای از فایلها حذف شدهاند محافظت به عمل آید. |
| همچنین پرچم --check-filename را ببینید. |
| --check-filename |
| نام فایل(ها)ی مورد استفاده در اعتبارسنجی سلامت دسترسی. |
| مقدار پیشفرض --check-filename برابر با RCLONE_TEST است. |
| یک یا چند فایل با این نام فایل باید به صورت همگامشده میان مجموعه فایلهای مبدأ و مقصد شما وجود داشته باشند تا --check-access با موفقیت انجام شود. |
| برای جزئیات بیشتر به --check-access مراجعه کنید. |
| --compare |
| از نسخه v1.66، برنامه bisync به طور کامل از مقایسه بر اساس هر ترکیبی از size، modtime و checksum پشتیبانی میکند (محدودیت قبلی روی backendهای فاقد پشتیبانی از modtime برداشته شده است). |
| بهطور پیشفرض (بدون پرچم --compare)، bisync همان گزینههای مقایسه sync را به ارث میبرد (یعنی بهطور پیشفرض size و modtime، مگر اینکه با پرچمهایی مانند --checksum (https://rclone.org/docs/#c-checksum) یا --size-only تغییر یافته باشند). |
| اگر پرچم --compare تنظیم شود، این مقادیر پیشفرض را بازنویسی میکند. |
| این قابلیت در صورتی مفید است که بخواهید بر اساس ترکیبهایی مقایسه انجام دهید که هماکنون در sync پشتیبانی نمیشوند، مانند مقایسه همزمان هر سه مورد size و modtime و checksum (یا صرفاً modtime و checksum). |
| گزینه --compare یک فهرست جداشده با کاما دریافت میکند و مقادیری که در حال حاضر پشتیبانی میشوند شامل size، modtime و checksum هستند. |
| برای نمونه، اگر میخواهید size و checksum را مقایسه کنید، اما modtime را مقایسه نکنید، اینگونه عمل میکنید: |
| --compare size,checksum |
| یا اگر بخواهید هر سه مورد را مقایسه کنید: |
| --compare size,modtime,checksum |
| گزینه --compare پرچمهای متناقض را لغو و بازنویسی میکند. |
| برای نمونه، اگر پرچمهای متناقض --compare checksum --size-only را تنظیم کنید، گزینه --size-only نادیده گرفته میشود و bisync ویژگی checksum را مقایسه خواهد کرد، نه size را. |
| برای جلوگیری از سردرگمی، توصیه میشود یا از --compare استفاده کنید و یا از پرچمهای استاندارد sync، و هر دو را با هم به کار نبرید. |
| اگر --compare شامل checksum باشد و هر دو ریموت از checksum پشتیبانی کنند اما هیچ نوع هش مشترکی میان آنها وجود نداشته باشد، checksumها تنها برای مقایسههای درون یک سمت در نظر گرفته میشوند (جهت تعیین مواردی که از زمان همگامسازی پیشین تغییر کردهاند)، نه برای مقایسه در برابر سمت مقابل. |
| اگر یک سمت از checksum پشتیبانی کند و سمت دیگر پشتیبانی نکند، checksumها تنها در همان سمتی که پشتیبانی دارد لحاظ خواهند شد. |
| هنگام مقایسه با checksum و/یا size بدون modtime، برنامه bisync نمیتواند تشخیص دهد که آیا یک فایل newer است یا older -- تنها میتواند تشخیص دهد که changed است یا unchanged. |
| (اگر در هر دو سمت changed باشد، bisync همچنان بررسی استاندارد برابری را انجام میدهد تا مگر در صورت لزوم قطعی، از اعلام تداخل همگامسازی خودداری کند.) |
| توصیه میشود هنگام تغییر تنظیمات --compare، یک بار --resync اجرا کنید؛ در غیر این صورت ممکن است فایلهای فهرست پیشین شما حاوی مشخصاتی که مایل به مقایسه آنها هستید نباشند (برای نمونه، اگر پیش از این چکسامها را مقایسه نمیکردید، مقادیر ذخیرهشده checksum نخواهند داشت)..SS --ignore-listing-checksum |
| هنگامی که --checksum یا --compare checksum تنظیم شده باشد، bisync هنگام ایجاد فهرستها برای هر دو مسیر، چکسامها را (برای backendهایی که از آنها پشتیبانی میکنند) دریافت (یا تولید) کرده و آنها را در فایلهای فهرست ذخیره میکند. |
| گزینهٔ --ignore-listing-checksum این رفتار را غیرفعال میکند، که ممکن است سرعت کار را بهطور چشمگیری افزایش دهد، بهویژه در backendهایی (مانند local (https://rclone.org/local)) که هشها باید در لحظه محاسبه شوند، نه اینکه از پیش دریافت گردند. |
| لطفاً به موارد زیر توجه داشته باشید: |
| • 2 |
| از نسخهٔ v1.66 به بعد، هنگامی که نه --checksum و نه --compare checksum در حال استفاده نباشند، گزینهٔ --ignore-listing-checksum اکنون بهطور خودکار تنظیم میشود (چرا که از چکسامها برای هیچ منظوری استفاده نخواهد شد). |
| • 2 |
| گزینهٔ --ignore-listing-checksum با --ignore-checksum (https://rclone.org/docs#ignore-checksum) یکسان نیست، و ممکن است بخواهید از یکی از آنها یا هر دو استفاده کنید. |
| به طور خلاصه: --ignore-listing-checksum مشخص میکند که آیا چکسامها هنگام پویش برای یافتن تفاوتها در نظر گرفته شوند یا خیر، در حالی که --ignore-checksum کنترل میکند که در صورت وجود تفاوت، آیا در عملیاتهای کپی/همگامسازی پس از آن چکسامها لحاظ شوند یا خیر. |
| • 2 |
| مگر اینکه --ignore-listing-checksum ارسال شده باشد، bisync در حال حاضر هشها را برای یک مسیر محاسبه میکند حتی زمانی که هیچ هش مشترکی با مسیر دیگر وجود نداشته باشد (برای مثال، یک ریموت crypt (https://rclone.org/crypt#modification-times-and-hashes)). |
| این میتواند همچنان مفید باشد، زیرا هشها همچنان برای تشخیص تغییرات در همان سمت به کار خواهند رفت (اگر --checksum یا --compare checksum تنظیم شده باشد)، حتی اگر نتوان از آنها برای مقایسه با سمت مقابل استفاده کرد. |
| • 2 |
| اگر مایلید چکسامهای فهرستبرداری را فقط در ریموتهایی که محاسبهٔ آنها کند است نادیده بگیرید، استفاده از --no-slow-hash (یا --slow-hash-sync-only) را به جای --ignore-listing-checksum در نظر بگیرید. |
| • 2 |
| اگر --ignore-listing-checksum همزمان با --compare checksum (یا --checksum) استفاده شود، چکسامها برای تغییرات تفاضلی (delta) در bisync نادیده گرفته میشوند، اما همچنان در عملیات همگامسازی پس از آن در نظر گرفته خواهند شد (اگر تفاوتها بر اساس modtime یا size تشخیص داده شده باشند). |
| --no-slow-hash |
| در برخی ریموتها (بهویژه local)، چکسامها میتوانند سرعت اجرای bisync را بهشدت کاهش دهند، زیرا هشها قابل ذخیرهسازی نیستند و لازم است هنگام درخواست بهصورت بلادرنگ محاسبه شوند. |
| در ریموتهای دیگر (مانند drive)، آنها عملاً هیچ زمانی به فرایند اضافه نمیکنند. |
| پرچم --no-slow-hash بهطور خودکار چکسامها را در ریموتهایی که کند هستند نادیده میگیرد، در حالی که همچنان آنها را در بقیه مقایسه میکند (با فرض اینکه --compare شامل checksum باشد). |
| این پرچم زمانی کاربرد دارد که یکی از مسیرهای bisync شما کند است اما شما همچنان برای یک همگامسازی مطمئنتر، میخواهید چکسامها را در مسیر دیگر بررسی کنید. |
| --slow-hash-sync-only |
| مشابه با --no-slow-hash است، با این تفاوت که هشهای کند همچنان در حین فراخوانیهای همگامسازی در نظر گرفته میشوند. |
| آنها همچنان برای تعیین تغییرات تفاضلی (delta) در نظر گرفته نمیشوند، و در فهرستها نیز گنجانده نخواهند شد. |
| همچنین در حین اجرای --resync نادیده گرفته میشوند. |
| مورد کاربرد اصلی این پرچم زمانی است که تعداد بسیار زیادی فایل دارید، اما تعداد نسبتاً اندکی از آنها از یک اجرا تا اجرای بعدی تغییر میکنند -- بنابراین نمیخواهید کل درخت فایلهایتان را هر بار بررسی کنید (زیرا بسیار زمانبر خواهد بود)، اما همچنان تمایل دارید چکسامها را برای گروه کوچکتری از فایلها که تغییر در modtime یا size آنها شناسایی شده است لحاظ کنید. |
| به یاد داشته باشید که این افزایش سرعت با یک مصالحه در امنیت همراه است: اگر محتوای فایلی بدون تغییر در modtime یا size آن تغییر کند، bisync آن را شناسایی نخواهد کرد و همگامسازی نخواهد شد. |
| گزینهٔ --slow-hash-sync-only تنها در صورتی مفید است که هر دو ریموت از یک نوع هش مشترک پشتیبانی کنند (در غیر این صورت، bisync بهطور خودکار به حالت --no-slow-hash بازمیگردد). |
| هر دو گزینهٔ --no-slow-hash و --slow-hash-sync-only بدون استفاده از --compare checksum (یا --checksum) هیچ اثری نخواهند داشت..SS --download-hash |
| اگر --download-hash تنظیم شود، در صورت عدم دسترسی به چsumکسامها از روشهای معمول (برای نمونه، یک ریموت که از آنها پشتیبانی نمیکند)، bisync بیشترین تلاش خود را به کار میبندد تا با دانلود و محاسبه بلادرنگ (on-the-fly)، چکسام MD5 را به دست آورد. |
| توجه داشته باشید از آنجا که rclone باید تمام فایل را دانلود کند، این کار ممکن است سرعت اجرای bisync را بهشدت کاهش دهد و همچنین احتمالاً حجم داده زیادی مصرف کند؛ بنابراین برای مسیرهای bisync با حجم کل فایلهای بالا عملاً کاربردی نخواهد بود. |
| با این حال، میتواند گزینه مناسبی برای همگامسازی فایلهای کوچک اما حیاتی با بیشترین دقت باشد (برای نمونه، یک مخزن کد منبع روی یک ریموت crypt). |
| یک مزیت دیگر نسبت به روشهایی مانند cryptcheck (https://rclone.org/commands/rclone_cryptcheck) این است که فایل اصلی برای مقایسه نیاز نیست (برای مثال، --download-hash میتواند برای همگامسازی دوسویه دو ریموت مختلف crypt با گذرواژههای متفاوت به کار رود). |
| هنگامی که --download-hash تنظیم شده باشد، bisync همچنان ابتدا به دنبال چکسامهای بهینهتر میگردد و تنها زمانی که هیچکدام یافت نشوند، به دانلود فایل متوسل میشود. |
| این پرچم نسبت به پرچمهای ناسازگار مانند --no-slow-hash اولویت دارد. |
| گزینه --download-hash برای Google Docs و سایر فایلهای با حجم نامشخص مناسب نیست، زیرا چکسام آنها از یک اجرا تا اجرای بعدی تغییر میکند (به دلیل تغییرات جزئی در ساختار داخلی فایل خروجی تولیدشده). |
| بنابراین، bisync بهطور خودکار --download-hash را برای فایلهای با اندازه کمتر از ۰ نادیده میگیرد. |
| همچنین ببینید: بکاند Hasher (https://rclone.org/hasher)، دستور cryptcheck (https://rclone.org/commands/rclone_cryptcheck)، گزینه rclone check --download (https://rclone.org/commands/rclone_check) و دستور md5sum (https://rclone.org/commands/rclone_md5sum). |
| --max-delete |
| به عنوان یک بررسی امنیتی، اگر بیش از درصد مشخصشده در --max-delete از فایلها در هر یک از سیستمهای فایل Path1 یا Path2 حذف شده باشند، bisync بدون اعمال هیچ تغییری، همراه با یک پیام هشدار لغو خواهد شد. |
| مقدار پیشفرض --max-delete برابر با 50% است. |
| یکی از راههای فعال شدن این محدودیت، تغییر نام پوشهای است که بیش از نیمی از فایلهای شما را شامل میشود. |
| این کار برای bisync به صورت دستهای از فایلهای حذفشده و دستهای از فایلهای جدید به نظر خواهد رسید. |
| این بررسی امنیتی برای جلوگیری از حذف تمامی فایلها در هر دو سیستم فایل توسط bisync به دلیل اختلال موقت دسترسی به شبکه، یا در صورتی که کاربر به اشتباه فایلها را در یک طرف حذف کرده باشد، طراحی شده است. |
| برای اجبار به همگامسازی، میتوانید حد درصد حذف متفاوتی تعیین کنید، برای مثال --max-delete 75 (امکان حذف تا ۷۵٪)، یا از --force برای نادیده گرفتن این بررسی استفاده کنید. |
| همچنین بررسی تغییر همه فایلها (all files changed check) را ببینید. |
| --filters-file |
| با استفاده از قابلیتهای فیلتر rclone میتوانید انواع فایلها یا زیرشاخههای دایرکتوری را از همگامسازی مستثنی کنید. |
| بخش فیلترهای bisync و مستندات عمومی --filter-from (https://rclone.org/filtering/#filter-from-read-filtering-patterns-from-a-file) را ببینید. |
| یک فایل نمونه فیلترها، حاوی فیلترهایی برای فایلهای غیرمجاز جهت همگامسازی با Dropbox است. |
| اگر تغییراتی در فایل فیلترهای خود ایجاد کنید، bisync نیازمند یک بار اجرا با گزینه --resync خواهد بود. |
| این یک قابلیت امنیتی است که از ناپدید به نظر رسیدن فایلهای موجود در سمت Path1 و/یا Path2 (به دلیل مستثنی شدن آنها در فهرستهای جدید) جلوگیری میکند؛ چرا که در غیر این صورت bisync فریب خورده و آنها را به عنوان فایلهای حذفشده (در مقایسه با فهرستهای اجرای قبلی) در نظر میگیرد و سپس اقدام به حذف واقعی آنها خواهد کرد. |
| برای جلوگیری از وقوع این موضوع، bisync هش MD5 فایل فیلترها را محاسبه کرده و این هش را در یک فایل .md5 در همان محل فایل فیلترهای شما ذخیره میکند. |
| در اجرای بعدی با تنظیم بودن --filters-file، bisync هش MD5 فایل فیلترهای فعلی را دوباره محاسبه کرده و آن را با هش ذخیرهشده در فایل .md5 مقایسه میکند. |
| اگر آنها مطابقت نداشته باشند، اجرا با یک خطای حیاتی لغو شده و بدین ترتیب شما را وادار به اجرای --resync میکند، که به احتمال زیاد از بروز یک فاجعه جلوگیری خواهد کرد..SS --conflict-resolve CHOICE |
| در bisync، یک "تداخل" فایلی است که در هر دو طرف (نسبت به اجرای قبلی) جدید یا تغییریافته است و در حال حاضر در هر دو طرف یکسان نیست. |
| گزینهٔ --conflict-resolve نحوهٔ برخورد bisync با چنین سناریویی را کنترل میکند. |
| گزینههایی که در حال حاضر پشتیبانی میشوند عبارتند از: |
| • 2 |
| none - (پیشفرض) - تلاشی برای انتخاب برنده نکن، هر دو فایل را بر اساس تنظیمات --conflict-loser و --conflict-suffix نگه داشته و تغییر نام بده. |
| برای مثال، با تنظیمات پیشفرض، file.txt در Path1 به file.txt.conflict1 و file.txt در Path2 به file.txt.conflict2 تغییر نام مییابد. |
| هر دو در طول اجرا در مسیر مقابل کپی میشوند، بنابراین در نهایت هر دو طرف یک نسخه از هر دو فایل را خواهند داشت. |
| (از آنجا که none حالت پیشفرض است، نیازی به تعیین --conflict-resolve none نیست -- میتوانید این پرچم را نادیده بگیرید.) |
| • 2 |
| newer - فایل تازهتر (بر اساس modtime) به عنوان برنده در نظر گرفته شده و بدون تغییر نام کپی میشود. |
| فایل قدیمیتر ("بازنده") بر اساس تنظیمات --conflict-loser و --conflict-suffix مدیریت میشود (یا تغییر نام مییابد یا حذف میشود). |
| برای مثال، اگر file.txt در Path1 جدیدتر از file.txt در Path2 باشد، نتیجه در هر دو طرف (با سایر تنظیمات پیشفرض) file.txt (برنده از Path1) و file.txt.conflict1 (بازنده از Path2) خواهد بود. |
| • 2 |
| older - همانند newer، با این تفاوت که فایل قدیمیتر به عنوان برنده و فایل جدیدتر به عنوان بازنده در نظر گرفته میشود. |
| • 2 |
| larger - فایل بزرگتر (بر اساس size) برنده در نظر گرفته میشود (صرفنظر از modtime، در صورت وجود). |
| • 2 |
| smaller - فایل کوچکتر (بر اساس size) برنده در نظر گرفته میشود (صرفنظر از modtime، در صورت وجود). |
| • 2 |
| path1 - نسخهٔ Path1 بدون قید و شرط برنده در نظر گرفته میشود (صرفنظر از modtime و size، در صورت وجود). |
| این گزینه میتواند زمانی مفید باشد که یک طرف معمولاً قابلاعتمادتر یا بهروزتر از طرف دیگر باشد. |
| • 2 |
| path2 - همانند path1، با این تفاوت که نسخهٔ Path2 برنده در نظر گرفته میشود. |
| برای تمامی گزینههای فوق، به نکات زیر توجه کنید: |
| • 2 |
| اگر هر یک از ریموتهای زیربنایی از روش انتخابشده پشتیبانی نکنند، نادیده گرفته شده و به none بازگردانی میشود. |
| (برای مثال، اگر --conflict-resolve newer تنظیم شده باشد، اما یکی از مسیرها از ریموتی استفاده کند که از modtime پشتیبانی نمیکند.) |
| • 2 |
| اگر نتوان برندهای را تعیین کرد به این دلیل که ویژگی مربوط به روش انتخابی وجود ندارد یا برابر است، نادیده گرفته شده و به none بازگردانی میشود. |
| (برای مثال، اگر --conflict-resolve newer تنظیم شده باشد، اما modtime در Path1 و Path2 یکسان باشد، حتی اگر اندازهها متفاوت باشند.) |
| • 2 |
| اگر محتوای فایل در حال حاضر در هر دو طرف یکسان باشد، یک "تداخل" در نظر گرفته نمیشود، حتی اگر از زمان همگامسازی قبلی در هر دو طرف جدید یا تغییر یافته باشد. |
| (برای مثال، اگر تغییری در یک طرف ایجاد کرده و سپس آن را از راههای دیگر با طرف دیگر همگام کرده باشید.) |
| بنابراین، هیچیک از پرچمهای حل تداخل در این سناریو اعمال نمیشوند. |
| • 2 |
| پرچمهای حل تداخل در طول یک --resync اعمال نمیشوند، چرا که هیچ "اجرای قبلی" وجود ندارد (اما گزینههای مشابه را در --resync-mode ببینید.) |
| --conflict-loser CHOICE |
| گزینهٔ --conflict-loser تعیین میکند چه بر سر "بازندهٔ" یک تداخل همگامسازی (زمانی که --conflict-resolve یک برنده تعیین کرده است) یا بر سر هر دو فایل (زمانی که برندهای وجود ندارد) میآید. |
| گزینههایی که در حال حاضر پشتیبانی میشوند عبارتند از: |
| • 2 |
| num - (پیشفرض) - شمارهگذاری خودکار تداخلها با افزودن خودکار شمارهٔ در دسترس بعدی به --conflict-suffix، به ترتیب زمانی. |
| برای مثال، با تنظیمات پیشفرض، نخستین تداخل برای file.txt به file.txt.conflict1 تغییر نام مییابد. |
| اگر file.txt.conflict1 از قبل وجود داشته باشد، به جای آن از file.txt.conflict2 استفاده خواهد شد (و به همین ترتیب، تا حداکثر ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۷ تداخل). |
| • 2 |
| pathname - تغییر نام تداخلها بر اساس سمتی که از آن آمدهاند، که رفتار پیشفرض قبل از v1.66 بود. |
| برای مثال، با --conflict-suffix path، فایل file.txt از Path1 به file.txt.path1 و file.txt از Path2 به file.txt.path2 تغییر نام خواهند یافت. |
| اگر دو پسوند نامتقارن و ناهمسان ارائه شود (مانند --conflict-suffix cloud,local)، رقم انتهایی حذف میشود. |
| نکتهٔ مهم اینکه با pathname، هیچ شمارهگذاری خودکاری فراتر از 2 وجود ندارد، بنابراین اگر file.txt.path2 به نحوی از قبل وجود داشته باشد، رونویسی خواهد شد. |
| استفاده از یک متغیر پویای تاریخ در --conflict-suffix (به پایین مراجعه کنید) یکی از راههای ممکن برای جلوگیری از این موضوع است. |
| همچنین توجه داشته باشید که تداخل در تداخل (conflicts-of-conflicts) در صورتی که تداخل اصلی بهصورت دستی حل نشود امکانپذیر است -- برای مثال، اگر به هر دلیلی file.txt.path1 را در هر دو طرف ویرایش کنید، و این ویرایشها متفاوت باشند، نتیجه file.txt.path1.path1 و file.txt.path1.path2 خواهد بود (علاوه بر file.txt.path2). |
| • 2 |
| delete - تنها برنده را نگه دار و بازنده را به جای تغییر نام، حذف کن. |
| اگر برندهای قابل تعیین نباشد (برای جزئیات در مورد چگونگی رخ دادن این حالت، --conflict-resolve را ببینید)، delete نادیده گرفته شده و به جای آن از گزینهٔ پیشفرض num استفاده میشود (یعنی هر دو نسخه نگهداری و تغییر نام داده میشوند و هیچکدام حذف نمیشوند). |
| گزینهٔ delete ذاتاً مخربترین گزینه است، بنابراین تنها با احتیاط از آن استفاده کنید. |
| برای تمام گزینههای بالا، توجه داشته باشید که اگر برنده تعیین نشود (برای جزئیات درباره نحوهٔ رخ دادن این اتفاق به --conflict-resolve مراجعه کنید)، یا اگر --conflict-resolve در حال استفاده نباشد، هر دو فایل تغییر نام خواهند یافت..SS --conflict-suffix STRING[,STRING] |
| گزینهٔ --conflict-suffix پسوندی را کنترل میکند که هنگام تغییر نام یک --conflict-loser توسط bisync الحاق میشود (پیشفرض: |
| conflict). |
| گزینهٔ --conflict-suffix یک رشته یا دو رشتهٔ جدا شده با کاما را میپذیرد تا پسوندهای متفاوتی را به Path1 در برابر Path2 اختصاص دهد. |
| این ممکن است بعداً در شناسایی منشأ تعارض مفید باشد. |
| (برای مثال، |
| --conflict-suffix dropboxconflict,laptopconflict) |
| با --conflict-loser num، همیشه یک عدد به پسوند الحاق میشود. |
| با --conflict-loser pathname، عدد تنها زمانی الحاق میشود که یک پسوند مشخص شده باشد (یا زمانی که دو پسوند یکسان مشخص شده باشند). |
| به این معنی که با --conflict-loser pathname، تمام موارد زیر نتیجهای دقیقاً یکسان ایجاد میکنند: |
| --conflict-suffix path |
| --conflict-suffix path,path |
| --conflict-suffix path1,path2 |
| پسوندها میتوانند به کوتاهی ۱ نویسه باشند. |
| بهطور پیشفرض، پسوند پس از هر پسوند فایل دیگری افزوده میشود (مثلاً |
| file.jpg.conflict1)، با این حال، این رفتار را میتوان با پرچم |
| --suffix-keep-extension (https://rclone.org/docs/#suffix-keep-extension) |
| تغییر داد (یعنی به طوری که در عوض به file.conflict1.jpg منجر شود). |
| گزینهٔ --conflict-suffix از چندین متغیر پویای تاریخ در صورت قرار گرفتن درون آکولاد به صورت الگوهای تطبیق (glob) پشتیبانی میکند. |
| این امر میتواند برای ردیابی تاریخ و/یا زمانی که هر تعارض توسط bisync مدیریت شده است مفید باشد. |
| برای مثال: |
| --conflict-suffix {DateOnly}-conflict |
| // result: myfile.txt.2006-01-02-conflict1 |
| تمام قالبهای توصیفشده در اینجا (ثابتهای Time.Layout در go) (https://pkg.go.dev/time#pkg-constants) و در اینجا (مثالهای Time.Format در go) (https://pkg.go.dev/time#example-Time.Format) |
| پشتیبانی میشوند، اما دقت کنید که قالب انتخابی شما از نویسههایی که در ریموتهای شما غیرمجاز هستند استفاده نکند (برای مثال، macOS اجازهٔ وجود دونقطه را در نام فایلها نمیدهد، و همچنین بهتر است از اسلشها خودداری شود زیرا اغلب به عنوان جداکنندهٔ دایرکتوری تفسیر میشوند.) |
| برای حل این مشکل ویژه، یک گزینهٔ اضافی |
| {MacFriendlyTime} (یا صرفاً {mac}) پشتیبانی میشود |
| که خروجی آن به صورت 2006-01-02 0304PM خواهد بود. |
| توجه داشته باشید که --conflict-suffix کاملاً مستقل از پرچم اصلی |
| --sufix (https://rclone.org/docs/#suffix-string) |
| در rclone است. |
| این امر عمدی است، زیرا ممکن است کاربران بخواهند در صورت استفاده از --backup-dir، از هر دو پرچم بهطور همزمان استفاده کنند. |
| در نهایت، توجه داشته باشید که حالت پیشفرض در bisync پیش از v1.66 تغییر نام موارد تعارض با ..path1 و ..path2 بود (با دو نقطه، و path به جای conflict.) |
| اکنون Bisync به صورت پیشفرض از یک نقطه به جای دو نقطه استفاده میکند، اما میتوان با گنجاندن نقطههای اضافی در رشتهٔ پسوند مشخصشده، آنها را اضافه کرد. |
| به عنوان مثال، برای رفتاری معادل با پیشفرض قبلی، از این دستور استفاده کنید: |
| [--conflict-resolve none] --conflict-loser pathname --conflict-suffix .path |
| --check-sync |
| عملکرد check-sync که بهطور پیشفرض فعال است، بررسی میکند که آیا تمام فایلهای مشابه در هر دو فهرست تاریخچهٔ Path1 و Path2 وجود دارند یا خیر. |
| این بررسی جامعیت check-sync بهطور پیشفرض در پایان اجرای همگامسازی انجام میشود. |
| هرگونه کپی/حذف ناموفقِ بهدامنیفتاده بین دو مسیر ممکن است منجر به تفاوتهایی بین دو فهرست و اختلاف محتوای ردیابینشدهٔ فایل بین دو مسیر شود. |
| اجرای مجدد همگامسازی (resync) این خطا را تصحیح خواهد کرد. |
| توجه داشته باشید که بررسی جامعیتِ فعال به صورت پیشفرض، بارگذاری هر دو فهرست نهایی Path1 و Path2 را به صورت محلی اجرا میکند و در نتیجه به مدتزمان اجرای همگامسازی میافزاید. |
| استفاده از --check-sync=false آن را غیرفعال کرده و ممکن است زمان اجرای همگامسازی را برای تعداد بسیار زیادی از فایلها بهطور چشمگیری کاهش دهد. |
| این بررسی را میتوان بهصورت دستی با --check-sync=only اجرا کرد. |
| این گزینه تنها بررسی جامعیت را اجرا میکند و بدون همگامسازی واقعی خاتمه مییابد. |
| توجه داشته باشید که در حال حاضر، --check-sync تنها رونوشتهای فهرست را بررسی میکند و نه فایلهای واقعی روی ریموتها را. همچنین توجه داشته باشید که رونوشتهای فهرست از تغییراتی که در حین یا پس از آخرین اجرای bisync رخ داده است آگاه نخواهند شد، زیرا این تغییرات در اجرای بعدی کشف میشوند. |
| بنابراین، در حالی که فهرستها باید همیشه در پایان اجرای bisync با یکدیگر مطابقت داشته باشند، در صورتی که تغییراتی در حین یا پس از اجرا وجود داشته باشد، طبیعی است که با ریموتهای زیرین مطابقت نداشته باشند و ریموتها نیز با یکدیگر منطبق نباشند. |
| این امر عادی است و هرگونه تفاوت در اجرای بعدی شناسایی و همگامسازی خواهد شد. |
| برای یک بررسی جامعیت دقیق از وضعیت فعلی ریموتها (در مقابل صرفاً رونوشتهای فهرست آنها)، استفاده از check |
| (یا |
| cryptcheck (https://rclone.org/commands/rclone_cryptcheck)، |
| اگر حداقل یکی از مسیرها یک ریموت crypt باشد) را به جای |
| --check-sync مد نظر قرار دهید، با در نظر داشتن این نکته که در صورت تغییر فایلها در حین یا پس از آخرین اجرای bisync، بروز تفاوتها مورد انتظار است. |
| بهعنوان مثال، یک توالی احتمالی میتواند به این شکل باشد: |
| "1." 3 |
| اجرای زمانبندیشدهٔ معمول bisync: |
| 4 |
| rclone bisync Path1 Path2 -MPc --check-access --max-delete 10 --filters-file /path/to/filters.txt -v --no-cleanup --ignore-listing-checksum --disable ListR --checkers=16 --drive-pacer-min-sleep=10ms --create-empty-src-dirs --resilient |
| "2." 3 |
| بررسی جامعیت دورهای و مستقل (احتمالاً زمانبندیشده بهصورت شبانه یا هفتگی): |
| 4 |
| rclone check -MvPc Path1 Path2 --filter-from /path/to/filters.txt |
| "3." 3 |
| اگر تفاوتهایی یافت شد، گزینههایی برای تصحیح آنها در اختیار دارید. |
| اگر یک طرف بهروزتر است و میخواهید طرف دیگر را با آن مطابقت دهید، میتوانید این دستور را اجرا کنید: |
| 4 |
| rclone sync Path1 Path2 --filter-from /path/to/filters.txt --create-empty-src-dirs -MPc -v |
| (یا جابهجا کردن Path1 و Path2 تا Path2 به منبع مرجع و موثق تبدیل شود) |
| یا اگر هیچکدام از طرفین کاملاً بهروز نیست، میتوانید یک |
| --resync اجرا کنید تا دوباره با یکدیگر هماهنگ شوند (اما به خاطر داشته باشید که این کار میتواند باعث بازگشت مجدد فایلهای حذفشده شود.) |
| *همچنین توجه داشته باشید که rclone check در حال حاضر شامل دایرکتوریهای خالی نمیشود، بنابراین اگر میخواهید بدانید که آیا دایرکتوری خالیِ ناهمگامی وجود دارد یا خیر، میتوانید دستور rclone sync بالا را با افزودن --dry-run اجرا کنید. |
| همچنین ببینید: Concurrent modifications، --resilient.SS --resilient |
| بهطور پیشفرض، بیشتر خطاها یا وقفهها باعث لغو اجرای bisync و نیاز به |
| --resync برای بازیابی میشوند. |
| این یک ویژگی ایمنی است تا از اجرای دوبارهٔ bisync پیش از بررسی شرایط |
| توسط کاربر جلوگیری کند. |
| با این حال، در برخی موارد ممکن است bisync سختگیرانه عمل کرده و حتی |
| در شرایطی که واقعاً نیازی نیست، قفلی اعمال کند؛ مانند خطاهای کماهمیتتری |
| که ممکن است در اجرای بعدی خودبهخود برطرف شوند. |
| هنگامی که --resilient مشخص شود، bisync تمام توان خود را |
| برای بازیابی و خوداصلاحی به کار میگیرد و تنها به عنوان آخرین چاره و |
| زمانی که دخالت انسان کاملاً ضروری باشد، به --resync نیاز پیدا میکند. |
| کاربرد مدنظر این گزینه، اجرای bisync به عنوان یک فرایند پسزمینه |
| (مانند زمانبندی از طریق cron) است. |
| هنگام استفاده از حالت --resilient، برنامهٔ bisync همچنان |
| خطا را گزارش کرده و متوقف میشود، با این حال جلوی اجراهای بعدی را |
| مسدود نمیکند - بدین ترتیب امکان تلاش دوباره در زمانبندی عادی بعدی، |
| بدون نیاز اولیه به --resync فراهم میگردد. |
| نمونههایی از این خطاهای قابل تلاش مجدد شامل شکست در آزمایشهای دسترسی، |
| نبود فایلهای فهرستبندی (listing) و تشخیص تغییرات در فیلترها هستند. |
| این سازوکارهای ایمنی همچنان مانع ادامهٔ اجرای کنونی |
| میشوند - تفاوت در این است که اگر تا زمان اجرای بعدی |
| شرایط بهبود یافته باشد، اجرای بعدی اجازهٔ پیشروی خواهد داشت. |
| برخی خطاهای جدیتر حتی در حالت --resilient نیز برای |
| جلوگیری از دست رفتن دادهها، انسداد مبتنی بر --resync را |
| اعمال خواهند کرد. |
| رفتار --resilient ممکن است در نسخههای آینده تغییر کند. |
| (همچنین ببینید: --recover، --max-lock، Graceful Shutdown) |
| --recover |
| اگر --recover تنظیم شده باشد، در صورت بروز وقفهای ناگهانی |
| یا هرگونه خاموش شدن غیرعادی (un-graceful shutdown)، bisync در اجرای بعدی |
| به جای الزام به اجرای --resync، تلاش خواهد کرد بهطور خودکار |
| بازیابی شود. |
| برنامهٔ bisync میتواند با نگهداری همیشگی یک فهرستبندی "پشتیبان" |
| که نمایانگر وضعیت هر دو مسیر پس از آخرین همگامسازی موفقِ ثبتشده است، |
| بازیابی پایداری انجام دهد. |
| سپس bisync میتواند وضعیت کنونی را با این تصویر لحظهای (snapshot) |
| مقایسه کند تا مشخص سازد چه تغییراتی نیاز به تلاش دوباره دارند. |
| تغییراتی که پس از این snapshot همگام شدهاند (در طول اجرایی که بعداً دچار |
| وقفه شد) برای bisync به گونهای به نظر میرسند که گویی "در هر دو طرف |
| جدید یا تغییریافته" هستند، اما در بیشتر موارد مشکلی ایجاد نمیکند؛ |
| چرا که bisync صرفاً "بررسی برابری" معمول خود را انجام داده و درمییابد |
| نیازی به اقدامی روی این فایلها نیست، زیرا از قبل در هر دو سو یکسان هستند. |
| در رویداد نادری که فایلی طی اجرایی که بعداً متوقف میشود با موفقیت همگام شده، |
| و سپس همان فایل پیش از اجرای بعدی دوباره تغییر کند، bisync آن را یک |
| تداخل همگامسازی (sync conflict) تشخیص میدهد و متناسب با آن اقدام میکند. |
| (از دیدگاه bisync، این فایل از زمان آخرین همگامسازی مورد اعتماد در هر دو طرف |
| تغییر یافته و فایلهای دو طرف در حال حاضر یکسان نیستند.) |
| بنابراین، --recover احتمال بروز تداخل را اندکی افزایش میدهد - |
| هرچند در عمل این موضوع بسیار نادر است، زیرا شرایط لازم برای وقوع آن کاملاً خاص هستند. |
| در صورت داشتن حق انتخاب، میتوان این خطر را با بهکارگیری حالت |
| "Graceful Shutdown" در bisync (که با ارسال SIGINT یا |
| فشردن Ctrl+C فعال میشود) به جای وادار کردن به توقف ناگهانی، کاهش داد. |
| گزینههای --recover و --resilient مشابهاند اما با یکدیگر |
| تفاوت دارند - فرق اصلی این است که --resilient بر محور |
| تلاش مجدد است، در حالی که --recover مربوط به |
| بازیابی است. |
| بیشتر کاربران احتمالاً به هر دو نیاز خواهند داشت. |
| گزینهٔ --resilient هنگامی که bisync به دلیل سازوکارهای ایمنی |
| نظیر رد شدن در --check-access یا تشخیص تغییر فیلتر تصمیم به |
| توقف خودکار گرفته باشد، امکان تلاش دوباره را فراهم میآورد. |
| گزینهٔ --resilient وقفههای خارجی مانند خاموش کردن رایانه |
| توسط کاربر در حین همگامسازی را پوشش نمیدهد - این دقیقاً کاری است که |
| --recover برای آن در نظر گرفته شده است. |
| --max-lock |
| برنامهٔ bisync از فایلهای قفل (lock files) به عنوان یک ویژگی ایمنی |
| استفاده میکند تا حین فعالیت خود، از تداخل سایر اجراهای bisync جلوگیری به عمل آورد. |
| bisync در شرایط عادی این فایلهای قفل را در پایان اجرا حذف میکند، |
| اما اگر bisync به طور ناگهانی دچار وقفه شود، این فایلها بر جای میمانند. |
| بهطور پیشفرض، آنها مانع از تمامی اجراهای بعدی میشوند تا زمانی که |
| کاربر فرصت کند وضعیت را بهصورت دستی بررسی کرده و قفل را بردارد. |
| به عنوان یک راهکار جایگزین، میتوان از --max-lock استفاده کرد |
| تا این فایلها پس از مدت مشخصی بهطور خودکار منقضی شوند؛ بدین ترتیب اجراهای |
| آینده برای همیشه مسدود نخواهند شد و بازیابی خودکار امکانپذیر میشود. |
| مقدار --max-lock میتواند هر بازهٔ زمانی معادل 2m یا |
| بیشتر (یا 0 برای غیرفعالسازی) باشد. |
| در صورت تنظیم، فایلهای قفل قدیمیتر از این بازه، "منقضیشده" |
| قلمداد میشوند و اجراهای بعدی مجاز به نادیده گرفتن آنها و ادامهٔ کار خواهند بود. |
| (توجه داشته باشید که مدتزمان --max-lock باید توسط فرایندی |
| تنظیم شده باشد که فایل قفل را بر جای گذاشته است - نه فرایند بعدی که آن را تفسیر میکند.) |
| در صورت تعیین، bisync همچنین برای ایمنی بیشتر، این فایلهای قفل را در |
| طول اجرا هر --max-lock منهای یک دقیقه یکبار "تمدید" میکند. |
| (برای نمونه، با --max-lock 5m، برنامهٔ bisync تا زمان اتمام |
| اجرا، فایل قفل را هر ۴ دقیقه یکبار (برای ۵ دقیقهٔ دیگر) تمدید مینماید.) |
| به عبارت دیگر، نباید ممکن باشد زمان انقضای یک فایل قفل در حالی فرا برسد |
| که فرایند ایجادکنندهٔ آن همچنان در حال اجرا است - بنابراین میتوانید تا حد |
| زیادی اطمینان داشته باشید هر فایل قفل منقضیشدهای که پیدا |
| میکنید، توسط یک اجرای دچار وقفه بر جای مانده است، نه اجرایی که همچنان |
| در حال اجرا بوده و تنها کمی به طول انجامیده است. |
| چنانچه یک فایل قفل وجود داشته باشد اما محتویات آن ناخوانا باشد (برای مثال |
| به دلیل نوشتن ناقص یا خطای دیسک)، در صورتی که --max-lock |
| روی مقداری بزرگتر از 0 تنظیم شده باشد، منقضیشده تلقی میشود. |
| اگر --max-lock برابر با 0 بوده یا تنظیم نشده باشد، |
| یک فایل قفل ناخوانا منجر به ایجاد خطا شده و اجراهای آینده را تا زمان حذف |
| دستی آن مسدود خواهد کرد. |
| اگر --max-lock برابر با 0 باشد یا تعیین نشده باشد، |
| حالت پیشفرض این است که فایلهای قفل هرگز منقضی نخواهند شد و اجراهای آتی |
| (برای همین دو مسیر مشابه در bisync) را برای همیشه مسدود میسازند. |
| برای بیشترین تابآوری در برابر اختلالات، تنظیم یک مدتزمان نسبتاً کوتاه |
| مانند --max-lock 2m به همراه --resilient و |
| --recover، و همچنین یک زمانبندی نسبتاً پرتکرار با cron را |
| مدنظر قرار دهید. |
| نتیجه، یک اجرای بسیار مستحکم از نوع "یکبار تنظیم کن و فراموش کن" |
| (set-it-and-forget-it) برای bisync خواهد بود که بدون نیاز به مداخلهٔ |
| کاربر و اجرای --resync، میتواند پس از تقریباً هرگونه وقفهای |
| که رخ دهد، بهطور خودکار به وضعیت عادی بازگردد. |
| (همچنین ببینید: حالت Graceful Shutdown).SS --backup-dir1 و --backup-dir2 |
| از v1.66 به بعد، |
| --backup-dir (https://rclone.org/docs/#backup-dir-string) در |
| bisync پشتیبانی میشود. |
| از آنجا که --backup-dir باید مسیری غیرهمپوشان روی همان ریموت باشد، |
| Bisync پرچمهای جدید --backup-dir1 و |
| --backup-dir2 را برای پشتیبانی از دایرکتوریهای پشتیبانگیری جداگانه برای |
| Path1 و Path2 معرفی کرده است (در غیر این صورت همگامسازی دوطرفه بین |
| ریموتهای مختلف با --backup-dir ممکن نبود). |
| --backup-dir1 و --backup-dir2 میتوانند از ریموتهای |
| متفاوتی نسبت به یکدیگر استفاده کنند، اما --backup-dir1 باید از همان ریموتِ |
| Path1 و --backup-dir2 باید از همان ریموتِ |
| Path2 استفاده کند. |
| هر دایرکتوری پشتیبانگیری نباید با مسیر bisync متناظر خود همپوشانی داشته باشد، |
| مگر اینکه توسط یک قاعده فیلتر مستثنی شده باشد. |
| گزینه استاندارد --backup-dir نیز در صورتی که هر دو مسیر از یک ریموت |
| استفاده کنند کار خواهد کرد (اما توجه داشته باشید که فایلهای حذفشده از هر دو مسیر |
| در همان دایرکتوری با یکدیگر ترکیب میشوند). |
| اگر هر یک از گزینههای --backup-dir1 یا --backup-dir2 تنظیم شوند، |
| اولویت داشته و --backup-dir را نادیده میگیرند. |
| مثال: |
| rclone bisync /Users/someuser/some/local/path/Bisync gdrive:Bisync --backup-dir1 /Users/someuser/some/local/path/BackupDir --backup-dir2 gdrive:BackupDir --suffix -2023-08-26 --suffix-keep-extension --check-access --max-delete 10 --filters-file /Users/someuser/some/local/path/bisync_filters.txt --no-cleanup --ignore-listing-checksum --checkers=16 --drive-pacer-min-sleep=10ms --create-empty-src-dirs --resilient -MvP --drive-skip-gdocs --fix-case |
| در این مثال، اگر کاربر فایلی را در | ||
| /Users/someuser/some/local/path/Bisync حذف کند، bisync این حذف را | ||
| با انتقال فایل متناظر از gdrive:Bisync به gdrive:BackupDir | ||
| به طرف دیگر منتقل میکند. | ||
| اگر کاربر فایلی را از gdrive:Bisync حذف کند، bisync آن را از | ||
| /Users/someuser/some/local/path/Bisync به | ||
| /Users/someuser/some/local/path/BackupDir انتقال میدهد. | ||
| در صورت تغییر نام به دلیل تداخل در همگامسازی، تغییر نام به عنوان حذف تلقی | ||
| نمیشود، مگر اینکه تداخل پیشینی با همان نام از قبل وجود داشته باشد و رونویسی گردد. | ||
| همچنین ببینید: --suffix (https://rclone.org/docs/#suffix-string)، | ||
| --suffix-keep-extension (https://rclone.org/docs/#suffix-keep-extension) | ||
| عملکرد (Operation) | ||
| جزئیات جریان اجرا (Runtime flow details) | ||
| دستور bisync فهرست فایلهای سیستمفایلهای Path1 و Path2 | ||
| را از اجرای قبلی نگهداری میکند. | ||
| در هر اجرای متوالی، کارهای زیر انجام خواهد شد: | ||
| • 2 | ||
| فهرست کردن فایلها در path1 و path2، و بررسی تغییرات | ||
| در هر دو طرف. | ||
| تغییرات شامل فایلهای New، Newer، Older و | ||
| Deleted است. | ||
| • 2 | ||
| اعمال تغییرات از path1 به path2 و بالعکس. | ||
| تدابیر ایمنی (Safety measures) | ||
| • 2 | ||
| فایل قفل (Lock file) در مواقعی که عملیات به طول میانجامد از اجراهای همزمان متعدد جلوگیری میکند. | ||
| این مورد بهویژه زمانی که bisync از طریق زمانبند cron اجرا میشود بسیار کاربردی است. | ||
| • 2 | ||
| مدیریت تداخل در تغییرات بهصورت غیرمخرب از طریق ایجاد نسخههای فایلی | ||
| .conflict1، .conflict2 و غیره، مطابق با تنظیمات | ||
| --conflict-resolve، --conflict-loser و --conflict-suffix. | ||
| • 2 | ||
| بررسی سلامت دسترسی به سیستمفایل با استفاده از فایلهای RCLONE_TEST | ||
| (پرچم --check-access را ببینید). | ||
| • 2 | ||
| لغو عملیات در صورت حذف بیش از حد - در برابر شرایطی که شکست در فهرستگیری | ||
| به عنوان حذف شدن همه فایلها تلقی شود، محافظت میکند. | ||
| پرچمهای --max-delete و --force را ببینید. | ||
| • 2 | ||
| در صورت بروز رویدادی فاجعهبار، bisync به یک وضعیت امن میرود تا مانع | ||
| از آسیب توسط اجراهای بعدی شود. | ||
| (بخش Error Handling را ببینید) | ||
| بررسیهای همگامسازی عادی (Normal sync checks) | ||
| tab( | ); | |
| lw(8.4n) lw(28.4n) lw(15.7n) lw(17.5n). | ||
| نوع | توضیحات | نتیجه |
| پیادهسازی | ||
| T} | ||
| Path2 new | فایل در Path2 جدید است و در Path1 وجود ندارد | نسخه Path2 باقی میماند |
| rclone copy از Path2 به Path1 | ||
| T} | ||
| Path2 newer | فایل در Path2 تازهتر است و در Path1 تغییری نکرده | نسخه Path2 باقی میماند |
| rclone copy از Path2 به Path1 | ||
| T} | ||
| Path2 deleted | فایل در Path2 حذف شده و در Path1 تغییری نکرده | فایل حذف میشود |
| rclone delete روی Path1 | ||
| T} | ||
| Path1 new | فایل در Path1 جدید است و در Path2 وجود ندارد | نسخه Path1 باقی میماند |
| rclone copy از Path1 به Path2 | ||
| T} | ||
| Path1 newer | فایل در Path1 تازهتر است و در Path2 تغییری نکرده | نسخه Path1 باقی میماند |
| rclone copy از Path1 به Path2 | ||
| T} | ||
| Path1 older | فایل در Path1 قدیمیتر است و در Path2 تغییری نکرده | نسخه Path1 باقی میماند |
| rclone copy از Path1 به Path2 | ||
| T} | ||
| Path2 older | فایل در Path2 قدیمیتر است و در Path1 تغییری نکرده | نسخه Path2 باقی میماند |
| rclone copy از Path2 به Path1 | ||
| T} | ||
| Path1 deleted | فایل دیگر روی Path1 وجود ندارد | فایل حذف میشود |
| rclone delete روی Path2 | ||
| T} | ||
| tab( | ); | |
| lw(17.2n) lw(21.0n) lw(19.4n) lw(12.4n). | ||
| نوع | شرح | نتیجه |
| پیادهسازی | ||
| T} | ||
| Path1 جدید/تغییریافته و Path2 جدید/تغییریافته و Path1 == Path2 | فایل در Path1 جدید/تغییریافته و در Path2 جدید/تغییریافته است و نسخهٔ Path1 در حال حاضر همسان با Path2 است | بدون تغییر |
| هیچ | ||
| T} | ||
| Path1 جدید و Path2 جدید | فایل در Path1 جدید و در Path2 جدید است (و نسخهٔ Path1 همسان با Path2 نیست) | مدیریت تعارضها طبق تنظیمات --conflict-resolve و --conflict-loser |
| پیشفرض: rclone copy فایل تغییرنامیافتهٔ Path2.conflict2 به Path1، rclone copy فایل تغییرنامیافتهٔ Path1.conflict1 به Path2 | ||
| T} | ||
| Path2 جدیدتر و Path1 تغییریافته | فایل در Path2 جدیدتر است و در Path1 نیز تغییر یافته است (جدیدتر/قدیمیتر/اندازه) (و نسخهٔ Path1 همسان با Path2 نیست) | مدیریت تعارضها طبق تنظیمات --conflict-resolve و --conflict-loser |
| پیشفرض: rclone copy فایل تغییرنامیافتهٔ Path2.conflict2 به Path1، rclone copy فایل تغییرنامیافتهٔ Path1.conflict1 به Path2 | ||
| T} | ||
| Path2 جدیدتر و Path1 حذفشده | فایل در Path2 جدیدتر است و در Path1 نیز حذف شده است | نسخهٔ Path2 باقی میماند |
| rclone copy از Path2 به Path1 | ||
| T} | ||
| Path2 حذفشده و Path1 تغییریافته | فایل در Path2 حذف شده است و در Path1 تغییر یافته است (جدیدتر/قدیمیتر/اندازه) | نسخهٔ Path1 باقی میماند |
| rclone copy از Path1 به Path2 | ||
| T} | ||
| Path1 حذفشده و Path2 تغییریافته | فایل در Path1 حذف شده است و در Path2 تغییر یافته است (جدیدتر/قدیمیتر/اندازه) | نسخهٔ Path2 باقی میماند |
| rclone copy از Path2 به Path1 | ||
| T} |
از rclone v1.64، اکنون bisync در تشخیص تعارضهای همگامسازی مثبت کاذب که پیشتر به تغییر نامها و ایجاد موارد تکراری غیرضروری منجر میشد، عملکرد بهتری دارد. اکنون، هنگامی که bisync به فایلی میرسد که قصد تغییر نام آن را دارد (به دلیل جدید/تغییریافته بودن در هر دو طرف)، ابتدا بررسی میکند که آیا نسخههای Path1 و Path2 در حال حاضر همسان هستند یا خیر (با استفاده از همان تابع پایهایِ check). اگر bisync به این نتیجه برسد که فایلها همسان هستند، از آنها صرفنظر کرده و عبور میکند. در غیر این صورت، مانند قبل، نسخههای تکراریِ تغییرنامیافته ایجاد خواهد کرد. این رفتار همچنین تجربهٔ تغییر نام دایرکتوریها را بهبود میبخشد (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=Renamed%20directories)، چرا که تا زمانی که تغییر یکسانی در هر دو طرف انجام شده باشد، دیگر نیازی به --resync نخواهد بود..SS "بررسی تغییر تمام فایلها (All files changed check)"
اگر تمام فایلهای موجود قبلی در هر یک از سامانههای فایل تغییر کرده باشند (برای نمونه، برچسبهای زمانی به دلیل تغییر منطقه زمانی سیستم تغییر کرده باشند)، bisync بدون اعمال هیچگونه تغییری متوقف خواهد شد. فایلهای جدید برای این بررسی در نظر گرفته نمیشوند. میتوانید از --force برای اجبار در همگامسازی استفاده کنید (سمتی که دارای فایلهای با برچسب زمانی تغییریافته باشد اولویت خواهد داشت). بهعنوان روشی جایگزین، میتوان از --resync استفاده کرد (نسخههای موجود در Path1 به Path2 فرستاده خواهند شد). وضعیت را با دقت بسنجید و شاید بهتر باشد پیش از نهایی کردن تغییرات، از --dry-run استفاده کنید.
زمانهای ویرایش (Modification times)
بهطور پیشفرض، bisync فایلها را بر اساس زمان ویرایش و اندازه مقایسه میکند. اگر شما یا برنامهتان محتوای فایلی را بدون تغییر زمان ویرایش و اندازه آن تغییر دهید، آنگاه bisync متوجه این تغییر نخواهد شد و در نتیجه آن را به سمت دیگر کپی نمیکند. بهعنوان روشی جایگزین، مقایسه با مجموع مقابلهای (checksum) را در نظر داشته باشید (در صورتی که ریموتهای شما از آن پشتیبانی کنند). برای جزئیات بیشتر به --compare مراجعه کنید.
مدیریت خطاها (Error handling)
برخی از خطاهای حیاتی bisync، مانند شکست در کپی یا انتقال فایل، منجر به قفل شدن اجراهای بعدی bisync خواهند شد. این قفل به این دلیل اعمال میشود که وضعیت همگامسازی و تاریخچه سامانههای فایل Path1 و Path2 قابل اعتماد نیستند، بنابراین مسدود کردن هرگونه تغییر بعدی تا زمانی که شرایط بررسی شود ایمنتر است. راهکار بازیابی، اجرای مجدد با گزینه --resync است.
توصیه میشود در ابتدا از --resync --dry-run --verbose استفاده کنید و پیش از اجرای --resync بدون گزینه --dry-run، تغییراتی را که اعمال خواهند شد بهدقت بررسی نمایید.
بیشتر این رویدادها به دلیل وضعیت خطا ناشی از یک فراخوانی درونی رخ میدهند. در صورت بروز چنین خطای حیاتی، نام فایلهای فهرستبندی {...}.path1.lst و {...}.path2.lst با افزودن پسوند .lst-err تغییر مییابد، که این امر اجراهای بعدی bisync را مسدود میسازد (زیرا فایلهای عادی با پسوند .lst پیدا نمیشوند). برنامه bisync آنها را در زیرپوشه bisync از دایرکتوری حافظه موقت (cache) ابزار rclone نگه میدارد، که در لینوکس معمولاً در مسیر ${HOME}/.cache/rclone/bisync/ قرار دارد.
برخی از خطاها موقتی در نظر گرفته میشوند و اجرای مجدد bisync مسدود نخواهد شد. تنها بازگشت وضعیت بحرانی (critical return) مانع از اجراهای بعدی bisync میگردد.
همچنین ببینید: --resilient، --recover، --max-lock و Graceful Shutdown
فایل قفل (Lock file)
هنگامی که bisync در حال اجرا است، یک فایل قفل در دایرکتوری کاری bisync ایجاد میشود که در لینوکس معمولاً در مسیر ~/.cache/rclone/bisync/PATH1..PATH2.lck قرار دارد. اگر bisync دچار فروپاشی (crash) یا توقف (hang) شود، فایل قفل در جای خود باقی میماند و هرگونه اجرای بعدی bisync را برای همان مسیرها مسدود میکند. بهعنوان بخشی از فرایند عیبیابی، این فایل قفل را حذف کنید. فایل قفل هنگامی که اجرای قبلی زمان زیادی طول میکشد، بهطور مؤثری از اجراهای بعدی (برای نمونه، برنامهریزیشده توسط cron) جلوگیری میکند. فایل قفل حاوی PID فرایند مسدودکننده است که ممکن است در اشکالزدایی کمک کند. فایلهای قفل را میتوان با استفاده از گزینه --max-lock طوری تنظیم کرد که پس از مدت معینی بهطور خودکار منقضی شوند.
توجه داشته باشید که اگرچه اجرای همزمان bisync مجاز است، اما بسیار محتاط باشید که هیچ تداخلی در درختهای در حال همگامسازی بین اجراهای همزمان وجود نداشته باشد، مبادا فایلهای تکراری، حذف ناخواسته فایلها و آشفتگی کلی رخ دهد.
وضعیتهای خروج (Exit codes)
دستور rclone bisync کدهای خروج زیر را به برنامه فراخوان بازمیگرداند:
- •
- 0 در یک اجرای موفق،
- •
- 1 برای اجرای ناموفق غیرحیاتی (ممکن است اجرای مجدد موفقیتآمیز باشد)،
- •
- 2 در صورت خطای نحوی یا روش استفاده نادرست،
- •
- 7 برای اجرایی که بهصورت بحرانی متوقف شده است (برای بازیابی به --resync نیاز دارد).
همچنین بخش مربوط به کدهای خروج (https://rclone.org/docs/#exit-code) را در مستندات اصلی ببینید..SS "خاتمه آرام (Graceful Shutdown)"
دستور bisync دارای یک حالت "خاتمه آرام" (Graceful Shutdown) است که با ارسال SIGINT یا فشردن Ctrl+C در حین اجرا فعال میشود. پس از فعال شدن، bisync تمام تلاش خود را به کار خواهد بست تا پیش از اتمام زمانسنج به شکلی تمیز خارج شود. اگر bisync در میانه انتقال فایلها باشد، تلاش خواهد کرد تا با تکمیل آنچه آغاز کرده و نپذیرفتن موارد جدید، صف خود را با نظم خالی کند. اگر نتواند ظرف ۳۰ ثانیه این کار را به انجام برساند، انتقالهای در حال انجام را لغو کرده و حداکثر ۶۰ ثانیه به خود فرصت میدهد تا کارها را جمعبندی کند، وضعیت خود را برای اجرای بعدی ذخیره نماید و خارج شود. با پرچمهای -vP، بهروزرسانیهای مداوم وضعیت و یک تأیید نهایی از موفق بودن یا نبودن خاتمه آرام را مشاهده خواهید کرد.
در هر مرحلهای از توالی "خاتمه آرام"، ارسال یک SIGINT یا فشردن مجدد Ctrl+C موجب خروج فوری و ناگهانی خواهد شد که اوضاع را در وضعیتی آشفتهتر رها میکند. معمولاً در صورت استفاده از حالت --recover، همچنان یک بازیابی مطمئن امکانپذیر خواهد بود؛ در غیر این صورت لازم است یک بار --resync انجام دهید.
اگر قصد استفاده از حالت خاتمه آرام را دارید، توصیه میشود از گزینههای --resilient و --recover استفاده کنید، و بسیار مهم است که از --inplace (https://rclone.org/docs/#inplace) استفاده نکنید؛ در غیر این صورت خطر باقی ماندن فایلهای ناقص در یک سمت وجود خواهد داشت که ممکن است در اجرای بعدی به اشتباه به عنوان فایلهای واقعی در نظر گرفته شوند. همچنین توجه داشته باشید که در صورت توقف ناگهانی، یک فایل قفل (lock file) بر جای خواهد ماند تا مانع از اجراهای همزمان شود. لازم است پیش از اقدام به اجرای بعدی، آن را حذف کنید (یا در صورت استفاده از --max-lock، صبر کنید تا خودش منقضی شود).
محدودیتها (Limitations)
بکاندهای پشتیبانیشده (Supported backends)
سازگاری bisync در برابر تمام بکاندهای rclone از طریق آزمونهای یکپارچهسازی بررسی میشود. بیشتر بکاندها (شامل تمام بکاندهایی که در زیر فهرست نشدهاند) به عنوان کاملاً پشتیبانیشده و فاقد مشکلات شناختهشده در نظر گرفته میشوند. با این وجود، گاهی اوقات این آزمونها مشکلاتی را با برخی بکاندهای خاص نشان میدهند که معمولاً به محدودیتهای خاص ارائهدهنده و فراتر از کنترل rclone مربوط میشوند (برای نمونه، نویسههای خاص غیرمجاز و کدگذاریهای نام فایل).
بکاندهای زیر دارای مشکلات شناختهشدهای هستند که نیاز به بررسی بیشتر دارند:
- •
- TestHuaweiDrive (huaweidrive)
- •
- TestBisyncRemoteLocal/ext_paths (https://pub.rclone.org/integration-tests/current/huaweidrive-cmd.bisync-TestHuaweiDrive-1.txt)
- •
- TestBisyncRemoteLocal/extended_filenames (https://pub.rclone.org/integration-tests/current/huaweidrive-cmd.bisync-TestHuaweiDrive-1.txt)
- •
- TestBisyncRemoteLocal/normalization (https://pub.rclone.org/integration-tests/current/huaweidrive-cmd.bisync-TestHuaweiDrive-1.txt)
- •
- TestBisyncLocalRemote/ext_paths (https://pub.rclone.org/integration-tests/current/huaweidrive-cmd.bisync-TestHuaweiDrive-1.txt)
- •
- TestBisyncLocalRemote/extended_filenames (https://pub.rclone.org/integration-tests/current/huaweidrive-cmd.bisync-TestHuaweiDrive-1.txt)
- •
- ۳ مورد دیگر (https://pub.rclone.org/integration-tests/current)
- •
- TestPcloud (pcloud)
- •
- TestBisyncRemoteLocal/createemptysrcdirs (https://pub.rclone.org/integration-tests/current/pcloud-cmd.bisync-TestPcloud-1.txt)
- •
- TestBisyncLocalRemote/resolve (https://pub.rclone.org/integration-tests/current/pcloud-cmd.bisync-TestPcloud-1.txt)
- •
- TestBisyncRemoteRemote/createemptysrcdirs (https://pub.rclone.org/integration-tests/current/pcloud-cmd.bisync-TestPcloud-1.txt)
- •
- بهروزرسانی شده: 2026-09-04-010006
بکاندهای زیر یا اخیراً آزمایش نشدهاند یا مشکلات شناختهشدهای دارند که در حال حاضر غیرقابل حل در نظر گرفته میشوند:
- •
- TestArchive (archive)
- •
- TestCache (cache)
- •
- TestDrime (drime)
- •
- TestDropbox (dropbox)
- •
- TestBisyncRemoteLocal/normalization
- •
- TestBisyncLocalRemote/normalization
- •
- TestBisyncRemoteRemote/normalization
- •
- TestFileLu (filelu)
- •
- TestFilesCom (filescom)
- •
- TestImageKit (imagekit)
- •
- TestJottacloud (jottacloud)
- •
- TestLinkbox (linkbox)
- •
- TestMailru (mailru)
- •
- TestMega (mega)
- •
- TestOpenDrive (opendrive)
- •
- TestOracleObjectStorage (oracleobjectstorage)
- •
- TestPikPak (pikpak)
- •
- TestPixeldrain (pixeldrain)
- •
- TestProtonDrive (protondrive)
- •
- TestPutio (putio)
- •
- TestQuatrix (quatrix)
- •
- TestS3GCS (s3)
- •
- TestBisyncRemoteRemote/extended_filenames
- •
- TestS3Rclone (s3)
- •
- TestSFTPRsyncNet (sftp)
- •
- TestStorj (storj)
- •
- TestWebdavNextcloud (webdav)
- •
- TestWebdavOwncloud (webdav)
- •
- TestnStorage (netstorage) (اطلاعات بیشتر (https://github.com/rclone/rclone/blob/master/fstest/test_all/config.yaml))
فهرستهای فوق برای هر انتشار پایدار rclone بهروزرسانی میشوند. برای مشاهده نتایج آزمون که شبانه بر اساس آخرین نسخه آزمایشی (beta) بهروزرسانی میشوند، به صفحه وضعیت آزمون یکپارچهسازی rclone (https://pub.rclone.org/integration-tests/current) مراجعه کنید.
نسخههای بتای اولیه rclone bisync نیازمند این بودند که هر دو بکاندِ زیربنایی از زمانهای تغییر (modification times) پشتیبانی کنند، و در غیر این صورت از اجرا خودداری میکردند. این محدودیت از نسخه v1.66 برداشته شده است، زیرا bisync اکنون از مقایسه مجموع مقابلهای (checksum) و/یا اندازه بهجای (یا علاوه بر) زمان تغییر پشتیبانی میکند. برای جزئیات بیشتر به --compare مراجعه کنید..SS "تغییرات همروند (Concurrent modifications)"
هنگام استفاده از ریموتهای Local، FTP یا SFTP همراه با --inplace (https://rclone.org/docs/#inplace)، ابزار rclone هنگام کپی کردن، فایلهای موقت در مقصد ایجاد نمیکند؛ بنابراین در صورت قطع اتصال، فایل ایجادشده ممکن است ناقص یا خراب شود، که این خرابی به احتمال زیاد در همگامسازی بعدی به مسیر اصلی نیز سرایت خواهد کرد و منجر به از دست رفتن دادهها میشود. از این رو توصیه میشود از --inplace صرفنظر کنید.
فایلهایی که در طول اجرای یک نشست bisync تغییر میکنند ممکن است منجر به از دست رفتن دادهها شوند. پیش از rclone v1.66، این وضعیت معمولاً در محیطهای بسیار پویا دیده میشد، جایی که در حین همگامسازی، سیستمفایل زیر بار سنگین پردازشهای در حال اجرا قرار میگرفت. از نسخهٔ rclone v1.66، ابزار bisync بازطراحی شد تا از یک مدل "تصویر لحظهای (snapshot)" استفاده کند، که خطرات ناشی از تغییرات حین همگامسازی را تا حد زیادی کاهش میدهد. تغییراتی که در طول همگامسازی جاری شناسایی نشوند، در همگامسازی بعدی شناسایی خواهند شد و دیگر باعث نخواهند شد که کل فرایند اجرا با یک خطای بحرانی متوقف شود. علاوه بر این، برای ایمنی بیشتر، سازوکاری تعبیه شده است تا فایلهایی را که نیازمند بررسی مجدد داخلی در دفعات بعد هستند علامتگذاری کند. بنابراین دیگر نباید لازم باشد همگامسازی را تنها در ساعات خلوت و آرام انجام دهید -- با این حال، توجه داشته باشید که اگر فایلی دقیقاً در همان لحظهای که توسط bisync خوانده یا نوشته میشود تغییر کند، همچنان ممکن است خطا رخ دهد (مشابه آنچه در rclone sync رخ میدهد). (همچنین ببینید: --ignore-checksum (https://rclone.org/docs/#ignore-checksum)، --local-no-check-updated (https://rclone.org/local/#local-no-check-updated))
دایرکتوریهای خالی (Empty directories)
بهطور پیشفرض، دایرکتوریهای خالی جدید یا حذفشده در یک مسیر، به سمت دیگر منتقل نمیشوند. زیرا bisync (و rclone) ذاتاً روی فایلها کار میکنند، نه دایرکتوریها. با این حال، این رفتار را میتوان با گزینهٔ --create-empty-src-dirs تغییر داد، که سازوکار آن تا حد زیادی مشابه عملکردش در sync (https://rclone.org/commands/rclone_sync) و copy (https://rclone.org/commands/rclone_copy) است. در صورت استفاده از آن، دایرکتوریهای خالی ایجادشده یا حذفشده در یک سمت، در سمت دیگر نیز ایجاد یا حذف خواهند شد. نکات زیر باید مد نظر قرار گیرند:
- •
- گزینهٔ --create-empty-src-dirs با --remove-empty-dirs سازگار نیست. تنها از یکی از آنها استفاده کنید (یا هیچکدام).
- •
- توصیه نمیشود بدون اجرای -- resync، بین --create-empty-src-dirs و حالت پیشفرض (بدون --create-empty-src-dirs) جابهجا شوید. دلیل این است که ممکن است اینگونه به نظر برسد که همهٔ دایرکتوریها (نه فقط موارد خالی) ایجاد یا حذف شدهاند، در حالی که در واقعیت شما فقط وضعیت نمایش آنها را بین مرئی یا نامرئی برای bisync تغییر دادهاید. این وضعیت نگرانکنندهتر از واقعیت خود به نظر میرسد، اما همچنان بهتر است تنها از یکی از حالات استفاده کنید و در صورت نیاز به تغییر، از --resync بهره ببرید.
دایرکتوریهای تغییرنامیافته (Renamed directories)
بهطور پیشفرض، تغییر نام یک پوشه در سمت Path1 منجر به حذف تمام فایلها در سمت Path2 و سپس کپی مجدد تمام فایلها از Path1 به Path2 میشود. ابزار bisync این رویداد را به منزلهٔ حذف تمام فایلها در دایرکتوری با نام قدیمی و جدید بودن تمام فایلها در دایرکتوری با نام جدید تلقی میکند.
یک راهکار توصیهشده استفاده از --track-renames (https://rclone.org/docs/#track-renames) است که از نسخهٔ rclone v1.66 در bisync پشتیبانی میشود. توجه داشته باشید که --track-renames در طول --resync در دسترس نیست، چرا که --resync هیچ فایلی را حذف نمیکند (--track-renames تنها از sync پشتیبانی میکند، نه copy).
در غیر این صورت، مؤثرترین و کارآمدترین روش برای تغییر نام یک دایرکتوری، تغییر نام آن به نامی یکسان در هر دو طرف است. (از نسخهٔ rclone v1.64 به بعد، دیگر پس از انجام این کار نیازی به اجرای --resync نیست، زیرا bisync بهطور خودکار یکسان بودن Path1 و Path2 را تشخیص خواهد داد.)
توجه داشته باشید که اگرچه گزینهٔ --track-renames تضمین میکند فایلهای تغییرنامیافته/منتقلشده حذف و مجدداً آپلود نشوند، اما برای مقاصد گزینهٔ --max-delete همچنان به عنوان فایلهای حذفشده شمارش میشوند (زیرا این بررسی پیش از عملیات تشخیص تغییر نام انجام میگیرد). این گزارش موضوع را ببینید (https://github.com/rclone/rclone/issues/8685)..SS استفاده پیشفرض از --fast-list
برخلاف بیشتر دستورات دیگر rclone، دستور bisync بهطور پیشفرض از --fast-list (https://rclone.org/docs/#fast-list) برای بکاندهایی که از آن پشتیبانی میکنند، استفاده میکند. در بسیاری از موارد این رفتار مطلوب است، اما سناریوهایی وجود دارند که در آنها ممکن است bisync بدون --fast-list سریعتر عمل کند؛ همچنین یک مشکل شناختهشده مربوط به کاربران Google Drive با دایرکتوریهای خالی زیاد وجود دارد (https://github.com/rclone/rclone/commit/cbf3d4356135814921382dd3285d859d15d0aa77). در حال حاضر، روش توصیهشده برای پرهیز از استفاده از --fast-list، افزودن --disable ListR به تمام دستورات bisync است. رفتار پیشفرض ممکن است در نسخههای آینده تغییر کند.
حساسیت به بزرگی و کوچکی حروف (و یونیکد)
از نسخهٔ v1.66 به بعد، تفاوتهای بزرگی و کوچکی حروف و اشکال یونیکد دیگر خطای بحرانی ایجاد نمیکنند و نرمالسازی (هنگام مقایسه میان سیستمهای فایل) بر اساس همان گزینهها و پیشفرضهای rclone sync مدیریت میشود. برای کنترل دقیقتر این رفتار گزینههای زیر (که همگی توسط bisync پشتیبانی میشوند) را ببینید:
- •
- --fix-case (https://rclone.org/docs/#fix-case)
- •
- --ignore-case-sync (https://rclone.org/docs/#ignore-case-sync)
- •
- --no-unicode-normalization (https://rclone.org/docs/#no-unicode-normalization)
- •
- --local-unicode-normalization (https://rclone.org/local/#local-unicode-normalization) و --local-case-sensitive (https://rclone.org/local/#local-case-sensitive) (احتیاط: معمولاً این موارد آن چیزی نیستند که میخواهید.)
توجه داشته باشید در وضعیت (احتمالاً نادر) استفاده از --fix-case، چنانچه فایلی در هر دو طرف جدید/تغییریافته باشد و چکسامها مطابقت داشته باشند اما بزرگی و کوچکی حروف نام فایل یکسان نباشد، برای مقاصد --fix-case نام فایل در Path1 برنده در نظر گرفته میشود (نام فایل در Path2 تغییر داده خواهد شد تا با آن مطابقت پیدا کند).
پشتیبانی از Windows
دستور bisync روی Windows 8.1، Windows 10 Pro 64-bit و روی Windows GitHub runners آزمایش شده است.
حروف درایو مجاز هستند، از جمله حروف درایو نگاشتشده به درایوهای شبکه (rclone bisync J:\localsync GDrive:). اگر حرف درایو مشخص نشود، درایو جاری پوسته پیشفرض خواهد بود. حروف درایو یک نویسهٔ تک به همراه : هستند، بنابراین نامهای ابری باید بیش از یک نویسه باشند.
مسیرهای مطلق (با یا بدون حرف درایو) و مسیرهای نسبی (با یا بدون حرف درایو) پشتیبانی میشوند.
دایرکتوری کاری در مسیر C:\Users\MyLogin\AppData\Local\rclone\bisync ایجاد میشود.
توجه داشته باشید که خروجی bisync ممکن است ترکیبی از اسلش / و بکاسلش \ را نمایش دهد.
مراقب عدم حساسیت به بزرگی و کوچکی حروف در نامگذاری فایل و دایرکتوری در Windows در مقابل حساسیت به آن در Linux باشید.
فیلتر کردن
برای نحوه نوشتن و تفسیر قوانین فیلتر، مستندات فیلتر کردن (https://rclone.org/filtering) را ببینید.
گزینهٔ --filters-file در bisync سازوکار فیلترسازی --filter-from (https://rclone.org/filtering/#filter-from-read-filtering-patterns-from-a-file) در rclone را اندکی گسترش میدهد. برای هر بار اجرای bisync میتوانید فقط یک --filters-file ارائه دهید. گزینههای --include*، --exclude* و --filter نیز پشتیبانی میشوند.
نحوه فیلتر کردن دایرکتوریها
فیلتر کردن بخشهایی از درخت دایرکتوری یک قابلیت حیاتی برای همگامسازی است.
نمونههایی از درختهای دایرکتوری (همیشه در زیر سطح ریشهٔ Path1/Path2) که ممکن است بخواهید آنها را از همگامسازی خود مستثنی کنید:
- •
- درختهای دایرکتوری که فقط شامل فایلهای واسط ساخت نرمافزار هستند.
- •
- درختهای دایرکتوری حاوی دادهها و فایلهای موقت برنامهها مانند درخت C:\Users\MyLogin\AppData\ در Windows.
- •
- درختهای دایرکتوری حاوی فایلهایی که حجیم هستند، اهمیت کمتری دارند یا بهطور مداوم توسط فرایندهای در حال اجرا دستکاری و بازنویسی میشوند.
از سوی دیگر، ممکن است تنها دایرکتوریهای خاصی وجود داشته باشند که بخواهید واقعاً آنها را همگامسازی کنید و تمام موارد دیگر را مستثنی نمایید. مثال فیلترهای سبک include را برای دایرکتوریهای کاربری Windows در زیر ببینید..SS دستورالعملهای نوشتن فایل فیلترها
- 1.
- با مستثنی کردن درختهای دایرکتوری شروع کنید:
- •
- برای مثال: - /AppData/
- •
- وجود ** در انتها ضروری نیست. زمانی که یک سطح دایرکتوری خاص مستثنی شود، rclone دیگر هیچچیز زیر آن را بررسی نخواهد کرد.
- •
- دایرکتوریهایی را که غیرضروری هستند، حجم زیادی دارند، مرتباً دستخوش تغییرات موقت میشوند، یا ممکن است مشکل دسترسی یا مجوز داشته باشند مستثنی کنید.
- •
- مستثنی کردن این دایرکتوریها در ابتدا، عملیاتهای rclone را (بسیار) سریعتر میکند.
- •
- فایلهای خاص را نیز میتوان مستثنی کرد، مانند مثال مستثنیسازیهای Dropbox در زیر.
- 2.
- تصمیم بگیرید که آیا آسانتر (یا تمیزتر) است که:
- •
- دایرکتوریهای انتخابی را شامل کرده و در نتیجه هر چیز دیگری را مستثنی کنید -- یا --
- •
- دایرکتوریهای انتخابی را مستثنی کرده و در نتیجه هر چیز دیگری را شامل کنید
- 3.
- شامل کردن دایرکتوریهای انتخابی:
- •
- خطوطی مانند + /Documents/PersonalFiles/** را اضافه کنید تا دایرکتوریهایی که باید در همگامسازی گنجانده شوند مشخص گردند.
- •
- وجود ** در انتها تعیین میکند که کل عمق درخت دایرکتوری مشخصشده گنجانده شود.
- •
- در فیلترهای سبک گنجاندن (Include)، فایلهای موجود در ریشهٔ Path1/Path2 گنجانده نمیشوند. آنها را میتوان با + /* شامل کرد.
- •
- فایلهای RCLONE_TEST را درون این درختهای دایرکتوری گنجاندهشده قرار دهید. این فایلها تنها در این درختهای دایرکتوری جستجو خواهند شد.
- •
- کار را با مستثنی کردن همهٔ موارد دیگر از طریق افزودن - ** در انتهای فایل فیلترها به پایان برسانید.
- •
- مرحلهٔ ۴ را نادیده بگیرید.
- 4.
- مستثنی کردن دایرکتوریهای انتخابی:
- •
- خطوط بیشتری مانند مرحلهٔ ۱ اضافه کنید. به عنوان مثال: -/Desktop/tempfiles/ یا - /testdir/. مجدداً، وجود ** در انتها ضروری نیست.
- •
- خط - ** را به فایل اضافه نکنید. بدون این خط، هر آنچه صراحتاً مستثنی نشده باشد، گنجانده خواهد شد.
- •
- مرحلهٔ ۳ را نادیده بگیرید.
چند قانون برای نحو (syntax) فایل فیلتر به منظور بسط مستندات فیلترسازی (https://rclone.org/filtering):
- •
- خطوط میتوانند با فاصله و تب آغاز شوند - rclone فاصلههای خالی ابتدای خط را حذف میکند.
- •
- اگر اولین نویسهٔ غیرفاصله # باشد، آن خط یک توضیح (comment) است و نادیده گرفته خواهد شد.
- •
- خطوط خالی نادیده گرفته میشوند.
- •
- نخستین نویسهٔ غیرفاصله در یک خط فیلتر باید + یا - باشد.
- •
- دقیقاً ۱ فاصله بین +/- و عبارت مسیر مجاز است.
- •
- در عبارتهای مسیر فقط از اسلش روبهجلو (/) استفاده میشود، حتی در ویندوز.
- •
- باقیماندهٔ خط به عنوان عبارت مسیر در نظر گرفته میشود. فاصلههای خالی انتهای خط دقیقاً همانطور که هستند در نظر گرفته میشوند و احتمالاً یک خطا هستند..SS نمونه فیلترهای سبک شمول (include-style) برای دایرکتوریهای کاربر ویندوز
این نمونهی سبک شمول (include-style) در ویندوز بر پایه تنظیم ریشه همگامسازی (Path1) روی C:\Users\MyLogin است. راهبرد بر این است که دایرکتوریهای مشخصی برای همگامسازی با یک درایو تحت شبکه (Path2) انتخاب شوند.
- •
- الگوی - /AppData/ کل درخت دادههای ذخیرهشدهی ویندوز را که نیازی به همگامسازی ندارند مستثنی میکند. در مورد من، AppData بیش از ۱۱ گیگابایت داده دارد که برایم اهمیتی ندارند، و برخی زیردایرکتوریها زیر AppData وجود دارند که برای حساب کاربری من قابل دسترسی نیستند و منجر به توقفهای بحرانی (critical aborts) در bisync میشوند.
- •
- ویندوز فایلهای کَشی را ایجاد میکند که با هر دو حالت حروف کوچک و بزرگ NTUSER در C:\Users\MyLogin آغاز میشوند. این فایلها ممکن است پویا و قفلشده باشند و عموماً بیاهمیت هستند.
- •
- تنها چند دایرکتوری با دادههای من وجود دارند که واقعاً میخواهم به صورت + /<path> همگامسازی شوند. با انتخاب صرفاً درختهای دایرکتوری مد نظرم، از بیش از دوازده دایرکتوری که برنامههای گوناگون در C:\Users\MyLogin\Documents میسازند اجتناب میکنم.
- •
- با افزودن خط + /*، فایلهای موجود در ریشه نقطه همگامسازی، C:\Users\MyLogin، را شامل کنید.
- •
- این یک فایل فیلتر به سبک Include است، بنابراین با - ** پایان مییابد که هر چیزی را که صراحتاً شامل نشده است مستثنی میکند.
-
- /AppData/ - NTUSER* - ntuser* + /Documents/Family/** + /Documents/Sketchup/** + /Documents/Microcapture_Photo/** + /Documents/Microcapture_Video/** + /Desktop/** + /Pictures/** + /* - **
همچنین توجه داشته باشید که ویندوز چندین پیوند "library" مانند C:\Users\MyLogin\My Documents\My Music را پیادهسازی میکند که به C:\Users\MyLogin\Music اشاره دارند. برنامه rclone اینها را به عنوان پیوند میبیند، بنابراین اگر میخواهید این پیوندها را دنبال کنید، باید --links را به خط فرمان bisync اضافه کنید. من دریافتم که در تلاش برای دنبال کردن پیوندها با خطاهای دسترسی مواجه میشوم، بنابراین پرچم --links در rclone را قرار نمیدهم، اما در این صورت با انبوهی از پیامهای مزاحم Can't follow symlink... از سوی rclone درباره دنبال نکردن پیوندها روبهرو میشوید. این پیامهای مزاحم را میتوان با افزودن --quiet به خط فرمان bisync فرونشاند.
نمونه فایلهای فیلتر به سبک exclude برای استفاده با Dropbox
- •
- سرویس Dropbox همگامسازی فایلهای موقت و فایلهای پیکربندی/دادهی ذکرشده را مجاز نمیداند. فیلترهای - <filename> این فایلها را در هر کجای درخت همگامسازی که باشند مستثنی میکنند. افزودن استثناهای مشابه برای انواع فایلهایی را که نیازی به همگامسازی آنها ندارید، مانند فایلهای core dump و ساخت نرمافزار، مد نظر قرار دهید.
- •
- آزمایشهای bisync پوشهی /testdir/ را در بالاترین سطح درخت همگامسازی ایجاد میکنند و معمولاً پس از آزمایش، این درخت را حذف میکنند. اگر در زمان وجود درخت /testdir/ یک همگامسازی عادی اجرا شود، مرحلهی --check-access ممکن است به دلیل فایلهای نامتوازن RCLONE_TEST با شکست مواجه شود. فیلتر - /testdir/ از همگامسازی این درخت جلوگیری میکند. اگر آزمایشهای مربوط به توسعهی bisync را انجام نمیدهید، نیازی به این استثنا ندارید.
- •
- هر چیز دیگری در زیر ریشه Path1/Path2 همگامسازی خواهد شد.
- •
- فایلهای RCLONE_TEST ممکن است در هر جایی از درخت، از جمله ریشه، قرار داده شوند.
نمونه فایل فیلتر برای Dropbox
-
# فایل فیلتر برای استفاده با bisync # برای قوانین فیلترسازی https://rclone.org/filtering را ببینید # توجه: در صورت اعمال تغییرات در این فایل، حتماً باید یک اجرای --resync انجام دهید. # با --dry-run اجرا کنید تا ببینید چه تغییراتی اعمال خواهند شد. # سرویس Dropbox برخی فایلها را همگامسازی نمیکند، بنابراین آنها را در اینجا فیلتر کنید. # https://help.dropbox.com/installs-integrations/sync-uploads/files-not-syncing را ببینید - .dropbox.attr - ~*.tmp - ~$* - .~* - desktop.ini - .dropbox # برای آزمایش bisync استفاده میشود، بنابراین از اجراهای عادی مستثنی شده است - /testdir/ # سایر فیلترهای نمونه #- /TiBU/ #- /Photos/
در ابتدای یک اجرای bisync، فهرست فایلها برای Path1 و Path2 با اعمال --filters-file کاربر جمعآوری میشود. در طول مرحله بررسی دسترسی (check access)، ابزار bisync این فهرستها را برای یافتن فایلهای RCLONE_TEST پویش میکند. هر فایل RCLONE_TEST که توسط --filters-file پنهان شده باشد در این فهرستها قرار نمیگیرد و بنابراین در مرحله بررسی دسترسی، بررسی نخواهد شد.
عیبیابی (Troubleshooting)
خواندن لاگهای bisync
در اینجا دو نمونه از اجرای عادی آورده شده است. مورد اول یک فایل جدیدتر روی ریموت دارد. مورد دوم هیچ تفاوتی (دلتا) بین مبدأ محلی و ریموت ندارد.
-
2021/05/16 00:24:38 INFO : Synching Path1 "/path/to/local/tree/" with Path2 "dropbox:/" 2021/05/16 00:24:38 INFO : Path1 checking for diffs 2021/05/16 00:24:38 INFO : - Path1 File is new - file.txt 2021/05/16 00:24:38 INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted 2021/05/16 00:24:38 INFO : Path2 checking for diffs 2021/05/16 00:24:38 INFO : Applying changes 2021/05/16 00:24:38 INFO : - Path1 Queue copy to Path2 - dropbox:/file.txt 2021/05/16 00:24:38 INFO : - Path1 Do queued copies to - Path2 2021/05/16 00:24:38 INFO : Updating listings 2021/05/16 00:24:38 INFO : Validating listings for Path1 "/path/to/local/tree/" vs Path2 "dropbox:/" 2021/05/16 00:24:38 INFO : Bisync successful 2021/05/16 00:36:52 INFO : Synching Path1 "/path/to/local/tree/" with Path2 "dropbox:/" 2021/05/16 00:36:52 INFO : Path1 checking for diffs 2021/05/16 00:36:52 INFO : Path2 checking for diffs 2021/05/16 00:36:52 INFO : No changes found 2021/05/16 00:36:52 INFO : Updating listings 2021/05/16 00:36:52 INFO : Validating listings for Path1 "/path/to/local/tree/" vs Path2 "dropbox:/" 2021/05/16 00:36:52 INFO : Bisync successful
رفتار نامتعارف در اجرای آزمایشی (Dry run oddity)
پیامهای --dry-run ممکن است نشان دهند که تلاشی برای حذف برخی فایلها صورت خواهد گرفت. به عنوان مثال، اگر فایلی روی Path2 جدید باشد و در Path1 وجود نداشته باشد، در حالت عادی به Path1 کپی میشود، اما با فعال بودن --dry-run این کپیها انجام نمیگیرند که باعث میشود تلاشی برای حذف آن از روی Path2 ثبت شود، که البته این حذف نیز مجدداً توسط --dry-run مسدود میشود: ... Not deleting as --dry-run.
تمام این وضعیت گیجکننده یک اثر جانبی ناشی از پرچم --dry-run است. حذفهای پیشنهادی را با دقت بررسی کنید؛ اگر فایلها قرار بوده در Path1 کپی شوند، میتوان هشدارهای حذف در Path2 را نادیده گرفت.
تلاشهای مجدد (Retries)
ابزار Rclone سازوکار تلاش مجدد توکار دارد. اگر آن را با --verbose اجرا کنید، پیامهای خطا و تلاش مجدد مشابه آنچه در زیر نشان داده شده است را مشاهده خواهید کرد. این مورد معمولاً یک باگ نیست. اگر در پایان اجرا عبارت Bisync successful را مشاهده کردید و خبری از Bisync critical error یا Bisync aborted نبود، اجرا موفقیتآمیز بوده است و میتوانید پیامهای خطا را نادیده بگیرید.
اجرای زیر یک خطای موقتی را نشان میدهد. خطوط 5 و 6 پیامهای سطح پایین هستند. خط 6 یک پیام هشدار (warning) منتقلشده به سطوح بالاتر است که خطا را اعلام میکند. ابزار Rclone معمولاً دستورهای ناموفق را دوباره امتحان میکند، بنابراین ممکن است پیامهای متعددی از این دست در لاگ دیده شود.
از آنجا که در خط 7 هیچ پیام خطا/هشدار نهایی دیده نمیشود، rclone پس از یک تلاش مجدد از خطا بازیابی شده و عملیات کلی همگامسازی با موفقیت انجام گرفته است.
-
1: 2021/05/14 00:44:12 INFO : Synching Path1 "/path/to/local/tree" with Path2 "dropbox:" 2: 2021/05/14 00:44:12 INFO : Path1 checking for diffs 3: 2021/05/14 00:44:12 INFO : Path2 checking for diffs 4: 2021/05/14 00:44:12 INFO : Path2: 113 changes: 22 new, 0 newer, 0 older, 91 deleted 5: 2021/05/14 00:44:12 ERROR : /path/to/local/tree/objects/af: error listing: unexpected end of JSON input 6: 2021/05/14 00:44:12 NOTICE: WARNING listing try 1 failed. - dropbox: 7: 2021/05/14 00:44:12 INFO : Bisync successful
این لاگ یک خطای بحرانی (Critical failure) را نشان میدهد که برای بازیابی از آن اجرای --resync الزامی است. بخش «مدیریت خطاهای زمان اجرا» (Runtime Error Handling) را ببینید.
-
2021/05/12 00:49:40 INFO : Google drive root '': Waiting for checks to finish 2021/05/12 00:49:40 INFO : Google drive root '': Waiting for transfers to finish 2021/05/12 00:49:40 INFO : Google drive root '': not deleting files as there were IO errors 2021/05/12 00:49:40 ERROR : Attempt 3/3 failed with 3 errors and: not deleting files as there were IO errors 2021/05/12 00:49:40 ERROR : Failed to sync: not deleting files as there were IO errors 2021/05/12 00:49:40 NOTICE: WARNING rclone sync try 3 failed. - /path/to/local/tree/ 2021/05/12 00:49:40 ERROR : Bisync aborted. Must run --resync to recover.
Google Drive فیلتری برای انواع مشخصی از فایلها (.exe، .apk و غیره) دارد که بهطور پیشفرض نمیتوانند از Google Drive در سیستمفایل محلی کپی شوند. اگر با مشکلی مواجه شدید، با --verbose اجرا کنید تا مشخصاً ببینید کدام فایلها خطا تولید میکنند. اگر خطای دریافتی This file has been identified as malware or spam and cannot be downloaded بود، استفاده از پرچم --drive-acknowledge-abuse (https://rclone.org/drive/#drive-acknowledge-abuse) را در نظر بگیرید.
اسناد Google Docs (و دیگر فایلهای با اندازه نامشخص)
از نسخه v1.66، اسناد Google Docs (https://rclone.org/drive/#import-export-of-google-documents) (شامل Google Sheets، Slides و غیره) در bisync پشتیبانی میشوند و مشمول همان گزینهها، مقادیر پیشفرض و محدودیتهای موجود در rclone sync هستند. هنگام همگامسازی دوطرفه درایو با بکاندهای غیردرایو، جهت درایو به غیردرایو با --drive-export-formats (https://rclone.org/drive/#drive-export-formats) (پیشفرض "docx,xlsx,pptx,svg") و جهت غیردرایو به درایو با --drive-import-formats (https://rclone.org/drive/#drive-import-formats) (پیشفرض خالی) کنترل میشود.
برای نمونه، با قالبهای خروجی/ورودی پیشفرض، یک Google Sheet در سمت درایو با یک فایل .xlsx در سمت غیردرایو همگامسازی خواهد شد. در جهت معکوس، فایلهای .xlsx با نامهایی که با یک Google Sheet موجود همخوانی دارند با همان Google Sheet همگام میشوند، در حالی که فایلهای .xlsx که با هیچ Google Sheet موجودی همخوانی ندارند به عنوان فایلهای عادی .xlsx در درایو کپی خواهند شد (بدون تبدیل به Sheets، هرچند واسط کاربری مرورگر وب Google Drive ممکن است همچنان امکان باز کردن آن به عنوان یک شیت را به شما بدهد).
اگر --drive-import-formats تنظیم شده باشد (که بهطور پیشفرض تنظیم نیست)، در صورتی که هیچ Google Doc موجودی با نام مشابه وجود نداشته باشد، تمام قالبهای مشخصشده به Google Docs تبدیل خواهند شد. احتیاط: چنین تبدیلی میتواند با اتلاف داده (lossy) همراه باشد، و در بیشتر موارد احتمالاً چیزی نیست که مد نظرتان باشد!
برای همگامسازی دوطرفه Google Docs به شکل پیوندهای میانبر URL (مشابه روش "Drive for Desktop")، از این مورد استفاده کنید: --drive-export-formats url (یا روشهای جایگزین (https://rclone.org/drive/#exportformats:~:text=available%20Google%20Documents.-,Extension,macOS,-Standard%20options)).
توجه داشته باشید که این فایلهای پیوند در سمت غیردرایو قابل ویرایش نیستند -- اگر سعی کنید یک فایل پیوند ویرایششده را به درایو بازگردانید، با خطا مواجه خواهید شد. آنها قابل حذف هستند (و این کار منجر به حذف Google Doc متناظر خواهد شد). اگر در سمت غیردرایو یک فایل .url ایجاد کنید که با یک Google Doc موجود مطابقت نداشته باشد، اجرای bisync تنها موجب کپی شدن همان فایل متنی .url در درایو میشود (هیچ Google Doc ساخته نخواهد شد). بنابراین، به عنوان یک قاعده کلی، آنها را در سمت غیردرایو جایگزینهای فقطخواندنی در نظر بگیرید و همه تغییرات خود را در سمت درایو اعمال کنید.
به همین ترتیب، حتی با دیگر قالبهای خروجی، بهتر است جابهجایی یا تغییر نام Google Docs فقط در سمت درایو انجام شود. زیرا در غیر این صورت، bisync این عمل را به عنوان حذف یک فایل و ایجاد فایلی دیگر در نظر میگیرد و بر این اساس، سند Google Doc را حذف کرده و فایل جدیدی در مسیر جدید میسازد. (اینکه آیا آن فایل جدید یک Google Doc باشد یا نه، به --drive-import-formats بستگی دارد).
در نهایت، دقت داشته باشید که تمام اسناد Google Docs در سمت درایو اندازهای برابر با -1 دارند و فاقد چکسام (checksum) هستند. بنابراین، نمیتوان آنها را بهطور قابل اطمینان با پرچمهای --checksum یا --size-only همگامسازی کرد. (به بیان دقیقتر: آنها همچنان ایجاد یا حذف خواهند شد و موتور بررسی تغییرات bisync تغییرات را شناسایی کرده و آنها را برای همگامسازی در صف قرار میدهد، اما تابع همگامسازی زیرین آنها را یکسان در نظر گرفته و نادیده میگیرد). برای دور زدن این مشکل، به جای --checksum یا --size-only از حالت پیشفرض (modtime و اندازه) استفاده کنید.
برای نادیده گرفتن کامل Google Docs، از گزینه --drive-skip-gdocs (https://rclone.org/drive/#drive-skip-gdocs) استفاده کنید.
مثالهای کاربردی
Cron
ابزار Rclone هنوز قابلیت داخلی برای پایش سیستمفایل محلی جهت تشخیص تغییرات ندارد و باید بهصورت دورهای اجرا شود. در ویندوز این کار را میتوان با استفاده از Task Scheduler انجام داد، در لینوکس میتوانید از Cron استفاده کنید که در زیر شرح داده شده است.
مثال نخست، یک همگامسازی را هر ۵ دقیقه میان یک دایرکتوری محلی و یک سرور OwnCloud اجرا میکند و خروجی در یک فایل گزارش ثبت میشود:
-
# Minute (0-59) # Hour (0-23) # Day of Month (1-31) # Month (1-12 or Jan-Dec) # Day of Week (0-6 or Sun-Sat) # Command */5 * * * * /path/to/rclone bisync /local/files MyCloud: --check-access --filters-file /path/to/bysync-filters.txt --log-file /path/to//bisync.log
برای جزئیات عبارات بازه زمانی crontab به ساختار crontab (https://www.man7.org/linux/man-pages/man1/crontab.1p.html#INPUT_FILES) مراجعه کنید.
اگر rclone bisync را به عنوان یک وظیفه cron اجرا میکنید، خروجیهای stdout/stderr را به یک فایل هدایت کنید. مثال دوم یک همگامسازی با Dropbox را هر ساعت اجرا کرده و تمام stdout (از طریق >>) و stderr (از طریق 2>&1) را در یک فایل لاگ ثبت میکند.
-
0 * * * * /path/to/rclone bisync /path/to/local/dropbox Dropbox: --check-access --filters-file /home/user/filters.txt >> /path/to/logs/dropbox-run.log 2>&1
ابزار bisync میتواند یک پوشه محلی را با یک سرویس ابری همگام نگه دارد، اما اگر بخواهید فایلهای بسیار حساسی را همگامسازی کنید چه؟
استفاده از یک سرویس ابری برای تبادل فایلهای شخصیِ روزمره و همچنین حساس، میان شبکه خانگی، لپتاپ شخصی در هنگام سفر و رایانه کاری است. دادههای روزمره حساس نیستند. برای دادههای حساس، یک ریموت crypt در rclone (<https://rclone.org/crypt>) پیکربندی کنید تا به زیرپوشهای درون درخت دیسک محلی که با Dropbox همگام (bisync) میشود اشاره کند، و سپس یک bisync برای این دایرکتوری crypt محلی با دایرکتوری دیگری در خارج از درخت اصلیِ همگامسازی برقرار کنید.
راهاندازی در سرور لینوکس
- •
- مسیر /path/to/DBoxroot ریشه درخت همگامسازی محلی من است. زیرپوشههای متعددی در آن وجود دارد.
- •
- مسیر /path/to/DBoxroot/crypt زیرپوشه ریشه برای فایلهای رمزگذاریشده است. این مقصد دایرکتوری محلی به عنوان یک ریموت crypt در rclone با نام Dropcrypt: تنظیم شده است. قطعهکد rclone.conf در زیر را ببینید.
- •
- مسیر /path/to/my/unencrypted/files ریشه فایلهای حساس من است - رمزگذارینشده و خارج از درختی که با Dropbox همگام میشود.
- •
- برای همگامسازی فایلهای رمزگذارینشده محلی خود با نسخههای رمزگذاریشده Dropbox، دستور bisync /path/to/my/unencrypted/files DropCrypt: را به طور دستی اجرا میکنم. این مرحله را میتوان در قالب یک اسکریپت قرار داد تا قبل و بعد از همگامسازی کامل درخت Dropbox در مرحله آخر اجرا شود و در نتیجه فایلهای حساس همیشه بهطور فعال همگام بمانند.
- •
- دستور bisync /path/to/DBoxroot Dropbox: بهطور دورهای از طریق cron اجرا میشود و کل درخت همگامسازی محلی من را با Dropbox همگام نگه میدارد.
راهاندازی در لپتاپ ویندوز
- •
- کلاینت Dropbox اجرا میشود تا درخت محلی C:\Users\MyLogin\Dropbox را همواره با Dropbox همگام نگه دارد. میتوانستم به جای آن از rclone bisync استفاده کنم.
- •
- یک درخت دایرکتوری مجزا در مسیر C:\Users\MyLogin\Documents\DropLocal میزبان درخت فایلها/پوشههای رمزگذارینشده است.
- •
- برای همگامسازی فایلهای رمزگذارینشده محلی خود با نسخههای رمزگذاریشده Dropbox، دستور زیر را به صورت دستی اجرا میکنم: rclone bisync C:\Users\MyLogin\Documents\DropLocal Dropcrypt:.
- •
- سپس کلاینت Dropbox تغییرات را با Dropbox همگامسازی میکند.
قطعهکد rclone.conf
-
[Dropbox] type = dropbox ... [Dropcrypt] type = crypt remote = /path/to/DBoxroot/crypt # on the Linux server remote = C:\Users\MyLogin\Dropbox\crypt # on the Windows notebook filename_encryption = standard directory_name_encryption = true password = ... ...
آزمایش
این بخش را فقط در صورتی بخوانید که در حال توسعه برای rclone هستید. برای کار با آزمونهای bisync، باید کد منبع rclone را به صورت محلی در اختیار داشته باشید.
ابزار Bisync دارای یک چارچوب آزمون اختصاصی است که در فایل bisync_test.go واقع در درخت منبع rclone پیادهسازی شده است. مجموعه آزمونها مبتنی بر دستور go test است. مجموعهای از آزمونها در زیرپوشههای دایرکتوری cmd/bisync/testdata ذخیره شدهاند. آزمونهای تکی را میتوان با نام دایرکتوری آنها فراخوانی کرد، برای مثال: go test . -case basic -remote local -remote2 gdrive: -v
آزمونها یک پوشه موقت در ریموت ایجاد کرده و پس از پایان کار آن را پاکسازی (purge) میکنند. اگر در حین اجرای آزمون خطاهای متناوب رخ دهد و rclone مجدداً تلاش کند، این خطاها دریافت شده و به عنوان MISCOMPAREهای نامعتبر نشانهگذاری میشوند. اجرای مجدد آزمون باعث عبور موفقیتآمیز آن خواهد شد. چنین شکستهایی را به عنوان نویز در نظر بگیرید..SS ساختار دستور آزمون
-
usage: go test ./cmd/bisync [options...] گزینهها: -case NAME نام(های) مورد آزمون برای اجرا. نامهای چندگانه باید با کاما از هم جدا شوند. میتوانید برای راحتی، پیشوند `test_` را حذف کرده و `_` را با `-` در نام آزمون جایگزین کنید. اگر `all` نباشد، نام(ها) باید به دایرکتوریای زیر `./cmd/bisync/testdata` نگاشت شوند. برای اجرای همه آزمونها از `all` استفاده کنید (پیشفرض: all) -remote PATH1 مقدار `local` یا نام سرویس ابری به همراه `:` (پیشفرض: local) -remote2 PATH2 مقدار `local` یا نام سرویس ابری به همراه `:` (پیشفرض: local) -no-compare غیرفعال کردن مقایسه نتایج آزمون با دایرکتوری golden (پیشفرض: compare) -no-cleanup غیرفعال کردن پاکسازی دایرکتوریهای آزمون Path1 و Path2. مفید برای عیبیابی. (پیشفرض: cleanup) -golden ذخیره نتایج در دایرکتوری golden (پیشفرض: false) این گزینه میتواند برای چندین آزمون استفاده شود. -debug چاپ پیامهای اشکالزدایی -stop-at NUM توقف آزمون پس از شماره مرحله دادهشده. (پیشفرض: اجرا تا پایان) در صورتی که آزمون واقعاً زودتر از موعد پایان یابد، شامل `-no-compare` و `-no-cleanup` میشود. فقط برای یک مورد آزمون معنادار است. -refresh-times اجبار به تازهسازی زمان تغییر مقصد (modtime)، مفید برای Dropbox (پیشفرض: false) -verbose اجرای آزمونها با جزئیات کامل
نکته: برخلاف گزینههای rclone که باید پیشوند دو خط تیره (--) داشته باشند، گزینههای دستور آزمون میتوانند با یک خط تیره (-) یا دو خط تیره مشخص شوند.
اجرای آزمونها
- •
- دستور go test . -case basic -remote local -remote2 local مورد آزمون test_basic را تنها با استفاده از سیستمفایل محلی اجرا میکند و یک دایرکتوری محلی را با یک دایرکتوری محلی دیگر همگامسازی مینماید. خروجی اسکریپت آزمون به کنسول فرستاده میشود، در حالی که خروجی دستورهای درون scenario.txt به فایل .../workdir/test.log ارسال میشود که در نهایت با نسخه مرجع (golden copy) مقایسه میگردد.
- •
- نخستین آرگومان پس از go test باید نام نسبی دایرکتوری حاوی کد منبع bisync باشد. اگر آزمونها را مستقیماً از همانجا اجرا کنید، این آرگومان . (دایرکتوری جاری) خواهد بود، همانطور که در بیشتر مثالهای زیر آمده است. اگر آزمونهای bisync را از دایرکتوری منبع rclone اجرا میکنید، دستور باید به صورت go test ./cmd/bisync ... باشد.
- •
- موتور آزمون خروجی rclone را دستکاری میکند تا از امکان مقایسه با فهرستها و گزارشهای مرجع (golden) اطمینان حاصل شود.
- •
- سناریوهای آزمون در ./cmd/bisync/testdata قرار دارند. آرگومان -case آزمون باید با نام کامل یک زیردایرکتوری زیر آن دایرکتوری مطابقت داشته باشد. نام هر زیردایرکتوری آزمون روی دیسک باید با test_ آغاز شود؛ این پیشوند را میتوان برای کوتاهی در خط فرمان نادیده گرفت. همچنین، برای راحتی کار میتوان خطهای زیرین در نام را با خط تیره جایگزین کرد.
- •
- دستور go test . -remote local -remote2 local -case all همه آزمونها را اجرا میکند.
- •
- Path1 و Path2 میتوانند کلیدواژه local یا نام سرویسهای ابری پیکربندیشده باشند. دستور go test . -remote gdrive: -remote2 dropbox: -case basic آزمون را میان این دو سرویس، بدون انتقال هیچ فایلی به سیستمفایل محلی اجرا خواهد کرد.
- •
- خروجیهای کنسول stdout و stderr اجرای آزمون را میتوان به یک فایل هدایت کرد، مانند: go test . -remote gdrive: -remote2 local -case all > runlog.txt 2>&1
روند اجرای آزمون
- 1.
- راهاندازی پایه در دایرکتوری initial مورد آزمون بر روی سیستمفایلهای Path1 و Path2 اعمال میشود (از طریق rclone copy دایرکتوری initial به Path1، و سپس rclone sync از Path1 به Path2).
- 2.
- دستورهای موجود در فایل scenario.txt اعمال میشوند و خروجی آنها به فایل test.log در دایرکتوری کاری آزمون هدایت میگردد. به طور معمول، نخستین دستور واقعی در فایل scenario.txt اجرای یک --resync است که فایلهای مبنای {...}.path1.lst و {...}.path2.lst را در دایرکتوری کاری آزمون (.../workdir/ به صورت نسبی نسبت به دایرکتوری موقت آزمون) مستقر میکند. دستورهای گوناگون و ثبت وضعیت فهرستها (listing snapshots) در طول آزمون انجام میشوند.
- 3.
- در پایان، محتویات دایرکتوری کاری آزمون با محتویات دایرکتوری مرجع (golden) مربوط به مورد آزمون مقایسه میشود..SS "نکاتی درباره آزمایش (Notes about testing)"
- •
- موردهای آزمون در دایرکتوریهای جداگانه زیر ./cmd/bisync/testdata قرار دارند. ارجاع خط فرمان به یک آزمون به عنوان ارجاعی به یک دایرکتوری زیر testdata درک میشود. برای نمونه، go test ./cmd/bisync -case dry-run -remote gdrive: -remote2 local به مورد آزمون در ./cmd/bisync/testdata/test_dry_run اشاره دارد.
- •
- دایرکتوری کاری آزمون در .../workdir به صورت نسبی نسبت به یک دایرکتوری موقت آزمون، معمولاً زیر /tmp در لینوکس، واقع شده است.
- •
- درخت همگامسازی آزمایشی محلی در یک دایرکتوری موقت با نامی شبیه bisync.XXX زیر دایرکتوری موقت سیستم ایجاد میشود.
- •
- درخت همگامسازی آزمایشی ریموت در یک دایرکتوری موقت زیر <remote:>/bisync.XXX/ قرار دارد.
- •
- زیردایرکتوریهای path1 و/یا path2 در یک دایرکتوری موقت زیر ریموت آزمایشی محلی یا ابری مربوطه ایجاد میشوند.
- •
- بهطور پیشفرض، دایرکتوریهای آزمایشی Path1 و Path2 و همچنین workdir پس از هر بار اجرای آزمون حذف خواهند شد. پرچم -no-cleanup پاکسازی این دایرکتوریها را هنگام اعتبارسنجی و اشکالزدایی یک آزمون معین غیرفعال میکند. این دایرکتوریها صرفنظر از استفاده از -no-cleanup، پیش از اجرای یک آزمون دیگر پاکسازی (flush) خواهند شد.
- •
- احتمالاً مایل خواهید بود - /testdir/ را به --filters-file عادی bisync خود بیفزایید تا همگامسازیهای عادی برای همگامسازی دایرکتوریهای موقت آزمون تلاش نکنند؛ چرا که ممکن است در برخی موردهای آزمون مغایرتهای RCLONE_TEST وجود داشته باشد که در غیر این صورت سیستم --check-access را دچار خطا میکند. سازوکار --check-access به صورت کدگذاریشده (hard-coded) تنظیم شده تا فایلهای RCLONE_TEST زیر bisync/testdata را نادیده بگیرد، بنابراین موردهای آزمون حتی در صورت وجود عدم تطابق فایل بررسی در درخت آزمون، میتوانند در درخت همگامسازیشده قرار گیرند.
- •
- برخی از آزمونهای Dropbox ممکن است شکست بخورند، بهویژه با چاپ پیام زیر: src and dst identical but can't set mod time without deleting and re-uploading این رفتار مورد انتظار است و به دلیل نحوه مدیریت زمانهای تغییر توسط Dropbox رخ میدهد. برای جبران این موضوع باید از پرچم آزمایشی -refresh-times استفاده کنید.
- •
- اگر آزمونهای Dropbox برای شما به محدودیت تعداد درخواست برخورد کردند و پیام خطای too_many_requests/...: Too many requests or write operations. را چاپ نمودند، دستورالعملهای Dropbox App ID را دنبال کنید (https://rclone.org/dropbox/#get-your-own-dropbox-app-id).
بهروزرسانی نتایج مرجع (Updating golden results)
گاهی اوقات حتی یک تغییر ناچیز در سورسکد bisync میتواند سبب ایجاد تغییرات اندکی شود که در فایلهای لاگ متعددی پخش میشوند. بهروزرسانی دستی آنها کابوس خواهد بود.
پرچم -golden فایلهای test.log و فهرستهای *.lst مربوط به هر مورد آزمون را در دایرکتوریهای مرجع (golden) مربوطه ذخیره میکند. نتایج مرجع بهطور خودکار شامل رشتههای عمومی به جای مسیرهای محلی یا ابری خواهند بود، به این معنی که هنگام اجرا با یک سرویس ابری دیگر نیز باید مطابقت داشته باشند.
جریان کاری معمول شما ممکن است به صورت زیر باشد:
- 1.
- سورسکدهای rclone را به صورت محلی با Git کلون کنید (git-clone)
- 2.
- سورسکد bisync را تغییر داده و بررسی کنید که بیلد (build) شود
- 3.
- کل مجموعه آزمون را اجرا کنید: go test ./cmd/bisync -remote local
- 4.
- اگر برخی از آزمونها تفاوت لاگ نشان دادند، آنها را جداگانه بررسی کنید، برای نمونه: go test ./cmd/bisync -remote local -case basic
- 5.
- اگر از درستی تفاوتها مطمئن شدید، همه آزمونها را یکباره مرجعگذاری (goldenize) کنید: go test ./cmd/bisync -remote local -golden
- 6.
- از مقایسه کلمهای استفاده کنید: git diff --word-diff ./cmd/bisync/testdata/. لطفاً توجه داشته باشید که مقایسه عادی در سطح خط (line-level) معمولاً در اینجا بیفایده است.
- 7.
- اختلافات را بهدقت بررسی کنید!
- 8.
- تغییرات را تنها در صورتی ثبت (commit) کنید (git commit) که مطمئن هستید. در صورت عدم اطمینان، تغییرات کد خود را ذخیره کرده و سپس تفاوتهای لاگ را از git پاک کنید: git reset [--hard]..SS ساختار سناریوهای آزمون
- •
- <testname>/initial/ شامل درختی از فایلها است که به عنوان وضعیت اولیه روی هر دو دایرکتوری آزمون Path1 و Path2 تنظیم خواهد شد.
- •
- <testname>/modfiles/ شامل فایلهایی است که برای دستکاری فایلسیستمهای Path1 و/یا Path2 استفاده خواهند شد.
- •
- <testname>/golden/ شامل محتوای مورد انتظار دایرکتوری کاری آزمون (workdir) پس از تکمیل مورد آزمون است.
- •
- <testname>/scenario.txt شامل بدنهٔ آزمون در قالب دستورهای مختلف برای تغییر فایلها، اجرای bisync، و تهیهٔ نماگرفت (snapshot) از فهرستها است. خروجی این دستورها برای مقایسه با فایلهای مرجع (golden) در .../workdir/test.log ذخیره میشود.
دستورهای آزمون پشتیبانیشده
- •
- test <some message> چاپ خط در کنسول و در test.log: test sync is working correctly with options x, y, z
- •
- copy-listings <prefix> ذخیرهٔ یک رونوشت از تمام فهرستهای .lst در دایرکتوری کاری آزمون با پیشوند مشخصشده: save-listings exclude-pass-run
- •
- move-listings <prefix> مشابه copy-listings اما مبدأ را حذف میکند
- •
- purge-children <dir> تمام فایلهای فرزند را حذف و تمامی زیردایرکتوریهای فرزند زیر دایرکتوری دادهشده را پاکسازی (purge) میکند اما والد را دستنخورده نگه میدارد. این رفتار برای آزمونها با Google Drive مهم است زیرا حذف و ساخت مجدد والد، شناسهٔ (ID) آن را تغییر میدهد.
- •
- delete-file <file> حذف یک تکفایل.
- •
- delete-glob <dir> <pattern> حذف گروهی از فایلهای واقع در عمق یک سطح از دایرکتوری مشخصشده که نام آنها با الگوی glob دادهشده مطابقت دارد.
- •
- touch-glob YYYY-MM-DD <dir> <pattern> تغییر زمان ویرایش (modification time) روی گروهی از فایلها.
- •
- touch-copy YYYY-MM-DD <source-file> <dest-dir> تغییر زمان ویرایش فایل و سپس رونوشت آن به مقصد.
- •
- copy-file <source-file> <dest-dir> رونوشت یک تکفایل به دایرکتوری دادهشده.
- •
- copy-as <source-file> <dest-file> مشابه مورد بالا اما مقصد باید هم شامل دایرکتوری و هم نام فایل جدید در مقصد باشد.
- •
- copy-dir <src> <dst> و sync-dir <src> <dst> رونوشت/همگامسازی یک دایرکتوری. معادل rclone copy و rclone sync.
- •
- list-dirs <dir> معادل با rclone lsf -R --dirs-only <dir>
- •
- bisync [options] اجرای bisync در برابر -remote و -remote2.
عبارتهای جایگزینی پشتیبانیشده
- •
- {testdir/} - دایرکتوری ریشهٔ مورد آزمون
- •
- {datadir/} - دایرکتوری modfiles زیر ریشهٔ مورد آزمون
- •
- {workdir/} - دایرکتوری کاری موقت آزمون
- •
- {path1/} - ریشهٔ درخت دایرکتوری آزمون Path1
- •
- {path2/} - ریشهٔ درخت دایرکتوری آزمون Path2
- •
- {session} - نام پایهٔ فهرستهای آزمون
- •
- {/} - جداکنندهٔ مسیر مختص سیستمعامل
- •
- {spc}، {tab}، {eol} - فاصلهٔ خالی (whitespace)
- •
- {chr:HH} - بایت خام با کد هگزادسیمال مشخصشده
نتایج جایگزینی عبارتهایی با نام شبیه به {dir/} به / (یا بکاسلش در ویندوز) ختم میشوند، بنابراین نیازی به درج اسلش در نحوهٔ استفاده نیست، به عنوان مثال: delete-file {path1/}file1.txt..SS بنچمارکها (Benchmarks)
این بخش در حال تکمیل است.
در اینجا چند نمونه داده برای مقیاس، زمانهای اجرا و میزان مصرف حافظه آورده شده است.
مجموعه داده نخست بین یک دیسک محلی و Dropbox اندازهگیری شد. سرعت دانلود speedtest.net (https://speedtest.net) حدود ~170 Mbps و سرعت آپلود ~10 Mbps بود. تعداد ۵۰۰ فایل (هرکدام حدود ~9.5 MB) از قبل همگامسازی شده بودند. تعداد ۵۰ فایل در یک دایرکتوری جدید اضافه شدند، هرکدام ~9.5 MB، در مجموع حدود ~475 MB.
| تغییر | عملیات و زمانها | زمان کل اجرا |
| ۵۰۰ فایل همگامشده (بدون نیاز به جابهجایی) | ۱ بار فهرستگیری برای Path1 و Path2 | 1.5 ثانیه |
| ۵۰۰ فایل همگامشده با --check-access | ۱ بار فهرستگیری برای Path1 و Path2 | 1.5 ثانیه |
| ۵۰ فایل جدید در ریموت | صف ۵۰ کپی رو به پایین: 27 ثانیه | 29 ثانیه |
| جابهجایی دایرکتوری محلی | صف ۵۰ کپی رو به بالا: 410 ثانیه، ۵۰ حذف رو به بالا: 9 ثانیه | 421 ثانیه |
| جابهجایی دایرکتوری ریموت | صف ۵۰ کپی رو به پایین: 31 ثانیه، ۵۰ حذف رو به پایین: <1 ثانیه | 33 ثانیه |
| حذف دایرکتوری محلی | صف ۵۰ حذف رو به بالا: 9 ثانیه | 13 ثانیه |
دادههای بعدی از سناریوی واقعی یک کاربر به دست آمده است. آنها حدود ~400GB داده شامل ۱.۹۶ میلیون فایل داشتند که میان یک دیسک محلی Windows و یک فضای ابری ریموت همگامسازی میشد. طول مسیر کامل فایلها بهطور میانگین ۳۵ نویسه بود (که در زمان بارگذاری و مقدار RAM موردنیاز تأثیرگذار است).
- •
- بارگذاری فهرست پیشین در حافظه (۱.۹۶ میلیون فایل، اندازه فایل فهرست 140 MB) حدود ~30 ثانیه طول کشید و نزدیک به 1 GB از RAM را اشغال کرد.
- •
- دریافت یک فهرست تازه از سیستمفایل محلی (که فایل خروجی 140 MB را تولید کرد) حدود XXX ثانیه زمان برد.
- •
- دریافت یک فهرست تازه از سیستمفایل ریموت (که فایل خروجی 140 MB را تولید کرد) حدود XXX ثانیه زمان برد. سرعت دانلود شبکه XXX Mb/s اندازهگیری شد.
- •
- پس از بارگذاری فهرستهای پیشین و فعلی Path1 و Path2 (در مجموع چهار مورد جهت بارگذاری، هربار دو مورد همزمان)، محاسبه تفاوتها (deltas) بسیار سریع انجام شد (چند ثانیه برای این مورد آزمایشی)، و زمان انتقال هر فایلی که باید کپی میشد، کاملاً تحت تأثیر پهنای باند شبکه قرار داشت..SS "مراجع (References)"
پیادهسازی bisync در rclone از پروژه rclonesync-V2 (https://github.com/cjnaz/rclonesync-V2) شامل مستندات و سازوکارهای آزمون، با پشتیبانی و تشویق کامل @cjnaz (https://github.com/cjnaz) مشتق شده است.
دستور rclone bisync از نظر ماهیت شبیه به پروژههای دیگر زیر است:
- •
- unison (https://github.com/bcpierce00/unison)
- •
- syncthing (https://github.com/syncthing/syncthing)
- •
- cjnaz/rclonesync (https://github.com/cjnaz/rclonesync-V2)
- •
- ConorWilliams/rsinc (https://github.com/ConorWilliams/rsinc)
- •
- jwink3101/syncrclone (https://github.com/Jwink3101/syncrclone)
- •
- DavideRossi/upback (https://github.com/DavideRossi/upback)
ابزار Bisync از فن همگامسازی تفاضلی (differential synchronization) بهره میگیرد که مبتنی بر نگهداری تاریخچه تغییرات انجامشده توسط هر دو طرف همگامسازی است. بخش Dual Shadow Method را در مقاله Neil Fraser (https://neil.fraser.name/writing/sync) ببینید.
همچنین به مقالات پژوهشی متعددی از Benjamin Pierce (http://www.cis.upenn.edu/%7Ebcpierce/papers/index.shtml#File%20Synchronization) درباره Unison و همگامسازی بهطور کلی توجه کنید.
تغییرات (Changelog)
v1.74.2
- •
- رفع مشکلی که در صورت استفاده از مقدار غیرپیشفرض برای --conflict-resolve، باعث رفتار غیرمنتظره در --conflict-loser pathname میشد.
v1.74
- •
- افزودن چندین پارامتر جاافتاده rc.
- •
- پارامترهای اختیاری rc اکنون واقعاً اختیاری هستند.
- •
- خروجی rc اکنون اطلاعات ساختاریافتهتری ارائه میدهد.
v1.71
- •
- دستور bisync اکنون رسماً از مرحله آزمایشی (beta) خارج شده است.
- •
- رفع مشکلی که اگر path2 دارای هشهای کُند بود و از --no-slow-hash یا --slow-hash-sync-only استفاده میشد، نوع هش به نادرستی تنظیم میشد.
- •
- رفع مشکلی که هنگام اجرای همزمان چندین bisync از طریق rc موجب بروز خطا میشد.
v1.69.1
- •
- رفع مشکلی که در شرایطی خاص باعث میشد فهرستبندیها تغییرات همزمان را ثبت نکنند.
v1.68
- •
- رفع مشکلی در بکاندها (backends) که زمانهای ویرایش (modtimes) را به دقت پایینتری گرد میکردند.
v1.67
- •
- افزودن آزمونهای یکپارچهسازی در برابر تمام بکاندها.
v1.66
- •
- عملیات کپی و حذف اکنون به جای دو عملیات، در قالب یک عملیات مدیریت میشوند.
- •
- پشتیبانی از --track-renames و --backup-dir اضافه شد.
- •
- مشکل شناختهشده بارگذاریهای ناقص روی local/ftp/sftp برطرف شد (مگر در صورت استفاده از --inplace).
- •
- فهرستهای نهایی اکنون از نتایج sync ایجاد میشوند تا از فهرستبندی دوباره بینیاز شود.
- •
- ابزار Bisync اکنون در برابر تغییراتی که در حین اجرای bisync رخ میدهند بسیار تابآورتر است و بسیار کمتر در معرض خطاهای حیاتی یا تغییرات شناسایینشده قرار دارد.
- •
- ابزار Bisync اکنون قادر است در موارد عدم قطعیت فهرست فایلها را به عقب بازگرداند (rollback)، و فایل را برای بررسی مجدد در نوبت بعدی نشانهگذاری کند.
- •
- پشتیبانی از رنگهای پایه ترمینال اضافه شد که با --color (https://rclone.org/docs/#color-autoneveralways) (AUTO|NEVER|ALWAYS) قابل کنترل است.
- •
- تصاویر لحظهای (snapshots) اولیه فهرستبندی Path1 و Path2 اکنون بهصورت همزمان و با استفاده از همان زیرساخت "march" دستورهای check و sync ایجاد میشوند؛ جهت افزایش کارایی و کاهش خطر خطا (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=4.%20Listings%20should%20alternate%20between%20paths%20to%20minimize%20errors).
- •
- اصلاح مدیریت استانداردسازی یونیکد (unicode normalization) و عدم حساسیت به بزرگی و کوچکی حروف، همراه با پشتیبانی از --fix-case (https://rclone.org/docs/#fix-case)، --ignore-case-sync و --no-unicode-normalization (https://rclone.org/docs/#no-unicode-normalization).
- •
- گزینه --resync اکنون بسیار بهینهتر عمل میکند (بهویژه برای کاربران --create-empty-src-dirs).
- •
- سندهای Google Docs (و فایلهای دیگری که اندازه نامشخص دارند) اکنون پشتیبانی میشوند (با همان گزینههای موجود در sync).
- •
- بررسیهای برابری پیش از تغییر نام تعارضِ همگامسازی، زمانی که check در دسترس نباشد، اکنون به جای --size-only به cryptcheck (در صورت امکان) یا --download عقبگرد میکنند.
- •
- هنگامی که پیکربندیها با پرچمهای اختصاصی بکاند بازنویسی میشوند، Bisync دیگر در یافتن فایل فهرستبندی صحیح با خطا مواجه نمیشود.
- •
- دستور Bisync اکنون از مقایسه بر اساس هر ترکیبی از اندازه (size)، زمان ویرایش (modtime) و چکسام بهطور کامل پشتیبانی میکند، که باعث رفع محدودیت پیشین در بکآندهای بدون پشتیبانی از modtime میشود.
- •
- دستور Bisync اکنون از حالت خروج باوقار ("Graceful Shutdown") پشتیبانی میکند تا بتوان اجرا را بدون نیاز به --resync بهطور تمیز لغو کرد.
- •
- پرچم جدید --recover امکان بازیابی پایدار در صورت بروز اختلال را بدون نیاز به --resync فراهم میسازد.
- •
- تنظیم جدید --max-lock اجازه میدهد فایلهای قفل بهطور خودکار تمدید و منقضی شوند تا بازیابی خودکار پس از توقف ناگهانی اجرا بهتر صورت گیرد.
- •
- دستور Bisync اکنون از حل خودکار تعارضات و سفارشیسازی رفتار تغییر نام با پرچمهای جدید --conflict-resolve، --conflict-loser و --conflict-suffix پشتیبانی میکند.
- •
- پرچم جدید --resync-mode کنترل بیشتری را برای نگهداشتن نسخه دلخواه فایل در طول --resync فراهم میکند.
- •
- دستور Bisync اکنون از --retries (https://rclone.org/docs/#retries-int) و --retries-sleep (هنگام فعال بودن --resilient) پشتیبانی میکند..SS v1.64
- •
- رفع مشکلی (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=1.%20Dry%20runs%20are%20not%20completely%20dry) که باعث میشد اجرای آزمایشی (dry run) به طور ناخواسته تغییرات فیلتر را ثبت (commit) کند
- •
- رفع مشکلی (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=2.%20%2D%2Dresync%20deletes%20data%2C%20contrary%20to%20docs) که باعث میشد --resync به اشتباه پوشههای خالی و فایلهای تکراری منحصربهفرد در Path2 را حذف کند
- •
- اکنون --check-access در حین --resync اجباری شده است، که از دست رفتن دادهها را در سناریوهای خاصی از خطای کاربر جلوگیری میکند (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=%2D%2Dcheck%2Daccess%20doesn%27t%20always%20fail%20when%20it%20should)
- •
- رفع مشکلی (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=5.%20Bisync%20reads%20files%20in%20excluded%20directories%20during%20delete%20operations) که باعث میشد bisync به دلیل فیلترهای بیش از حد گسترده در حین عملیات حذف، فایلهای بیشتری را نسبت به آنچه لازم است بررسی کند
- •
- بهبود در تشخیص تعارضهای کاذب تغییرات (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=1.%20Identical%20files%20should%20be%20left%20alone%2C%20even%20if%20new/newer/changed%20on%20both%20sides) (فایلهای یکسان اکنون به جای تغییر نام، دستنخورده باقی میمانند)
- •
- افزوده شدن پشتیبانی از --create-empty-src-dirs (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=3.%20Bisync%20should%20create/delete%20empty%20directories%20as%20sync%20does%2C%20when%20%2D%2Dcreate%2Dempty%2Dsrc%2Ddirs%20is%20passed)
- •
- افزوده شدن حالت آزمایشی --resilient برای امکان بازیابی از خطاهای خود-اصلاحشونده (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=2.%20Bisync%20should%20be%20more%20resilient%20to%20self%2Dcorrectable%20errors)
- •
- افزوده شدن پرچم جدید --ignore-listing-checksum (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=6.%20%2D%2Dignore%2Dchecksum%20should%20be%20split%20into%20two%20flags%20for%20separate%20purposes) جهت تمایز از --ignore-checksum
- •
- بهبودهای کارایی (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=6.%20Deletes%20take%20several%20times%20longer%20than%20copies) برای ریموتهای بزرگ
- •
- بهبودهای مستندات و آزمایشها
امضای انتشار (Release signing)
هشهای باینریهای انتشار rclone با یک کلید عمومی PGP/GPG امضا شدهاند. این موضوع را میتوان همانطور که در ادامه توضیح داده شده، به صورت دستی راستیآزمایی کرد.
همین سازوکار توسط rclone selfupdate (https://rclone.org/commands/rclone_selfupdate) نیز برای راستیآزمایی اینکه انتشار پیش از نصب بهروزرسانی جدید دستکاری نشده است، استفاده میشود. این کار، هش SHA256 و امضا را با یک کلید عمومی که درون باینری rclone کامپایل شده است، بررسی میکند.
کلید امضای انتشار (Release signing key)
میتوانید کلید امضای انتشار را از منابع زیر به دست آورید:
- •
- از KEYS در این وبسایت - این فایل همچنین شامل تمام کلیدهای امضای گذشته است.
- •
- مخزن git میزبانیشده در GitHub - https://github.com/rclone/rclone/blob/master/docs/content/KEYS
- •
- gpg --keyserver hkps://keys.openpgp.org --search nick@craig-wood.com
- •
- gpg --keyserver hkps://keyserver.ubuntu.com --search nick@craig-wood.com
- •
- https://www.craig-wood.com/nick/pub/pgp-key.txt
پس از وارد کردن (import) کلید، بررسی و تأیید کنید که اثر انگشت (fingerprint) یکی از کلیدها با FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA مطابقت داشته باشد؛ چرا که این کلید برای امضا استفاده میشود.
توصیه میکنیم اثر انگشت نمایشدادهشده در بالا را از طریق دامنههای فهرستشده در زیر بررسی متقابل (cross-check) کنید. با بررسی متقابل صحت اثر انگشت در چندین دامنه، میتوانید مطمئن شوید که کلید صحیح را دریافت کردهاید.
- •
- کد منبع این صفحه در GitHub (https://github.com/rclone/rclone/blob/master/docs/content/release_signing.md).
- •
- از طریق DNS با دستور dig key.rclone.org txt
اگر هر موردی یافتید که مطابقت نداشت، لطفاً بلافاصله با توسعهدهندگان تماس بگیرید..SS نحوه تأیید اصالت انتشار
در دایرکتوری انتشار، فایلهای مربوط به انتشار و فایلهایی با نامهای MD5SUMS، SHA1SUMS و SHA256SUMS را مشاهده خواهید کرد.
-
$ rclone lsf --http-url https://downloads.rclone.org/v1.63.1 :http: MD5SUMS SHA1SUMS SHA256SUMS rclone-v1.63.1-freebsd-386.zip rclone-v1.63.1-freebsd-amd64.zip ... rclone-v1.63.1-windows-arm64.zip rclone-v1.63.1.tar.gz version.txt
فایلهای MD5SUMS، SHA1SUMS و SHA256SUMS حاوی هشهای فایلهای دودویی موجود در دایرکتوری انتشار به همراه یک امضا هستند.
برای مثال:
-
$ rclone cat --http-url https://downloads.rclone.org/v1.63.1 :http:SHA256SUMS -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 f6d1b2d7477475ce681bdce8cb56f7870f174cb6b2a9ac5d7b3764296ea4a113 rclone-v1.63.1-freebsd-386.zip 7266febec1f01a25d6575de51c44ddf749071a4950a6384e4164954dff7ac37e rclone-v1.63.1-freebsd-amd64.zip ... 66ca083757fb22198309b73879831ed2b42309892394bf193ff95c75dff69c73 rclone-v1.63.1-windows-amd64.zip bbb47c16882b6c5f2e8c1b04229378e28f68734c613321ef0ea2263760f74cd0 rclone-v1.63.1-windows-arm64.zip -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQT79zfs6firGGBL0qyTk14C/ztU+gUCZLVKJQAKCRCTk14C/ztU +pZuAJ0XJ+QWLP/3jCtkmgcgc4KAwd/rrwCcCRZQ7E+oye1FPY46HOVzCFU3L7g= =8qrL -----END PGP SIGNATURE-----
بارگیری فایلها
گام نخست، بارگیری فایل دودویی و فایل SUMs و بررسی تطابق مقادیر آنها است. در اینجا ما rclone-v1.63.1-windows-amd64.zip را بارگیری میکنیم - فایل دودویی (یا فایلهای دودویی) مناسب برای معماری سیستم خود را انتخاب کنید. ما همچنین SHA256SUMS را انتخاب کردهایم چرا که بیشترین امنیت را فراهم میکند. برای امنیت بیشتر میتوانید انواع دیگر هش را نیز بررسی و تأیید کنید. دستور rclone selfupdate صرفاً فایل SHA256SUMS را اعتبارسنجی میکند.
-
mkdir /tmp/check cd /tmp/check rclone copy --http-url https://downloads.rclone.org/v1.63.1 :http:SHA256SUMS . rclone copy --http-url https://downloads.rclone.org/v1.63.1 :http:rclone-v1.63.1-windows-amd64.zip .
تأیید امضاها
ابتدا امضاهای موجود روی فایل SHA256 را تأیید کنید.
کلید را وارد (import) کنید. برای روشهای تأیید صحت این کلید، به بخشهای بالا مراجعه کنید.
-
$ gpg --keyserver keyserver.ubuntu.com --receive-keys FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA gpg: key 93935E02FF3B54FA: public key "Nick Craig-Wood <nick@craig-wood.com>" imported gpg: Total number processed: 1 gpg: imported: 1
سپس امضا را بررسی کنید:
-
$ gpg --verify SHA256SUMS gpg: Signature made Mon 17 Jul 2023 15:03:17 BST gpg: using DSA key FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA gpg: Good signature from "Nick Craig-Wood <nick@craig-wood.com>" [ultimate]
بررسی کنید که امضا معتبر بوده و از اثر انگشت (fingerprint) نشاندادهشده در بالا استفاده میکند.
در صورت تمایل، این مراحل را برای MD5SUMS و SHA1SUMS تکرار کنید..SS اعتبارسنجی هشها
اکنون که میدانیم امضاهای روی هشها معتبر هستند، میتوانیم تطابق فایلهای باینری با هشها را بررسی کرده و فرایند اعتبارسنجی را کامل کنیم.
-
$ sha256sum -c SHA256SUMS 2>&1 | grep OK rclone-v1.63.1-windows-amd64.zip: OK
یا بررسی را با rclone انجام دهید
-
$ rclone hashsum sha256 -C SHA256SUMS rclone-v1.63.1-windows-amd64.zip 2023/09/11 10:53:58 NOTICE: SHA256SUMS: improperly formatted checksum line 0 2023/09/11 10:53:58 NOTICE: SHA256SUMS: improperly formatted checksum line 1 2023/09/11 10:53:58 NOTICE: SHA256SUMS: improperly formatted checksum line 49 2023/09/11 10:53:58 NOTICE: SHA256SUMS: 4 warning(s) suppressed... = rclone-v1.63.1-windows-amd64.zip 2023/09/11 10:53:58 NOTICE: Local file system at /tmp/check: 0 differences found 2023/09/11 10:53:58 NOTICE: Local file system at /tmp/check: 1 matching files
اعتبارسنجی همزمان امضاها و هشها
میتوانید امضاها و هشها را در یک خط فرمان مانند زیر اعتبارسنجی کنید:
-
$ h=$(gpg --decrypt SHA256SUMS) && echo "$h" | sha256sum - -c --ignore-missing gpg: Signature made Mon 17 Jul 2023 15:03:17 BST gpg: using DSA key FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA gpg: Good signature from "Nick Craig-Wood <nick@craig-wood.com>" [ultimate] gpg: aka "Nick Craig-Wood <nick@memset.com>" [unknown] rclone-v1.63.1-windows-amd64.zip: OK
1Fichier
این یک بکاند برای سرویس ذخیرهسازی ابری 1fichier (https://1fichier.com) است. توجه داشته باشید که برای استفاده از API، اشتراک Premium الزامی است.
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر میزان عمقی که نیاز است باشند، برای نمونه remote:directory/subdirectory.
پیکربندی
راهاندازی اولیه برای 1Fichier شامل دریافت کلید API از وبسایت است که باید آن را در مرورگر خود انجام دهید.
در اینجا مثالی از نحوهٔ ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / 1Fichier \ "fichier" [snip] Storage> fichier ** See help for fichier backend at: https://rclone.org/fichier ** Your API Key, get it from https://1fichier.com/console/params.pl Enter a string value. Press Enter for the default (""). api_key> example_key Edit advanced config? (y/n) y) Yes n) No y/n> Remote config Configuration complete. Options: - type: fichier - api_key: example_key Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (عبارت remote را با نامی که برای ریموت خود انتخاب کردهاید جایگزین کنید):
فهرست کردن دایرکتوریها در بالاترین سطح حساب 1Fichier شما
-
rclone lsd remote:
فهرست کردن تمام فایلها در حساب 1Fichier شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در 1Fichier
-
rclone copy /home/source remote:backup
1Fichier از زمانهای تغییر پشتیبانی نمیکند. این سرویس از الگوریتم هش Whirlpool پشتیبانی میکند.
فایلهای تکراری (Duplicated files)
1Fichier (برخلاف یک سیستمفایل معمولی) میتواند دو فایل با نام و مسیر کاملاً یکسان داشته باشد.
فایلهای تکراری باعث بروز مشکل در همگامسازی میشوند و پیامهایی درباره موارد تکراری در لاگ (log) مشاهده خواهید کرد.
نویسههای محدودشده در نام فایل (Restricted filename characters)
علاوه بر مجموعه نویسههای محدودشده پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
| < | 0x3C | < |
| > | 0x3E | > |
| " | 0x22 | " |
| $ | 0x24 | $ |
| ` | 0x60 | ` |
| ' | 0x27 | ' |
نام فایلها همچنین نمیتواند با نویسههای زیر شروع شده یا پایان یابد. این نویسهها تنها در صورتی جایگزین میشوند که اولین یا آخرین نویسه در نام باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان استفاده از آنها در رشتههای JSON وجود ندارد..SS گزینههای استاندارد
در اینجا گزینههای استاندارد ویژه fichier (1Fichier) آمده است.
--fichier-api-key
کلید API شما؛ آن را از https://1fichier.com/console/params.pl دریافت کنید.
ویژگیها:
- •
- پیکربندی: api_key
- •
- متغیر محیطی: RCLONE_FICHIER_API_KEY
- •
- نوع: string
- •
- اجباری: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته ویژه fichier (1Fichier) آمده است.
--fichier-shared-folder
اگر میخواهید یک پوشه همرسانیشده را بارگیری کنید، این پارامتر را اضافه کنید.
ویژگیها:
- •
- پیکربندی: shared_folder
- •
- متغیر محیطی: RCLONE_FICHIER_SHARED_FOLDER
- •
- نوع: string
- •
- اجباری: false
--fichier-file-password
اگر میخواهید یک فایل همرسانیشده دارای گذرواژه را بارگیری کنید، این پارامتر را اضافه کنید.
نکته: ورودی این گزینه باید مبهمسازی شود - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: file_password
- •
- متغیر محیطی: RCLONE_FICHIER_FILE_PASSWORD
- •
- نوع: string
- •
- اجباری: false
--fichier-folder-password
اگر میخواهید فایلهای درون یک پوشه همرسانیشده دارای گذرواژه را فهرست کنید، این پارامتر را اضافه کنید.
نکته: ورودی این گزینه باید مبهمسازی شود - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: folder_password
- •
- متغیر محیطی: RCLONE_FICHIER_FOLDER_PASSWORD
- •
- نوع: string
- •
- اجباری: false
--fichier-cdn
اگر مایلید از پیوندهای بارگیری CDN استفاده کنید، این گزینه را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: cdn
- •
- متغیر محیطی: RCLONE_FICHIER_CDN
- •
- نوع: bool
- •
- پیشفرض: false
--fichier-encoding
کدگذاری برای后端 (Backend).
برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_FICHIER_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot.SS --fichier-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_FICHIER_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
دستور rclone about توسط بکاند 1Fichier پشتیبانی نمیشود. بکاندهایی که این قابلیت را ندارند، نمیتوانند فضای خالی را برای یک rclone mount تعیین کنند یا از سیاست mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) را ببینید.
نام مستعار (Alias)
ریموت alias نام جدیدی را برای ریموتی دیگر فراهم میکند.
مسیرها میتوانند به هر عمق دلخواهی باشند یا یک مسیر محلی باشند؛ مانند remote:directory/subdirectory یا /directory/subdirectory.
در طول راهاندازی اولیه با rclone config، ریموت مقصد را مشخص خواهید کرد. ریموت مقصد میتواند یک مسیر محلی یا ریموت دیگری باشد.
میتوان از زیرپوشهها در ریموت مقصد استفاده کرد. فرض کنید یک ریموت نام مستعار به نام backup با مقصد mydrive:private/backup وجود دارد. فراخوانی rclone mkdir backup:desktop دقیقاً معادل فراخوانی rclone mkdir mydrive:private/backup/desktop است.
هیچ پردازش خاصی برای مسیرهای حاوی بخشهای .. صورت نخواهد گرفت. فراخوانی rclone mkdir backup:../desktop دقیقاً معادل فراخوانی rclone mkdir mydrive:private/backup/../desktop است. مسیر خالی به عنوان یک ریموت مجاز نیست. برای ایجاد نام مستعار برای دایرکتوری جاری، به جای آن از . استفاده کنید.
ریموت مقصد همچنین میتواند یک رشته اتصال (https://rclone.org/docs/#connection-strings) باشد. این قابلیت میتواند برای اصلاح پیکربندی یک ریموت برای کاربردهای گوناگون به کار رود؛ به عنوان مثال نام مستعار myDriveTrash با ریموت مقصد myDrive,trashed_only: میتواند تنها برای نمایش فایلهای موجود در سطل زباله در myDrive استفاده شود.
پیکربندی (Configuration)
در اینجا مثالی از نحوه ایجاد یک نام مستعار به نام remote برای یک پوشه محلی آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Alias for an existing remote \ "alias" [snip] Storage> alias Remote or path to alias. Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path". remote> /mnt/storage/backup Remote config Configuration complete. Options: - type: alias - remote: /mnt/storage/backup Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== remote alias e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (به جای remote نامی را که به ریموت خود اختصاص دادهاید جایگزین کنید):
فهرست کردن دایرکتوریها در بالاترین سطح /mnt/storage/backup
-
rclone lsd remote:
فهرست کردن تمام فایلها در /mnt/storage/backup
-
rclone ls remote:
کپی کردن یک دایرکتوری محلی دیگر در دایرکتوری نام مستعار به نام source
-
rclone copy /home/source remote:source
در اینجا گزینههای استاندارد مختص alias (نام مستعار برای یک ریموت موجود) آمده است.
--alias-remote
ریموت یا مسیری که قرار است برای آن نام مستعار ایجاد شود.
میتواند "myremote:path/to/dir"، "myremote:bucket"، "myremote:" یا "/local/path" باشد.
ویژگیها:
- •
- پیکربندی: remote
- •
- متغیر محیطی: RCLONE_ALIAS_REMOTE
- •
- نوع: string
- •
- ضروری: true
گزینههای پیشرفته
در اینجا گزینههای پیشرفتهٔ مختص alias (نام مستعار برای یک ریموت موجود) آمده است.
--alias-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_ALIAS_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
ارائهدهندگان فضای ذخیرهسازی Amazon S3 (Amazon S3 Storage Providers)
بکاند S3 میتواند با چندین ارائهدهندهٔ مختلف استفاده شود:
- •
- AWS S3
- •
- Alibaba Cloud (Aliyun) Object Storage System (OSS)
- •
- Ceph
- •
- China Mobile Ecloud Elastic Object Storage (EOS)
- •
- Cloudflare R2
- •
- Arvan Cloud Object Storage (AOS)
- •
- Bizfly Cloud Simple Storage
- •
- Cubbit DS3
- •
- DigitalOcean Spaces
- •
- Dreamhost
- •
- Exaba
- •
- Fastly Object Storage
- •
- FileLu S5 (S3-Compatible Object Storage)
- •
- GCS
- •
- Hetzner
- •
- Hitachi Content Platform (HCP)
- •
- Huawei OBS
- •
- IBM COS S3
- •
- IDrive e2
- •
- Impossible Cloud
- •
- Intercolo Object Storage
- •
- IONOS Cloud
- •
- Leviia Object Storage
- •
- Liara Object Storage
- •
- Linode Object Storage
- •
- Magalu Object Storage
- •
- MEGA S4 Object Storage
- •
- Minio
- •
- Outscale
- •
- OVHcloud
- •
- Petabox
- •
- Pure Storage FlashBlade
- •
- Qiniu Cloud Object Storage (Kodo)
- •
- Rabata Cloud Storage
- •
- RackCorp Object Storage
- •
- Rclone Serve S3
- •
- Scaleway
- •
- Scality (RING / ARTESCA)
- •
- Seagate Lyve Cloud
- •
- SeaweedFS
- •
- Selectel
- •
- Servercore Object Storage
- •
- Spectra Logic
- •
- Storj
- •
- Synology C2 Object Storage
- •
- Tencent Cloud Object Storage (COS)
- •
- US3
- •
- Wasabi
- •
- Zadara Object Storage
- •
- Zata
- •
- Zero Services (ZERO-Z3)
مسیرها بهصورت remote:bucket (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید زیرپوشهها را نیز مشخص کنید، مانند: remote:bucket/path/to/dir.
پس از ایجاد یک ریموت (بخش مربوط به ارائهدهندهٔ خاص در بالا را ببینید)، میتوانید از آن بهشکل زیر استفاده کنید:
مشاهدهٔ تمام باکتها
-
rclone lsd remote:
ایجاد یک باکت جدید
-
rclone mkdir remote:bucket
فهرست کردن محتویات یک باکت
-
rclone ls remote:bucket
همگامسازی /home/local/directory با باکت ریموت و حذف هرگونه فایل اضافی موجود در باکت.
-
rclone sync --interactive /home/local/directory remote:bucket
در اینجا نمونهای از ایجاد یک پیکربندی s3 برای ارائهدهنده AWS S3 آورده شده است. بیشتر این موارد برای سایر ارائهدهندگان نیز صدق میکند و هرگونه تفاوت در ادامه شرح داده شده است.
ابتدا دستور زیر را اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Amazon S3 Compliant Storage Providers including AWS, ... \ "s3" [snip] Storage> s3 Choose your S3 provider. Choose a number from below, or type in your own value 1 / Amazon Web Services (AWS) S3 \ "AWS" 2 / Ceph Object Storage \ "Ceph" 3 / DigitalOcean Spaces \ "DigitalOcean" 4 / Dreamhost DreamObjects \ "Dreamhost" 5 / IBM COS S3 \ "IBMCOS" 6 / Minio Object Storage \ "Minio" 7 / Wasabi Object Storage \ "Wasabi" 8 / Any other S3 compatible provider \ "Other" provider> 1 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. Choose a number from below, or type in your own value 1 / Enter AWS credentials in the next step \ "false" 2 / Get AWS credentials from the environment (env vars or IAM) \ "true" env_auth> 1 AWS Access Key ID - leave blank for anonymous access or runtime credentials. access_key_id> XXX AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. secret_access_key> YYY Region to connect to. Choose a number from below, or type in your own value / The default endpoint - a good choice if you are unsure. 1 | US Region, Northern Virginia, or Pacific Northwest. | Leave location constraint empty. \ "us-east-1" / US East (Ohio) Region 2 | Needs location constraint us-east-2. \ "us-east-2" / US West (Oregon) Region 3 | Needs location constraint us-west-2. \ "us-west-2" / US West (Northern California) Region 4 | Needs location constraint us-west-1. \ "us-west-1" / Canada (Central) Region 5 | Needs location constraint ca-central-1. \ "ca-central-1" / EU (Ireland) Region 6 | Needs location constraint EU or eu-west-1. \ "eu-west-1" / EU (London) Region 7 | Needs location constraint eu-west-2. \ "eu-west-2" / EU (Frankfurt) Region 8 | Needs location constraint eu-central-1. \ "eu-central-1" / Asia Pacific (Singapore) Region 9 | Needs location constraint ap-southeast-1. \ "ap-southeast-1" / Asia Pacific (Sydney) Region 10 | Needs location constraint ap-southeast-2. \ "ap-southeast-2" / Asia Pacific (Tokyo) Region 11 | Needs location constraint ap-northeast-1. \ "ap-northeast-1" / Asia Pacific (Seoul) 12 | Needs location constraint ap-northeast-2. \ "ap-northeast-2" / Asia Pacific (Mumbai) 13 | Needs location constraint ap-south-1. \ "ap-south-1" / Asia Pacific (Hong Kong) Region 14 | Needs location constraint ap-east-1. \ "ap-east-1" / South America (Sao Paulo) Region 15 | Needs location constraint sa-east-1. \ "sa-east-1" region> 1 Endpoint for S3 API. Leave blank if using AWS to use the default endpoint for the region. endpoint> Location constraint - must be set to match the Region. Used when creating buckets only. Choose a number from below, or type in your own value 1 / Empty for US Region, Northern Virginia, or Pacific Northwest. \ "" 2 / US East (Ohio) Region. \ "us-east-2" 3 / US West (Oregon) Region. \ "us-west-2" 4 / US West (Northern California) Region. \ "us-west-1" 5 / Canada (Central) Region. \ "ca-central-1" 6 / EU (Ireland) Region. \ "eu-west-1" 7 / EU (London) Region. \ "eu-west-2" 8 / EU Region. \ "EU" 9 / Asia Pacific (Singapore) Region. \ "ap-southeast-1" 10 / Asia Pacific (Sydney) Region. \ "ap-southeast-2" 11 / Asia Pacific (Tokyo) Region. \ "ap-northeast-1" 12 / Asia Pacific (Seoul) \ "ap-northeast-2" 13 / Asia Pacific (Mumbai) \ "ap-south-1" 14 / Asia Pacific (Hong Kong) \ "ap-east-1" 15 / South America (Sao Paulo) Region. \ "sa-east-1" location_constraint> 1 Canned ACL used when creating buckets and/or storing objects in S3. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl Choose a number from below, or type in your own value 1 / Owner gets FULL_CONTROL. No one else has access rights (default). \ "private" 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. \ "public-read" / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. 3 | Granting this on a bucket is generally not recommended. \ "public-read-write" 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. \ "authenticated-read" / Object owner gets FULL_CONTROL. Bucket owner gets READ access. 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. \ "bucket-owner-read" / Both the object owner and the bucket owner get FULL_CONTROL over the object. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. \ "bucket-owner-full-control" acl> 1 The server-side encryption algorithm used when storing this object in S3. Choose a number from below, or type in your own value 1 / None \ "" 2 / AES256 \ "AES256" server_side_encryption> 1 The storage class to use when storing objects in S3. Choose a number from below, or type in your own value 1 / Default \ "" 2 / Standard storage class \ "STANDARD" 3 / Reduced redundancy storage class \ "REDUCED_REDUNDANCY" 4 / Standard Infrequent Access storage class \ "STANDARD_IA" 5 / One Zone Infrequent Access storage class \ "ONEZONE_IA" 6 / Glacier Flexible Retrieval storage class \ "GLACIER" 7 / Glacier Deep Archive storage class \ "DEEP_ARCHIVE" 8 / Intelligent-Tiering storage class \ "INTELLIGENT_TIERING" 9 / Glacier Instant Retrieval storage class \ "GLACIER_IR" storage_class> 1 Remote config Configuration complete. Options: - type: s3 - provider: AWS - env_auth: false - access_key_id: XXX - secret_access_key: YYY - region: us-east-1 - endpoint: - location_constraint: - acl: private - server_side_encryption: - storage_class: Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d>
زمانهای تغییر
زمان تغییر به عنوان متاداده روی شیء در قالب X-Amz-Meta-Mtime به صورت عدد ممیز شناور از مبدا زمان (epoch)، با دقت ۱ نانوثانیه ذخیره میشود.
اگر زمان تغییر نیاز به بهروزرسانی داشته باشد، در صورتی که شیء بتواند در یک بخش کپی شود، rclone تلاش خواهد کرد یک کپی سمت سرور برای بهروزرسانی زمان تغییر انجام دهد. در صورتی که شیء بزرگتر از 5Gb باشد یا در فضای ذخیرهسازی Glacier یا Glacier Deep Archive قرار داشته باشد، شیء به جای کپی شدن، بارگذاری خواهد شد.
توجه داشته باشید که خواندن این مقدار از شیء نیازمند یک درخواست اضافی HEAD است، چرا که این متاداده در فهرستهای شیء بازگردانده نمیشود.
هشها
برای شیءهای کوچکی که به صورت چندبخشی بارگذاری نشدهاند (شیءهایی با اندازه کمتر از --s3-upload-cutoff در صورت بارگذاری با rclone)، ابزار rclone از هدر ETag: به عنوان چکسام MD5 استفاده میکند.
با این حال برای شیءهایی که به صورت چندبخشی بارگذاری شدهاند یا دارای رمزنگاری سمت سرور (SSE-AWS یا SSE-C) هستند، هدر ETag دیگر هش MD5 دادهها نیست؛ بنابراین rclone یک متاداده اضافی به نام X-Amz-Meta-Md5chksum اضافه میکند که یک هش MD5 انکودشده با base64 است (در همان قالبی که برای Content-MD5 لازم است). میتوانید از base64 -d و hexdump برای بررسی دستی این مقدار استفاده کنید:
-
echo 'VWTGdNx3LyXQDfA0e2Edxw==' | base64 -d | hexdump
یا میتوانید از دستور rclone check برای اطمینان از صحت هشها استفاده کنید.
برای شیءهای بزرگ، محاسبه این هش ممکن است زمانبر باشد، بنابراین افزودن این هش را میتوان با --s3-disable-checksum غیرفعال کرد. این کار بدین معنا خواهد بود که این شیءها چکسام MD5 ندارند.
توجه داشته باشید که خواندن این مقدار از شیء نیازمند یک درخواست اضافی HEAD است، چرا که این متاداده در فهرستهای شیء بازگردانده نمیشود.
کاهش هزینهها
پرهیز از درخواستهای HEAD برای خواندن زمان تغییر
به طور پیشفرض، rclone از زمان تغییر شیءهای ذخیرهشده در S3 برای همگامسازی استفاده میکند. این مقدار در متاداده شیء ذخیره میشود که متأسفانه خواندن آن نیازمند یک درخواست اضافی HEAD است که میتواند هزینهبر باشد (از نظر زمان و هزینه مالی).
زمان تغییر به طور پیشفرض برای تمامی عملیاتی که نیازمند بررسی زمان آخرین بهروزرسانی فایل هستند استفاده میشود. این قابلیت به rclone اجازه میدهد با ریموت بیشتر مانند یک فایلسیستم واقعی رفتار کند، اما در S3 ناکارآمد است زیرا برای دریافت متاداده نیازمند یک فراخوانی اضافی API است.
میتوان هنگام همگامسازی (با استفاده از rclone sync یا rclone copy) به چند روش مختلف از فراخوانیهای اضافی API پرهیز کرد که هر کدام مزایا و معایب خود را دارند.
- •
- --size-only
- •
- فقط اندازه فایلها را بررسی میکند.
- •
- از هیچ تراکنش اضافی استفاده نمیکند.
- •
- اگر اندازه فایل تغییر نکند، rclone متوجه تغییر آن نخواهد شد.
- •
- rclone sync --size-only /path/to/source s3:bucket
- •
- --checksum
- •
- اندازه و چکسام MD5 فایلها را بررسی میکند.
- •
- از هیچ تراکنش اضافی استفاده نمیکند.
- •
- دقیقترین روش ممکن برای تشخیص تغییرات است.
- •
- باعث میشود مبدأ یک چکسام MD5 را بخواند که اگر دیسک محلی باشد، فعالیت دیسکی زیادی ایجاد خواهد کرد.
- •
- اگر مبدأ و مقصد هر دو S3 باشند، این گزینه برای حداکثر کارایی توصیهشده است.
- •
- rclone sync --checksum /path/to/source s3:bucket
- •
- --update --use-server-modtime
- •
- از هیچ تراکنش اضافی استفاده نمیکند.
- •
- زمان تغییر برابر با زمان بارگذاری شیء میشود.
- •
- برای بسیاری از عملیاتها، این مقدار جهت تشخیص نیاز به بارگذاری کافی است.
- •
- استفاده از --update همراه با --use-server-modtime، از فراخوانیهای اضافی API جلوگیری کرده و فایلهایی را که زمان تغییر محلی آنها جدیدتر از زمان آخرین بارگذاری است آپلود میکند.
- •
- فایلهایی که با برچسب زمانی در گذشته ایجاد شدهاند توسط همگامسازی نادیده گرفته خواهند شد.
- •
- rclone sync --update --use-server-modtime /path/to/source s3:bucket
این گزینهها میتوانند و باید در ترکیب با --fast-list استفاده شوند - به پایین مراجعه کنید.
اگر از rclone mount یا هر دستوری که از VFS استفاده میکند (مانند rclone serve) استفاده میکنید، ممکن است بخواهید استفاده از گزینه VFS به نام --no-modtime را در نظر بگیرید که مانع از خواندن زمان تغییر برای هر شیء توسط rclone میشود. همچنین در صورتی که مشکلی ندارید زمان تغییر شیءها همان زمان بارگذاری باشد، میتوانید از --use-server-modtime استفاده کنید..SS اجتناب از درخواستهای GET برای خواندن فهرست دایرکتوریها
پیمایش پیشفرض دایرکتوری در rclone پردازش جداگانهٔ هر دایرکتوری است. این کار به ازای هر دایرکتوری یک فراخوانی API انجام میدهد. استفاده از پرچم --fast-list باعث میشود ابتدا تمام اطلاعات مربوط به اشیاء با تعداد کمتری فراخوانی API (یک فراخوانی به ازای هر ۱۰۰۰ شیء) درون حافظه خوانده شود. برای جزئیات بیشتر به مستندات rclone (https://rclone.org/docs/#fast-list) مراجعه کنید.
-
rclone sync --fast-list --checksum /path/to/source s3:bucket
پرچم --fast-list تعداد تراکنشهای API را در ازای مصرف حافظه کاهش میدهد. به عنوان یک برآورد تقریبی، rclone به ازای هر شیء ذخیرهشده ۱ کیلوبایت حافظه مصرف میکند؛ بنابراین استفاده از --fast-list در همگامسازی یک میلیون شیء، تقریباً ۱ گیبیبایت از حافظهٔ رم (RAM) را استفاده خواهد کرد.
اگر تنها تعداد کمی فایل را درون یک مخزن بزرگ کپی میکنید، استفاده از --no-traverse ایدهٔ مناسبی است. این گزینه اشیاء را مستقیماً و به جای فهرستبندی دایرکتوریها پیدا میکند. میتوانید با استفاده از --max-age و --no-traverse، یک همگامسازی "تکمیلی" بسیار کمهزینه را تنها برای کپی کردن فایلهای اخیر انجام دهید، مانند:
-
rclone copy --max-age 24h --no-traverse /path/to/source s3:bucket
سپس میتوانید دستور کامل rclone sync را با فواصل زمانی طولانیتری اجرا کنید.
توجه داشته باشید که در همگامسازی تکمیلی نیازی به --fast-list نیست.
اجتناب از درخواستهای HEAD پس از PUT
به طور پیشفرض، rclone برای هر شیئی که بارگذاری میکند یک درخواست HEAD ارسال مینماید. این کار برای اطمینان از بارگذاری صحیح شیء انجام میشود.
میتوانید این قابلیت را با گزینهٔ --s3-no-head غیرفعال کنید - برای جزئیات بیشتر به توضیحات آن مراجعه کنید.
تنظیم این پرچم احتمال خطاهای شناسایینشده در بارگذاری را افزایش میدهد.
افزایش کارایی
استفاده از کپی سمت سرور (server-side copy)
اگر اشیاء را میان باکتهای S3 در همان منطقه (region) کپی میکنید، باید از کپی سمت سرور استفاده کنید. این روش بسیار سریعتر از بارگیری و بارگذاری مجدد اشیاء است، زیرا دادهای منتقل نمیشود.
برای اینکه rclone از کپی سمت سرور استفاده کند، باید از یک ریموت یکسان برای مبدأ و مقصد استفاده کنید.
-
rclone copy s3:source-bucket s3:destination-bucket
هنگام استفاده از کپی سمت سرور، کارایی بر اساس نرخ ارسال درخواستهای API از rclone به S3 محدود میشود. برای افزایش تعداد درخواستهای API که rclone ارسال میکند، به ادامه مراجعه فرمایید.
افزایش نرخ درخواستهای API
میتوانید نرخ درخواستهای API به S3 را با افزایش موازیسازی از طریق گزینههای --transfers و --checkers بالا ببرید.
دستور rclone مقادیر پیشفرض بسیار محافظهکارانهای را برای این تنظیمات استفاده میکند، زیرا همهٔ ارائهدهندگان از نرخهای بالای درخواست پشتیبانی نمیکنند. بسته به ارائهدهندهٔ خود، میتوانید تعداد transfers و checkers را به میزان چشمگیری افزایش دهید.
به عنوان مثال، در AWS S3 میتوانید تعداد checkers را به مقادیری مانند ۲۰۰ افزایش دهید. اگر در حال انجام کپی سمت سرور هستید، میتوانید تعداد transfers را نیز تا ۲۰۰ افزایش دهید.
-
rclone sync --transfers 200 --checkers 200 --checksum s3:source-bucket s3:destination-bucket
برای یافتن بهینهترین تنظیمات متناسب با پیکربندی خود، نیاز است این مقادیر را آزمایش کنید..SS یکپارچگی دادهها
ابزار rclone تمام تلاش خود را میکند تا با استفاده از هشهای گوناگون، تکتک بخشهای بارگذاری یا بارگیری به ارائهدهنده s3 را اعتبارسنجی کند.
هر تراکنش HTTP به/از ارائهدهنده دارای سرآیند X-Amz-Content-Sha256 یا Content-Md5 است تا از خرابی بدنه HTTP جلوگیری کند. سرآیند HTTP نیز با امضای ارسالشده در سرآیند Authorization محافظت میشود.
تمام ارتباطات با ارائهدهنده برای رمزنگاری و حفاظت بیشتر در برابر خطا بر بستر https انجام میشود.
بارگذاریهای تکبخشی
- •
- ابزار rclone بارگذاریهای تکبخشی را با استفاده از هش MD5 خواندهشده از مبدأ، همراه با سرآیند Content-Md5 بارگذاری میکند. ارائهدهنده پس از دریافت دادهها، صحت آن را بررسی میکند.
- •
- سپس rclone یک درخواست HEAD ارسال میکند (غیرفعالسازی با --s3-no-head) تا مقدار ETag بازگرداندهشده را که همان MD5 فایل است بخواند و آن را با آنچه ارسال کرده تطبیق دهد.
توجه داشته باشید که اگر مبدأ فاقد هش MD5 باشد، بارگذاریهای تکبخشی فاقد حفاظت از طریق هش خواهند بود. در این حالت توصیه میشود از --s3-upload-cutoff 0 استفاده کنید تا تمام فایلها بهصورت چندبخشی بارگذاری شوند.
بارگذاریهای چندبخشی
برای فایلهای بزرگتر از --s3-upload-cutoff، نرمافزار rclone فایل را برای بارگذاری به چند بخش تقسیم میکند.
- •
- هر بخش هم با X-Amz-Content-Sha256 و هم با Content-Md5 محافظت میشود.
هنگامی که rclone بارگذاری تمام بخشها را به پایان رساند، با ارسال اطلاعات زیر فرایند بارگذاری را تکمیل میکند:
- •
- هش MD5 هر بخش
- •
- تعداد بخشها
- •
- تمامی این اطلاعات با یک X-Amz-Content-Sha256 محافظت میشوند.
ارائهدهنده هش MD5 تمام بخشهای دریافتشده را با آنچه rclone ارسال کرده مطابقت میدهد و در صورت صحت، وضعیت OK را بازمیگرداند.
سپس rclone یک درخواست HEAD ارسال میکند (غیرفعالسازی با --s3-no-head) و بررسی میکند که ETag مطابق انتظار باشد (در این حالت باید مجموع هشهای MD5 تمام بخشها بههمراه تعداد بخشها در انتهای آن باشد).
اگر مبدأ دارای مجموع هش MD5 باشد، rclone سرآیند X-Amz-Meta-Md5chksum را به آن پیوست میکند؛ چرا که ETag برای یک بارگذاری چندبخشی را نمیتوان بهسادگی با فایل مقایسه کرد، زیرا محاسبه آن نیازمند دانستن اندازه تکهها (chunk size) است.
بارگیریها
ابزار rclone هش MD5 دادههای بارگیریشده را با ETag یا فراداده X-Amz-Meta-Md5chksum (در صورت وجود، که rclone هنگام بارگذاریهای چندبخشی ارسال میکند) بررسی میکند.
بررسیهای تکمیلی
در هر مرحله، rclone و ارائهدهنده در حال ارسال و بررسی هشهای همهچیز هستند. ابزار rclone بهطور عمدی پس از بارگذاری، یک درخواست HEAD برای هر شیء ارسال میکند تا جهت امنیت بیشتر اطمینان یابد که دادهها بدون نقص دریافت شدهاند. (میتوانید این رفتار را با --s3-no-head غیرفعال کنید).
اگر به اطمینان بیشتری از سالم بودن دادههای خود نیاز دارید، میتوانید از rclone check برای بررسی هشهای محلی در مقایسه با سمت ریموت استفاده کنید.
و اگر در بالاترین سطح احتیاط هستید، از rclone check --download استفاده کنید که فایلها را بارگیری کرده و آنها را با نسخههای محلی مقایسه میکند. (توجه داشته باشید که این کار از دیسک استفاده نمیکند - فایلها بهصورت مستقیم در حافظه رم جریان مییابند).
نسخهها
هنگامی که نسخهبندی باکت فعال است (این کار در rclone با دستور rclone backend versioning انجام میشود)، با بارگذاری نسخه جدیدی از یک فایل توسط rclone، نسخه جدیدی از آن ایجاد میشود (https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html). به همین ترتیب، هنگام حذف یک فایل، نسخه قدیمی به عنوان مخفی علامتگذاری شده و همچنان در دسترس خواهد بود.
نسخههای قدیمی فایلها، در صورت وجود، با استفاده از پرچم --s3-versions قابل مشاهده هستند.
همچنین میتوان با استفاده از پرچم --s3-version-at، وضعیت یک باکت را در یک نقطه زمانی خاص مشاهده کرد. این پرچم نسخههای فایل را دقیقاً همانگونه که در آن زمان بودهاند نشان میدهد؛ فایلهایی که پس از آن حذف شدهاند را نمایش داده و فایلهایی را که پس از آن زمان ایجاد شدهاند پنهان میکند.
اگر مایلید تمام نسخههای قدیمی را حذف کنید، میتوانید از دستور rclone backend cleanup-hidden remote:bucket استفاده نمایید که همه نسخههای قدیمی و مخفی فایلها را حذف کرده و نسخههای جاری را دستنخورده باقی میگذارد. همچنین میتوانید یک مسیر مشخص کنید تا تنها نسخههای قدیمی ذیل آن مسیر حذف شوند، مانند: rclone backend cleanup-hidden remote:bucket/path/to/stuff.
هنگامی که یک باکت را purge میکنید، ابتدا تمام نسخههای جاری و قدیمی حذف شده و سپس خود باکت حذف خواهد شد.
اما استفاده از دستور delete تنها باعث میشود نسخههای جاری فایلها به نسخههای قدیمیِ مخفی تبدیل شوند.
در ادامه نمونهای از نحوه فهرستگیری و بازیابی یک نسخه قدیمی و سپس cleanup نسخههای قدیمی نمایش داده شده است.
نمایش نسخه فعلی و تمام نسخهها با استفاده از پرچم --s3-versions.
-
$ rclone -q ls s3:cleanup-test 9 one.txt $ rclone -q --s3-versions ls s3:cleanup-test 9 one.txt 8 one-v2016-07-04-141032-000.txt 16 one-v2016-07-04-141003-000.txt 15 one-v2016-07-02-155621-000.txt
بازیابی یک نسخه قدیمی
-
$ rclone -q --s3-versions copy s3:cleanup-test/one-v2016-07-04-141003-000.txt /tmp $ ls -l /tmp/one-v2016-07-04-141003-000.txt -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
پاکسازی تمام نسخههای قدیمی و تأیید حذف شدن آنها.
-
$ rclone -q backend cleanup-hidden s3:cleanup-test $ rclone -q ls s3:cleanup-test 9 one.txt $ rclone -q --s3-versions ls s3:cleanup-test 9 one.txt
هنگام استفاده از گزینه --s3-versions، ابزار rclone برای تشخیص اینکه آیا اشیاء نسخه هستند یا خیر، به نام فایل اتکا میکند. نامهای نسخهها با درج برچسب زمانی بین نام فایل و پسوند آن ایجاد میشوند.
-
9 file.txt 8 file-v2023-07-17-161032-000.txt 16 file-v2023-06-15-141003-000.txt
اگر فایلهای واقعی با نامهایی مشابه نسخهها وجود داشته باشند، رفتار --s3-versions میتواند غیرقابلپیشبینی باشد.
پاکسازی
اگر rclone cleanup s3:bucket را اجرا کنید، تمام بارگذاریهای چندبخشی معلق قدیمیتر از ۲۴ ساعت حذف خواهند شد. میتوانید از گزینه --interactive/i یا --dry-run استفاده کنید تا دقیقاً ببینید چه کاری انجام خواهد داد. اگر میخواهید کنترل بیشتری بر تاریخ انقضا داشته باشید، دستور rclone backend cleanup s3:bucket -o max-age=1h را اجرا کنید تا تمام بارگذاریهای قدیمیتر از یک ساعت منقضی شوند. میتوانید از rclone backend list-multipart-uploads s3:bucket برای مشاهده بارگذاریهای چندبخشی معلق استفاده کنید.
نویسههای محدودشده در نام فایل
سرویس S3 هر رشته معتبر UTF-8 را به عنوان کلید میپذیرد.
بایتهای نامعتبر UTF-8 جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در XML استفاده کرد.
نویسههای زیر جایگزین میشوند زیرا هنگام کار با REST API مشکلساز هستند:
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| / | 0x2F | / |
سازوکار کدگذاری این نامهای فایل را نیز کدگذاری خواهد کرد، زیرا به نظر میرسد بهدرستی با SDK کار نمیکنند:
| نام فایل | جایگزین |
| . | . |
| .. | .. |
| کلیدهای اشیاء دارای اسلشهای رو به جلو متوالی (//) توسط rclone | |
| پشتیبانی نمیشوند. | |
| هنگامی که rclone با یک کلید شیء حاوی // (مانند | |
| a//b) مواجه میشود، مسیر را برای استفاده از یک اسلش تکی نرمالسازی میکند (مانند | |
| a/b). | |
| این نرمالسازی میتواند هنگام تلاش برای دسترسی به شیء اصلی باعث خطاهای "object not found" شود، زیرا rclone به جای کلید واقعی شیء، به دنبال مسیر نرمالشده خواهد گشت. | |
| مثال: - کلید شیء اصلی در S3: folder//file.txt | |
| - تفسیر rclone از آن: folder/file.txt - نتیجه: | |
| خطای "object not found" هنگام تلاش برای دسترسی به | |
| folder//file.txt | |
| راهکار: هنگام استفاده از rclone، از به کار بردن اسلشهای رو به جلو متوالی | |
| (//) در کلیدهای اشیاء S3 خودداری کنید. | |
| اگر از پیش اشیائی دارید که در کلیدهای آنها // وجود دارد، | |
| باید نام آنها را برای استفاده از اسلش تکی تغییر دهید یا از راههای دیگر به آنها دسترسی پیدا کنید. | |
| بارگذاریهای چندبخشی (Multipart uploads) | |
| rclone از بارگذاریهای چندبخشی با S3 پشتیبانی میکند، به این معنی که میتواند | |
| فایلهای بزرگتر از 5 GiB را بارگذاری کند. | |
| توجه داشته باشید فایلهایی که هم با بارگذاری چندبخشی | |
| و هم از طریق ریموتهای crypt بارگذاری میشوند، فاقد چکسامهای MD5 هستند. | |
| rclone در نقطهای که توسط --s3-upload-cutoff مشخص شده است، | |
| از بارگذاری تکبخشی به بارگذاری چندبخشی تغییر حالت میدهد. | |
| این مقدار میتواند حداکثر 5 GiB و حداقل 0 باشد (یعنی فایلها همیشه به صورت چندبخشی بارگذاری شوند). | |
| اندازه تکهها (chunks) مورد استفاده در بارگذاری چندبخشی با | |
| --s3-chunk-size و تعداد تکههایی که به صورت همروند بارگذاری میشوند با | |
| --s3-upload-concurrency مشخص میشود. | |
| بارگذاریهای چندبخشی از حافظه اضافی معادل: --transfers | |
| × --s3-upload-concurrency × --s3-chunk-size استفاده خواهند کرد. | |
| بارگذاریهای تکبخشی حافظه اضافی مصرف نمیکنند. | |
| انتقالهای تکبخشی بسته به تاخیر زمانی (latency) شما تا S3 میتوانند سریعتر یا کندتر از انتقالهای چندبخشی باشند - هر چه تاخیر بیشتر باشد، احتمال اینکه انتقالهای تکبخشی سریعتر عمل کنند بیشتر است. | |
| افزایش --s3-upload-concurrency بازدهی (throughput) را افزایش میدهد (مقدار 8 منطقی خواهد بود) و افزایش --s3-chunk-size نیز بازدهی را بالا میبرد (مقدار 16M منطقی است). | |
| افزایش هر یک از اینها حافظه بیشتری مصرف خواهد کرد. | |
| مقادیر پیشفرض به اندازه کافی بهینه هستند تا بدون مصرف حافظه بیش از حد، بیشترین کارایی ممکن را حاصل کنند. | |
| باکتها و منطقهها (Buckets and Regions) | |
| در Amazon S3 میتوانید باکتها را با استفاده از هر منطقهای فهرست کنید (rclone lsd)، اما محتوای یک باکت تنها از منطقهای که در آن ایجاد شده قابل دسترسی است. | |
| اگر تلاش کنید از منطقه نادرستی به یک باکت دسترسی پیدا کنید، خطای زیر را دریافت خواهید کرد: | |
| incorrect region, the bucket is not in 'XXX' region. | |
| احراز هویت (Authentication) | |
| روشهای متعددی برای ارائه مجموعهای از اعتبارنامههای AWS به rclone وجود دارد؛ چه با استفاده از متغیرهای محیطی و چه بدون آنها. | |
| روشهای مختلف احراز هویت به این ترتیب ارزیابی میشوند: | |
| • 2 | |
| مستقیماً در فایل پیکربندی rclone (مقدار env_auth = false در فایل پیکربندی): | |
| 2 | |
| • 2 | |
| گزینههای access_key_id و secret_access_key الزامی هستند. | |
| • 2 | |
| گزینه session_token میتواند هنگام استفاده از AWS STS به صورت اختیاری تنظیم شود. | |
| • 2 | |
| پیکربندی زمان اجرا (env_auth = true در فایل پیکربندی): | |
| 2 | |
| • 2 | |
| برونریزی (export) متغیرهای محیطی زیر پیش از اجرای rclone: | |
| 2 | |
| • 2 | |
| شناسه Access Key: AWS_ACCESS_KEY_ID یا AWS_ACCESS_KEY | |
| • 2 | |
| کلید Secret Access: AWS_SECRET_ACCESS_KEY یا | |
| AWS_SECRET_KEY | |
| • 2 | |
| توکن Session: AWS_SESSION_TOKEN (اختیاری) | |
| • 2 | |
| یا، استفاده از یک نمایه (پروفایل) نامگذاریشده | |
| (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html): | |
| 2 | |
| • 2 | |
| فایلهای نمایه، فایلهای استانداردی هستند که توسط ابزارهای AWS CLI استفاده میشوند | |
| • 2 | |
| به طور پیشفرض از فایل نمایه در دایرکتوری خانگی شما (مانند | |
| ~/.aws/credentials در سیستمهای مبتنی بر یونیکس) و نمایه | |
| "default" استفاده خواهد شد؛ برای تغییر آن، این متغیرهای محیطی یا کلیدهای پیکربندی را تنظیم کنید: | |
| 2 | |
| • 2 | |
| متغیر AWS_SHARED_CREDENTIALS_FILE یا کلید پیکربندی shared_credentials_file برای تعیین فایل مورد نظر. | |
| • 2 | |
| متغیر AWS_PROFILE یا کلید پیکربندی profile برای تعیین نمایه مورد استفاده. | |
| • 2 | |
| یا، اجرای rclone در یک تسک ECS همراه با نقش IAM (فقط AWS). | |
| • 2 | |
| یا، اجرای rclone روی یک نمونه EC2 همراه با نقش IAM (فقط AWS). | |
| • 2 | |
| یا، اجرای rclone در یک پاد EKS با یک نقش IAM که به یک service account مرتبط است (فقط AWS). | |
| • 2 | |
| یا، استفاده از اعتبارنامههای فرآیند | |
| (https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html) | |
| برای خواندن پیکربندی از یک برنامه خارجی. | |
| با مقدار env_auth = true، نرمافزار rclone (که از SDK for Go v2 استفاده میکند) | |
| باید از تمامی روشهای احراز هویت | |
| (https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) | |
| که توسط ابزار CLI aws و سایر SDKهای AWS پشتیبانی میشوند، پشتیبانی کند. | |
| اگر هیچیک از این گزینهها در نهایت اعتبارنامههای AWS را برای rclone | |
| فراهم نکنند، تعامل با S3 بدون احراز هویت انجام خواهد شد (برای اطلاعات بیشتر بخش دسترسی ناشناس را ببینید)..SS "پذیرش نقش (دسترسی بینحسابی - Assume Role)" | |
| اگر نیاز به دسترسی به منابع S3 در یک حساب AWS دیگر دارید، میتوانید | |
| از قابلیت پذیرش نقش IAM (اصطلاحاً Assume Role) استفاده کنید. | |
| این ویژگی برای سناریوهای دسترسی بینحسابی (Cross-Account) کاربرد دارد، | |
| جایی که شما در یک حساب دارای اعتبارنامه هستید اما باید به منابع موجود در | |
| حسابی دیگر دسترسی داشته باشید. | |
| جهت استفاده از assume role، پارامترهای زیر را پیکربندی کنید: | |
| • 2 | |
| role_arn - شناسه ARN (نام منبع آمازون) مربوط به نقش IAM جهت | |
| پذیرش در حساب مقصد. | |
| قالب: arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME | |
| • 2 | |
| role_session_name (اختیاری) - نامی برای نشست نقش پذیرفتهشده. | |
| در صورت عدم تعیین، rclone بهطور خودکار نامی تولید خواهد کرد. | |
| • 2 | |
| role_session_duration (اختیاری) - مدت زمانی که اعتبارنامههای | |
| نقش پذیرفتهشده دارای اعتبار هستند. | |
| در صورت عدم تعیین، مقدار پیشفرض AWS استفاده خواهد شد (معمولاً ۱ ساعت). | |
| • 2 | |
| role_external_id (اختیاری) - یک شناسه خارجی که بر اساس سیاست | |
| اعتماد (trust policy) نقش برای امنیت بیشتر الزامی شده است. | |
| این پارامتر معمولاً زمانی به کار میرود که نقش توسط شخص ثالث در دسترس قرار میگیرد. | |
| قابلیت assume role هم با اعتبارنامههای مستقیم | |
| (env_auth = false) و هم با احراز هویت مبتنی بر محیط | |
| (env_auth = true) کار میکند. | |
| rclone ابتدا با استفاده از اعتبارنامههای پایه احراز هویت کرده، سپس از | |
| همان اعتبارنامهها برای پذیرش نقش تعیینشده استفاده میکند. | |
| نمونه پیکربندی برای دسترسی بینحسابی: | |
| [s3-cross-account] |
| type = s3 |
| provider = AWS |
| env_auth = true |
| region = us-east-1 |
| role_arn = arn:aws:iam::123456789012:role/CrossAccountS3Role |
| role_session_name = rclone-session |
| role_external_id = unique-role-external-id-12345 |
| در این مثال: |
| - اعتبارنامههای پایه از محیط به دست میآیند (نقش IAM، فایل اعتبارنامهها، یا متغیرهای محیطی) |
| - این اعتبارنامهها سپس برای پذیرش نقش CrossAccountS3Role در حساب 123456789012 استفاده میشوند |
| - یک شناسه خارجی مطابق با الزامات سیاست اعتماد نقش جهت امنیت بیشتر ارائه شده است |
| سیاست اعتماد نقش هدف در حساب مقصد باید به حساب یا کاربر مبدأ اجازه پذیرش آن را بدهد. |
| نمونه سیاست اعتماد: |
| { |
| "Version": "2012-10-17", |
| "Statement": [ |
| { |
| "Effect": "Allow", |
| "Principal": { |
| "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:root" |
| }, |
| "Action": "sts:AssumeRole", |
| "Condition": { |
| "StringEquals": { |
| "sts:ExternalID": "unique-role-external-id-12345" |
| } |
| } |
| } |
| ] |
| } |
| "مجوزهای S3 (S3 Permissions)" |
| هنگام استفاده از زیرفرمان sync در rclone، |
| حداقل مجوزهای زیر باید روی باکتی که در آن نوشته میشود در دسترس باشند: |
| • 2 |
| ListBucket |
| • 2 |
| DeleteObject |
| • 2 |
| GetObject |
| • 2 |
| PutObject |
| • 2 |
| PutObjectACL |
| • 2 |
| CreateBucket (مگر در صورت استفاده از s3-no-check-bucket) |
| هنگام استفاده از زیرفرمان lsd، داشتن مجوز ListAllMyBuckets |
| الزامی است. |
| نمونه سیاست: |
| { |
| "Version": "2012-10-17", |
| "Statement": [ |
| { |
| "Effect": "Allow", |
| "Principal": { |
| "AWS": "arn:aws:iam::USER_SID:user/USER_NAME" |
| }, |
| "Action": [ |
| "s3:ListBucket", |
| "s3:DeleteObject", |
| "s3:GetObject", |
| "s3:PutObject", |
| "s3:PutObjectAcl" |
| ], |
| "Resource": [ |
| "arn:aws:s3:::BUCKET_NAME/*", |
| "arn:aws:s3:::BUCKET_NAME" |
| ] |
| }, |
| { |
| "Effect": "Allow", |
| "Action": "s3:ListAllMyBuckets", |
| "Resource": "arn:aws:s3:::*" |
| } |
| ] |
| } |
| نکاتی در رابطه با موارد فوق: |
| "1." 3 |
| این سیاستی است که میتواند هنگام ساخت باکت استفاده شود. |
| فرض بر این است که USER_NAME از قبل ساخته شده است. |
| "2." 3 |
| مدخل Resource باید شامل هر دو ARN منبع باشد، چرا که یکی بیانگر باکت |
| و دیگری بیانگر اشیاء درون باکت است. |
| "3." 3 |
| هنگام استفاده از s3-no-check-bucket در صورتی که باکت از قبل وجود داشته باشد، |
| نیازی به گنجاندن "arn:aws:s3:::BUCKET_NAME" نیست. |
| جهت ارجاع، این یک اسکریپت Ansible است |
| (https://gist.github.com/ebridges/ebfc9042dd7c756cd101cfa807b7ae2b) |
| که یک یا چند باکت سازگار با rclone sync تولید میکند..SS سامانه مدیریت کلید (KMS) |
| اگر از رمزنگاری سمت سرور با KMS استفاده میکنید، باید مطمئن شوید که |
| rclone با server_side_encryption = aws:kms پیکربندی شده باشد؛ |
| در غیر این صورت قادر به انتقال اشیاء کوچک نخواهید بود - چرا که این کار |
| خطاهای چکسام (checksum) ایجاد خواهد کرد. |
| سرویسهای Glacier و Glacier Deep Archive |
| شما میتوانید اشیاء را با استفاده از کلاس ذخیرهسازی glacier بارگذاری کرده یا با |
| استفاده از یک خطمشی چرخه عمر |
| (lifecycle policy) (http://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) |
| آنها را به glacier منتقل کنید. باکت همچنان میتواند به طور عادی همگامسازی شده یا کپی دریافت کند، |
| اما اگر rclone سعی کند به دادههای کلاس ذخیرهسازی glacier دسترسی پیدا کند، خطایی مانند |
| زیر را مشاهده خواهید کرد. |
| 2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file |
| در این حالت، پیش از دسترسی به محتویات شیء، لازم است شیء (یا اشیاء) مربوطه را |
| بازیابی (restore) کنید (http://docs.aws.amazon.com/AmazonS3/latest/user-guide/restore-archived-objects.html). |
| بخش بازیابی در ادامه نشان میدهد که چگونه میتوان این کار را با rclone انجام داد. |
| توجه داشته باشید که rclone تنها با S3 API ارتباط برقرار میکند و از Glacier Vault API |
| پشتیبانی نمیکند؛ بنابراین rclone نمیتواند مستقیماً به Glacier Vaultها دسترسی پیدا کند. |
| باکت S3 با قابلیت Object Lock فعال |
| طبق مستندات AWS دربارهی S3 Object |
| Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-permission): |
| اگر یک دوره نگهداری (retention period) پیشفرض روی یک باکت پیکربندی کنید، درخواستهای |
| بارگذاری اشیاء در چنین باکتی حتماً باید شامل هدر Content-MD5 باشند. |
| هنگام بارگذاری اشیاء با پارامترهای Object Lock، نرمافزار rclone به طور خودکار هدر Content-MD5 را |
| محاسبه و ارسال میکند. به هیچ پیکربندی خاصی نیاز نیست. |
| تنظیم دوره نگهداری Object Lock |
| برنامه rclone از تنظیم نگهداری Object Lock روی اشیاء بارگذاریشده با گزینههای |
| زیر پشتیبانی میکند: |
| • 2 |
| --s3-object-lock-mode - تنظیم حالت Object Lock (به صورت GOVERNANCE |
| یا COMPLIANCE) |
| • 2 |
| --s3-object-lock-retain-until-date - تنظیم تاریخ نگهداری |
| (قالب RFC3339 یا بازه زمانی مانند 365d، 24h) |
| • 2 |
| --s3-object-lock-legal-hold-status - تنظیم توقیف قانونی (legal hold) (به صورت ON |
| یا OFF) |
| مثال - بارگذاری فایلها با دوره نگهداری ۱ ساله تحت حالت GOVERNANCE: |
| rclone copy local:/data remote:bucket \ |
| --s3-object-lock-mode GOVERNANCE \ |
| --s3-object-lock-retain-until-date 365d |
| کپی کردن تنظیمات Object Lock از مبدأ |
| هنگام استفاده از --metadata، میتوانید از مقدار ویژه |
| copy برای حفظ تنظیمات Object Lock شیء مبدأ استفاده کنید: |
| rclone copy source:bucket dest:bucket \ |
| --metadata \ |
| --s3-object-lock-mode copy \ |
| --s3-object-lock-retain-until-date copy |
| شما همچنین میتوانید مقادیر کپیشده و مقادیر صریح را ترکیب کنید. |
| برای مثال، جهت تغییر حالت از COMPLIANCE به GOVERNANCE ضمن |
| حفظ تاریخ نگهداری اصلی: |
| rclone copy source:bucket dest:bucket \ |
| --metadata \ |
| --s3-object-lock-mode GOVERNANCE \ |
| --s3-object-lock-retain-until-date copy |
| • 2 |
| --s3-bypass-governance-retention - برای حذف یا |
| بازنویسی اشیاء دارای حالت نگهداری GOVERNANCE پیش از به پایان رسیدن |
| تاریخ نگهداری الزامی است |
| • 2 |
| --s3-bucket-object-lock-enabled - فعالسازی Object Lock هنگام |
| ایجاد یک باکت جدید با rclone mkdir |
| • 2 |
| --s3-object-lock-set-after-upload - تنظیم Object Lock از طریق |
| فراخوانیهای جداگانه API پس از بارگذاری (برای ارائهدهندگانی که از |
| هدرهای Object Lock هنگام فراخوانی PUT پشتیبانی نمیکنند) |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مختص s3 (ارائهدهندگان فضای ذخیرهسازی سازگار با Amazon S3 شامل AWS، Alibaba، ArvanCloud، BizflyCloud، Ceph، ChinaMobile، Cloudflare، Cubbit، DigitalOcean، Dreamhost، Exaba، Fastly، FileLu، FlashBlade، GCS، HCP، Hetzner، HuaweiOBS، IBMCOS، IDrive، ImpossibleCloud، Intercolo، IONOS، Leviia، Liara، Linode، LyveCloud، Magalu، Mega، Minio، Netease، Outscale، OVHcloud، Petabox، Qiniu، Rabata، RackCorp، Rclone، Scaleway، Scality، SeaweedFS، Selectel، Servercore، SpectraLogic، Storj، Synology، TencentCOS، US3، Wasabi، Zadara، Zata، ZeroServices و Other) آورده شده است. |
| --s3-provider |
| ارائهدهنده S3 خود را انتخاب کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: provider |
| • 2 |
| متغیر محیطی: RCLONE_S3_PROVIDER |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "AWS" |
| 2 |
| • 2 |
| Amazon Web Services (AWS) S3 |
| • 2 |
| "Alibaba" |
| 2 |
| • 2 |
| سامانه ذخیرهسازی شیء Alibaba Cloud (OSS) که پیشتر Aliyun نام داشت |
| • 2 |
| "ArvanCloud" |
| 2 |
| • 2 |
| فضای ذخیرهسازی شیء ابر آروان (AOS) |
| • 2 |
| "BizflyCloud" |
| 2 |
| • 2 |
| Bizfly Cloud Simple Storage |
| • 2 |
| "Ceph" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Ceph |
| • 2 |
| "ChinaMobile" |
| 2 |
| • 2 |
| China Mobile Ecloud Elastic Object Storage (EOS) |
| • 2 |
| "Cloudflare" |
| 2 |
| • 2 |
| ذخیرهسازی Cloudflare R2 |
| • 2 |
| "Cubbit" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Cubbit DS3 |
| • 2 |
| "DigitalOcean" |
| 2 |
| • 2 |
| DigitalOcean Spaces |
| • 2 |
| "Dreamhost" |
| 2 |
| • 2 |
| Dreamhost DreamObjects |
| • 2 |
| "Exaba" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Exaba |
| • 2 |
| "Fastly" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Fastly |
| • 2 |
| "FileLu" |
| 2 |
| • 2 |
| FileLu S5 (ذخیرهسازی شیء سازگار با S3) |
| • 2 |
| "FlashBlade" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Pure Storage FlashBlade |
| • 2 |
| "GCS" |
| 2 |
| • 2 |
| Google Cloud Storage |
| • 2 |
| "HCP" |
| 2 |
| • 2 |
| پلتفرم محتوای هیتاچی (Hitachi Content Platform - HCP) |
| • 2 |
| "Hetzner" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Hetzner |
| • 2 |
| "HuaweiOBS" |
| 2 |
| • 2 |
| سرویس ذخیرهسازی شیء Huawei |
| • 2 |
| "IBMCOS" |
| 2 |
| • 2 |
| IBM COS S3 |
| • 2 |
| "IDrive" |
| 2 |
| • 2 |
| IDrive e2 |
| • 2 |
| "ImpossibleCloud" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Impossible Cloud |
| • 2 |
| "Intercolo" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Intercolo |
| • 2 |
| "IONOS" |
| 2 |
| • 2 |
| IONOS Cloud |
| • 2 |
| "Leviia" |
| 2.IP • 2 |
| ذخیرهسازی شیء Leviia |
| • 2 |
| "Liara" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Liara |
| • 2 |
| "Linode" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Linode |
| • 2 |
| "LyveCloud" |
| 2 |
| • 2 |
| فضای ابری Seagate Lyve |
| • 2 |
| "Magalu" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Magalu |
| • 2 |
| "Mega" |
| 2 |
| • 2 |
| ذخیرهسازی شیء MEGA S4 |
| • 2 |
| "Minio" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Minio |
| • 2 |
| "Netease" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Netease (NOS) |
| • 2 |
| "Outscale" |
| 2 |
| • 2 |
| ذخیرهسازی شیء OUTSCALE (OOS) |
| • 2 |
| "OVHcloud" |
| 2 |
| • 2 |
| ذخیرهسازی شیء OVHcloud |
| • 2 |
| "Petabox" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Petabox |
| • 2 |
| "Qiniu" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Qiniu (Kodo) |
| • 2 |
| "Rabata" |
| 2 |
| • 2 |
| فضای ذخیرهسازی ابری Rabata |
| • 2 |
| "RackCorp" |
| 2 |
| • 2 |
| ذخیرهسازی شیء RackCorp |
| • 2 |
| "Rclone" |
| 2 |
| • 2 |
| سرور S3 در Rclone |
| • 2 |
| "Scaleway" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Scaleway |
| • 2 |
| "Scality" |
| 2 |
| • 2 |
| Scality (RING / ARTESCA) |
| • 2 |
| "SeaweedFS" |
| 2 |
| • 2 |
| SeaweedFS S3 |
| • 2 |
| "Selectel" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Selectel |
| • 2 |
| "Servercore" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Servercore |
| • 2 |
| "SpectraLogic" |
| 2 |
| • 2 |
| Spectra Logic Black Pearl |
| • 2 |
| "Storj" |
| 2 |
| • 2 |
| Storj (درگاه سازگار با S3) |
| • 2 |
| "Synology" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Synology C2 |
| • 2 |
| "TencentCOS" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Tencent Cloud (COS) |
| • 2 |
| "US3" |
| 2 |
| • 2 |
| ذخیرهسازی شیء US3 |
| • 2 |
| "Wasabi" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Wasabi |
| • 2 |
| "Zadara" |
| 2 |
| • 2 |
| ذخیرهسازی شیء Zadara |
| • 2 |
| "Zata" |
| 2 |
| • 2 |
| Zata (درگاه سازگار با S3) |
| • 2 |
| "ZeroServices" |
| 2 |
| • 2 |
| Zero Services GmbH (ZERO-Z3) |
| • 2 |
| "Other" |
| 2 |
| • 2 |
| هر ارائهدهندهٔ دیگر سازگار با S3 |
| --s3-env-auth |
| دریافت گواهیهای اعتبارسنجی AWS از زمان اجرا (متغیرهای محیطی یا فرادادههای EC2/ECS در صورت نبود متغیرهای محیطی). |
| تنها در صورتی اعمال میشود که access_key_id و secret_access_key خالی باشند. |
| ویژگیها: |
| • 2 |
| پیکربندی: env_auth |
| • 2 |
| متغیر محیطی: RCLONE_S3_ENV_AUTH |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "false" |
| 2 |
| • 2 |
| وارد کردن گواهیهای اعتبارسنجی AWS در مرحله بعد. |
| • 2 |
| "true" |
| 2 |
| • 2 |
| دریافت گواهیهای اعتبارسنجی AWS از محیط (متغیرهای محیطی یا IAM). |
| --s3-access-key-id |
| شناسه کلید دسترسی AWS. |
| برای دسترسی ناشناس یا گواهیهای اعتبارسنجی زمان اجرا، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: access_key_id |
| • 2 |
| متغیر محیطی: RCLONE_S3_ACCESS_KEY_ID |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| --s3-secret-access-key |
| کلید دسترسی محرمانه AWS (گذرواژه). |
| برای دسترسی ناشناس یا گواهیهای اعتبارسنجی زمان اجرا، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: secret_access_key |
| • 2 |
| متغیر محیطی: RCLONE_S3_SECRET_ACCESS_KEY |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| --s3-region |
| ناحیه برای اتصال. |
| اگر از یک کلون S3 استفاده میکنید و ناحیهای ندارید، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: region |
| • 2 |
| متغیر محیطی: RCLONE_S3_REGION |
| • 2 |
| ارائهدهنده: |
| AWS,BizflyCloud,Ceph,Cloudflare,Cubbit,DigitalOcean,Dreamhost,Exaba,Fastly,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IBMCOS,ImpossibleCloud,Intercolo,IONOS,Leviia,LyveCloud,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,Rabata,RackCorp,Scaleway,Scality,SeaweedFS,Selectel,Servercore,Synology,Wasabi,Zadara,Zata,ZeroServices,Other |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| نقطه پایانی پیشفرض - انتخابی مناسب در صورت عدم اطمینان. |
| • 2 |
| ناحیه ایالات متحده، ویرجینیای شمالی یا شمال غرب اقیانوس آرام. |
| • 2 |
| محدودیت مکان (location constraint) را خالی بگذارید. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-east-2" |
| 2 |
| • 2 |
| ناحیه شرق ایالات متحده (اوهایو). |
| • 2 |
| نیازمند محدودیت مکان us-east-2 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-west-1" |
| 2 |
| • 2 |
| ناحیه غرب ایالات متحده (کالیفرنیای شمالی). |
| • 2 |
| نیازمند محدودیت مکان us-west-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-west-2" |
| 2 |
| • 2 |
| ناحیه غرب ایالات متحده (اورگن). |
| • 2 |
| نیازمند محدودیت مکان us-west-2 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ca-central-1" |
| 2 |
| • 2 |
| ناحیه کانادا (مرکزی). |
| • 2 |
| نیازمند محدودیت مکان ca-central-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| ناحیه اتحادیه اروپا (ایرلند). |
| • 2 |
| نیازمند محدودیت مکان EU یا eu-west-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-west-2" |
| 2 |
| • 2 |
| ناحیه اتحادیه اروپا (لندن). |
| • 2 |
| نیازمند محدودیت مکان eu-west-2 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-west-3" |
| 2 |
| • 2 |
| ناحیه اتحادیه اروپا (پاریس). |
| • 2 |
| نیازمند محدودیت مکان eu-west-3 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-north-1" |
| 2 |
| • 2 |
| ناحیه اتحادیه اروپا (استکهلم). |
| • 2 |
| نیازمند محدودیت مکان eu-north-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-south-1" |
| 2 |
| • 2 |
| ناحیه اتحادیه اروپا (میلان)..IP • 2 |
| نیازمند قید مکانی eu-south-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-central-1" |
| 2 |
| • 2 |
| ناحیهٔ اروپا (فرانکفورت). |
| • 2 |
| نیازمند قید مکانی eu-central-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-southeast-1" |
| 2 |
| • 2 |
| ناحیهٔ آسیا و اقیانوسیه (سنگاپور). |
| • 2 |
| نیازمند قید مکانی ap-southeast-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-southeast-2" |
| 2 |
| • 2 |
| ناحیهٔ آسیا و اقیانوسیه (سیدنی). |
| • 2 |
| نیازمند قید مکانی ap-southeast-2 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-northeast-1" |
| 2 |
| • 2 |
| ناحیهٔ آسیا و اقیانوسیه (توکیو). |
| • 2 |
| نیازمند قید مکانی ap-northeast-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-northeast-2" |
| 2 |
| • 2 |
| آسیا و اقیانوسیه (سئول). |
| • 2 |
| نیازمند قید مکانی ap-northeast-2 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-northeast-3" |
| 2 |
| • 2 |
| آسیا و اقیانوسیه (اوساکا-محلی). |
| • 2 |
| نیازمند قید مکانی ap-northeast-3 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-south-1" |
| 2 |
| • 2 |
| آسیا و اقیانوسیه (مومبای). |
| • 2 |
| نیازمند قید مکانی ap-south-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-east-1" |
| 2 |
| • 2 |
| ناحیهٔ آسیا و اقیانوسیه (هنگکنگ). |
| • 2 |
| نیازمند قید مکانی ap-east-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "sa-east-1" |
| 2 |
| • 2 |
| ناحیهٔ آمریکای جنوبی (سائو پائولو). |
| • 2 |
| نیازمند قید مکانی sa-east-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "il-central-1" |
| 2 |
| • 2 |
| ناحیهٔ اسرائیل (تلآویو). |
| • 2 |
| نیازمند قید مکانی il-central-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "me-south-1" |
| 2 |
| • 2 |
| ناحیهٔ خاورمیانه (بحرین). |
| • 2 |
| نیازمند قید مکانی me-south-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "af-south-1" |
| 2 |
| • 2 |
| ناحیهٔ آفریقا (کیپتاون). |
| • 2 |
| نیازمند قید مکانی af-south-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "cn-north-1" |
| 2 |
| • 2 |
| ناحیهٔ چین (پکن). |
| • 2 |
| نیازمند قید مکانی cn-north-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "cn-northwest-1" |
| 2 |
| • 2 |
| ناحیهٔ چین (نینگشیا). |
| • 2 |
| نیازمند قید مکانی cn-northwest-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-gov-east-1" |
| 2 |
| • 2 |
| ناحیهٔ AWS GovCloud (US-East). |
| • 2 |
| نیازمند قید مکانی us-gov-east-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-gov-west-1" |
| 2 |
| • 2 |
| ناحیهٔ AWS GovCloud (US). |
| • 2 |
| نیازمند قید مکانی us-gov-west-1 است. |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "hn" |
| 2 |
| • 2 |
| هانوی |
| • 2 |
| ارائهدهنده: BizflyCloud |
| • 2 |
| "hcm" |
| 2 |
| • 2 |
| هوشیمین |
| • 2 |
| ارائهدهنده: BizflyCloud |
| • 2 |
| "" |
| 2 |
| • 2 |
| اگر مطمئن نیستید از این مقدار استفاده کنید. |
| • 2 |
| از امضاهای v4 و یک ناحیه خالی استفاده خواهد کرد. |
| • 2 |
| ارائهدهنده: |
| Ceph,DigitalOcean,Dreamhost,Exaba,GCS,HCP,IBMCOS,Leviia,LyveCloud,Minio,Netease,Scality,SeaweedFS,Wasabi,Other |
| • 2 |
| "other-v2-signature" |
| 2 |
| • 2 |
| تنها در صورتی از این مقدار استفاده کنید که امضاهای v4 کار نکنند. |
| • 2 |
| بهعنوان مثال، |
| نسخههای پیش از Jewel/v10 در CEPH. |
| • 2 |
| ارائهدهنده: |
| Ceph,DigitalOcean,Dreamhost,Exaba,GCS,HCP,IBMCOS,Leviia,LyveCloud,Minio,Netease,Scality,SeaweedFS,Wasabi,Other |
| • 2 |
| "auto" |
| 2 |
| • 2 |
| باکتهای R2 جهت کاهش تأخیر بهطور خودکار در سراسر مراکز داده Cloudflare توزیع میشوند. |
| • 2 |
| ارائهدهنده: Cloudflare |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| غرب اروپا |
| • 2 |
| ارائهدهنده: Cubbit |
| • 2 |
| "au-east-1" |
| 2 |
| • 2 |
| شرق استرالیا ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "eu-central" |
| 2 |
| • 2 |
| مرکز اروپا |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "eu-south-1" |
| 2 |
| • 2 |
| جنوب اروپا ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| غرب اروپا ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "jp-central-1" |
| 2 |
| • 2 |
| مرکز ژاپن ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "uk-east-1" |
| 2 |
| • 2 |
| شرق بریتانیا ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-central-1" |
| 2 |
| • 2 |
| مرکز ایالات متحده ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-east" |
| 2 |
| • 2 |
| شرق ایالات متحده |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| شرق ایالات متحده ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-west" |
| 2 |
| • 2 |
| غرب ایالات متحده |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-west-1" |
| 2 |
| • 2 |
| غرب ایالات متحده ۱ |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "global" |
| 2 |
| • 2 |
| سراسری |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "us-east" |
| 2 |
| • 2 |
| آمریکای شمالی (US-East) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "eu-central" |
| 2 |
| • 2 |
| اروپا (EU-Central) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "ap-southeast" |
| 2 |
| • 2 |
| آسیا و اقیانوسیه (AP-Southeast) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "me-central" |
| 2 |
| • 2 |
| خاورمیانه (ME-Central) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "hel1" |
| 2 |
| • 2 |
| هلسینکی |
| • 2 |
| ارائهدهنده: Hetzner |
| • 2 |
| "fsn1" |
| 2 |
| • 2 |
| فالکناشتاین.IP • 2 |
| ارائهدهنده: Hetzner |
| • 2 |
| "nbg1" |
| 2 |
| • 2 |
| نورنبرگ |
| • 2 |
| ارائهدهنده: Hetzner |
| • 2 |
| "af-south-1" |
| 2 |
| • 2 |
| AF-Johannesburg |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "ap-southeast-2" |
| 2 |
| • 2 |
| AP-Bangkok |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "ap-southeast-3" |
| 2 |
| • 2 |
| AP-Singapore |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "cn-east-3" |
| 2 |
| • 2 |
| CN East-Shanghai1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "cn-east-2" |
| 2 |
| • 2 |
| CN East-Shanghai2 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "cn-north-1" |
| 2 |
| • 2 |
| CN North-Beijing1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "cn-north-4" |
| 2 |
| • 2 |
| CN North-Beijing4 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "cn-south-1" |
| 2 |
| • 2 |
| CN South-Guangzhou |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "ap-southeast-1" |
| 2 |
| • 2 |
| CN-Hong Kong |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "sa-argentina-1" |
| 2 |
| • 2 |
| LA-Buenos Aires1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "sa-peru-1" |
| 2 |
| • 2 |
| LA-Lima1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "na-mexico-1" |
| 2 |
| • 2 |
| LA-Mexico City1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "sa-chile-1" |
| 2 |
| • 2 |
| LA-Santiago2 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "sa-brazil-1" |
| 2 |
| • 2 |
| LA-Sao Paulo1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "ru-northwest-2" |
| 2 |
| • 2 |
| RU-Moscow2 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "eu-central-2" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| آمستردام، هلند |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-west-2" |
| 2 |
| • 2 |
| لندن، بریتانیا |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-west-3" |
| 2 |
| • 2 |
| پاریس، فرانسه |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-east-1" |
| 2 |
| • 2 |
| پوزنان، لهستان |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-north-1" |
| 2 |
| • 2 |
| کپنهاگ، دانمارک |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "us-east-1" |
| 2.IP • 2 |
| نیویورک، ایالات متحده |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "de-fra" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: Intercolo |
| • 2 |
| "de" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: IONOS,OVHcloud |
| • 2 |
| "eu-central-2" |
| 2 |
| • 2 |
| برلین، آلمان |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "eu-central-3" |
| 2 |
| • 2 |
| برلین، آلمان |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "eu-central-4" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "eu-south-2" |
| 2 |
| • 2 |
| لوگرونیو، اسپانیا |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "us-central-1" |
| 2 |
| • 2 |
| لنکسا، ایالات متحده |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "eu-west-2" |
| 2 |
| • 2 |
| پاریس، فرانسه |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "us-east-2" |
| 2 |
| • 2 |
| نیوجرسی، ایالات متحده |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "us-west-1" |
| 2 |
| • 2 |
| کالیفرنیا، ایالات متحده |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "cloudgouv-eu-west-1" |
| 2 |
| • 2 |
| SecNumCloud، پاریس، فرانسه |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "ap-northeast-1" |
| 2 |
| • 2 |
| توکیو، ژاپن |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "gra" |
| 2 |
| • 2 |
| گراولین، فرانسه |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "rbx" |
| 2 |
| • 2 |
| روبه، فرانسه |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "sbg" |
| 2 |
| • 2 |
| استراسبورگ، فرانسه |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "eu-west-par" |
| 2 |
| • 2 |
| پاریس، فرانسه (3AZ) |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "uk" |
| 2 |
| • 2 |
| لندن، بریتانیا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "waw" |
| 2 |
| • 2 |
| ورشو، لهستان |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "bhs" |
| 2 |
| • 2 |
| بوهارنوآ، کانادا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "ca-east-tor" |
| 2 |
| • 2 |
| تورنتو، کانادا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "sgp" |
| 2 |
| • 2 |
| سنگاپور |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "ap-southeast-syd" |
| 2 |
| • 2 |
| سیدنی، استرالیا |
| • 2 |
| ارائهدهنده: OVHcloud |
| "ap-south-mum" |
| 2 |
| • 2 |
| بمبئی، هند |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "us-east-va" |
| 2 |
| • 2 |
| وینت هیل، ویرجینیا، ایالات متحده آمریکا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "us-west-or" |
| 2 |
| • 2 |
| هیلزبورو، اورگان، ایالات متحده آمریکا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "rbx-archive" |
| 2 |
| • 2 |
| روبه، فرانسه (آرشیو سرد) |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| شرق ایالات متحده (ویرجینیای |
| شمالی) |
| • 2 |
| ارائهدهنده: Petabox,Rabata |
| • 2 |
| "eu-central-1" |
| 2 |
| • 2 |
| اروپا (فرانکفورت) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "ap-southeast-1" |
| 2 |
| • 2 |
| آسیا و اقیانوسیه (سنگاپور) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "me-south-1" |
| 2 |
| • 2 |
| خاورمیانه (بحرین) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "sa-east-1" |
| 2 |
| • 2 |
| آمریکای جنوبی (سائوپائولو) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "cn-east-1" |
| 2 |
| • 2 |
| نقطه پایانی پیشفرض - اگر مطمئن نیستید، انتخابی مناسب است. |
| • 2 |
| منطقه ۱ شرق چین. |
| • 2 |
| نیازمند محدودیت مکانی cn-east-1 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "cn-east-2" |
| 2 |
| • 2 |
| منطقه ۲ شرق چین. |
| • 2 |
| نیازمند محدودیت مکانی cn-east-2 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "cn-north-1" |
| 2 |
| • 2 |
| منطقه ۱ شمال چین. |
| • 2 |
| نیازمند محدودیت مکانی cn-north-1 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "cn-south-1" |
| 2 |
| • 2 |
| منطقه ۱ جنوب چین. |
| • 2 |
| نیازمند محدودیت مکانی cn-south-1 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "us-north-1" |
| 2 |
| • 2 |
| منطقه آمریکای شمالی. |
| • 2 |
| نیازمند محدودیت مکانی us-north-1 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "ap-southeast-1" |
| 2 |
| • 2 |
| منطقه ۱ جنوب شرق آسیا. |
| • 2 |
| نیازمند محدودیت مکانی ap-southeast-1 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "ap-northeast-1" |
| 2 |
| • 2 |
| منطقه ۱ شمال شرق آسیا. |
| • 2 |
| نیازمند محدودیت مکانی ap-northeast-1 است. |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| اروپا (ایرلند) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "eu-west-2" |
| 2 |
| • 2 |
| اروپا (لندن) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "global" |
| 2 |
| • 2 |
| منطقه CDN جهانی (تمام موقعیتها) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au" |
| 2 |
| • 2 |
| استرالیا (تمام ایالتها) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-nsw" |
| 2.IP • 2 |
| منطقه NSW (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-qld" |
| 2 |
| • 2 |
| منطقه QLD (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-vic" |
| 2 |
| • 2 |
| منطقه VIC (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-wa" |
| 2 |
| • 2 |
| منطقه پرت (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "ph" |
| 2 |
| • 2 |
| منطقه مانیل (فیلیپین) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "th" |
| 2 |
| • 2 |
| منطقه بانکوک (تایلند) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "hk" |
| 2 |
| • 2 |
| منطقه هنگکنگ (HK) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "mn" |
| 2 |
| • 2 |
| منطقه اولانباتور (مغولستان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "kg" |
| 2 |
| • 2 |
| منطقه بیشکک (قرقیزستان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "id" |
| 2 |
| • 2 |
| منطقه جاکارتا (اندونزی) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "jp" |
| 2 |
| • 2 |
| منطقه توکیو (ژاپن) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "sg" |
| 2 |
| • 2 |
| منطقه سنگاپور (SG) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "de" |
| 2 |
| • 2 |
| منطقه فرانکفورت (آلمان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us" |
| 2 |
| • 2 |
| منطقه ایالات متحده (AnyCast) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| منطقه نیویورک (ایالات متحده) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us-west-1" |
| 2 |
| • 2 |
| منطقه فریمونت (ایالات متحده) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "nz" |
| 2 |
| • 2 |
| منطقه اوکلند (نیوزیلند) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "nl-ams" |
| 2 |
| • 2 |
| آمستردام، هلند |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "fr-par" |
| 2 |
| • 2 |
| پاریس، فرانسه |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "pl-waw" |
| 2 |
| • 2 |
| ورشو، لهستان |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "ru-1" |
| 2 |
| • 2 |
| سن پترزبورگ |
| • 2 |
| ارائهدهنده: Selectel,Servercore |
| • 2 |
| "ru-3" |
| 2 |
| • 2 |
| سن پترزبورگ |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "ru-7" |
| 2 |
| • 2 |
| مسکو.IP • 2 |
| ارائهدهنده: Selectel,Servercore |
| • 2 |
| "gis-1" |
| 2 |
| • 2 |
| مسکو |
| • 2 |
| ارائهدهنده: Selectel,Servercore |
| • 2 |
| "kz-1" |
| 2 |
| • 2 |
| قزاقستان |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "uz-2" |
| 2 |
| • 2 |
| ازبکستان |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "uz-2" |
| 2 |
| • 2 |
| تاشکند، ازبکستان |
| • 2 |
| ارائهدهنده: Servercore |
| • 2 |
| "kz-1" |
| 2 |
| • 2 |
| آلماتی، قزاقستان |
| • 2 |
| ارائهدهنده: Servercore |
| • 2 |
| "eu-001" |
| 2 |
| • 2 |
| منطقه ۱ اروپا |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "eu-002" |
| 2 |
| • 2 |
| منطقه ۲ اروپا |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "us-001" |
| 2 |
| • 2 |
| منطقه ۱ آمریکا |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "us-002" |
| 2 |
| • 2 |
| منطقه ۲ آمریکا |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "tw-001" |
| 2 |
| • 2 |
| آسیا (تایوان) |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| منطقه پیشفرض. |
| • 2 |
| محدودیت مکان (location constraint) را خالی بگذارید. |
| • 2 |
| ارائهدهنده: Zadara |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| ایندور، مادیا پرادش، هند |
| • 2 |
| ارائهدهنده: Zata |
| • 2 |
| "zero-fra1" |
| 2 |
| • 2 |
| فرانکفورت ۱ |
| • 2 |
| ارائهدهنده: ZeroServices |
| • 2 |
| "zero-fra2" |
| 2 |
| • 2 |
| فرانکفورت ۲ |
| • 2 |
| ارائهدهنده: ZeroServices |
| • 2 |
| "zero-eyl1" |
| 2 |
| • 2 |
| اییل ۱ |
| • 2 |
| ارائهدهنده: ZeroServices |
| نقطه پایانی برای S3 API. |
| هنگام استفاده از یک کلون S3 ضروری است. |
| ویژگیها: |
| • 2 |
| پیکربندی: endpoint |
| • 2 |
| متغیر محیطی: RCLONE_S3_ENDPOINT |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cloudflare,Cubbit,DigitalOcean,Dreamhost,Exaba,Fastly,FileLu,FlashBlade,GCS,HCP,Hetzner,HuaweiOBS,IBMCOS,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Mega,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,Rabata,RackCorp,Rclone,Scaleway,Scality,SeaweedFS,Selectel,Servercore,SpectraLogic,Storj,Synology,TencentCOS,US3,Wasabi,Zadara,Zata,ZeroServices,Other |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "oss-accelerate.aliyuncs.com" |
| 2 |
| • 2 |
| شتابدهی سراسری |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-accelerate-overseas.aliyuncs.com" |
| 2 |
| • 2 |
| شتابدهی سراسری (خارج از سرزمین اصلی چین) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-hangzhou.aliyuncs.com" |
| 2 |
| • 2 |
| شرق چین ۱ (هانگژو) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-shanghai.aliyuncs.com" |
| 2 |
| • 2 |
| شرق چین ۲ (شانگهای) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-qingdao.aliyuncs.com" |
| 2 |
| • 2 |
| شمال چین ۱ (چینگدائو) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-beijing.aliyuncs.com" |
| 2 |
| • 2 |
| شمال چین ۲ (پکن) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-zhangjiakou.aliyuncs.com" |
| 2 |
| • 2 |
| شمال چین ۳ (ژانگجیاکو) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-huhehaote.aliyuncs.com" |
| 2 |
| • 2 |
| شمال چین ۵ (هوهوت) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-wulanchabu.aliyuncs.com" |
| 2 |
| • 2 |
| شمال چین ۶ (اولانچاب) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-shenzhen.aliyuncs.com" |
| 2 |
| • 2 |
| جنوب چین ۱ (شنژن) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-heyuan.aliyuncs.com" |
| 2 |
| • 2 |
| جنوب چین ۲ (ههیوان) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-guangzhou.aliyuncs.com" |
| 2 |
| • 2 |
| جنوب چین ۳ (گوانگژو) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-chengdu.aliyuncs.com" |
| 2 |
| • 2 |
| غرب چین ۱ (چنگدو) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-cn-hongkong.aliyuncs.com" |
| 2 |
| • 2 |
| هنگکنگ (هنگکنگ) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-us-west-1.aliyuncs.com" |
| 2 |
| • 2 |
| غرب آمریکا ۱ (سیلیکونولی) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-us-east-1.aliyuncs.com" |
| 2 |
| • 2 |
| شرق آمریکا ۱ (ویرجینیا) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-ap-southeast-1.aliyuncs.com" |
| 2 |
| • 2 |
| آسیای جنوب شرقی، جنوب شرق ۱ (سنگاپور) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-ap-southeast-2.aliyuncs.com" |
| 2 |
| • 2 |
| آسیا پاسیفیک، جنوب شرق ۲ (سیدنی) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-ap-southeast-3.aliyuncs.com" |
| 2 |
| • 2 |
| آسیای جنوب شرقی، جنوب شرق ۳ (کوالالامپور) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-ap-southeast-5.aliyuncs.com" |
| 2 |
| • 2 |
| آسیا پاسیفیک، جنوب شرق ۵ (جاکارتا) |
| • 2 |
| ارائهدهنده: Alibaba |
| "oss-ap-northeast-1.aliyuncs.com" |
| 2 |
| • 2 |
| آسیا-اقیانوسیه شمالشرقی ۱ (ژاپن) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-ap-south-1.aliyuncs.com" |
| 2 |
| • 2 |
| آسیا-اقیانوسیه جنوبی ۱ (بمبئی) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-eu-central-1.aliyuncs.com" |
| 2 |
| • 2 |
| اروپای مرکزی ۱ (فرانکفورت) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-eu-west-1.aliyuncs.com" |
| 2 |
| • 2 |
| اروپای غربی (لندن) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "oss-me-east-1.aliyuncs.com" |
| 2 |
| • 2 |
| خاورمیانه ۱ (دبی) |
| • 2 |
| ارائهدهنده: Alibaba |
| • 2 |
| "s3.ir-thr-at1.arvanstorage.ir" |
| 2 |
| • 2 |
| نقطه پایانی پیشفرض - گزینهای مناسب در صورت عدم اطمینان. |
| • 2 |
| تهران ایران (سیمین) |
| • 2 |
| ارائهدهنده: ArvanCloud |
| • 2 |
| "s3.ir-tbz-sh1.arvanstorage.ir" |
| 2 |
| • 2 |
| تبریز ایران (شهریار) |
| • 2 |
| ارائهدهنده: ArvanCloud |
| • 2 |
| "hn.ss.bfcplatform.vn" |
| 2 |
| • 2 |
| نقطه پایانی هانوی |
| • 2 |
| ارائهدهنده: BizflyCloud |
| • 2 |
| "hcm.ss.bfcplatform.vn" |
| 2 |
| • 2 |
| نقطه پایانی هوشیمین |
| • 2 |
| ارائهدهنده: BizflyCloud |
| • 2 |
| "eos-wuxi-1.cmecloud.cn" |
| 2 |
| • 2 |
| نقطه پایانی پیشفرض - گزینهای مناسب در صورت عدم اطمینان. |
| • 2 |
| شرق چین (سوژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-jinan-1.cmecloud.cn" |
| 2 |
| • 2 |
| شرق چین (جینان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-ningbo-1.cmecloud.cn" |
| 2 |
| • 2 |
| شرق چین (هانگژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-shanghai-1.cmecloud.cn" |
| 2 |
| • 2 |
| شرق چین (شانگهای-۱) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-zhengzhou-1.cmecloud.cn" |
| 2 |
| • 2 |
| مرکز چین (ژنگژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-hunan-1.cmecloud.cn" |
| 2 |
| • 2 |
| مرکز چین (چانگشا-۱) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-zhuzhou-1.cmecloud.cn" |
| 2 |
| • 2 |
| مرکز چین (چانگشا-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-guangzhou-1.cmecloud.cn" |
| 2 |
| • 2 |
| جنوب چین (گوانگژو-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-dongguan-1.cmecloud.cn" |
| 2 |
| • 2 |
| جنوب چین (گوانگژو-۳) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-beijing-1.cmecloud.cn" |
| 2 |
| • 2 |
| شمال چین (پکن-۱) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-beijing-2.cmecloud.cn" |
| 2 |
| • 2 |
| شمال چین (پکن-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-beijing-4.cmecloud.cn" |
| 2 |
| • 2 |
| شمال چین (پکن-۳) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-huhehaote-1.cmecloud.cn" |
| 2 |
| • 2 |
| شمال چین (هوهههوت) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| "eos-chengdu-1.cmecloud.cn" |
| 2 |
| • 2 |
| جنوبغربی چین (چنگدو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-chongqing-1.cmecloud.cn" |
| 2 |
| • 2 |
| جنوبغربی چین (چونگکینگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-guiyang-1.cmecloud.cn" |
| 2 |
| • 2 |
| جنوبغربی چین (گوئییانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-xian-1.cmecloud.cn" |
| 2 |
| • 2 |
| شمالغربی چین (شیآن) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-yunnan.cmecloud.cn" |
| 2 |
| • 2 |
| یوننان چین (کونمینگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-yunnan-2.cmecloud.cn" |
| 2 |
| • 2 |
| یوننان چین (کونمینگ-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-tianjin-1.cmecloud.cn" |
| 2 |
| • 2 |
| تیانجین چین (تیانجین) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-jilin-1.cmecloud.cn" |
| 2 |
| • 2 |
| جیلین چین (چانگچون) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-hubei-1.cmecloud.cn" |
| 2 |
| • 2 |
| هوبئی چین (شیانگیان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-jiangxi-1.cmecloud.cn" |
| 2 |
| • 2 |
| جیانگشی چین (نانچانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-gansu-1.cmecloud.cn" |
| 2 |
| • 2 |
| گانسو چین (لانژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-shanxi-1.cmecloud.cn" |
| 2 |
| • 2 |
| شانشی چین (تاییوان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-liaoning-1.cmecloud.cn" |
| 2 |
| • 2 |
| لیائونینگ چین (شنیانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-hebei-1.cmecloud.cn" |
| 2 |
| • 2 |
| ههبئی چین (شیجیاژوانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-fujian-1.cmecloud.cn" |
| 2 |
| • 2 |
| فوجیان چین (شیامن) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-guangxi-1.cmecloud.cn" |
| 2 |
| • 2 |
| گوانگشی چین (ناننینگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "eos-anhui-1.cmecloud.cn" |
| 2 |
| • 2 |
| آنهوئی چین (هواینان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "s3.cubbit.eu" |
| 2 |
| • 2 |
| نقطه پایانی ذخیرهسازی شیء Cubbit DS3 |
| • 2 |
| ارائهدهنده: Cubbit |
| • 2 |
| "s3.{tenant_name}.cubbit.eu" |
| 2 |
| • 2 |
| نقطه پایانی چندمستأجری - مقدار {tenant_name} را با نام مستأجر |
| واقعی خود جایگزین کنید. |
| این گزینه را مستقیماً انتخاب نکنید |
| • 2 |
| ارائهدهنده: Cubbit |
| • 2 |
| "syd1.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces سیدنی ۱ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "sfo3.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces سانفرانسیسکو ۳ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "sfo2.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces سانفرانسیسکو ۲ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "fra1.digitaloceanspaces.com" |
| 2.IP • 2 |
| DigitalOcean Spaces فرانکفورت ۱ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "nyc3.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces نیویورک ۳ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "ams3.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces آمستردام ۳ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "sgp1.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces سنگاپور ۱ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "lon1.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces لندن ۱ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "tor1.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces تورنتو ۱ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "blr1.digitaloceanspaces.com" |
| 2 |
| • 2 |
| DigitalOcean Spaces بنگلور ۱ |
| • 2 |
| ارائهدهنده: DigitalOcean |
| • 2 |
| "objects-us-east-1.dream.io" |
| 2 |
| • 2 |
| نقطه پایانی Dream Objects |
| • 2 |
| ارائهدهنده: Dreamhost |
| • 2 |
| "au-east-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| AU East 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "eu-central.object.fastlystorage.app" |
| 2 |
| • 2 |
| EU Central |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "eu-south-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| EU South 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "eu-west-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| EU West 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "jp-central-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| JP Central 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "uk-east-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| UK East 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-central-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| US Central 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-east.object.fastlystorage.app" |
| 2 |
| • 2 |
| US East |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-east-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| US East 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-west.object.fastlystorage.app" |
| 2 |
| • 2 |
| US West |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "us-west-1.object.fastlystorage.app" |
| 2 |
| • 2 |
| US West 1 |
| • 2 |
| ارائهدهنده: Fastly |
| • 2 |
| "s5lu.com" |
| 2 |
| • 2 |
| نقطه پایانی سراسری FileLu S5 |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "us.s5lu.com" |
| 2 |
| • 2 |
| نقطه پایانی ناحیه آمریکای شمالی (US-East) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "eu.s5lu.com" |
| 2 |
| • 2 |
| نقطه پایانی ناحیه اروپا (EU-Central) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "ap.s5lu.com" |
| 2 |
| • 2 |
| نقطه پایانی ناحیه آسیا و اقیانوسیه (AP-Southeast) |
| • 2 |
| ارائهدهنده: FileLu |
| "me.s5lu.com" |
| 2 |
| • 2 |
| نقطه پایانی منطقه خاورمیانه (ME-Central) |
| • 2 |
| ارائهدهنده: FileLu |
| • 2 |
| "https://storage.googleapis.com" |
| 2 |
| • 2 |
| نقطه پایانی Google Cloud Storage |
| • 2 |
| ارائهدهنده: GCS |
| • 2 |
| "hel1.your-objectstorage.com" |
| 2 |
| • 2 |
| هلسینکی |
| • 2 |
| ارائهدهنده: Hetzner |
| • 2 |
| "fsn1.your-objectstorage.com" |
| 2 |
| • 2 |
| فالکناشتاین |
| • 2 |
| ارائهدهنده: Hetzner |
| • 2 |
| "nbg1.your-objectstorage.com" |
| 2 |
| • 2 |
| نورنبرگ |
| • 2 |
| ارائهدهنده: Hetzner |
| • 2 |
| "obs.af-south-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| AF-Johannesburg |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.ap-southeast-2.myhuaweicloud.com" |
| 2 |
| • 2 |
| AP-Bangkok |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.ap-southeast-3.myhuaweicloud.com" |
| 2 |
| • 2 |
| AP-Singapore |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.cn-east-3.myhuaweicloud.com" |
| 2 |
| • 2 |
| CN East-Shanghai1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.cn-east-2.myhuaweicloud.com" |
| 2 |
| • 2 |
| CN East-Shanghai2 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.cn-north-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| CN North-Beijing1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.cn-north-4.myhuaweicloud.com" |
| 2 |
| • 2 |
| CN North-Beijing4 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.cn-south-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| CN South-Guangzhou |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.ap-southeast-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| CN-Hong Kong |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.sa-argentina-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| LA-Buenos Aires1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.sa-peru-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| LA-Lima1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.na-mexico-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| LA-Mexico City1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.sa-chile-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| LA-Santiago2 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.sa-brazil-1.myhuaweicloud.com" |
| 2 |
| • 2 |
| LA-Sao Paulo1 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "obs.ru-northwest-2.myhuaweicloud.com" |
| 2 |
| • 2 |
| RU-Moscow2 |
| • 2 |
| ارائهدهنده: HuaweiOBS |
| • 2 |
| "s3.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی فرامنطقهای ایالات متحده (US Cross Region) |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.dal.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی دالاس در فرامنطقهای ایالات متحده (US Cross Region Dallas) |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.wdc.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی واشینگتن دیسی در فرامنطقهای ایالات متحده (US Cross Region Washington DC).IP • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.sjc.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بینمنطقهای سن خوزه ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.dal.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای دالاس ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.wdc.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای واشینگتن دیسی ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.sjc.us.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای سن خوزه ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.us-east.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی منطقه شرق ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.us-east.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی منطقه شرق ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.us-south.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی منطقه جنوب ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.us-south.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی منطقه جنوب ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بینمنطقهای اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.fra.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بینمنطقهای فرانکفورت اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.mil.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بینمنطقهای میلان اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.ams.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بینمنطقهای آمستردام اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.fra.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای فرانکفورت اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.mil.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای میلان اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.ams.eu.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بینمنطقهای آمستردام اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.eu-gb.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بریتانیا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.eu-gb.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی بریتانیا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.eu-de.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی منطقه DE اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.eu-de.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی منطقه DE اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی بینمنطقهای APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.tok.ap.cloud-object-storage.appdomain.cloud" |
| 2.IP • 2 |
| نقطه پایانی فرامنطقهای توکیو APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.hkg.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی فرامنطقهای هنگکنگ APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.seo.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی فرامنطقهای سئول APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی فرامنطقهای APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.tok.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی فرامنطقهای توکیو APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.hkg.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی فرامنطقهای هنگکنگ APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.seo.ap.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی فرامنطقهای سئول APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.jp-tok.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی منطقهای ژاپن APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.jp-tok.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی منطقهای ژاپن APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.au-syd.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی منطقهای استرالیا APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.au-syd.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی منطقهای استرالیا APAC |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.ams03.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی آمستردام |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.ams03.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی آمستردام |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.che01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی چنای |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.che01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی چنای |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.mel01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی ملبورن |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.mel01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی ملبورن |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.osl01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی اسلو |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.osl01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی اسلو |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.tor01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی تورنتو |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.tor01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی تورنتو |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.seo01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی سئول |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.seo01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی سئول |
| • 2 |
| ارائهدهنده: IBMCOS |
| "s3.mon01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی مونترال |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.mon01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی مونترال |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.mex01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی مکزیک |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.mex01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی مکزیک |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.sjc04.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی سن خوزه |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.sjc04.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی سن خوزه |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.mil01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی میلان |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.mil01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی میلان |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.hkg02.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی هنگکنگ |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.hkg02.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی هنگکنگ |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.par01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی پاریس |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.par01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی پاریس |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.sng01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی تکسایتی سنگاپور |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "s3.private.sng01.cloud-object-storage.appdomain.cloud" |
| 2 |
| • 2 |
| نقطه پایانی خصوصی تکسایتی سنگاپور |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-central-2.storage.impossibleapi.net" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-west-1.storage.impossibleapi.net" |
| 2 |
| • 2 |
| آمستردام، هلند |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-west-2.storage.impossibleapi.net" |
| 2 |
| • 2 |
| لندن، بریتانیا |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-west-3.storage.impossibleapi.net" |
| 2 |
| • 2 |
| پاریس، فرانسه |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-east-1.storage.impossibleapi.net" |
| 2 |
| • 2 |
| پوزنان، لهستان |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "eu-north-1.storage.impossibleapi.net" |
| 2 |
| • 2 |
| کپنهاگ، دانمارک |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "us-east-1.storage.impossibleapi.net" |
| 2 |
| • 2 |
| نیویورک، ایالات متحده |
| • 2 |
| ارائهدهنده: ImpossibleCloud |
| • 2 |
| "de-fra.i3storage.com" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: Intercolo |
| • 2 |
| "s3.eu-central-1.ionoscloud.com" |
| 2 |
| • 2 |
| فرانکفورت، آلمان.IP • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "s3.eu-central-2.ionoscloud.com" |
| 2 |
| • 2 |
| برلین، آلمان |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "s3.eu-central-3.ionoscloud.com" |
| 2 |
| • 2 |
| برلین، آلمان |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "s3.eu-central-4.ionoscloud.com" |
| 2 |
| • 2 |
| فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "s3.eu-south-2.ionoscloud.com" |
| 2 |
| • 2 |
| لوگرونیو، اسپانیا |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "s3.us-central-1.ionoscloud.com" |
| 2 |
| • 2 |
| لنکسا، آمریکا |
| • 2 |
| ارائهدهنده: IONOS |
| • 2 |
| "s3.leviia.com" |
| 2 |
| • 2 |
| نقطه پایانی پیشفرض |
| • 2 |
| Leviia |
| • 2 |
| ارائهدهنده: Leviia |
| • 2 |
| "storage.iran.liara.space" |
| 2 |
| • 2 |
| نقطه پایانی پیشفرض |
| • 2 |
| ایران |
| • 2 |
| ارائهدهنده: Liara |
| • 2 |
| "nl-ams-1.linodeobjects.com" |
| 2 |
| • 2 |
| آمستردام، NL (nl-ams-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-southeast-1.linodeobjects.com" |
| 2 |
| • 2 |
| آتلانتا، GA، US (us-southeast-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "in-maa-1.linodeobjects.com" |
| 2 |
| • 2 |
| چنای، IN (in-maa-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-ord-1.linodeobjects.com" |
| 2 |
| • 2 |
| شیکاگو، IL، US (us-ord-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "eu-central-1.linodeobjects.com" |
| 2 |
| • 2 |
| فرانکفورت، DE (eu-central-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "id-cgk-1.linodeobjects.com" |
| 2 |
| • 2 |
| جاکارتا، ID (id-cgk-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "gb-lon-1.linodeobjects.com" |
| 2 |
| • 2 |
| لندن 2، UK (gb-lon-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-lax-1.linodeobjects.com" |
| 2 |
| • 2 |
| لسآنجلس، CA، US (us-lax-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "es-mad-1.linodeobjects.com" |
| 2 |
| • 2 |
| مادرید، ES (es-mad-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-mia-1.linodeobjects.com" |
| 2 |
| • 2 |
| میامی، FL، US (us-mia-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "it-mil-1.linodeobjects.com" |
| 2 |
| • 2 |
| میلان، IT (it-mil-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-east-1.linodeobjects.com" |
| 2 |
| • 2 |
| نیوآرک، NJ، US (us-east-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "jp-osa-1.linodeobjects.com" |
| 2 |
| • 2 |
| اوساکا، JP (jp-osa-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "fr-par-1.linodeobjects.com" |
| 2 |
| • 2 |
| پاریس، FR (fr-par-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "br-gru-1.linodeobjects.com" |
| 2 |
| • 2 |
| سائوپائولو، BR (br-gru-1).IP • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-sea-1.linodeobjects.com" |
| 2 |
| • 2 |
| سیاتل، WA، ایالات متحده (us-sea-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "ap-south-1.linodeobjects.com" |
| 2 |
| • 2 |
| سنگاپور، SG (ap-south-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "sg-sin-1.linodeobjects.com" |
| 2 |
| • 2 |
| سنگاپور ۲، SG (sg-sin-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "se-sto-1.linodeobjects.com" |
| 2 |
| • 2 |
| استکهلم، SE (se-sto-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "jp-tyo-1.linodeobjects.com" |
| 2 |
| • 2 |
| توکیو ۳، JP (jp-tyo-1) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "us-iad-10.linodeobjects.com" |
| 2 |
| • 2 |
| واشینگتن، DC، ایالات متحده (us-iad-10) |
| • 2 |
| ارائهدهنده: Linode |
| • 2 |
| "s3.us-west-1.{account_name}.lyve.seagate.com" |
| 2 |
| • 2 |
| US West 1 - کالیفرنیا |
| • 2 |
| ارائهدهنده: LyveCloud |
| • 2 |
| "s3.eu-west-1.{account_name}.lyve.seagate.com" |
| 2 |
| • 2 |
| EU West 1 - ایرلند |
| • 2 |
| ارائهدهنده: LyveCloud |
| • 2 |
| "br-se1.magaluobjects.com" |
| 2 |
| • 2 |
| سائو پائولو، SP (BR)، br-se1 |
| • 2 |
| ارائهدهنده: Magalu |
| • 2 |
| "br-ne1.magaluobjects.com" |
| 2 |
| • 2 |
| فورتالزا، CE (BR)، br-ne1 |
| • 2 |
| ارائهدهنده: Magalu |
| • 2 |
| "s3.eu-luxembourg-1.megas4.com" |
| 2 |
| • 2 |
| Mega S4 لوکزامبورگ ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-luxembourg-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 لوکزامبورگ ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-amsterdam-1.megas4.com" |
| 2 |
| • 2 |
| Mega S4 آمستردام ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-amsterdam-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 آمستردام ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-paris-1.megas4.com" |
| 2 |
| • 2 |
| Mega S4 پاریس ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-paris-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 پاریس ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-barcelona-1.megas4.com" |
| 2 |
| • 2 |
| Mega S4 بارسلونا ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.eu-barcelona-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 بارسلونا ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.ca-montreal-1.megas4.com" |
| 2 |
| • 2 |
| Mega S4 مونترال ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.ca-montreal-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 مونترال ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.ca-vancouver-1.megas4.com" |
| 2 |
| • 2 |
| Mega S4 ونکوور ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.ca-vancouver-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 ونکوور ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.ap-tokyo-1.megas4.com" |
| 2.IP • 2 |
| Mega S4 توکیو ۱ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "s3.ap-tokyo-2.megas4.com" |
| 2 |
| • 2 |
| Mega S4 توکیو ۲ |
| • 2 |
| ارائهدهنده: Mega |
| • 2 |
| "oos.eu-west-2.outscale.com" |
| 2 |
| • 2 |
| Outscale EU West 2 (پاریس) |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "oos.us-east-2.outscale.com" |
| 2 |
| • 2 |
| Outscale US east 2 (نیوجرسی) |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "oos.us-west-1.outscale.com" |
| 2 |
| • 2 |
| Outscale EU West 1 (کالیفرنیا) |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "oos.cloudgouv-eu-west-1.outscale.com" |
| 2 |
| • 2 |
| Outscale SecNumCloud (پاریس) |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "oos.ap-northeast-1.outscale.com" |
| 2 |
| • 2 |
| Outscale AP Northeast 1 (ژاپن) |
| • 2 |
| ارائهدهنده: Outscale |
| • 2 |
| "s3.gra.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud گراولین، فرانسه |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.rbx.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud روبه، فرانسه |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.sbg.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud استراسبورگ، فرانسه |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.eu-west-par.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud پاریس، فرانسه (3AZ) |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.de.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud فرانکفورت، آلمان |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.uk.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud لندن، بریتانیا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.waw.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud ورشو، لهستان |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.bhs.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud بوارنوا، کانادا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.ca-east-tor.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud تورنتو، کانادا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.sgp.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud سنگاپور |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.ap-southeast-syd.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud سیدنی، استرالیا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.ap-south-mum.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud بمبئی، هند |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.us-east-va.io.cloud.ovh.us" |
| 2 |
| • 2 |
| OVHcloud وینت هیل، ویرجینیا، ایالات متحده |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.us-west-or.io.cloud.ovh.us" |
| 2 |
| • 2 |
| OVHcloud هیلزبورو، اورگان، ایالات متحده |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.rbx-archive.io.cloud.ovh.net" |
| 2 |
| • 2 |
| OVHcloud روبه، فرانسه (Cold Archive) |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "s3.petabox.io" |
| 2 |
| • 2 |
| US East (ویرجینیای |
| شمالی) |
| • 2 |
| ارائهدهنده: Petabox |
| "s3.us-east-1.petabox.io" |
| 2 |
| • 2 |
| شرق ایالات متحده (ویرجینیای |
| شمالی) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "s3.eu-central-1.petabox.io" |
| 2 |
| • 2 |
| اروپا (فرانکفورت) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "s3.ap-southeast-1.petabox.io" |
| 2 |
| • 2 |
| آسیا و اقیانوسیه (سنگاپور) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "s3.me-south-1.petabox.io" |
| 2 |
| • 2 |
| خاورمیانه (بحرین) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "s3.sa-east-1.petabox.io" |
| 2 |
| • 2 |
| آمریکای جنوبی (سائو پائولو) |
| • 2 |
| ارائهدهنده: Petabox |
| • 2 |
| "s3-cn-east-1.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۱ شرق چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3-cn-east-2.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۲ شرق چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3-cn-north-1.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۱ شمال چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3-cn-south-1.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۱ جنوب چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3-us-north-1.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۱ آمریکای شمالی |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3-ap-southeast-1.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۱ جنوب شرقی آسیا |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3-ap-northeast-1.qiniucs.com" |
| 2 |
| • 2 |
| نقطه پایانی ۱ شمال شرقی آسیا |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "s3.us-east-1.rabata.io" |
| 2 |
| • 2 |
| شرق ایالات متحده (ویرجینیای |
| شمالی) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "s3.eu-west-1.rabata.io" |
| 2 |
| • 2 |
| غرب اروپا (ایرلند) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "s3.eu-west-2.rabata.io" |
| 2 |
| • 2 |
| غرب اروپا (لندن) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی سراسری (AnyCast) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی استرالیا (Anycast) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-nsw.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی سیدنی (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-qld.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی بریزبن (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-vic.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی ملبورن (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-wa.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی پرث (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "ph.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی مانیل (فیلیپین) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "th.s3.rackcorp.com" |
| 2.IP • 2 |
| نقطه پایانی بانکوک (تایلند) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "hk.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی هنگکنگ (HK) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "mn.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی اولانباتور (مغولستان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "kg.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی بیشکک (قرقیزستان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "id.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی جاکارتا (اندونزی) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "jp.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی توکیو (ژاپن) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "sg.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی سنگاپور (SG) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "de.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی فرانکفورت (آلمان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی ایالات متحده (AnyCast) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us-east-1.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی نیویورک (ایالات متحده) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us-west-1.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی فریمونت (ایالات متحده) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "nz.s3.rackcorp.com" |
| 2 |
| • 2 |
| نقطه پایانی اوکلند (نیوزیلند) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "s3.nl-ams.scw.cloud" |
| 2 |
| • 2 |
| نقطه پایانی آمستردام |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "s3.fr-par.scw.cloud" |
| 2 |
| • 2 |
| نقطه پایانی پاریس |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "s3.pl-waw.scw.cloud" |
| 2 |
| • 2 |
| نقطه پایانی ورشو |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "localhost:8333" |
| 2 |
| • 2 |
| SeaweedFS S3 localhost |
| • 2 |
| ارائهدهنده: SeaweedFS |
| • 2 |
| "s3.ru-1.storage.selcloud.ru" |
| 2 |
| • 2 |
| سنت پترزبورگ |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "s3.ru-3.storage.selcloud.ru" |
| 2 |
| • 2 |
| سنت پترزبورگ |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "s3.ru-7.storage.selcloud.ru" |
| 2 |
| • 2 |
| مسکو |
| • 2 |
| ارائهدهنده: Selectel,Servercore |
| • 2 |
| "s3.gis-1.storage.selcloud.ru" |
| 2 |
| • 2 |
| مسکو |
| • 2 |
| ارائهدهنده: Selectel,Servercore |
| • 2 |
| "s3.kz-1.storage.selcloud.ru" |
| 2 |
| • 2 |
| قزاقستان |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "s3.uz-2.storage.selcloud.ru" |
| 2 |
| • 2 |
| ازبکستان |
| • 2 |
| ارائهدهنده: Selectel |
| • 2 |
| "s3.ru-1.storage.selcloud.ru" |
| 2 |
| • 2 |
| سنت پترزبورگ.IP • 2 |
| ارائهدهنده: Servercore |
| • 2 |
| "s3.uz-2.srvstorage.uz" |
| 2 |
| • 2 |
| تاشکند، ازبکستان |
| • 2 |
| ارائهدهنده: Servercore |
| • 2 |
| "s3.kz-1.srvstorage.kz" |
| 2 |
| • 2 |
| آلماتی، قزاقستان |
| • 2 |
| ارائهدهنده: Servercore |
| • 2 |
| "gateway.storjshare.io" |
| 2 |
| • 2 |
| درگاه میزبانیشده جهانی |
| • 2 |
| ارائهدهنده: Storj |
| • 2 |
| "eu-001.s3.synologyc2.net" |
| 2 |
| • 2 |
| نقطه پایانی ۱ اروپا (EU) |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "eu-002.s3.synologyc2.net" |
| 2 |
| • 2 |
| نقطه پایانی ۲ اروپا (EU) |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "us-001.s3.synologyc2.net" |
| 2 |
| • 2 |
| نقطه پایانی ۱ ایالات متحده (US) |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "us-002.s3.synologyc2.net" |
| 2 |
| • 2 |
| نقطه پایانی ۲ ایالات متحده (US) |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "tw-001.s3.synologyc2.net" |
| 2 |
| • 2 |
| نقطه پایانی ۱ تایوان (TW) |
| • 2 |
| ارائهدهنده: Synology |
| • 2 |
| "cos.ap-beijing.myqcloud.com" |
| 2 |
| • 2 |
| منطقه پکن |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-nanjing.myqcloud.com" |
| 2 |
| • 2 |
| منطقه نانجینگ |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-shanghai.myqcloud.com" |
| 2 |
| • 2 |
| منطقه شانگهای |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-guangzhou.myqcloud.com" |
| 2 |
| • 2 |
| منطقه گوانگژو |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-chengdu.myqcloud.com" |
| 2 |
| • 2 |
| منطقه چنگدو |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-chongqing.myqcloud.com" |
| 2 |
| • 2 |
| منطقه چونگچینگ |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-hongkong.myqcloud.com" |
| 2 |
| • 2 |
| منطقه هنگکنگ (چین) |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-singapore.myqcloud.com" |
| 2 |
| • 2 |
| منطقه سنگاپور |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-mumbai.myqcloud.com" |
| 2 |
| • 2 |
| منطقه بمبئی |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-seoul.myqcloud.com" |
| 2 |
| • 2 |
| منطقه سئول |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-bangkok.myqcloud.com" |
| 2 |
| • 2 |
| منطقه بانکوک |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.ap-tokyo.myqcloud.com" |
| 2 |
| • 2 |
| منطقه توکیو |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.na-siliconvalley.myqcloud.com" |
| 2 |
| • 2 |
| منطقه دره سیلیکون |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.na-ashburn.myqcloud.com" |
| 2 |
| • 2 |
| منطقه ویرجینیا |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.na-toronto.myqcloud.com" |
| 2.IP • 2 |
| منطقه تورنتو |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.eu-frankfurt.myqcloud.com" |
| 2 |
| • 2 |
| منطقه فرانکفورت |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.eu-moscow.myqcloud.com" |
| 2 |
| • 2 |
| منطقه مسکو |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "cos.accelerate.myqcloud.com" |
| 2 |
| • 2 |
| استفاده از نقطه پایانی شتابدهنده Tencent COS |
| • 2 |
| ارائهدهنده: TencentCOS |
| • 2 |
| "s3-cn-bj.ufileos.com" |
| 2 |
| • 2 |
| شمال چین (پکن ۲) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-cn-wlcb.ufileos.com" |
| 2 |
| • 2 |
| شمال چین (اولانچاب) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-cn-sh2.ufileos.com" |
| 2 |
| • 2 |
| شانگهای |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-cn-gd.ufileos.com" |
| 2 |
| • 2 |
| جنوب چین (گوانگژو) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-hk.ufileos.com" |
| 2 |
| • 2 |
| هنگکنگ |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-us-ca.ufileos.com" |
| 2 |
| • 2 |
| ایالات متحده (لسآنجلس) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-sg.ufileos.com" |
| 2 |
| • 2 |
| سنگاپور |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-idn-jakarta.ufileos.com" |
| 2 |
| • 2 |
| اندونزی (جاکارتا) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-tw-tp.ufileos.com" |
| 2 |
| • 2 |
| تایوان (تایپه) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-afr-nigeria.ufileos.com" |
| 2 |
| • 2 |
| نیجریه (لاگوس) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-bra-saopaulo.ufileos.com" |
| 2 |
| • 2 |
| برزیل (سائوپائولو) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-uae-dubai.ufileos.com" |
| 2 |
| • 2 |
| امارات متحده عربی (دبی) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-ge-fra.ufileos.com" |
| 2 |
| • 2 |
| آلمان (فرانکفورت) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-vn-sng.ufileos.com" |
| 2 |
| • 2 |
| ویتنام (شهر هوشیمین) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-us-ws.ufileos.com" |
| 2 |
| • 2 |
| ایالات متحده (واشینگتن) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-ind-mumbai.ufileos.com" |
| 2 |
| • 2 |
| هند (بمبئی) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-kr-seoul.ufileos.com" |
| 2 |
| • 2 |
| سئول (کره جنوبی) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-jpn-tky.ufileos.com" |
| 2 |
| • 2 |
| ژاپن (توکیو) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-th-bkk.ufileos.com" |
| 2 |
| • 2 |
| بانکوک (تایلند) |
| • 2 |
| ارائهدهنده: US3 |
| "s3-uk-london.ufileos.com" |
| 2 |
| • 2 |
| بریتانیا (لندن) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-rus-mosc.ufileos.com" |
| 2 |
| • 2 |
| روسیه (مسکو) |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-cn-guiyang1.ufileos.com" |
| 2 |
| • 2 |
| گوییانگ ۱ |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3-pk-khi.ufileos.com" |
| 2 |
| • 2 |
| پاکستان |
| • 2 |
| ارائهدهنده: US3 |
| • 2 |
| "s3.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi US East 1 (ویرجینیای |
| شمالی) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.us-east-2.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi US East 2 (ویرجینیای |
| شمالی) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.us-central-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi US Central 1 (تگزاس) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.us-west-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi US West 1 (اورگن) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.ca-central-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi CA Central 1 (تورنتو) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.eu-central-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi EU Central 1 (آمستردام) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.eu-central-2.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi EU Central 2 (فرانکفورت) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.eu-west-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi EU West 1 (لندن) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.eu-west-2.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi EU West 2 (پاریس) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.eu-south-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi EU South 1 (میلان) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.ap-northeast-1.wasabisys.com" |
| 2 |
| • 2 |
| نقطه پایانی Wasabi AP Northeast 1 (توکیو) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.ap-northeast-2.wasabisys.com" |
| 2 |
| • 2 |
| نقطه پایانی Wasabi AP Northeast 2 (اوساکا) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.ap-southeast-1.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi AP Southeast 1 (سنگاپور) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "s3.ap-southeast-2.wasabisys.com" |
| 2 |
| • 2 |
| Wasabi AP Southeast 2 (سیدنی) |
| • 2 |
| ارائهدهنده: Wasabi |
| • 2 |
| "idr01.zata.ai" |
| 2 |
| • 2 |
| نقطه پایانی جنوب آسیا |
| • 2 |
| ارائهدهنده: Zata |
| • 2 |
| "fra1.s3.zeroservices.eu" |
| 2 |
| • 2 |
| فرانکفورت ۱ |
| • 2 |
| ارائهدهنده: ZeroServices |
| • 2 |
| "fra.s3.zeroservices.eu" |
| 2 |
| • 2 |
| فرانکفورت ۲ |
| • 2 |
| ارائهدهنده: ZeroServices |
| • 2 |
| "eyl1.s3.zeroservices.eu" |
| 2 |
| • 2 |
| Eyl 1 |
| • 2 |
| ارائهدهنده: ZeroServices |
| محدودیت مکانی - باید متناسب با Region تنظیم شود. |
| اگر مطمئن نیستید، خالی بگذارید. |
| تنها هنگام ایجاد باکتها استفاده میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: location_constraint |
| • 2 |
| متغیر محیطی: RCLONE_S3_LOCATION_CONSTRAINT |
| • 2 |
| ارائهدهنده: |
| AWS,ArvanCloud,Ceph,ChinaMobile,DigitalOcean,Dreamhost,Exaba,GCS,HCP,Hetzner,IBMCOS,ImpossibleCloud,LyveCloud,Minio,Netease,Qiniu,Rabata,RackCorp,Scality,SeaweedFS,Synology,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| خالی برای US Region، ویرجینیای شمالی، یا شمالغربی اقیانوس آرام |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-east-2" |
| 2 |
| • 2 |
| منطقه US East (اوهایو) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-west-1" |
| 2 |
| • 2 |
| منطقه US West (کالیفرنیای شمالی) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-west-2" |
| 2 |
| • 2 |
| منطقه US West (اورگن) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ca-central-1" |
| 2 |
| • 2 |
| منطقه Canada (مرکزی) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| منطقه EU (ایرلند) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-west-2" |
| 2 |
| • 2 |
| منطقه EU (لندن) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-west-3" |
| 2 |
| • 2 |
| منطقه EU (پاریس) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-north-1" |
| 2 |
| • 2 |
| منطقه EU (استکهلم) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "eu-south-1" |
| 2 |
| • 2 |
| منطقه EU (میلان) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "EU" |
| 2 |
| • 2 |
| منطقه EU |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-southeast-1" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (سنگاپور) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-southeast-2" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (سیدنی) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-northeast-1" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (توکیو) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-northeast-2" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (سئول) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-northeast-3" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (Osaka-Local) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-south-1" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (بمبئی) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ap-east-1" |
| 2 |
| • 2 |
| منطقه آسیا و اقیانوسیه (هنگکنگ) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "sa-east-1" |
| 2 |
| • 2 |
| منطقه آمریکای جنوبی (سائوپائولو) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "il-central-1" |
| 2 |
| • 2 |
| منطقه اسرائیل (تلآویو) |
| • 2 |
| ارائهدهنده: AWS |
| "me-south-1" |
| 2 |
| • 2 |
| منطقه خاورمیانه (بحرین) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "af-south-1" |
| 2 |
| • 2 |
| منطقه آفریقا (کیپتاون) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "cn-north-1" |
| 2 |
| • 2 |
| منطقه چین (پکن) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "cn-northwest-1" |
| 2 |
| • 2 |
| منطقه چین (نینگشیا) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-gov-east-1" |
| 2 |
| • 2 |
| منطقه AWS GovCloud (شرق آمریکا) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "us-gov-west-1" |
| 2 |
| • 2 |
| منطقه AWS GovCloud (آمریکا) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "ir-thr-at1" |
| 2 |
| • 2 |
| تهران، ایران (سیمین) |
| • 2 |
| ارائهدهنده: ArvanCloud |
| • 2 |
| "ir-tbz-sh1" |
| 2 |
| • 2 |
| تبریز، ایران (شهریار) |
| • 2 |
| ارائهدهنده: ArvanCloud |
| • 2 |
| "wuxi1" |
| 2 |
| • 2 |
| شرق چین (سوژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "jinan1" |
| 2 |
| • 2 |
| شرق چین (جینان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "ningbo1" |
| 2 |
| • 2 |
| شرق چین (هانگژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "shanghai1" |
| 2 |
| • 2 |
| شرق چین (شانگهای-۱) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "zhengzhou1" |
| 2 |
| • 2 |
| مرکز چین (ژنگژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "hunan1" |
| 2 |
| • 2 |
| مرکز چین (چانگشا-۱) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "zhuzhou1" |
| 2 |
| • 2 |
| مرکز چین (چانگشا-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "guangzhou1" |
| 2 |
| • 2 |
| جنوب چین (گوانگژو-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "dongguan1" |
| 2 |
| • 2 |
| جنوب چین (گوانگژو-۳) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "beijing1" |
| 2 |
| • 2 |
| شمال چین (پکن-۱) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "beijing2" |
| 2 |
| • 2 |
| شمال چین (پکن-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "beijing4" |
| 2 |
| • 2 |
| شمال چین (پکن-۳) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "huhehaote1" |
| 2 |
| • 2 |
| شمال چین (هوهوت) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "chengdu1" |
| 2 |
| • 2 |
| جنوب غربی چین (چنگدو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "chongqing1" |
| 2 |
| • 2 |
| جنوب غربی چین (چونگچینگ).IP • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "guiyang1" |
| 2 |
| • 2 |
| جنوبغربی چین (گوییانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "xian1" |
| 2 |
| • 2 |
| شمالغربی چین (شیآن) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "yunnan" |
| 2 |
| • 2 |
| یوننان چین (کونمینگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "yunnan2" |
| 2 |
| • 2 |
| یوننان چین (کونمینگ-۲) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "tianjin1" |
| 2 |
| • 2 |
| تیانجین چین (تیانجین) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "jilin1" |
| 2 |
| • 2 |
| جیلین چین (چانگچون) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "hubei1" |
| 2 |
| • 2 |
| هوبئی چین (شیانگیان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "jiangxi1" |
| 2 |
| • 2 |
| جیانگشی چین (نانچانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "gansu1" |
| 2 |
| • 2 |
| گانسو چین (لانژو) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "shanxi1" |
| 2 |
| • 2 |
| شانشی چین (تاییوان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "liaoning1" |
| 2 |
| • 2 |
| لیائونینگ چین (شنیانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "hebei1" |
| 2 |
| • 2 |
| هبئی چین (شیجیاژوانگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "fujian1" |
| 2 |
| • 2 |
| فوجیان چین (شیامن) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "guangxi1" |
| 2 |
| • 2 |
| گوانگشی چین (ناننینگ) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "anhui1" |
| 2 |
| • 2 |
| آنهوئی چین (هواینان) |
| • 2 |
| ارائهدهنده: ChinaMobile |
| • 2 |
| "us-standard" |
| 2 |
| • 2 |
| فرامنطقهای ایالات متحده استاندارد |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-vault" |
| 2 |
| • 2 |
| فرامنطقهای ایالات متحده والت |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-cold" |
| 2 |
| • 2 |
| فرامنطقهای ایالات متحده سرد |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-flex" |
| 2 |
| • 2 |
| فرامنطقهای ایالات متحده فلکس |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-east-standard" |
| 2 |
| • 2 |
| منطقه شرق ایالات متحده استاندارد |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-east-vault" |
| 2 |
| • 2 |
| منطقه شرق ایالات متحده والت |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-east-cold" |
| 2 |
| • 2 |
| منطقه شرق ایالات متحده سرد |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-east-flex" |
| 2.IP • 2 |
| رده Flex ناحیه شرق ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-south-standard" |
| 2 |
| • 2 |
| رده Standard ناحیه جنوب ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-south-vault" |
| 2 |
| • 2 |
| رده Vault ناحیه جنوب ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-south-cold" |
| 2 |
| • 2 |
| رده Cold ناحیه جنوب ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "us-south-flex" |
| 2 |
| • 2 |
| رده Flex ناحیه جنوب ایالات متحده |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-standard" |
| 2 |
| • 2 |
| رده Standard فرامنطقهای اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-vault" |
| 2 |
| • 2 |
| رده Vault فرامنطقهای اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-cold" |
| 2 |
| • 2 |
| رده Cold فرامنطقهای اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-flex" |
| 2 |
| • 2 |
| رده Flex فرامنطقهای اروپا |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-gb-standard" |
| 2 |
| • 2 |
| رده Standard بریتانیای کبیر |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-gb-vault" |
| 2 |
| • 2 |
| رده Vault بریتانیای کبیر |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-gb-cold" |
| 2 |
| • 2 |
| رده Cold بریتانیای کبیر |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "eu-gb-flex" |
| 2 |
| • 2 |
| رده Flex بریتانیای کبیر |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "ap-standard" |
| 2 |
| • 2 |
| رده Standard آسیا-اقیانوسیه (APAC) |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "ap-vault" |
| 2 |
| • 2 |
| رده Vault آسیا-اقیانوسیه (APAC) |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "ap-cold" |
| 2 |
| • 2 |
| رده Cold آسیا-اقیانوسیه (APAC) |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "ap-flex" |
| 2 |
| • 2 |
| رده Flex آسیا-اقیانوسیه (APAC) |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "mel01-standard" |
| 2 |
| • 2 |
| رده Standard ملبورن |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "mel01-vault" |
| 2 |
| • 2 |
| رده Vault ملبورن |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "mel01-cold" |
| 2 |
| • 2 |
| رده Cold ملبورن |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "mel01-flex" |
| 2 |
| • 2 |
| رده Flex ملبورن |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "tor01-standard" |
| 2 |
| • 2 |
| رده Standard تورنتو |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "tor01-vault" |
| 2 |
| • 2 |
| رده Vault تورنتو |
| • 2 |
| ارائهدهنده: IBMCOS |
| "tor01-cold" |
| 2 |
| • 2 |
| تورنتو سرد |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "tor01-flex" |
| 2 |
| • 2 |
| تورنتو فلکس |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "cn-east-1" |
| 2 |
| • 2 |
| منطقه ۱ شرق چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "cn-east-2" |
| 2 |
| • 2 |
| منطقه ۲ شرق چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "cn-north-1" |
| 2 |
| • 2 |
| منطقه ۱ شمال چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "cn-south-1" |
| 2 |
| • 2 |
| منطقه ۱ جنوب چین |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "us-north-1" |
| 2 |
| • 2 |
| منطقه ۱ آمریکای شمالی |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "ap-southeast-1" |
| 2 |
| • 2 |
| منطقه ۱ جنوب شرق آسیا |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "ap-northeast-1" |
| 2 |
| • 2 |
| منطقه ۱ شمال شرق آسیا |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| شرق ایالات متحده (ویرجینیای شمالی) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "eu-west-1" |
| 2 |
| • 2 |
| اتحادیه اروپا (ایرلند) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "eu-west-2" |
| 2 |
| • 2 |
| اتحادیه اروپا (لندن) |
| • 2 |
| ارائهدهنده: Rabata |
| • 2 |
| "global" |
| 2 |
| • 2 |
| منطقه جهانی CDN |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au" |
| 2 |
| • 2 |
| استرالیا (تمام موقعیتها) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-nsw" |
| 2 |
| • 2 |
| منطقه NSW (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-qld" |
| 2 |
| • 2 |
| منطقه QLD (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-vic" |
| 2 |
| • 2 |
| منطقه VIC (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "au-wa" |
| 2 |
| • 2 |
| منطقه پرث (استرالیا) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "ph" |
| 2 |
| • 2 |
| منطقه مانیل (فیلیپین) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "th" |
| 2 |
| • 2 |
| منطقه بانکوک (تایلند) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "hk" |
| 2 |
| • 2 |
| منطقه هنگکنگ (HK) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "mn" |
| 2 |
| • 2 |
| منطقه اولانباتور (مغولستان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "kg" |
| 2.IP • 2 |
| منطقه بیشکک (قرقیزستان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "id" |
| 2 |
| • 2 |
| منطقه جاکارتا (اندونزی) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "jp" |
| 2 |
| • 2 |
| منطقه توکیو (ژاپن) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "sg" |
| 2 |
| • 2 |
| منطقه سنگاپور (SG) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "de" |
| 2 |
| • 2 |
| منطقه فرانکفورت (آلمان) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us" |
| 2 |
| • 2 |
| منطقه ایالات متحده (AnyCast) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us-east-1" |
| 2 |
| • 2 |
| منطقه نیویورک (ایالات متحده) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "us-west-1" |
| 2 |
| • 2 |
| منطقه فریمونت (ایالات متحده) |
| • 2 |
| ارائهدهنده: RackCorp |
| • 2 |
| "nz" |
| 2 |
| • 2 |
| منطقه اوکلند (نیوزیلند) |
| • 2 |
| ارائهدهنده: RackCorp |
| --s3-acl |
| دسترسی ACL آماده (Canned ACL) مورد استفاده هنگام ایجاد باکتها و ذخیرهسازی یا رونوشت اشیاء. |
| این ACL برای ایجاد اشیاء استفاده میشود و در صورتی که bucket_acl تنظیم نشده باشد، |
| برای ایجاد باکتها نیز به کار میرود. |
| برای اطلاعات بیشتر مراجعه کنید به: |
| https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| توجه داشته باشید که این ACL هنگام رونوشت سمت سرور اشیاء اعمال میشود، زیرا S3 |
| دسترسیهای ACL را از مبدأ رونوشت نمیکند، بلکه مقدار جدیدی مینویسد. |
| اگر acl یک رشته خالی باشد، هیچ سرآیند X-Amz-Acl: اضافه نخواهد شد و |
| مقدار پیشفرض (private) استفاده میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: acl |
| • 2 |
| متغیر محیطی: RCLONE_S3_ACL |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IBMCOS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,TencentCOS,US3,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "private" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL را دریافت میکند. |
| • 2 |
| هیچکس دیگری حق دسترسی ندارد (پیشفرض). |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,US3,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| "public-read" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL را دریافت میکند. |
| • 2 |
| گروه AllUsers دسترسی READ را دریافت میکند. |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,TencentCOS,US3,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| "public-read-write" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL را دریافت میکند. |
| • 2 |
| گروه AllUsers دسترسی READ و WRITE را دریافت میکند. |
| • 2 |
| اعطای این دسترسی روی یک باکت عموماً توصیه نمیشود. |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,TencentCOS,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| "authenticated-read" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL را دریافت میکند. |
| • 2 |
| گروه AuthenticatedUsers دسترسی READ را دریافت میکند. |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,TencentCOS,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| "bucket-owner-read" |
| 2 |
| • 2 |
| مالک شیء دسترسی FULL_CONTROL را دریافت میکند. |
| • 2 |
| مالک باکت دسترسی READ را دریافت میکند. |
| • 2 |
| در صورت مشخص کردن این Canned ACL هنگام ایجاد باکت، Amazon S3 آن را نادیده |
| میگیرد. |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,TencentCOS,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| "bucket-owner-full-control" |
| 2 |
| • 2 |
| هم مالک شیء و هم مالک باکت دسترسی FULL_CONTROL بر روی |
| شیء را دریافت میکنند. |
| • 2 |
| در صورت مشخص کردن این Canned ACL هنگام ایجاد باکت، Amazon S3 آن را نادیده |
| میگیرد. |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,Scality,SeaweedFS,TencentCOS,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| "private" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL را دریافت میکند. |
| • 2 |
| هیچکس دیگری حق دسترسی ندارد (پیشفرض)..IP • 2 |
| این acl در IBM Cloud (Infra)، IBM Cloud (Storage) و |
| On-Premise COS در دسترس است. |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "public-read" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| گروه AllUsers دسترسی READ دریافت میکند. |
| • 2 |
| این acl در IBM Cloud (Infra)، IBM Cloud (Storage) و |
| On-Premise IBM COS در دسترس است. |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "public-read-write" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| گروه AllUsers دسترسی READ و WRITE دریافت میکند. |
| • 2 |
| این acl در IBM Cloud (Infra) و On-Premise IBM COS در دسترس است. |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "authenticated-read" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| گروه AuthenticatedUsers دسترسی READ دریافت میکند. |
| • 2 |
| روی باکتها پشتیبانی نمیشود. |
| • 2 |
| این acl در IBM Cloud (Infra) و On-Premise IBM COS در دسترس است. |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| "default" |
| 2 |
| • 2 |
| مالک دسترسی Full_CONTROL دریافت میکند. |
| • 2 |
| هیچکس دیگری حق دسترسی ندارد (پیشفرض). |
| • 2 |
| ارائهدهنده: TencentCOS |
| --s3-server-side-encryption |
| الگوریتم رمزنگاری سمت سرور که هنگام ذخیرهسازی این شیء در |
| S3 استفاده میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: server_side_encryption |
| • 2 |
| متغیر محیطی: RCLONE_S3_SERVER_SIDE_ENCRYPTION |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| هیچکدام |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| "AES256" |
| 2 |
| • 2 |
| AES256 |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| "aws:kms" |
| 2 |
| • 2 |
| aws:kms |
| • 2 |
| ارائهدهنده: AWS,Ceph,Minio |
| در صورت استفاده از شناسهٔ KMS، باید ARN کلید را ارائه دهید. |
| ویژگیها: |
| • 2 |
| پیکربندی: sse_kms_key_id |
| • 2 |
| متغیر محیطی: RCLONE_S3_SSE_KMS_KEY_ID |
| • 2 |
| ارائهدهنده: AWS,Ceph,Minio |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| هیچکدام |
| • 2 |
| "arn:aws:kms:us-east-1:*" |
| 2 |
| • 2 |
| arn:aws:kms:* |
| --s3-storage-class |
| کلاس ذخیرهسازی مورد استفاده هنگام ذخیره اشیاء جدید در S3. |
| ویژگیها: |
| • 2 |
| پیکربندی: storage_class |
| • 2 |
| متغیر محیطی: RCLONE_S3_STORAGE_CLASS |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,ChinaMobile,Liara,Magalu,OVHcloud,Qiniu,Scaleway,TencentCOS,US3 |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| پیشفرض |
| • 2 |
| ارائهدهنده: AWS,Alibaba,ChinaMobile,OVHcloud,TencentCOS,US3 |
| • 2 |
| "STANDARD" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی استاندارد |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,ChinaMobile,Liara,Magalu,OVHcloud,Qiniu,TencentCOS,US3 |
| • 2 |
| "REDUCED_REDUNDANCY" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی با افزونگی کاهشیافته |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "STANDARD_IA" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی دسترسی کمتکرار استاندارد |
| • 2 |
| ارائهدهنده: AWS,OVHcloud |
| • 2 |
| "ONEZONE_IA" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی دسترسی کمتکرار تکمنطقهای |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "GLACIER" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی بازیابی انعطافپذیر Glacier |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "DEEP_ARCHIVE" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی بایگانی عمیق Glacier |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "INTELLIGENT_TIERING" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی لایهبندی هوشمند (Intelligent-Tiering) |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| "GLACIER_IR" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی بازیابی فوری Glacier |
| • 2 |
| ارائهدهنده: AWS,Magalu |
| • 2 |
| "GLACIER" |
| 2 |
| • 2 |
| حالت ذخیرهسازی بایگانی |
| • 2 |
| ارائهدهنده: Alibaba,ChinaMobile,Qiniu |
| • 2 |
| "STANDARD_IA" |
| 2 |
| • 2 |
| حالت ذخیرهسازی دسترسی کمتکرار |
| • 2 |
| ارائهدهنده: Alibaba,ChinaMobile,TencentCOS,US3 |
| • 2 |
| "EXPRESS_ONEZONE" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی با کارایی بالا |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "ONEZONE_IA" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی دسترسی کمتکرار استاندارد |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "GLACIER" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی بایگانی فعال |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "GLACIER_IR" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی بایگانی فعال |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "DEEP_ARCHIVE" |
| 2 |
| • 2 |
| کلاس ذخیرهسازی بایگانی سرد |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "INTELLIGENT_TIERING" |
| 2.IP • 2 |
| کلاس ذخیرهسازی استاندارد |
| • 2 |
| ارائهدهنده: OVHcloud |
| • 2 |
| "LINE" |
| 2 |
| • 2 |
| حالت ذخیرهسازی با دسترسی کمتکرار |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "DEEP_ARCHIVE" |
| 2 |
| • 2 |
| حالت ذخیرهسازی آرشیو عمیق |
| • 2 |
| ارائهدهنده: Qiniu |
| • 2 |
| "" |
| 2 |
| • 2 |
| پیشفرض. |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "STANDARD" |
| 2 |
| • 2 |
| کلاس استاندارد برای هر نوع بارگذاری. |
| • 2 |
| مناسب برای محتوای درخواستی مانند استریمینگ یا CDN. |
| • 2 |
| در دسترس در تمامی مناطق. |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "GLACIER" |
| 2 |
| • 2 |
| ذخیرهسازی آرشیوی. |
| • 2 |
| هزینهها پایینتر است، اما برای دسترسی ابتدا باید بازیابی شود. |
| • 2 |
| تنها در منطقه FR-PAR در دسترس است. |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "ONEZONE_IA" |
| 2 |
| • 2 |
| تکمنطقهای - دسترسی کمتکرار. |
| • 2 |
| انتخابی مناسب برای ذخیره نسخههای پشتیبان ثانویه یا دادههایی با بازتولید |
| آسان. |
| • 2 |
| در دسترس در تمامی مناطق. |
| • 2 |
| ارائهدهنده: Scaleway |
| • 2 |
| "ARCHIVE" |
| 2 |
| • 2 |
| حالت ذخیرهسازی آرشیو |
| • 2 |
| ارائهدهنده: TencentCOS,US3 |
| --s3-ibm-api-key |
| کلید IBM API که برای دریافت توکن IAM استفاده میشود |
| ویژگیها: |
| • 2 |
| پیکربندی: ibm_api_key |
| • 2 |
| متغیر محیطی: RCLONE_S3_IBM_API_KEY |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --s3-ibm-resource-instance-id |
| شناسهٔ نمونه سرویس IBM |
| ویژگیها: |
| • 2 |
| پیکربندی: ibm_resource_instance_id |
| • 2 |
| متغیر محیطی: RCLONE_S3_IBM_RESOURCE_INSTANCE_ID |
| • 2 |
| ارائهدهنده: IBMCOS |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| --s3-bucket-object-lock-enabled |
| فعالسازی قفل شیء (Object Lock) هنگام ایجاد باکتهای جدید. |
| ویژگیها: |
| • 2 |
| پیکربندی: bucket_object_lock_enabled |
| • 2 |
| متغیر محیطی: RCLONE_S3_BUCKET_OBJECT_LOCK_ENABLED |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| گزینههای پیشرفته |
| در اینجا گزینههای پیشرفتهٔ ویژهٔ s3 (ارائهدهندگان ذخیرهسازی سازگار با |
| Amazon S3 شامل AWS، Alibaba، ArvanCloud، BizflyCloud، Ceph، |
| ChinaMobile، Cloudflare، Cubbit، DigitalOcean، Dreamhost، Exaba، Fastly، |
| FileLu، FlashBlade، GCS، HCP، Hetzner، HuaweiOBS، IBMCOS، IDrive، |
| ImpossibleCloud، Intercolo، IONOS، Leviia، Liara، Linode، LyveCloud، |
| Magalu، Mega، Minio، Netease، Outscale، OVHcloud، Petabox، Qiniu، |
| Rabata، RackCorp، Rclone، Scaleway، Scality، SeaweedFS، Selectel، |
| Servercore، SpectraLogic، Storj، Synology، TencentCOS، US3، Wasabi، |
| Zadara، Zata، ZeroServices و Other) آورده شدهاند. |
| --s3-bucket-acl |
| فهرست کنترل دسترسی پیشساخته (Canned ACL) که هنگام ایجاد باکتها استفاده میشود. |
| برای اطلاعات بیشتر مراجعه کنید به |
| https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| توجه داشته باشید که این ACL تنها هنگام ایجاد باکتها اعمال میشود. |
| اگر تنظیم نشده باشد، در عوض از "acl" استفاده میشود. |
| اگر "acl" و "bucket_acl" رشتههای خالی باشند، هیچ هدر |
| X-Amz-Acl: اضافه نمیشود و از مقدار پیشفرض (private) استفاده خواهد شد. |
| ویژگیها: |
| • 2 |
| پیکربندی: bucket_acl |
| • 2 |
| متغیر محیطی: RCLONE_S3_BUCKET_ACL |
| • 2 |
| ارائهدهنده: |
| AWS,Alibaba,ArvanCloud,BizflyCloud,Ceph,ChinaMobile,Cubbit,DigitalOcean,Dreamhost,Exaba,FileLu,GCS,HCP,Hetzner,HuaweiOBS,IBMCOS,IDrive,ImpossibleCloud,Intercolo,IONOS,Leviia,Liara,Linode,LyveCloud,Magalu,Mega,Minio,Netease,Outscale,OVHcloud,Petabox,Qiniu,RackCorp,Scaleway,SeaweedFS,Servercore,TencentCOS,US3,Wasabi,Zata,ZeroServices,Other |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "private" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| هیچکس دیگری حق دسترسی ندارد (پیشفرض). |
| • 2 |
| "public-read" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| گروه AllUsers دسترسی READ دریافت میکند. |
| • 2 |
| "public-read-write" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| گروه AllUsers دسترسی READ و WRITE دریافت میکند. |
| • 2 |
| اعطای این دسترسی روی یک باکت عموماً توصیه نمیشود. |
| • 2 |
| "authenticated-read" |
| 2 |
| • 2 |
| مالک دسترسی FULL_CONTROL دریافت میکند. |
| • 2 |
| گروه AuthenticatedUsers دسترسی READ دریافت میکند. |
| گزینه «پرداخت توسط درخواستدهنده» (requester pays) را هنگام تعامل با باکت S3 فعال میکند. |
| ویژگیها: |
| • 2 |
| پیکربندی: requester_pays |
| • 2 |
| متغیر محیطی: RCLONE_S3_REQUESTER_PAYS |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-sse-customer-algorithm |
| در صورت استفاده از SSE-C، الگوریتم رمزنگاری سمت سرور که هنگام ذخیره این شیء در S3 استفاده میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: sse_customer_algorithm |
| • 2 |
| متغیر محیطی: RCLONE_S3_SSE_CUSTOMER_ALGORITHM |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| هیچکدام |
| • 2 |
| "AES256" |
| 2 |
| • 2 |
| AES256 |
| --s3-sse-customer-key |
| برای استفاده از SSE-C میتوانید کلید رمزنگاری محرمانهای را که جهت رمزنگاری/رمزگشایی دادههایتان به کار میرود، ارائه دهید. |
| به عنوان جایگزین میتوانید از --sse-customer-key-base64 استفاده کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: sse_customer_key |
| • 2 |
| متغیر محیطی: RCLONE_S3_SSE_CUSTOMER_KEY |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| هیچکدام |
| --s3-sse-customer-key-base64 |
| در صورت استفاده از SSE-C باید کلید رمزنگاری محرمانه را با قالب base64 برای رمزنگاری/رمزگشایی دادههایتان ارائه دهید. |
| به عنوان جایگزین میتوانید از --sse-customer-key استفاده کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: sse_customer_key_base64 |
| • 2 |
| متغیر محیطی: RCLONE_S3_SSE_CUSTOMER_KEY_BASE64 |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| هیچکدام |
| در صورت استفاده از SSE-C میتوانید چکسام MD5 کلید رمزنگاری محرمانه را ارائه دهید |
| (اختیاری). |
| اگر آن را خالی بگذارید، این مقدار بهطور خودکار از روی sse_customer_key ارائهشده |
| محاسبه میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: sse_customer_key_md5 |
| • 2 |
| متغیر محیطی: RCLONE_S3_SSE_CUSTOMER_KEY_MD5 |
| • 2 |
| ارائهدهنده: AWS,Ceph,ChinaMobile,Minio |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "" |
| 2 |
| • 2 |
| هیچکدام |
| --s3-upload-cutoff |
| آستانه تغییر حالت به بارگذاری چندتکهای (chunked). |
| هر فایلی بزرگتر از این مقدار، در تکههایی به اندازه chunk_size بارگذاری خواهد شد. |
| حداقل مقدار 0 و حداکثر آن 5 GiB است. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_cutoff |
| • 2 |
| متغیر محیطی: RCLONE_S3_UPLOAD_CUTOFF |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 200Mi |
| --s3-chunk-size |
| اندازه تکه (chunk) برای استفاده در بارگذاری. |
| هنگام بارگذاری فایلهای بزرگتر از upload_cutoff یا فایلهایی با اندازه نامشخص |
| (برای مثال از طریق "rclone rcat" یا بارگذاریشده با "rclone mount" |
| یا google photos یا google docs)، آنها با استفاده از این اندازه تکه بهصورت چندبخشی (multipart) |
| بارگذاری خواهند شد. |
| توجه داشته باشید که به ازای هر انتقال، به تعداد "--s3-upload-concurrency" تکه |
| با این اندازه در حافظه بافر میشوند. |
| اگر فایلهای حجیم را روی پیوندهای پرسرعت انتقال میدهید و حافظه کافی در اختیار دارید، |
| افزایش این مقدار سرعت انتقال را افزایش خواهد داد. |
| ابزار Rclone هنگام بارگذاری فایلی حجیم با اندازه معلوم، بهطور خودکار اندازه تکه را |
| افزایش میدهد تا زیر محدودیت ۱۰٬۰۰۰ تکه باقی بماند. |
| فایلهای با اندازه نامعلوم با همان chunk_size پیکربندیشده بارگذاری میشوند. |
| از آنجا که اندازه تکه پیشفرض 5 MiB است و حداکثر میتواند ۱۰٬۰۰۰ تکه وجود داشته باشد، |
| این بدان معناست که در حالت پیشفرض حداکثر اندازه فایلی که میتوانید بهصورت جریانی (stream) |
| بارگذاری کنید 48 GiB است. |
| اگر مایلید فایلهای بزرگتری را بهصورت جریانی بارگذاری کنید، باید chunk_size را افزایش دهید. |
| افزایش اندازه تکه باعث کاهش دقت آمار پیشرفت نمایشدادهشده با پرچم "-P" میشود. |
| Rclone به محض اینکه تکهای توسط AWS SDK بافر شود، آن را ارسالشده تلقی میکند، در حالی |
| که در واقع ممکن است هنوز در حال بارگذاری باشد. |
| اندازه تکه بزرگتر به معنای بافر بزرگتر AWS SDK و انحراف بیشتر گزارش پیشرفت از واقعیت است. |
| ویژگیها: |
| • 2 |
| پیکربندی: chunk_size |
| • 2 |
| متغیر محیطی: RCLONE_S3_CHUNK_SIZE |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 5Mi.SS --s3-max-upload-parts |
| بیشینه تعداد بخشها در یک بارگذاری چندبخشی (multipart upload). |
| این گزینه بیشینه تعداد تکههای چندبخشی مورد استفاده هنگام انجام یک بارگذاری چندبخشی را تعیین میکند. |
| این گزینه میتواند در صورتی که یک سرویس از مشخصات 10,000 تکهای AWS S3 پشتیبانی نکند، مفید باشد. |
| هنگام بارگذاری یک فایل بزرگ با اندازه مشخص، rclone بهطور خودکار اندازه تکهها را افزایش میدهد تا تعداد آنها از این حد فراتر نرود. |
| ویژگیها: |
| • 2 |
| پیکربندی: max_upload_parts |
| • 2 |
| متغیر محیطی: RCLONE_S3_MAX_UPLOAD_PARTS |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 10000 |
| --s3-copy-cutoff |
| حد آستانه برای جابجایی به رونوشت چندبخشی (multipart copy). |
| هر فایلی بزرگتر از این مقدار که نیاز به رونوشت در سمت سرور داشته باشد، در تکههایی با این اندازه کپی خواهد شد. |
| کمینه مقدار 1 بایت و بیشینه آن 5 GiB است. |
| ویژگیها: |
| • 2 |
| پیکربندی: copy_cutoff |
| • 2 |
| متغیر محیطی: RCLONE_S3_COPY_CUTOFF |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 4.656Gi |
| --s3-disable-checksum |
| چکسام MD5 همراه با فراداده شیء ذخیره نشود. |
| در حالت عادی rclone پیش از بارگذاری ورودی، چکسام MD5 آن را محاسبه میکند تا بتواند آن را به فراداده شیء اضافه نماید. |
| این کار برای بررسی صحت دادهها عالی است اما میتواند باعث تاخیرهای طولانی در آغاز بارگذاری فایلهای بزرگ شود. |
| ویژگیها: |
| • 2 |
| پیکربندی: disable_checksum |
| • 2 |
| متغیر محیطی: RCLONE_S3_DISABLE_CHECKSUM |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-shared-credentials-file |
| مسیر فایل اطلاعات احراز هویت مشترک (shared credentials). |
| اگر env_auth = true باشد، rclone میتواند از فایل اعتبارنامههای مشترک استفاده کند. |
| اگر این متغیر خالی باشد، rclone به دنبال متغیر محیطی "AWS_SHARED_CREDENTIALS_FILE" میگردد. |
| اگر مقدار متغیر محیطی نیز خالی باشد، بهطور پیشفرض از دایرکتوری خانگی کاربر جاری استفاده خواهد شد. |
| Linux/OSX: "$HOME/.aws/credentials" |
| Windows: "%USERPROFILE%\.aws\credentials" |
| ویژگیها: |
| • 2 |
| پیکربندی: shared_credentials_file |
| • 2 |
| متغیر محیطی: RCLONE_S3_SHARED_CREDENTIALS_FILE |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --s3-profile |
| پروفایل مورد استفاده در فایل اعتبارنامههای مشترک (shared credentials). |
| اگر env_auth = true باشد، rclone میتواند از یک فایل اعتبارنامههای مشترک استفاده کند. |
| این متغیر کنترل میکند که از کدام پروفایل در آن فایل استفاده شود. |
| اگر خالی باشد، مقدار پیشفرض متغیر محیطی |
| "AWS_PROFILE" در نظر گرفته میشود و چنانچه این متغیر محیطی |
| نیز تنظیم نشده باشد، برابر با "default" خواهد بود. |
| ویژگیها: |
| • 2 |
| پیکربندی: profile |
| • 2 |
| متغیر محیطی: RCLONE_S3_PROFILE |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --s3-session-token |
| یک توکن نشست AWS. |
| ویژگیها: |
| • 2 |
| پیکربندی: session_token |
| • 2 |
| متغیر محیطی: RCLONE_S3_SESSION_TOKEN |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --s3-role-arn |
| شناسه ARN نقش IAM برای تصدی (assume). |
| اگر از assume role استفاده نمیکنید، آن را خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: role_arn |
| • 2 |
| متغیر محیطی: RCLONE_S3_ROLE_ARN |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --s3-role-session-name |
| نام نشست برای نقش تصدیشده (assumed role). |
| اگر خالی باشد، یک نام نشست بهطور خودکار ایجاد خواهد شد. |
| ویژگیها: |
| • 2 |
| پیکربندی: role_session_name |
| • 2 |
| متغیر محیطی: RCLONE_S3_ROLE_SESSION_NAME |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --s3-role-session-duration |
| مدتزمان نشست برای نقش تصدیشده (assumed role). |
| اگر خالی باشد، از مدتزمان پیشفرض نشست استفاده خواهد شد. |
| ویژگیها: |
| • 2 |
| پیکربندی: role_session_duration |
| • 2 |
| متغیر محیطی: RCLONE_S3_ROLE_SESSION_DURATION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --s3-role-external-id |
| شناسه خارجی (External ID) برای نقش تصدیشده (assumed role). |
| اگر از شناسه خارجی استفاده نمیکنید، آن را خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: role_external_id |
| • 2 |
| متغیر محیطی: RCLONE_S3_ROLE_EXTERNAL_ID |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --s3-upload-concurrency |
| همزمانی برای بارگذاریها و رونوشتهای چندبخشی (multipart). |
| این مقدار، تعداد قطعاتی از یک فایل یکسان است که بهطور همزمان |
| برای بارگذاریها و رونوشتهای چندبخشی بارگذاری میشوند. |
| اگر تعداد کمی از فایلهای حجیم را روی پیوندهای پرسرعت بارگذاری میکنید |
| و این بارگذاریها تمام پهنایباند شما را بهکار نمیگیرند، افزایش این مقدار |
| ممکن است به افزایش سرعت انتقالها کمک کند. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_concurrency |
| • 2 |
| متغیر محیطی: RCLONE_S3_UPLOAD_CONCURRENCY |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 4 |
| --s3-force-path-style |
| در صورت true بودن، از دسترسی سبک مسیر (path style) و در صورت false بودن، از سبک میزبانی مجازی (virtual hosted style) استفاده میشود. |
| اگر این گزینه true باشد (پیشفرض)، rclone از دسترسی path style استفاده خواهد کرد و اگر |
| false باشد، rclone از سبک virtual path استفاده میکند. |
| برای اطلاعات بیشتر |
| مستندات AWS S3 را ببینید: (https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html) |
| برخی ارائهدهندگان (مانند |
| AWS، Aliyun OSS، Netease COS یا Tencent COS) نیازمند تنظیم این گزینه روی false هستند |
| - rclone این کار را بر اساس تنظیمات ارائهدهنده بهطور خودکار انجام خواهد داد. |
| توجه داشته باشید اگر باکت شما یک نام معتبر DNS ندارد، یعنی |
| شامل '.' یا '_' است، باید این گزینه را روی true تنظیم کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: force_path_style |
| • 2 |
| متغیر محیطی: RCLONE_S3_FORCE_PATH_STYLE |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: true |
| --s3-v2-auth |
| در صورت true بودن، از احراز هویت v2 استفاده میشود. |
| اگر این گزینه false باشد (پیشفرض)، rclone از احراز هویت v4 استفاده خواهد کرد. |
| اگر تنظیم شود، rclone از احراز هویت v2 استفاده میکند. |
| تنها زمانی از این گزینه استفاده کنید که امضاهای v4 کار نمیکنند؛ برای نمونه |
| نسخههای پیش از Jewel/v10 در CEPH. |
| ویژگیها: |
| • 2 |
| پیکربندی: v2_auth |
| • 2 |
| متغیر محیطی: RCLONE_S3_V2_AUTH |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-use-dual-stack |
| در صورت true بودن، از نقطه پایانی دوپشتهای (dual-stack endpoint) در AWS S3 (پشتیبانی از IPv6) استفاده میشود. |
| مستندات AWS را درباره Dualstack Endpoints ببینید: |
| (https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) |
| ویژگیها: |
| • 2 |
| پیکربندی: use_dual_stack |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_DUAL_STACK |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false.SS --s3-use-accelerate-endpoint |
| اگر روی true تنظیم شود، از اندپوینت شتابیافته (accelerated endpoint) مربوط به AWS S3 استفاده میکند. |
| ببینید: شتابدهی انتقال AWS S3 https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration-examples.html |
| ویژگیها: |
| • 2 |
| پیکربندی: use_accelerate_endpoint |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_ACCELERATE_ENDPOINT |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-use-arn-region |
| اگر روی true تنظیم شود، پشتیبانی از ناحیهٔ (region) مبتنی بر arn را برای سرویس فعال میکند. |
| ویژگیها: |
| • 2 |
| پیکربندی: use_arn_region |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_ARN_REGION |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-leave-parts-on-error |
| اگر روی true تنظیم شود، در صورت بروز خطا از فراخوانی لغو بارگذاری (abort upload) خودداری کرده و تمام بخشهای با موفقیت بارگذاریشده را برای بازیابی دستی روی S3 باقی میگذارد. |
| برای ازسرگیری بارگذاریها در نشستهای مختلف، این گزینه باید روی true تنظیم شود. |
| هشدار: ذخیرهسازی بخشهای یک بارگذاری چندبخشی (multipart upload) ناقص جزء فضای مصرفی در S3 محاسبه شده و در صورت پاکسازی نشدن، هزینههای اضافی در بر خواهد داشت. |
| ویژگیها: |
| • 2 |
| پیکربندی: leave_parts_on_error |
| • 2 |
| متغیر محیطی: RCLONE_S3_LEAVE_PARTS_ON_ERROR |
| • 2 |
| ارائهدهنده: AWS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-list-chunk |
| اندازهٔ قطعهٔ فهرستبندی (فهرست پاسخ برای هر درخواست ListObject در S3). |
| این گزینه در مشخصات AWS S3 با نامهای "MaxKeys"، "max-items" یا "page-size" نیز شناخته میشود. |
| اکثر سرویسها فهرست پاسخ را حتی در صورت درخواست مقادیر بیشتر، به ۱۰۰۰ شیء محدود میکنند. |
| در AWS S3 این یک حداکثر سراسری است و نمیتوان آن را تغییر داد؛ ببینید AWS S3 https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html. |
| در Ceph، این مقدار با استفاده از گزینهٔ "rgw list buckets max chunk" قابل افزایش است. |
| ویژگیها: |
| • 2 |
| پیکربندی: list_chunk |
| • 2 |
| متغیر محیطی: RCLONE_S3_LIST_CHUNK |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 1000 |
| --s3-list-version |
| نسخهٔ ListObjects مورد استفاده: 1، 2 یا 0 برای خودکار. |
| هنگامی که S3 در ابتدا راهاندازی شد، تنها فراخوانی ListObjects را برای شمارش و فهرست کردن اشیاء در یک باکت ارائه میداد. |
| با این حال در مه ۲۰۱۶ فراخوانی ListObjectsV2 معرفی شد. |
| این نسخه کارایی بسیار بالاتری دارد و در صورت امکان همواره باید مورد استفاده قرار گیرد. |
| اگر روی مقدار پیشفرض، یعنی 0 تنظیم شود، rclone بر اساس ارائهدهندهٔ مشخصشده حدس میزند که کدام متد فهرستبندی اشیاء را فراخوانی کند. |
| اگر حدس آن نادرست باشد، میتوان آن را در اینجا بهصورت دستی تنظیم کرد. |
| ویژگیها: |
| • 2 |
| پیکربندی: list_version |
| • 2 |
| متغیر محیطی: RCLONE_S3_LIST_VERSION |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 0.SS --s3-list-url-encode |
| تعیین اینکه آیا فهرستها کدگذاری URL (URL encode) شوند یا خیر: true/false/unset |
| برخی ارائهدهندگان از کدگذاری URL در فهرستبندی پشتیبانی میکنند و در صورت دردسترس بودن، هنگام استفاده از نویسههای کنترلی در نام فایلها، این روش مطمئنتر است. |
| اگر این گزینه روی unset (پیشفرض) تنظیم شده باشد، rclone با توجه به تنظیمات ارائهدهنده نحوهٔ اعمال را انتخاب میکند، اما شما میتوانید انتخاب rclone را در اینجا لغو و جایگزین کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: list_url_encode |
| • 2 |
| متغیر محیطی: RCLONE_S3_LIST_URL_ENCODE |
| • 2 |
| نوع: Tristate |
| • 2 |
| پیشفرض: unset |
| --s3-no-check-bucket |
| در صورت تنظیم، تلاشی برای بررسی وجود داشتن باکت یا ایجاد آن انجام نمیشود. |
| اگر میدانید باکت از قبل وجود دارد، این گزینه میتواند برای به حداقل رساندن تعداد تراکنشهای انجامشده توسط rclone مفید باشد. |
| همچنین در صورتی که کاربر مورد استفاده مجوزهای ایجاد باکت را نداشته باشد، ممکن است به این گزینه نیاز باشد. |
| پیش از نسخهٔ v1.52.0، این مورد به دلیل وجود یک باگ بدون خطا و در سکوت رد میشد. |
| ویژگیها: |
| • 2 |
| پیکربندی: no_check_bucket |
| • 2 |
| متغیر محیطی: RCLONE_S3_NO_CHECK_BUCKET |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-no-head |
| در صورت تنظیم، برای بررسی یکپارچگی روی اشیاء بارگذاریشده درخواست HEAD ارسال نمیشود. |
| این گزینه میتواند هنگام تلاش برای به حداقل رساندن تعداد تراکنشهای انجامشده توسط rclone مفید باشد. |
| تنظیم آن بدین معناست که اگر rclone پس از بارگذاری یک شیء با متد PUT یک پیام 200 OK دریافت کند، فرض را بر این میگذارد که شیء بهدرستی بارگذاری شده است. |
| بهطور خاص، چنین فرض خواهد شد: |
| • 2 |
| متاداده، از جمله modtime، کلاس ذخیرهسازی (storage class) و content type همانند موارد بارگذاریشده است |
| • 2 |
| اندازه شیء همانند مورد بارگذاریشده است |
| موارد زیر را از پاسخ دریافتی برای یک PUT تکبخشی (single part) میخواند: |
| • 2 |
| مقدار MD5SUM |
| • 2 |
| تاریخ بارگذاری |
| برای بارگذاریهای چندبخشی (multipart)، این موارد خوانده نمیشوند. |
| اگر شیء مبدئی با طول نامشخص بارگذاری شود، آنگاه rclone یک درخواست HEAD ارسال خواهد کرد. |
| تنظیم این پرچم احتمال بروز شکستهای شناسایینشده در بارگذاری، بهویژه اندازهٔ نادرست را افزایش میدهد؛ بنابراین برای استفادهٔ عادی توصیه نمیشود. |
| در عمل، شانس وقوع یک شکست بارگذاری شناسایینشده حتی با وجود این پرچم بسیار کم است. |
| ویژگیها: |
| • 2 |
| پیکربندی: no_head |
| • 2 |
| متغیر محیطی: RCLONE_S3_NO_HEAD |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false.SS --s3-no-head-object |
| در صورت تنظیم، هنگام دریافت اشیاء، پیش از GET درخواست HEAD ارسال نمیشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: no_head_object |
| • 2 |
| متغیر محیطی: RCLONE_S3_NO_HEAD_OBJECT |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-encoding |
| کدگذاری برای backend. |
| برای اطلاعات بیشتر، بخش encoding را در |
| نمای کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_S3_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: Slash,InvalidUtf8,Dot |
| --s3-disable-http2 |
| غیرفعالسازی استفاده از http2 برای backendهای S3. |
| در حال حاضر یک مشکل حلنشده در backend مربوط به S3 (بهویژه minio) و HTTP/2 وجود دارد. |
| HTTP/2 بهطور پیشفرض برای backend مربوط به S3 فعال است، اما میتوان آن را از اینجا غیرفعال کرد. |
| پس از برطرف شدن این مشکل، این پرچم حذف خواهد شد. |
| ببینید: https://github.com/rclone/rclone/issues/4673, |
| https://github.com/rclone/rclone/issues/3631 |
| ویژگیها: |
| • 2 |
| پیکربندی: disable_http2 |
| • 2 |
| متغیر محیطی: RCLONE_S3_DISABLE_HTTP2 |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-download-url |
| نقطه پایانی سفارشی برای بارگیریها. |
| این معمولاً روی نشانی اینترنتی CloudFront CDN تنظیم میشود؛ زیرا AWS S3 هزینه ترافیک خروجی ارزانتری برای دادههای بارگیریشده از طریق شبکه CloudFront ارائه میدهد. |
| ویژگیها: |
| • 2 |
| پیکربندی: download_url |
| • 2 |
| متغیر محیطی: RCLONE_S3_DOWNLOAD_URL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --s3-directory-markers |
| بارگذاری یک شیء خالی با یک اسلش پایانی هنگام ایجاد یک دایرکتوری جدید. |
| پوشههای خالی در ریموتهای مبتنی بر bucket پشتیبانی نمیشوند؛ این گزینه یک شیء خالی که با "/" خاتمه مییابد ایجاد میکند تا پوشه ماندگار شود. |
| ویژگیها: |
| • 2 |
| پیکربندی: directory_markers |
| • 2 |
| متغیر محیطی: RCLONE_S3_DIRECTORY_MARKERS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false.SS --s3-use-multipart-etag |
| تعیین استفاده از ETag در بارگذاریهای چندبخشی (multipart) جهت اعتبارسنجی. |
| این مقدار باید برابر با true، false یا بدون مقدار (unset) رها شود تا از پیشفرض ارائهدهنده استفاده گردد. |
| ویژگیها: |
| • 2 |
| پیکربندی: use_multipart_etag |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_MULTIPART_ETAG |
| • 2 |
| نوع: Tristate |
| • 2 |
| پیشفرض: unset |
| --s3-use-unsigned-payload |
| تعیین استفاده از بار دادهٔ امضانشده (unsigned payload) در PutObject. |
| برنامه rclone هنگام فراخوانی PutObject باید از تغییر مکان اشارهگر (seeking) در بدنه توسط AWS SDK جلوگیری کند. ارائهدهندهٔ AWS میتواند چکسامها را در دنباله (trailer) اضافه کند تا از seek جلوگیری شود، اما سایر ارائهدهندگان قادر به این کار نیستند. |
| این مقدار باید برابر با true، false یا بدون مقدار (unset) رها شود تا از پیشفرض ارائهدهنده استفاده گردد. |
| ویژگیها: |
| • 2 |
| پیکربندی: use_unsigned_payload |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_UNSIGNED_PAYLOAD |
| • 2 |
| نوع: Tristate |
| • 2 |
| پیشفرض: unset |
| --s3-use-presigned-request |
| تعیین استفاده از درخواست پیشامضاشده (presigned request) یا PutObject برای بارگذاریهای تکبخشی. |
| اگر این مقدار false باشد، rclone از PutObject موجود در AWS SDK برای بارگذاری شیء استفاده خواهد کرد. |
| نسخههای rclone قدیمیتر از 1.59 از درخواستهای پیشامضاشده برای بارگذاری اشیاء تکبخشی استفاده میکردند و تنظیم این پرچم روی true آن قابلیت را مجدداً فعال میکند. استفاده از این پرچم نباید ضروری باشد مگر در شرایط استثنایی یا برای آزمایش. |
| ویژگیها: |
| • 2 |
| پیکربندی: use_presigned_request |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_PRESIGNED_REQUEST |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-use-data-integrity-protections |
| در صورت تنظیم بر روی true، از قابلیتهای محافظت از یکپارچگی دادهٔ AWS S3 استفاده میشود. |
| مستندات AWS دربارهٔ محافظتهای یکپارچگی داده را ببینید (https://docs.aws.amazon.com/sdkref/latest/guide/feature-dataintegrity.html) |
| ویژگیها: |
| • 2 |
| پیکربندی: use_data_integrity_protections |
| • 2 |
| متغیر محیطی: RCLONE_S3_USE_DATA_INTEGRITY_PROTECTIONS |
| • 2 |
| نوع: Tristate |
| • 2 |
| پیشفرض: unset |
| --s3-versions |
| گنجاندن نسخههای قدیمی در فهرستبندیهای دایرکتوری. |
| ویژگیها: |
| • 2 |
| پیکربندی: versions |
| • 2 |
| متغیر محیطی: RCLONE_S3_VERSIONS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false.SS --s3-version-at |
| نمایش نسخههای فایل آنگونه که در زمان مشخصشده بودهاند. |
| پارامتر باید یک تاریخ، "2006-01-02"، تاریخ و زمان |
| "2006-01-02 15:04:05" یا بازهای از زمان گذشته، مانند |
| "100d" یا "1h" باشد. |
| توجه داشته باشید که هنگام استفاده از این گزینه هیچ عملیات نوشتن فایلی مجاز نیست، بنابراین |
| نمیتوانید فایلها را بارگذاری یا حذف کنید. |
| برای قالبهای معتبر، مستندات گزینههای زمان (https://rclone.org/docs/#time-options) را |
| ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: version_at |
| • 2 |
| متغیر محیطی: RCLONE_S3_VERSION_AT |
| • 2 |
| نوع: Time |
| • 2 |
| پیشفرض: off |
| --s3-version-deleted |
| نمایش نشانگرهای فایلهای حذفشده هنگام استفاده از نسخهها. |
| این گزینه نشانگرهای فایلهای حذفشده را در فهرستبندی هنگام استفاده از نسخهها نمایش میدهد. |
| این موارد به عنوان فایلهایی با اندازهٔ ۰ ظاهر خواهند شد. |
| تنها عملیاتی که میتوان روی آنها انجام داد، حذف است. |
| حذف یک نشانگر حذف، نسخهٔ قبلی را آشکار خواهد کرد. |
| فایلهای حذفشده همیشه همراه با برچسب زمان نمایش داده میشوند. |
| ویژگیها: |
| • 2 |
| پیکربندی: version_deleted |
| • 2 |
| متغیر محیطی: RCLONE_S3_VERSION_DELETED |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-decompress |
| در صورت تنظیم، اشیاء کدگذاریشده با gzip را از حالت فشرده خارج میکند. |
| امکان بارگذاری اشیاء در S3 با مقدار تنظیمشدهٔ "Content-Encoding: |
| gzip" وجود دارد. |
| به طور معمول rclone این فایلها را به عنوان اشیاء فشرده دانلود میکند. |
| اگر این پرچم تنظیم شود، rclone این فایلها با |
| "Content-Encoding: gzip" را به محض دریافت از حالت فشرده خارج میکند. |
| این بدان معناست که rclone نمیتواند اندازه و هش را بررسی کند، اما محتوای |
| فایل از حالت فشرده خارج خواهد شد. |
| ویژگیها: |
| • 2 |
| پیکربندی: decompress |
| • 2 |
| متغیر محیطی: RCLONE_S3_DECOMPRESS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --s3-might-gzip |
| اگر احتمال دارد بکاند اشیاء را با gzip فشرده کند، این گزینه را تنظیم کنید. |
| به طور معمول ارائهدهندگان هنگام دانلود اشیاء، آنها را تغییر نمیدهند. |
| اگر شیئی با Content-Encoding: gzip بارگذاری نشده باشد، |
| هنگام دانلود نیز این مقدار تنظیم نخواهد شد. |
| با این حال برخی از ارائهدهندگان ممکن است اشیاء را حتی در صورتی که با |
| Content-Encoding: gzip بارگذاری نشده باشند، با gzip فشرده کنند (مانند Cloudflare). |
| یکی از نشانههای این مسئله دریافت خطاهایی مانند این است: |
| ERROR corrupted on transfer: sizes differ NNN vs MMM |
| اگر این پرچم را تنظیم کنید و rclone شیئی را با Content-Encoding: gzip تنظیمشده و |
| کدگذاری انتقال تکهتکه (chunked transfer encoding) دانلود کند، rclone |
| شیء را در لحظه از حالت فشرده خارج خواهد کرد. |
| اگر این گزینه روی unset (پیشفرض) تنظیم شده باشد، rclone بر اساس تنظیم ارائهدهنده |
| تصمیم میگیرد که چه چیزی اعمال شود، اما میتوانید انتخاب rclone را در اینجا نادیده بگیرید. |
| ویژگیها: |
| • 2 |
| پیکربندی: might_gzip |
| • 2 |
| متغیر محیطی: RCLONE_S3_MIGHT_GZIP |
| • 2 |
| نوع: Tristate |
| • 2 |
| پیشفرض: unset.SS --s3-use-accept-encoding-gzip |
| آیا سربرگ Accept-Encoding: gzip ارسال شود یا خیر. |
| بهطور پیشفرض، rclone تا حد امکان سربرگ Accept-Encoding: gzip را برای بارگیری اشیاء فشردهشده به درخواست اضافه میکند. |
| با این حال برخی ارائهدهندگان مانند Google Cloud Storage ممکن است سربرگهای HTTP را تغییر دهند که باعث از بین رفتن امضای درخواست میشود. |
| نشانهای از این حالت، دریافت خطاهایی شبیه به این خواهد بود: |
| SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. |
| در این حالت، ممکن است بخواهید غیرفعال کردن این گزینه را امتحان کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: use_accept_encoding_gzip | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_USE_ACCEPT_ENCODING_GZIP | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset | |
| --s3-no-system-metadata | |
| جلوگیری از تنظیم و خواندن فرادادههای سیستم | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: no_system_metadata | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_NO_SYSTEM_METADATA | |
| • 2 | |
| نوع: bool | |
| • 2 | |
| پیشفرض: false | |
| --s3-use-already-exists | |
| تعیین میکند که آیا rclone باید هنگام ایجاد باکت، خطاهای BucketAlreadyExists را گزارش کند یا خیر. | |
| در مقطعی از تکامل پروتکل s3، هنگام تلاش برای ایجاد باکتی که از قبل متعلق به کاربر بود، AWS بهجای خطای BucketAlreadyExists شروع به بازگرداندن خطای AlreadyOwnedByYou کرد. | |
| متأسفانه پیادهسازیهای انجامشده توسط کلونهای s3 کمی ناسازگار است؛ برخی AlreadyOwnedByYou را بازمیگردانند، برخی BucketAlreadyExists و برخی دیگر اصلاً خطایی بازنمیگردانند. | |
| این موضوع برای rclone حائز اهمیت است زیرا در بسیاری از عملیاتها (مگر اینکه از --s3-no-check-bucket استفاده شده باشد) با ایجاد باکت از وجود آن اطمینان حاصل میکند. | |
| اگر rclone بداند که ارائهدهنده میتواند AlreadyOwnedByYou بازگرداند یا هیچ خطایی برنمیگرداند، در این صورت میتواند هنگام تلاش کاربر برای ایجاد باکتی که در مالکیت او نیست، خطاهای BucketAlreadyExists را گزارش دهد. در غیر این صورت rclone خطای BucketAlreadyExists را نادیده میگیرد که میتواند منجر به سردرگمی شود. | |
| این مقدار باید بهطور خودکار برای تمام ارائهدهندگانی که rclone میشناسد بهدرستی تنظیم شود - در غیر این صورت لطفاً یک گزارش باگ ارسال کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: use_already_exists | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_USE_ALREADY_EXISTS | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset | |
| --s3-use-multipart-uploads | |
| تعیین میکند که آیا rclone باید از بارگذاریهای چندبخشی (multipart uploads) استفاده کند یا خیر. | |
| اگر میخواهید استفاده از بارگذاری چندبخشی را غیرفعال کنید، میتوانید این مقدار را تغییر دهید. این کار در شرایط عادی نباید لازم باشد. | |
| این مقدار باید بهطور خودکار برای تمام ارائهدهندگانی که rclone میشناسد بهدرستی تنظیم شود - در غیر این صورت لطفاً یک گزارش باگ ارسال کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: use_multipart_uploads | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_USE_MULTIPART_UPLOADS | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset.SS --s3-list-versions-oldest-first | |
| اگر backend نسخههای شیء را از قدیمیترین به جدیدترین بازمیگرداند، این گزینه را تنظیم کنید. | |
| استاندارد S3 نسخههای شیء را از جدیدترین به قدیمیترین بازمیگرداند. | |
| برخی از backendها (مانند Hitachi HCP) در عوض آنها را از قدیمیترین به جدیدترین برمیگردانند. | |
| اگر --s3-version-at یا --s3-versions نتایج نادرستی با backend شما تولید میکنند، این رفتار خاص (quirk) را فعال کنید. | |
| این مقدار باید برای تمامی ارائهدهندگانی که rclone میشناسد به طور خودکار و صحیح تنظیم شود - اگر اینگونه نیست، لطفاً یک گزارش باگ ارسال کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: list_versions_oldest_first | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_LIST_VERSIONS_OLDEST_FIRST | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset | |
| --s3-use-x-id | |
| در صورتی تنظیم شود که rclone باید پارامترهای URL با عنوان x-id را اضافه کند. | |
| اگر میخواهید از اضافه کردن پارامترهای URL با عنوان x-id توسط AWS SDK جلوگیری کنید، میتوانید این گزینه را تغییر دهید. | |
| این مورد در عملکرد عادی نباید ضروری باشد. | |
| این مقدار باید برای تمامی ارائهدهندگانی که rclone میشناسد به طور خودکار و صحیح تنظیم شود - اگر اینگونه نیست، لطفاً یک گزارش باگ ارسال کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: use_x_id | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_USE_X_ID | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset | |
| --s3-sign-accept-encoding | |
| در صورتی تنظیم شود که rclone باید Accept-Encoding را به عنوان بخشی از امضا بگنجاند. | |
| اگر میخواهید از گنجاندن Accept-Encoding به عنوان بخشی از امضا توسط rclone جلوگیری کنید، میتوانید این گزینه را تغییر دهید. | |
| این مورد در عملکرد عادی نباید ضروری باشد. | |
| این مقدار باید برای تمامی ارائهدهندگانی که rclone میشناسد به طور خودکار و صحیح تنظیم شود - اگر اینگونه نیست، لطفاً یک گزارش باگ ارسال کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: sign_accept_encoding | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_SIGN_ACCEPT_ENCODING | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset | |
| --s3-directory-bucket | |
| جهت استفاده از AWS Directory Buckets تنظیم شود | |
| اگر از یک AWS Directory Bucket استفاده میکنید، این پرچم را تنظیم نمایید. | |
| این گزینه تضمین میکند که هیچ سرایند Content-Md5 ارسال نشود و اطمینان میدهد که سرایندهای ETag به عنوان مقادیر مجموع MD5 تفسیر نشوند. | |
| سرایند X-Amz-Meta-Md5chksum روی تمام اشیاء، چه به صورت تکبخشی یا چندبخشی (multipart) بارگذاری شده باشند، تنظیم خواهد شد. | |
| این مورد همچنین no_check_bucket = true را تنظیم میکند. | |
| توجه داشته باشید که Directory Buckets از موارد زیر پشتیبانی نمیکنند: | |
| • 2 | |
| نسخهبندی (Versioning) | |
| • 2 | |
| Content-Encoding: gzip | |
| محدودیتهای rclone در کار با Directory Buckets: | |
| • 2 | |
| برنامه rclone در حال حاضر از ایجاد Directory Buckets با | |
| rclone mkdir | |
| • 2 | |
| ... | |
| یا حذف آنها با rclone rmdir پشتیبانی نمیکند | |
| • 2 | |
| هنگام اجرای rclone lsf در بالاترین سطح، Directory Buckets نمایش داده نمیشوند. | |
| • 2 | |
| برنامه rclone هنوز قادر به حذف پوشههای ایجادشده به صورت خودکار نیست. | |
| از نظر تئوری این مورد باید با directory_markers = true کار کند اما | |
| کار نمیکند. | |
| • 2 | |
| به نظر میرسد پوشهها در فهرستهای بازگشتی (ListR) ظاهر نمیشوند. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: directory_bucket | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_DIRECTORY_BUCKET | |
| • 2 | |
| ارائهدهنده: AWS | |
| • 2 | |
| نوع: bool | |
| • 2 | |
| پیشفرض: false.SS --s3-sdk-log-mode | |
| تنظیم برای اشکالزدایی SDK | |
| این گزینه میتواند با فهرستی از توابع زیر که با کاما از هم جدا شدهاند تنظیم شود: | |
| • 2 | |
| Signing | |
| • 2 | |
| Retries | |
| • 2 | |
| Request | |
| • 2 | |
| RequestWithBody | |
| • 2 | |
| Response | |
| • 2 | |
| ResponseWithBody | |
| • 2 | |
| DeprecatedUsage | |
| • 2 | |
| RequestEventMessage | |
| • 2 | |
| ResponseEventMessage | |
| از Off برای غیرفعالسازی و از All برای فعالسازی تمامی سطوح لاگ استفاده کنید. | |
| برای مشاهده لاگهای سطح اشکالزدایی (debug) باید از -vv استفاده کنید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: sdk_log_mode | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_SDK_LOG_MODE | |
| • 2 | |
| نوع: Bits | |
| • 2 | |
| پیشفرض: Off | |
| --s3-ibm-iam-endpoint | |
| نقطه پایانی (Endpoint) سامانه IBM IAM برای استفاده در احراز هویت. | |
| برای استفاده از نقطه پایانی عمومی پیشفرض، آن را خالی بگذارید. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: ibm_iam_endpoint | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_IBM_IAM_ENDPOINT | |
| • 2 | |
| ارائهدهنده: IBMCOS | |
| • 2 | |
| نوع: string | |
| • 2 | |
| الزامی: false | |
| --s3-object-lock-mode | |
| حالت Object Lock برای اعمال هنگام بارگذاری یا کپی اشیاء. | |
| این گزینه را برای اعمال حالت ماندگاری Object Lock روی اشیاء تنظیم کنید. | |
| در صورت عدم تنظیم، هیچ حالت Object Lock اعمال نمیشود (حتی همراه با --metadata). | |
| نکته: برای فعالسازی ماندگاری Object Lock، باید هر دو مورد | |
| object_lock_mode و object_lock_retain_until_date را تنظیم کنید. | |
| تنظیم تنها یکی از آنها هیچ تأثیری ندارد. | |
| • 2 | |
| GOVERNANCE: تنظیم حالت Object Lock به GOVERNANCE | |
| • 2 | |
| COMPLIANCE: تنظیم حالت Object Lock به COMPLIANCE | |
| • 2 | |
| copy: کپی حالت از شیء مبدأ (نیازمند --metadata) | |
| ببینید: | |
| https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: object_lock_mode | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_OBJECT_LOCK_MODE | |
| • 2 | |
| نوع: string | |
| • 2 | |
| الزامی: false | |
| • 2 | |
| مثالها: | |
| 2 | |
| • 2 | |
| "GOVERNANCE" | |
| 2 | |
| • 2 | |
| تنظیم حالت Object Lock به GOVERNANCE | |
| • 2 | |
| "COMPLIANCE" | |
| 2 | |
| • 2 | |
| تنظیم حالت Object Lock به COMPLIANCE | |
| • 2 | |
| "copy" | |
| 2 | |
| • 2 | |
| کپی از شیء مبدأ (نیازمند --metadata) | |
| تاریخ نگهداری قفل شیء (Object Lock retention until date) برای اعمال هنگام بارگذاری یا رونوشت اشیاء. | |
| این گزینه را برای اعمال تاریخ نگهداری قفل شیء روی اشیاء تنظیم کنید. | |
| در صورت عدم تنظیم، هیچ تاریخ نگهداری اعمال نخواهد شد (حتی با --metadata). | |
| نکته: برای فعالسازی نگهداری قفل شیء، باید هر دو مورد | |
| object_lock_mode و object_lock_retain_until_date را تنظیم کنید. | |
| تنظیم تنها یکی از آنها هیچ اثری ندارد. | |
| مقادیر قابل قبول: - قالب RFC 3339: 2030-01-02T15:04:05Z - مدتزمان از اکنون: | |
| 365d، 1y، 6M (روز، سال، ماه) - copy: رونوشت تاریخ از شیء مبدأ | |
| (نیازمند --metadata) | |
| ببینید: | |
| https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: object_lock_retain_until_date | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_OBJECT_LOCK_RETAIN_UNTIL_DATE | |
| • 2 | |
| نوع: string | |
| • 2 | |
| الزامی: false | |
| • 2 | |
| مثالها: | |
| 2 | |
| • 2 | |
| "copy" | |
| 2 | |
| • 2 | |
| رونوشت از شیء مبدأ (نیازمند --metadata) | |
| • 2 | |
| "2030-01-01T00:00:00Z" | |
| 2 | |
| • 2 | |
| تنظیم تاریخ مشخص (قالب RFC 3339) | |
| • 2 | |
| "365d" | |
| 2 | |
| • 2 | |
| تنظیم نگهداری برای ۳۶۵ روز از اکنون | |
| • 2 | |
| "1y" | |
| 2 | |
| • 2 | |
| تنظیم نگهداری برای ۱ سال از اکنون | |
| --s3-object-lock-legal-hold-status | |
| وضعیت توقیف قانونی قفل شیء (Object Lock legal hold status) برای اعمال هنگام بارگذاری یا رونوشت اشیاء. | |
| این گزینه را برای اعمال توقیف قانونی قفل شیء روی اشیاء تنظیم کنید. | |
| در صورت عدم تنظیم، هیچ توقیف قانونی اعمال نمیشود (حتی با --metadata). | |
| نکته: توقیف قانونی مستقل از نگهداری است و میتواند بهطور جداگانه تنظیم شود. | |
| • 2 | |
| ON: فعالسازی توقیف قانونی | |
| • 2 | |
| OFF: غیرفعالسازی توقیف قانونی | |
| • 2 | |
| copy: رونوشت وضعیت توقیف قانونی از شیء مبدأ (نیازمند | |
| --metadata) | |
| ببینید: | |
| https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: object_lock_legal_hold_status | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_OBJECT_LOCK_LEGAL_HOLD_STATUS | |
| • 2 | |
| نوع: string | |
| • 2 | |
| الزامی: false | |
| • 2 | |
| مثالها: | |
| 2 | |
| • 2 | |
| "ON" | |
| 2 | |
| • 2 | |
| فعالسازی توقیف قانونی | |
| • 2 | |
| "OFF" | |
| 2 | |
| • 2 | |
| غیرفعالسازی توقیف قانونی | |
| • 2 | |
| "copy" | |
| 2 | |
| • 2 | |
| رونوشت از شیء مبدأ (نیازمند --metadata) | |
| اجازه حذف یا ویرایش اشیاء قفلشده با حالت GOVERNANCE را میدهد. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: bypass_governance_retention | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_BYPASS_GOVERNANCE_RETENTION | |
| • 2 | |
| نوع: bool | |
| • 2 | |
| پیشفرض: false | |
| --s3-object-lock-set-after-upload | |
| تنظیم Object Lock از طریق فراخوانیهای جداگانهٔ API پس از بارگذاری. | |
| از این گزینه برای ارائهدهندگان سازگار با S3 استفاده کنید که از تنظیم هدرهای | |
| Object Lock در طول عملیاتهای PUT پشتیبانی نمیکنند. | |
| هنگام فعال بودن، Object Lock پس از تکمیل بارگذاری، از طریق فراخوانیهای جداگانهٔ | |
| PutObjectRetention و PutObjectLegalHold در API تنظیم میشود. | |
| این کار فراخوانیهای اضافی API را به ازای هر شیء اضافه میکند، بنابراین تنها | |
| در صورتی آن را فعال کنید که ارائهدهندهٔ شما به آن نیاز داشته باشد. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: object_lock_set_after_upload | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_OBJECT_LOCK_SET_AFTER_UPLOAD | |
| • 2 | |
| نوع: bool | |
| • 2 | |
| پیشفرض: false | |
| --s3-object-lock-supported | |
| اینکه آیا ارائهدهنده از S3 Object Lock پشتیبانی میکند یا خیر. | |
| این مقدار باید true، false یا برای استفاده از پیشفرض ارائهدهنده، | |
| تنظیمنشده (unset) رها شود. | |
| برای ارائهدهندگانی که به طور کامل از API مربوط به S3 Object Lock | |
| پشتیبانی نمیکنند، روی false تنظیم کنید (به عنوان مثال | |
| GCS که از هدرهای غیراستاندارد برای bypass governance retention استفاده میکند و | |
| Legal Hold را از طریق S3 API پیادهسازی نکرده است). | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: object_lock_supported | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_OBJECT_LOCK_SUPPORTED | |
| • 2 | |
| نوع: Tristate | |
| • 2 | |
| پیشفرض: unset | |
| --s3-description | |
| توضیحات remote. | |
| ویژگیها: | |
| • 2 | |
| پیکربندی: description | |
| • 2 | |
| متغیر محیطی: RCLONE_S3_DESCRIPTION | |
| • 2 | |
| نوع: string | |
| • 2 | |
| الزامی: false | |
| متاداده (Metadata) | |
| متادادههای کاربر به عنوان کلیدهای x-amz-meta- ذخیره میشوند. | |
| کلیدهای متادادهٔ S3 به بزرگی و کوچکی حروف حساس نیستند و همیشه با حروف | |
| کوچک برگردانده میشوند. | |
| در اینجا موارد متادادههای سیستمی ممکن برای بکاند s3 آمده است. | |
| tab( | ); |
| lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n). | |
| نام | راهنما |
| نوع | |
| T} | مثال |
| فقطخواندنی | |
| T} | |
| btime | زمان پیدایش (ایجاد) فایل که از هدر Last-Modified خوانده میشود |
| RFC 3339 | |
| T} | 2006-01-02T15:04:05.999999999Z07:00 |
| Y | |
| T} | |
| cache-control | هدر Cache-Control |
| string | |
| T} | no-cache |
| N | |
| T} | |
| content-disposition | هدر Content-Disposition |
| string | |
| T} | inline |
| N | |
| T} | |
| content-encoding | هدر Content-Encoding |
| string | |
| T} | gzip |
| N | |
| T} | |
| content-language | هدر Content-Language |
| string | |
| T} | en-US |
| N | |
| T} | |
| content-type | هدر Content-Type |
| string | |
| T} | text/plain |
| N | |
| T} | |
| mtime | زمان آخرین تغییر، خواندهشده از متادادههای rclone |
| RFC 3339 | |
| T} | 2006-01-02T15:04:05.999999999Z07:00 |
| N | |
| T} | |
| object-lock-legal-hold-status | وضعیت توقیف قانونی (legal hold) در Object Lock: مقدار ON یا OFF |
| string | |
| T} | OFF |
| N | |
| T} | |
| object-lock-mode | حالت Object Lock: مقدار GOVERNANCE یا COMPLIANCE |
| string | |
| T} | GOVERNANCE |
| N | |
| T} | |
| object-lock-retain-until-date | تاریخ نگهداری تا زمان مشخص در Object Lock |
| RFC 3339 | |
| T} | 2030-01-02T15:04:05Z |
| N | |
| T} | |
| tier | سطح (Tier) شیء |
| string | |
| T} | GLACIER |
| Y | |
| T} | |
| برای اطلاعات بیشتر مستندات metadata (https://rclone.org/docs/#metadata) را ببینید. | |
| دستورهای Backend | |
| در اینجا دستورهای ویژه backend مربوط به s3 آورده شدهاند. | |
| آنها را با دستور زیر اجرا کنید: | |
| rclone backend COMMAND remote: |
| راهنمای زیر توضیح خواهد داد که هر دستور چه آرگومانهایی میگیرد. |
| برای اطلاعات بیشتر درباره نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید. |
| اینها را میتوان با استفاده از دستور rc به صورت backend/command (https://rclone.org/rc/#backend-command) روی یک backend در حال اجرا، اجرا کرد. |
| restore |
| بازیابی شیءها از رده آرشیو GLACIER یا INTELLIGENT-TIERING. |
| rclone backend restore remote: [options] [<arguments>+] |
| این دستور میتواند برای بازیابی یک یا چند شیء از GLACIER به فضای ذخیرهسازی عادی یا از رده Archive Access / Deep Archive Access در INTELLIGENT-TIERING به رده Frequent Access استفاده شود. |
| مثالهای کاربرد: |
| rclone backend restore s3:bucket/path/to/ --include /object -o priority=PRIORITY -o lifetime=DAYS |
| rclone backend restore s3:bucket/path/to/directory -o priority=PRIORITY -o lifetime=DAYS |
| rclone backend restore s3:bucket -o priority=PRIORITY -o lifetime=DAYS |
| rclone backend restore s3:bucket/path/to/directory -o priority=PRIORITY |
| این پرچم همچنین از فیلترها پیروی میکند. |
| ابتدا با پرچمهای --interactive/-i یا --dry-run آزمایش کنید. |
| rclone --interactive backend restore --include "*.txt" s3:bucket/path -o priority=Standard -o lifetime=1 |
| تمام شیءهای نمایشدادهشده برای بازیابی نشانهگذاری خواهند شد، سپس: |
| rclone backend restore --include "*.txt" s3:bucket/path -o priority=Standard -o lifetime=1 |
| این دستور فهرستی از دیکشنریهای وضعیت را با کلیدهای Remote و Status بازمیگرداند. |
| در صورت موفقیتآمیز بودن مقدار Status برابر با OK و در غیر این صورت یک پیام خطا خواهد بود. |
| [ |
| { |
| "Status": "OK", |
| "Remote": "test.txt" |
| }, |
| { |
| "Status": "OK", |
| "Remote": "test/file4.txt" |
| } |
| ] |
| گزینهها: |
| • 2 |
| "description": توضیحات اختیاری برای این کار. |
| • 2 |
| "lifetime": طول عمر نسخه فعال به روز؛ برای فضای ذخیرهسازی |
| INTELLIGENT-TIERING نادیده گرفته میشود. |
| • 2 |
| "priority": اولویت بازیابی: Standard|Expedited|Bulk.SS restore-status |
| نمایش وضعیت اشیایی که از GLACIER یا INTELLIGENT-TIERING در حال بازیابی هستند. |
| rclone backend restore-status remote: [options] [<arguments>+] |
| این دستور میتواند برای نمایش وضعیت اشیایی که از GLACIER به فضای ذخیرهسازی عادی یا از لایههای Archive Access / Deep Archive Access در INTELLIGENT-TIERING به لایهٔ Frequent Access در حال بازیابی هستند استفاده شود. |
| مثالهای استفاده: |
| rclone backend restore-status s3:bucket/path/to/object |
| rclone backend restore-status s3:bucket/path/to/directory |
| rclone backend restore-status -o all s3:bucket/path/to/directory |
| این دستور از فیلترها پیروی نمیکند. |
| این دستور فهرستی از دیکشنریهای وضعیت را برمیگرداند: |
| [ |
| { |
| "Remote": "file.txt", |
| "VersionID": null, |
| "RestoreStatus": { |
| "IsRestoreInProgress": true, |
| "RestoreExpiryDate": "2023-09-06T12:29:19+01:00" |
| }, |
| "StorageClass": "GLACIER" |
| }, |
| { |
| "Remote": "test.pdf", |
| "VersionID": null, |
| "RestoreStatus": { |
| "IsRestoreInProgress": false, |
| "RestoreExpiryDate": "2023-09-06T12:29:19+01:00" |
| }, |
| "StorageClass": "DEEP_ARCHIVE" |
| }, |
| { |
| "Remote": "test.gz", |
| "VersionID": null, |
| "RestoreStatus": { |
| "IsRestoreInProgress": true, |
| "RestoreExpiryDate": "null" |
| }, |
| "StorageClass": "INTELLIGENT_TIERING" |
| } |
| ] |
| گزینهها: |
| • 2 |
| "all": در صورت تنظیم، همهٔ اشیاء نمایش داده میشوند، نه فقط مواردی که وضعیت بازیابی دارند. |
| list-multipart-uploads |
| فهرست کردن بارگذاریهای چندبخشی (multipart uploads) ناتمام. |
| rclone backend list-multipart-uploads remote: [options] [<arguments>+] |
| این دستور بارگذاریهای چندبخشی ناتمام را در قالب JSON فهرست میکند. |
| مثالهای استفاده: |
| rclone backend list-multipart s3:bucket/path/to/object |
| این دستور دیکشنریای از باکتها (buckets) را برمیگرداند که مقادیر آن فهرستی از بارگذاریهای چندبخشی ناتمام است. |
| میتوانید آن را بدون باکت فراخوانی کنید که در این صورت همهٔ باکتها را فهرست میکند، یا با یک باکت، یا با یک باکت و مسیر. |
| { |
| "rclone": [ |
| { |
| "Initiated": "2020-06-26T14:20:36Z", |
| "Initiator": { |
| "DisplayName": "XXX", |
| "ID": "arn:aws:iam::XXX:user/XXX" |
| }, |
| "Key": "KEY", |
| "Owner": { |
| "DisplayName": null, |
| "ID": "XXX" |
| }, |
| "StorageClass": "STANDARD", |
| "UploadId": "XXX" |
| } |
| ], |
| "rclone-1000files": [], |
| "rclone-dst": [] |
| } |
| حذف بارگذاریهای چندبخشی ناتمام. |
| rclone backend cleanup remote: [options] [<arguments>+] |
| این دستور بارگذاریهای چندبخشی ناتمام با قدمت بیش از |
| max-age را که بهطور پیشفرض ۲۴ ساعت است، حذف میکند. |
| توجه داشته باشید که میتوانید از --interactive/-i یا --dry-run به همراه این دستور استفاده کنید تا |
| ببینید چه عملیاتی انجام خواهد شد. |
| مثالهای کاربرد: |
| rclone backend cleanup s3:bucket/path/to/object |
| rclone backend cleanup -o max-age=7w s3:bucket/path/to/object |
| مدتزمانها مانند سایر بخشهای rclone تجزیه میشوند؛ مانند 2h، 7d، 7w و غیره. |
| گزینهها: |
| • 2 |
| "max-age": بیشینهٔ قدمت بارگذاری برای حذف. |
| cleanup-hidden |
| حذف نسخههای قدیمی فایلها. |
| rclone backend cleanup-hidden remote: [options] [<arguments>+] |
| این دستور تمام نسخههای قدیمی پنهانِ فایلها را در یک باکت با |
| نسخهبندی فعال حذف میکند. |
| توجه داشته باشید که میتوانید از --interactive/-i یا --dry-run به همراه این دستور استفاده کنید تا |
| ببینید چه عملیاتی انجام خواهد شد. |
| مثال کاربرد: |
| rclone backend cleanup-hidden s3:bucket/path/to/dir |
| versioning |
| تنظیم/دریافت پشتیبانی از نسخهبندی برای یک باکت. |
| rclone backend versioning remote: [options] [<arguments>+] |
| این دستور در صورت ارسال یک پارامتر، پشتیبانی از نسخهبندی را تنظیم میکند و سپس |
| وضعیت فعلی نسخهبندی را برای باکت ارائهشده بازمیگرداند. |
| مثالهای کاربرد: |
| rclone backend versioning s3:bucket # read status only |
| rclone backend versioning s3:bucket Enabled |
| rclone backend versioning s3:bucket Suspended |
| این دستور ممکن است "Enabled"، "Suspended" یا |
| "Unversioned" را بازگرداند. |
| توجه داشته باشید که پس از فعالسازی نسخهبندی، وضعیت نمیتواند دوباره |
| به "Unversioned" بازگردانده شود..SS set |
| دستور set برای بهروزرسانی پارامترهای پیکربندی. |
| rclone backend set remote: [options] [<arguments>+] |
| از این دستور set میتوان برای بهروزرسانی پارامترهای پیکربندی یک backend در حال اجرای s3 استفاده کرد. |
| مثالهای کاربرد: |
| rclone backend set s3: [-o opt_name=opt_value] [-o opt_name2=opt_value2] |
| rclone rc backend/command command=set fs=s3: [-o opt_name=opt_value] [-o opt_name2=opt_value2] |
| rclone rc backend/command command=set fs=s3: -o session_token=X -o access_key_id=X -o secret_access_key=X |
| نام کلیدهای گزینهها همانند نام آنها در فایل پیکربندی است. |
| این دستور در صورت فراخوانی با پارامترهای جدید، اتصال به backend مربوط به s3 را دوباره برقرار میکند. |
| تنها نیاز است پارامترهای جدید ارسال شوند، چرا که سایر مقادیر بهطور پیشفرض برابر با مقادیر در حال استفاده خواهند بود. |
| این دستور خروجی خاصی برنمیگرداند. |
| دسترسی ناشناس به باکتهای عمومی |
| اگر میخواهید از rclone برای دسترسی به یک باکت عمومی استفاده کنید، آن را با مقادیر خالی برای access_key_id و secret_access_key پیکربندی نمایید. |
| پیکربندی شما در نهایت باید مشابه این باشد: |
| [anons3] |
| type = s3 |
| provider = AWS |
| سپس طبق معمول همراه با نام باکت عمومی از آن استفاده کنید، به عنوان مثال: |
| rclone lsd anons3:1000genomes |
| شما قادر به فهرست کردن و رونوشت برداشتن از دادهها خواهید بود، اما امکان بارگذاری داده نخواهید داشت. |
| همچنین میتوانید این کار را بهطور کامل از طریق خط فرمان انجام دهید: |
| rclone lsd :s3,provider=AWS:1000genomes |
| ارائهدهندگان (Providers) |
| AWS S3 |
| این همان ارائهدهندهای است که به عنوان مثال اصلی استفاده شده و در بخش پیکربندی بالا شرح داده شده است. |
| باکتهای دایرکتوری AWS (AWS Directory Buckets) |
| از نگارش v1.69 ابزار rclone، باکتهای دایرکتوری (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) پشتیبانی میشوند. |
| باید پارامتر پیکربندی directory_bucket = true را تنظیم کرده یا از گزینهٔ --s3-directory-bucket استفاده کنید. |
| توجه داشته باشید که rclone هنوز قادر به انجام موارد زیر نیست: |
| • 2 |
| ایجاد باکتهای دایرکتوری |
| • 2 |
| فهرست کردن باکتهای دایرکتوری |
| برای اطلاعات بیشتر پرچم --s3-directory-bucket را ببینید..SS AWS Snowball Edge |
| سختافزار AWS Snowball (https://aws.amazon.com/snowball) یک دستگاه فیزیکی است |
| که برای انتقال دادههای حجیم به AWS به کار میرود. |
| رابط نرمافزاری اصلی آن، فضای ذخیرهسازی شیء S3 است. |
| برای استفاده از rclone با دستگاههای AWS Snowball Edge، آن را به صورت استاندارد برای |
| یک 'S3 Compatible Service' پیکربندی کنید. |
| اگر از rclone پیش از نگارش v1.59 استفاده میکنید، حتماً upload_cutoff = 0 را |
| تنظیم کنید؛ در غیر این صورت با خطاهای سرآیند احراز هویت روبرو خواهید شد، چرا که |
| دستگاه snowball از احراز هویت بر پایه پارامتر کوئری پشتیبانی نمیکند. |
| در rclone نگارش v1.59 یا بالاتر، نیازی به تنظیم upload_cutoff |
| نخواهد بود. |
| برای نمونه: |
| [snowball] |
| type = s3 |
| provider = Other |
| access_key_id = YOUR_ACCESS_KEY |
| secret_access_key = YOUR_SECRET_KEY |
| endpoint = http://[IP of Snowball]:8080 |
| upload_cutoff = 0 |
| Alibaba OSS |
| در اینجا مثالی از انجام پیکربندی برای Alibaba Cloud (Aliyun) |
| OSS (https://www.alibabacloud.com/product/oss) آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> oss |
| Type of storage to configure. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ "s3" |
| [snip] |
| Storage> s3 |
| Choose your S3 provider. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Amazon Web Services (AWS) S3 |
| \ "AWS" |
| 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun |
| \ "Alibaba" |
| 3 / Ceph Object Storage |
| \ "Ceph" |
| [snip] |
| provider> Alibaba |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| access_key_id> accesskeyid |
| AWS Secret Access Key (password) |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| secret_access_key> secretaccesskey |
| Endpoint for OSS API. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / East China 1 (Hangzhou) |
| \ "oss-cn-hangzhou.aliyuncs.com" |
| 2 / East China 2 (Shanghai) |
| \ "oss-cn-shanghai.aliyuncs.com" |
| 3 / North China 1 (Qingdao) |
| \ "oss-cn-qingdao.aliyuncs.com" |
| [snip] |
| endpoint> 1 |
| Canned ACL used when creating buckets and storing or copying objects. |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Owner gets FULL_CONTROL. No one else has access rights (default). |
| \ "private" |
| 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. |
| \ "public-read" |
| / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. |
| [snip] |
| acl> 1 |
| The storage class to use when storing new objects in OSS. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Default |
| \ "" |
| 2 / Standard storage class |
| \ "STANDARD" |
| 3 / Archive storage mode. |
| \ "GLACIER" |
| 4 / Infrequent access storage mode. |
| \ "STANDARD_IA" |
| storage_class> 1 |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No |
| y/n> n |
| Remote config |
| -------------------- |
| [oss] |
| type = s3 |
| provider = Alibaba |
| env_auth = false |
| access_key_id = accesskeyid |
| secret_access_key = secretaccesskey |
| endpoint = oss-cn-hangzhou.aliyuncs.com |
| acl = private |
| storage_class = Standard |
| -------------------- |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| ArvanCloud (https://www.arvancloud.com/en/products/cloud-storage) |
| سرویس ذخیرهسازی شیءمحور ArvanCloud (Object Storage) فراتر از فضای محدود و سنتی ذخیرهسازی فایل عمل میکند. |
| این سرویس دسترسی به فایلهای پشتیبان و بایگانیشده را فراهم کرده و امکان بهاشتراکگذاری آنها را ممکن میسازد. |
| فایلهایی مانند تصویر پروفایل در برنامه، تصاویر ارسالشده توسط کاربران یا اسناد اسکنشده میتوانند بهسادگی و با امنیت بالا در سرویس Object Storage ذخیره شوند. |
| ArvanCloud یک رابط S3 ارائه میدهد که میتواند برای استفاده با rclone به صورت زیر پیکربندی شود. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| name> ArvanCloud |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio) |
| \ "s3" |
| [snip] |
| Storage> s3 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID - leave blank for anonymous access or runtime credentials. |
| access_key_id> YOURACCESSKEY |
| AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. |
| secret_access_key> YOURSECRETACCESSKEY |
| Region to connect to. |
| Choose a number from below, or type in your own value |
| / The default endpoint - a good choice if you are unsure. |
| 1 | US Region, Northern Virginia, or Pacific Northwest. |
| | Leave location constraint empty. |
| \ "us-east-1" |
| [snip] |
| region> |
| Endpoint for S3 API. |
| Leave blank if using ArvanCloud to use the default endpoint for the region. |
| Specify if using an S3 clone such as Ceph. |
| endpoint> s3.arvanstorage.com |
| Location constraint - must be set to match the Region. Used when creating buckets only. |
| Choose a number from below, or type in your own value |
| 1 / Empty for Iran-Tehran Region. |
| \ "" |
| [snip] |
| location_constraint> |
| Canned ACL used when creating buckets and/or storing objects in S3. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Choose a number from below, or type in your own value |
| 1 / Owner gets FULL_CONTROL. No one else has access rights (default). |
| \ "private" |
| [snip] |
| acl> |
| The server-side encryption algorithm used when storing this object in S3. |
| Choose a number from below, or type in your own value |
| 1 / None |
| \ "" |
| 2 / AES256 |
| \ "AES256" |
| server_side_encryption> |
| The storage class to use when storing objects in S3. |
| Choose a number from below, or type in your own value |
| 1 / Default |
| \ "" |
| 2 / Standard storage class |
| \ "STANDARD" |
| storage_class> |
| Remote config |
| -------------------- |
| [ArvanCloud] |
| env_auth = false |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| region = ir-thr-at1 |
| endpoint = s3.arvanstorage.com |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| -------------------- |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این پیکربندی باعث میشود فایل تنظیمات به شکل زیر درآید: |
| [ArvanCloud] |
| type = s3 |
| provider = ArvanCloud |
| env_auth = false |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| region = |
| endpoint = s3.arvanstorage.com |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| سرویس Bizfly Cloud Simple Storage (https://bizflycloud.vn/simple-storage) یک |
| سرویس سازگار با S3 همراه با ناحیههایی در هانوی (HN) و شهر هوشیمین |
| (HCM) است. |
| از نقطه پایانی (endpoint) مربوط به ناحیه خود استفاده کنید: |
| • 2 |
| HN: hn.ss.bfcplatform.vn |
| • 2 |
| HCM: hcm.ss.bfcplatform.vn |
| یک پیکربندی کمینه شبیه به این خواهد بود: |
| [bizfly] |
| type = s3 |
| provider = BizflyCloud |
| env_auth = false |
| access_key_id = YOUR_ACCESS_KEY |
| secret_access_key = YOUR_SECRET_KEY |
| region = HN |
| endpoint = hn.ss.bfcplatform.vn |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| برای شهر هوشیمین، region و endpoint را به HCM و |
| hcm.ss.bfcplatform.vn تغییر دهید. |
| Ceph |
| سامانه Ceph (https://ceph.com) یک سیستم ذخیرهسازی توزیعشده، یکپارچه |
| و متنباز است که برای کارایی عالی، قابلیت اطمینان و مقیاسپذیری طراحی شده است. |
| این سیستم یک رابط ذخیرهسازی شیء سازگار با S3 دارد. |
| برای استفاده از rclone با Ceph، مانند بالا عمل کنید اما مقدار region را خالی |
| بگذارید و endpoint را تنظیم نمایید. |
| در نهایت فایل پیکربندی شما باید شبیه به این باشد: |
| [ceph] |
| type = s3 |
| provider = Ceph |
| env_auth = false |
| access_key_id = XXX |
| secret_access_key = YYY |
| region = |
| endpoint = https://ceph.endpoint.example.com |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| اگر از نسخه قدیمیتری از CEPH (مانند |
| 10.2.x Jewel) و نسخهای از rclone پیش از v1.59 استفاده میکنید، ممکن است نیاز |
| باشد پارامتر --s3-upload-cutoff 0 را مشخص کنید یا آن را بهصورت |
| upload_cutoff 0 در فایل پیکربندی قرار دهید تا اشکالی را که |
| باعث شکست در بارگذاری فایلهای کوچک میشود، دور بزنید. |
| همچنین توجه داشته باشید که Ceph گاهی در گذرواژههایی که به کاربران |
| میدهد از / استفاده میکند. |
| اگر کلید دسترسی محرمانه را با استفاده از ابزارهای خط فرمان بخوانید، یک خروجی JSON |
| دریافت خواهید کرد که در آن / بهصورت \/ گریز داده شده است. |
| اطمینان حاصل کنید که در کلید دسترسی محرمانه فقط / را مینویسید. |
| برای مثال، خروجی ساختار Ceph شبیه به این خواهد بود (کلیدهای نامربوط |
| حذف شدهاند): |
| { |
| "user_id": "xxx", |
| "display_name": "xxxx", |
| "keys": [ |
| { |
| "user": "xxx", |
| "access_key": "xxxxxx", |
| "secret_key": "xxxxxx\/xxxx" |
| } |
| ], |
| } |
| به این دلیل که این یک خروجی json است، / را بهصورت |
| \/ کدگذاری میکند؛ بنابراین اگر از کلید محرمانه بهصورت xxxxxx/xxxx |
| استفاده کنید، بهدرستی کار خواهد کرد..SS China Mobile Ecloud Elastic Object Storage (EOS) |
| در اینجا مثالی از ایجاد پیکربندی برای China Mobile Ecloud Elastic Object |
| Storage (EOS) (https://ecloud.10086.cn/home/product-introduction/eos) |
| آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> ChinaMobile |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| ... |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| ... |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| ... |
| 4 / China Mobile Ecloud Elastic Object Storage (EOS) |
| \ (ChinaMobile) |
| ... |
| provider> ChinaMobile |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> accesskeyid |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> secretaccesskey |
| Option endpoint. |
| Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / The default endpoint - a good choice if you are unsure. |
| 1 | East China (Suzhou) |
| \ (eos-wuxi-1.cmecloud.cn) |
| 2 / East China (Jinan) |
| \ (eos-jinan-1.cmecloud.cn) |
| 3 / East China (Hangzhou) |
| \ (eos-ningbo-1.cmecloud.cn) |
| 4 / East China (Shanghai-1) |
| \ (eos-shanghai-1.cmecloud.cn) |
| 5 / Central China (Zhengzhou) |
| \ (eos-zhengzhou-1.cmecloud.cn) |
| 6 / Central China (Changsha-1) |
| \ (eos-hunan-1.cmecloud.cn) |
| 7 / Central China (Changsha-2) |
| \ (eos-zhuzhou-1.cmecloud.cn) |
| 8 / South China (Guangzhou-2) |
| \ (eos-guangzhou-1.cmecloud.cn) |
| 9 / South China (Guangzhou-3) |
| \ (eos-dongguan-1.cmecloud.cn) |
| 10 / North China (Beijing-1) |
| \ (eos-beijing-1.cmecloud.cn) |
| 11 / North China (Beijing-2) |
| \ (eos-beijing-2.cmecloud.cn) |
| 12 / North China (Beijing-3) |
| \ (eos-beijing-4.cmecloud.cn) |
| 13 / North China (Huhehaote) |
| \ (eos-huhehaote-1.cmecloud.cn) |
| 14 / Southwest China (Chengdu) |
| \ (eos-chengdu-1.cmecloud.cn) |
| 15 / Southwest China (Chongqing) |
| \ (eos-chongqing-1.cmecloud.cn) |
| 16 / Southwest China (Guiyang) |
| \ (eos-guiyang-1.cmecloud.cn) |
| 17 / Nouthwest China (Xian) |
| \ (eos-xian-1.cmecloud.cn) |
| 18 / Yunnan China (Kunming) |
| \ (eos-yunnan.cmecloud.cn) |
| 19 / Yunnan China (Kunming-2) |
| \ (eos-yunnan-2.cmecloud.cn) |
| 20 / Tianjin China (Tianjin) |
| \ (eos-tianjin-1.cmecloud.cn) |
| 21 / Jilin China (Changchun) |
| \ (eos-jilin-1.cmecloud.cn) |
| 22 / Hubei China (Xiangyan) |
| \ (eos-hubei-1.cmecloud.cn) |
| 23 / Jiangxi China (Nanchang) |
| \ (eos-jiangxi-1.cmecloud.cn) |
| 24 / Gansu China (Lanzhou) |
| \ (eos-gansu-1.cmecloud.cn) |
| 25 / Shanxi China (Taiyuan) |
| \ (eos-shanxi-1.cmecloud.cn) |
| 26 / Liaoning China (Shenyang) |
| \ (eos-liaoning-1.cmecloud.cn) |
| 27 / Hebei China (Shijiazhuang) |
| \ (eos-hebei-1.cmecloud.cn) |
| 28 / Fujian China (Xiamen) |
| \ (eos-fujian-1.cmecloud.cn) |
| 29 / Guangxi China (Nanning) |
| \ (eos-guangxi-1.cmecloud.cn) |
| 30 / Anhui China (Huainan) |
| \ (eos-anhui-1.cmecloud.cn) |
| endpoint> 1 |
| Option location_constraint. |
| Location constraint - must match endpoint. |
| Used when creating buckets only. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / East China (Suzhou) |
| \ (wuxi1) |
| 2 / East China (Jinan) |
| \ (jinan1) |
| 3 / East China (Hangzhou) |
| \ (ningbo1) |
| 4 / East China (Shanghai-1) |
| \ (shanghai1) |
| 5 / Central China (Zhengzhou) |
| \ (zhengzhou1) |
| 6 / Central China (Changsha-1) |
| \ (hunan1) |
| 7 / Central China (Changsha-2) |
| \ (zhuzhou1) |
| 8 / South China (Guangzhou-2) |
| \ (guangzhou1) |
| 9 / South China (Guangzhou-3) |
| \ (dongguan1) |
| 10 / North China (Beijing-1) |
| \ (beijing1) |
| 11 / North China (Beijing-2) |
| \ (beijing2) |
| 12 / North China (Beijing-3) |
| \ (beijing4) |
| 13 / North China (Huhehaote) |
| \ (huhehaote1) |
| 14 / Southwest China (Chengdu) |
| \ (chengdu1) |
| 15 / Southwest China (Chongqing) |
| \ (chongqing1) |
| 16 / Southwest China (Guiyang) |
| \ (guiyang1) |
| 17 / Nouthwest China (Xian) |
| \ (xian1) |
| 18 / Yunnan China (Kunming) |
| \ (yunnan) |
| 19 / Yunnan China (Kunming-2) |
| \ (yunnan2) |
| 20 / Tianjin China (Tianjin) |
| \ (tianjin1) |
| 21 / Jilin China (Changchun) |
| \ (jilin1) |
| 22 / Hubei China (Xiangyan) |
| \ (hubei1) |
| 23 / Jiangxi China (Nanchang) |
| \ (jiangxi1) |
| 24 / Gansu China (Lanzhou) |
| \ (gansu1) |
| 25 / Shanxi China (Taiyuan) |
| \ (shanxi1) |
| 26 / Liaoning China (Shenyang) |
| \ (liaoning1) |
| 27 / Hebei China (Shijiazhuang) |
| \ (hebei1) |
| 28 / Fujian China (Xiamen) |
| \ (fujian1) |
| 29 / Guangxi China (Nanning) |
| \ (guangxi1) |
| 30 / Anhui China (Huainan) |
| \ (anhui1) |
| location_constraint> 1 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| / Owner gets FULL_CONTROL. |
| 3 | The AllUsers group gets READ and WRITE access. |
| | Granting this on a bucket is generally not recommended. |
| \ (public-read-write) |
| / Owner gets FULL_CONTROL. |
| 4 | The AuthenticatedUsers group gets READ access. |
| \ (authenticated-read) |
| / Object owner gets FULL_CONTROL. |
| acl> private |
| Option server_side_encryption. |
| The server-side encryption algorithm used when storing this object in S3. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / None |
| \ () |
| 2 / AES256 |
| \ (AES256) |
| server_side_encryption> |
| Option storage_class. |
| The storage class to use when storing new objects in ChinaMobile. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Default |
| \ () |
| 2 / Standard storage class |
| \ (STANDARD) |
| 3 / Archive storage mode |
| \ (GLACIER) |
| 4 / Infrequent access storage mode |
| \ (STANDARD_IA) |
| storage_class> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| -------------------- |
| [ChinaMobile] |
| type = s3 |
| provider = ChinaMobile |
| access_key_id = accesskeyid |
| secret_access_key = secretaccesskey |
| endpoint = eos-wuxi-1.cmecloud.cn |
| location_constraint = wuxi1 |
| acl = private |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| .fi |
| Cloudflare R2 |
| فضای ذخیرهسازی Cloudflare R2 (https://blog.cloudflare.com/r2-open-beta) به توسعهدهندگان اجازه میدهد تا مقادیر زیادی از دادههای بدون ساختار را بدون هزینههای گزاف پهنای باند خروجی که معمولاً با سرویسهای معمولی ذخیرهسازی ابری همراه است، ذخیره کنند. |
| در اینجا مثالی از ایجاد یک پیکربندی Cloudflare R2 آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این فرمان شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| توجه داشته باشید که تمام باکتها خصوصی هستند و همگی در همان ناحیهٔ "auto" ذخیره میشوند. |
| برای به اشتراکگذاری عمومی محتوای یک باکت، استفاده از Cloudflare workers ضروری است. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> r2 |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| ... |
| XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Lyve Cloud, Minio, Magalu, Netease, RackCorp, Scaleway, SeaweedFS, Storj, Synology, Tencent COS and Wasabi |
| \ (s3) |
| ... |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| ... |
| XX / Cloudflare R2 Storage |
| \ (Cloudflare) |
| ... |
| provider> Cloudflare |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option region. |
| Region to connect to. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / R2 buckets are automatically distributed across Cloudflare's data centers for low latency. |
| \ (auto) |
| region> 1 |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Enter a value. Press Enter to leave empty. |
| endpoint> https://ACCOUNT_ID.r2.cloudflarestorage.com |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این کار باعث میشود پیکربندی شما چیزی شبیه به این باشد: |
| [r2] |
| type = s3 |
| provider = Cloudflare |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_ACCESS_KEY |
| region = auto |
| endpoint = https://ACCOUNT_ID.r2.cloudflarestorage.com |
| acl = private |
| اکنون برای دیدن باکتهای خود rclone lsf r2: و برای مشاهدهٔ درون یک باکت rclone lsf r2:bucket را اجرا کنید. |
| برای توکنهای R2 با مجوز "Object Read & Write"، ممکن است لازم باشد no_check_bucket = true را نیز اضافه کنید تا بارگذاری اشیاء به درستی کار کند. |
| توجه داشته باشید که Cloudflare فایلهای بارگذاریشده با Content-Encoding: gzip را به طور پیشفرض از حالت فشرده خارج میکند که این رفتار با عملکرد AWS متفاوت است. |
| اگر این موضوع باعث ایجاد مشکل میشود، فایلها را با --header-upload "Cache-Control: no-transform" بارگذاری کنید. |
| پیامد این امر آن است که Content-Encoding: gzip هرگز در متادیتا در Cloudflare ظاهر نخواهد شد..SS Cubbit DS3 |
| فضای ذخیرهسازی شیء Cubbit (https://www.cubbit.io/ds3-cloud) یک پلتفرم ابری ذخیرهسازی شیء با توزیع جغرافیایی است. |
| برای اتصال به Cubbit DS3 به یک جفت کلید دسترسی (access key) و کلید محرمانه (secret key) نیاز خواهید داشت. |
| میتوانید برای دریافت این کلیدها از این |
| راهنما (https://docs.cubbit.io/getting-started/quickstart#api-keys) پیروی کنید. |
| هنگامی که rclone config آنها را درخواست کرد، به این کلیدها نیاز خواهد بود. |
| ناحیه پیشفرض معادل eu-west-1 خواهد بود و نقطه پایانی (endpoint) |
| باید به صورت s3.cubbit.eu مشخص شود. |
| اگر یک نقطه پایانی سفارشی برای مستأجر (tenant) تنظیم کردهاید، باید از |
| s3.{tenant_name}.cubbit.eu استفاده کنید، زیرا نقطه پایانی عمومی |
| s3.cubbit.eu در این حالت کار نخواهد کرد. |
| در طول کل فرایند ایجاد یک ریموت جدید با اجرای |
| rclone config، به هر اعلان باید همانطور که در زیر نشان داده شده پاسخ داده شود: |
| name> cubbit-ds3 (or any name you like) |
| Storage> s3 |
| provider> Cubbit |
| env_auth> false |
| access_key_id> YOUR_ACCESS_KEY |
| secret_access_key> YOUR_SECRET_KEY |
| region> eu-west-1 (or leave empty) |
| endpoint> s3.cubbit.eu (or s3.{tenant_name}.cubbit.eu) |
| acl> |
| فایل پیکربندی حاصل باید شبیه به این باشد: |
| [cubbit-ds3] |
| type = s3 |
| provider = Cubbit |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_KEY |
| region = eu-west-1 |
| endpoint = s3.cubbit.eu |
| سپس میتوانید استفاده از Cubbit DS3 را با rclone آغاز کنید. |
| به عنوان مثال، برای ایجاد یک باکت (bucket) جدید و کپی کردن فایلها در آن، میتوانید اجرا کنید: |
| rclone mkdir cubbit-ds3:my-bucket |
| rclone copy /path/to/files cubbit-ds3:my-bucket |
| DigitalOcean Spaces |
| سرویس Spaces (https://www.digitalocean.com/products/object-storage) یک سرویس ذخیرهسازی شیء |
| سازگار با S3 (https://developers.digitalocean.com/documentation/spaces) |
| از ارائهدهنده ابری DigitalOcean است. |
| برای اتصال به DigitalOcean Spaces به یک کلید دسترسی (access key) و کلید محرمانه |
| (secret key) نیاز خواهید داشت. |
| این کلیدها را میتوان در برگه Applications & |
| API (https://cloud.digitalocean.com/settings/api/tokens) در کنترلپنل |
| DigitalOcean دریافت کرد. |
| هنگامی که rclone config مقادیر |
| access_key_id و secret_access_key را درخواست میکند، به آنها نیاز خواهد بود. |
| هنگامی که اعلان مربوط به region یا location_constraint نمایش داده شد، |
| کلید enter را فشار دهید تا مقدار پیشفرض اعمال شود. |
| ناحیه باید در تنظیمات endpoint گنجانده شود (مانند |
| nyc3.digitaloceanspaces.com). |
| برای سایر تنظیمات میتوان از مقادیر پیشفرض استفاده کرد. |
| در طول کل فرایند ایجاد یک ریموت جدید با اجرای |
| rclone config، به هر اعلان باید همانطور که در زیر نشان داده شده پاسخ داده شود: |
| Storage> s3 |
| env_auth> 1 |
| access_key_id> YOUR_ACCESS_KEY |
| secret_access_key> YOUR_SECRET_KEY |
| region> |
| endpoint> nyc3.digitaloceanspaces.com |
| location_constraint> |
| acl> |
| storage_class> |
| فایل پیکربندی حاصل باید شبیه به این باشد: |
| [spaces] |
| type = s3 |
| provider = DigitalOcean |
| env_auth = false |
| access_key_id = YOUR_ACCESS_KEY |
| secret_access_key = YOUR_SECRET_KEY |
| region = |
| endpoint = nyc3.digitaloceanspaces.com |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| پس از پیکربندی، میتوانید یک Space جدید بسازید و کپی کردن فایلها را آغاز کنید. |
| به عنوان مثال: |
| rclone mkdir spaces:my-new-space |
| rclone copy /path/to/files spaces:my-new-space |
| سرویس Dreamhost DreamObjects (https://www.dreamhost.com/cloud/storage) یک سامانه ذخیرهسازی شیء مبتنی بر CEPH است. |
| برای استفاده از rclone با Dreamhost، پیکربندی را مطابق بالا انجام دهید اما فیلد region را خالی گذاشته و endpoint را تنظیم کنید. |
| در نهایت پرونده پیکربندی شما باید شبیه به این باشد: |
| [dreamobjects] |
| type = s3 |
| provider = DreamHost |
| env_auth = false |
| access_key_id = your_access_key |
| secret_access_key = your_secret_key |
| region = |
| endpoint = objects-us-west-1.dream.io |
| location_constraint = |
| acl = private |
| server_side_encryption = |
| storage_class = |
| Exaba |
| سرویس Exaba (https://exaba.com) یک سامانه ذخیرهسازی محلی (on-premises) و سازگار با S3 برای ارائهدهندگان خدمات و سازمانهای بزرگ است. |
| استقرار آن سریع بوده و دارای مدیریت پویای گرهها، حسابداری چندمستأجری (tenant accounting) و سامانه مدیریت کلید توکار است. |
| این سرویس ذخیرهسازی امن و با کارایی بالای دادهها را به همراه قیمتگذاری انعطافپذیر و مبتنی بر مصرف فراهم میکند. |
| یک نسخه کانتینری با نام exaba/exaba (https://hub.docker.com/r/exaba/exaba) برای کاربران نهایی رایگان است و میتوانید دستورالعملهای راهاندازی آن را در همان صفحه بیابید. |
| برای راهاندازی کانتینر، ابتدا باید وارد بخش مدیریت (بهطور پیشفرض روی پورت 9006) شوید، سپس میتوانید از خدمات روی پورت 9000 استفاده کنید. |
| در صورت نیاز به راهنمایی بیشتر، میتوانید به کانال اسلک پشتیبانی exaba |
| (https://join.slack.com/t/exabasupport/shared_invite/zt-3b5jycjs3-0gDNyv60xKsAdNgjX72amQ) |
| نیز بپیوندید. |
| مراحل اجرای تعاملی دستور rclone config ممکن است شبیه به نمونه زیر باشد، اما جزئیات بسته به نحوه دقیق راهاندازی کانتینر توسط شما ممکن است متفاوت باشد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> exaba |
| Option Storage. |
| Type of storage to configure. |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| provider> Exaba |
| Option env_auth. |
| env_auth> 1 |
| Option access_key_id. |
| access_key_id> XXX |
| Option secret_access_key. |
| secret_access_key> YYY |
| Option region. |
| region> |
| Option endpoint. |
| endpoint> http://127.0.0.1:9000 |
| Option location_constraint. |
| location_constraint> |
| Option acl. |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| و پیکربندی تولیدشده در نهایت به این شکل خواهد بود: |
| [exaba] |
| type = s3 |
| provider = Exaba |
| access_key_id = XXX |
| secret_access_key = XXX |
| endpoint = http://127.0.0.1:9000 |
| سرویس Fastly Object Storage (https://www.fastly.com/products/storage) یک سرویس ذخیرهسازی شیء سازگار با S3 از Fastly است. |
| این سرویس سه منطقه (US East، US West و EU Central) را به همراه رمزنگاری اجباری سمت سرور فراهم میکند. |
| در اینجا مثالی از ایجاد یک پیکربندی آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> fastly |
| Option Storage. |
| Type of storage to configure. |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| provider> Fastly |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| env_auth> false |
| Option access_key_id. |
| AWS Access Key ID. |
| access_key_id> YOUR_ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| secret_access_key> YOUR_SECRET_KEY |
| Option region. |
| Region where your bucket will be created and your data stored. |
| region> us-east |
| Option endpoint. |
| Endpoint for S3 API. |
| endpoint> us-east.object.fastlystorage.app |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Fastly |
| - access_key_id: YOUR_ACCESS_KEY |
| - secret_access_key: YOUR_SECRET_KEY |
| - region: us-east |
| - endpoint: us-east.object.fastlystorage.app |
| Keep this "fastly" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| فایل پیکربندی حاصل باید به صورت زیر باشد: |
| [fastly] |
| type = s3 |
| provider = Fastly |
| access_key_id = YOUR_ACCESS_KEY |
| secret_access_key = YOUR_SECRET_KEY |
| region = us-east |
| endpoint = us-east.object.fastlystorage.app |
| سرویس GoogleCloudStorage (https://cloud.google.com/storage/docs) یک سرویس |
| ذخیرهسازی شیء با قابلیت همکنشپذیری با S3 (https://cloud.google.com/storage/docs/interoperability) |
| از Google Cloud Platform است. |
| برای اتصال به Google Cloud Storage به یک کلید دسترسی (access key) و یک کلید |
| محرمانه (secret key) نیاز خواهید داشت. |
| این کلیدها را میتوان با ساخت یک کلید |
| HMAC (https://cloud.google.com/storage/docs/authentication/managing-hmackeys) دریافت کرد. |
| [gs] |
| type = s3 |
| provider = GCS |
| access_key_id = your_access_key |
| secret_access_key = your_secret_key |
| endpoint = https://storage.googleapis.com |
| توجه داشته باشید که گزینهٔ --s3-versions هنگام نیاز به |
| صفحهبندی دایرکتوری (directory paging) با GCS کار نمیکند. |
| در این حالت Rclone خطای زیر را بازمیگرداند: |
| s3 protocol error: received versions listing with IsTruncated set with no NextKeyMarker |
| این مورد مربوط به باگ شمارهٔ |
| #312292516 (https://issuetracker.google.com/u/0/issues/312292516) در گوگل است. |
| ذخیرهسازی شیء هتزنر (Hetzner Object Storage) |
| در ادامه یک نمونه از ایجاد پیکربندی برای Hetzner Object |
| Storage (https://www.hetzner.com/storage/object-storage) آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> my-hetzner |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, Hetzner, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, Storj, Synology, TencentCOS, Wasabi, Qiniu and others |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Hetzner Object Storage |
| \ (Hetzner) |
| [snip] |
| provider> Hetzner |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_KEY |
| Option region. |
| Region to connect to. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Helsinki |
| \ (hel1) |
| 2 / Falkenstein |
| \ (fsn1) |
| 3 / Nuremberg |
| \ (nbg1) |
| region> |
| Option endpoint. |
| Endpoint for Hetzner Object Storage |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Helsinki |
| \ (hel1.your-objectstorage.com) |
| 2 / Falkenstein |
| \ (fsn1.your-objectstorage.com) |
| 3 / Nuremberg |
| \ (nbg1.your-objectstorage.com) |
| endpoint> |
| Option location_constraint. |
| Location constraint - must be set to match the Region. |
| Leave blank if not sure. Used when creating buckets only. |
| Enter a value. Press Enter to leave empty. |
| location_constraint> |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Hetzner |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_KEY |
| Keep this "my-hetzner" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> |
| Current remotes: |
| Name Type |
| ==== ==== |
| my-hetzner s3 |
| e) Edit existing remote |
| n) New remote |
| d) Delete remote |
| r) Rename remote |
| c) Copy remote |
| s) Set configuration password |
| q) Quit config |
| e/n/d/r/c/s/q> |
| در نتیجه، فایل پیکربندی به این شکل خواهد بود: |
| [my-hetzner] |
| type = s3 |
| provider = Hetzner |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_KEY |
| region = hel1 |
| endpoint = hel1.your-objectstorage.com |
| acl = private |
| در اینجا نمونهای از انجام پیکربندی برای Hitachi Content Platform |
| (HCP) (https://www.hitachivantara.com/en-us/products/storage/content-platform.html) |
| آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این کار شما را در طول یک فرایند راهاندازی تعاملی هدایت خواهد کرد. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> my-hcp |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HCP, Hetzner, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, Storj, Synology, TencentCOS, Wasabi, Qiniu and others |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Hitachi Content Platform (HCP) |
| \ (HCP) |
| [snip] |
| provider> HCP |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_KEY |
| Option endpoint. |
| Endpoint for HCP S3 compatible API. |
| Enter a value. Press Enter to leave empty. |
| endpoint> https://hcp.example.com |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: HCP |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_KEY |
| - endpoint: https://hcp.example.com |
| Keep this "my-hcp" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> |
| Current remotes: |
| Name Type |
| ==== ==== |
| my-hcp s3 |
| e) Edit existing remote |
| n) New remote |
| d) Delete remote |
| r) Rename remote |
| c) Copy remote |
| s) Set configuration password |
| q) Quit config |
| e/n/d/r/c/s/q> |
| این کار باعث میشود فایل پیکربندی بدین صورت شکل بگیرد: |
| [my-hcp] |
| type = s3 |
| provider = HCP |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_KEY |
| endpoint = https://hcp.example.com |
| این محدودیتها در HCP نسخهٔ 9.7.x مشاهده شدهاند. |
| اشیای دایرکتوری خودکار |
| هنگامی که یک شیء ذخیره میشود، HCP بهطور خودکار اشیای دایرکتوری صفر-بایتی (کلیدهایی که به |
| / ختم میشوند) را برای هر بخش از مسیر ایجاد میکند. |
| این اشیای دایرکتوری بهصورت داخلی توسط HCP مدیریت میشوند: حذف یکی از آنها از طریق |
| S3 API آن را حذف نمیکند، بلکه یک نشانگر حذف (delete marker) با یک |
| شناسهٔ نسخهٔ ویژه (-3) ایجاد میکند که خودش قابل حذف نیست. |
| در نتیجه، rclone نمیتواند یک باکت را در HCP بهطور کامل پاکسازی (purge) کند — اشیای |
| دایرکتوری باقیمانده پس از یک عملیات purge یا |
| delete باقی خواهند ماند. |
| خروج شفاف از فشردهسازی gzip |
| سرویس HCP پیش از ذخیرهسازی اشیایی که با Content-Encoding: gzip بارگذاری شدهاند، آنها را |
| بهصورت شفاف از فشردهسازی خارج میکند (https://docs.hitachivantara.com/r/en-us/content-platform/9.6.x/mk-95hcph002/using-the-hitachi-api-for-amazon-s3/working-with-objects/creating-an-object). |
| این بدان معناست که شیء ذخیرهشده حاوی دادههای خام (فشردهنشده) است، در حالی |
| که Content-MD5 ارسالشده توسط rclone بر روی بایتهای فشرده محاسبه شده بود. |
| سرویس HCP چنین بارگذاریهایی را با خطای BadDigest رد خواهد کرد. |
| برای جلوگیری از این امر، هنگام استفاده از HCP مقدار content-encoding: gzip را در |
| فرادادههای شیء تنظیم نکنید. |
| "Huawei OBS" |
| سرویس Object Storage Service (OBS) یک ذخیرهسازی ابری پایدار، امن، کارآمد و با |
| کاربری آسان ارائه میدهد که به شما امکان میدهد تقریباً هر حجم از دادههای |
| ساختارنیافته را در هر قالبی ذخیره کرده و از هر کجایی به آن دسترسی داشته باشید. |
| سرویس OBS یک رابط S3 ارائه میدهد؛ میتوانید پیکربندی زیر را کپی و ویرایش کرده |
| و آن را به فایل پیکربندی rclone خود اضافه کنید. |
| [obs] |
| type = s3 |
| provider = HuaweiOBS |
| access_key_id = your-access-key-id |
| secret_access_key = your-secret-access-key |
| region = af-south-1 |
| endpoint = obs.af-south-1.myhuaweicloud.com |
| acl = private |
| یا همچنین میتوانید از طریق خط فرمان تعاملی اقدام به پیکربندی کنید: |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> obs |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| 9 / Huawei Object Storage Service |
| \ (HuaweiOBS) |
| [snip] |
| provider> 9 |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> your-access-key-id |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> your-secret-access-key |
| Option region. |
| Region to connect to. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / AF-Johannesburg |
| \ (af-south-1) |
| 2 / AP-Bangkok |
| \ (ap-southeast-2) |
| [snip] |
| region> 1 |
| Option endpoint. |
| Endpoint for OBS API. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / AF-Johannesburg |
| \ (obs.af-south-1.myhuaweicloud.com) |
| 2 / AP-Bangkok |
| \ (obs.ap-southeast-2.myhuaweicloud.com) |
| [snip] |
| endpoint> 1 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| [snip] |
| acl> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| -------------------- |
| [obs] |
| type = s3 |
| provider = HuaweiOBS |
| access_key_id = your-access-key-id |
| secret_access_key = your-secret-access-key |
| region = af-south-1 |
| endpoint = obs.af-south-1.myhuaweicloud.com |
| acl = private |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Current remotes: |
| Name Type |
| ==== ==== |
| obs s3 |
| e) Edit existing remote |
| n) New remote |
| d) Delete remote |
| r) Rename remote |
| c) Copy remote |
| s) Set configuration password |
| q) Quit config |
| e/n/d/r/c/s/q> q |
| اطلاعات ذخیرهشده در IBM Cloud Object Storage رمزگذاری شده و در چندین موقعیت جغرافیایی توزیع میشوند و از طریق پیادهسازی API مربوط به S3 قابل دسترسی هستند. |
| این سرویس از فناوریهای ذخیرهسازی توزیعشده ارائهشده توسط IBM’s Cloud Object Storage System (که پیشتر Cleversafe نامیده میشد) بهره میبرد. |
| برای اطلاعات بیشتر ببینید: http://www.ibm.com/cloud/object-storage |
| برای پیکربندی دسترسی به IBM COS S3، مراحل زیر را دنبال کنید: |
| " 1." 4 |
| دستور rclone config را اجرا کرده و گزینه n را برای یک ریموت جدید انتخاب کنید. |
| 4 |
| 2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| " 2." 4 |
| نامی برای پیکربندی وارد کنید. |
| 4 |
| name> <YOUR NAME> |
| " 3." 4 |
| فضای ذخیرهسازی "s3" را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ "s3" |
| [snip] |
| Storage> s3 |
| " 4." 4 |
| گزینه IBM COS را به عنوان ارائهدهنده فضای ذخیرهسازی S3 انتخاب کنید. |
| 4 |
| Choose the S3 provider. |
| Choose a number from below, or type in your own value |
| 1 / Choose this option to configure Storage to AWS S3 |
| \ "AWS" |
| 2 / Choose this option to configure Storage to Ceph Systems |
| \ "Ceph" |
| 3 / Choose this option to configure Storage to Dreamhost |
| \ "Dreamhost" |
| 4 / Choose this option to the configure Storage to IBM COS S3 |
| \ "IBMCOS" |
| 5 / Choose this option to the configure Storage to Minio |
| \ "Minio" |
| Provider>4 |
| " 5." 4 |
| کلید دسترسی (Access Key) و Secret را وارد کنید. |
| 4 |
| AWS Access Key ID - leave blank for anonymous access or runtime credentials. |
| access_key_id> <> |
| AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. |
| secret_access_key> <> |
| " 6." 4 |
| نقطه پایانی (endpoint) را برای IBM COS مشخص کنید. |
| برای IBM COS عمومی (Public)، از گزینههای زیر انتخاب کنید. |
| برای IBM COS محلی (On Premise)، یک نشانی endpoint وارد کنید. |
| 4 |
| Endpoint for IBM COS S3 API. |
| Specify if using an IBM COS On Premise. |
| Choose a number from below, or type in your own value |
| 1 / US Cross Region Endpoint |
| \ "s3-api.us-geo.objectstorage.softlayer.net" |
| 2 / US Cross Region Dallas Endpoint |
| \ "s3-api.dal.us-geo.objectstorage.softlayer.net" |
| 3 / US Cross Region Washington DC Endpoint |
| \ "s3-api.wdc-us-geo.objectstorage.softlayer.net" |
| 4 / US Cross Region San Jose Endpoint |
| \ "s3-api.sjc-us-geo.objectstorage.softlayer.net" |
| 5 / US Cross Region Private Endpoint |
| \ "s3-api.us-geo.objectstorage.service.networklayer.com" |
| 6 / US Cross Region Dallas Private Endpoint |
| \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com" |
| 7 / US Cross Region Washington DC Private Endpoint |
| \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com" |
| 8 / US Cross Region San Jose Private Endpoint |
| \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com" |
| 9 / US Region East Endpoint |
| \ "s3.us-east.objectstorage.softlayer.net" |
| 10 / US Region East Private Endpoint |
| \ "s3.us-east.objectstorage.service.networklayer.com" |
| 11 / US Region South Endpoint |
| [snip] |
| 34 / Toronto Single Site Private Endpoint |
| \ "s3.tor01.objectstorage.service.networklayer.com" |
| endpoint>1 |
| " 7." 4 |
| محدودیت مکان (Location Constraint) را برای IBM COS مشخص کنید. |
| هنگام استفاده از IBM Cloud عمومی (Public)، محدودیت مکان باید با endpoint مطابقت داشته باشد. |
| برای COS محلی (on-prem)، گزینهای از این فهرست انتخاب نکرده و کلید enter را فشار دهید. |
| 4 |
| 1 / US Cross Region Standard |
| \ "us-standard" |
| 2 / US Cross Region Vault |
| \ "us-vault" |
| 3 / US Cross Region Cold |
| \ "us-cold" |
| 4 / US Cross Region Flex |
| \ "us-flex" |
| 5 / US East Region Standard |
| \ "us-east-standard" |
| 6 / US East Region Vault |
| \ "us-east-vault" |
| 7 / US East Region Cold |
| \ "us-east-cold" |
| 8 / US East Region Flex |
| \ "us-east-flex" |
| 9 / US South Region Standard |
| \ "us-south-standard" |
| 10 / US South Region Vault |
| \ "us-south-vault" |
| [snip] |
| 32 / Toronto Flex |
| \ "tor01-flex" |
| location_constraint>1 |
| " 8." 4 |
| یک canned ACL مشخص کنید. |
| سرویس IBM Cloud (Storage) از "public-read" و |
| "private" پشتیبانی میکند. |
| سرویس IBM Cloud(Infra) از تمام canned ACLها پشتیبانی میکند. |
| سرویس On-Premise COS از تمام canned ACLها پشتیبانی میکند. |
| 4 |
| Canned ACL used when creating buckets and/or storing objects in S3. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Choose a number from below, or type in your own value |
| 1 / Owner gets FULL_CONTROL. No one else has access rights (default). This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise COS |
| \ "private" |
| 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise IBM COS |
| \ "public-read" |
| 3 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. This acl is available on IBM Cloud (Infra), On-Premise IBM COS |
| \ "public-read-write" |
| 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. Not supported on Buckets. This acl is available on IBM Cloud (Infra) and On-Premise IBM COS |
| \ "authenticated-read" |
| acl> 1 |
| پیکربندی نمایشدادهشده را بررسی کرده و برای ذخیرهٔ "remote" تأیید کنید، سپس خارج شوید. |
| فایل پیکربندی باید شبیه به این باشد |
| 4 |
| [xxx] |
| type = s3 |
| Provider = IBMCOS |
| access_key_id = xxx |
| secret_access_key = yyy |
| endpoint = s3-api.us-geo.objectstorage.softlayer.net |
| location_constraint = us-standard |
| acl = private |
| "10." 4 |
| دستورهای rclone را اجرا کنید |
| 1) Create a bucket. |
| rclone mkdir IBM-COS-XREGION:newbucket |
| 2) List available buckets. |
| rclone lsd IBM-COS-XREGION: |
| -1 2017-11-08 21:16:22 -1 test |
| -1 2018-02-14 20:16:39 -1 newbucket |
| 3) List contents of a bucket. |
| rclone ls IBM-COS-XREGION:newbucket |
| 18685952 test.exe |
| 4) Copy a file from local to remote. |
| rclone copy /Users/file.txt IBM-COS-XREGION:newbucket |
| 5) Copy a file from remote to local. |
| rclone copy IBM-COS-XREGION:newbucket/file.txt . |
| 6) Delete a file on remote. |
| rclone delete IBM-COS-XREGION:newbucket/file.txt |
| احراز هویت IBM IAM |
| در صورت استفاده از احراز هویت IBM IAM با IBM API KEY، لازم است این پارامترهای اضافی را تکمیل کنید |
| "1." 3 |
| برای env_auth مقدار false را انتخاب کنید |
| "2." 3 |
| مقدارهای access_key_id و secret_access_key را خالی بگذارید |
| "3." 3 |
| مقدار ibm_api_key خود را جایگذاری کنید |
| 4 |
| Option ibm_api_key. |
| IBM API Key to be used to obtain IAM token |
| Enter a value of type string. Press Enter for the default (1). |
| ibm_api_key> |
| "4." 3 |
| مقدار ibm_resource_instance_id خود را جایگذاری کنید |
| 4 |
| Option ibm_resource_instance_id. |
| IBM service instance id |
| Enter a value of type string. Press Enter for the default (2). |
| ibm_resource_instance_id> |
| "5." 3 |
| در تنظیمات پیشرفته برای v2_auth مقدار true را تایپ کنید |
| 4 |
| Option v2_auth. |
| If true use v2 authentication. |
| If this is false (the default) then rclone will use v4 authentication. |
| If it is set then rclone will use v2 authentication. |
| Use this only if v4 signatures don't work, e.g. pre Jewel/v10 CEPH. |
| Enter a boolean value (true or false). Press Enter for the default (true). |
| v2_auth> |
| در اینجا مثالی از ایجاد یک پیکربندی IDrive e2 (https://www.idrive.com/e2) آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> e2 |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / IDrive e2 |
| \ (IDrive) |
| [snip] |
| provider> IDrive |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> YOUR_ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> YOUR_SECRET_KEY |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| / Owner gets FULL_CONTROL. |
| 3 | The AllUsers group gets READ and WRITE access. |
| | Granting this on a bucket is generally not recommended. |
| \ (public-read-write) |
| / Owner gets FULL_CONTROL. |
| 4 | The AuthenticatedUsers group gets READ access. |
| \ (authenticated-read) |
| / Object owner gets FULL_CONTROL. |
| 5 | Bucket owner gets READ access. |
| | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-read) |
| / Both the object owner and the bucket owner get FULL_CONTROL over the object. |
| 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-full-control) |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: IDrive |
| - access_key_id: YOUR_ACCESS_KEY |
| - secret_access_key: YOUR_SECRET_KEY |
| - endpoint: q9d9.la12.idrivee2-5.com |
| Keep this "e2" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Impossible Cloud (https://www.impossiblecloud.com) یک ارائهدهنده اروپایی ذخیرهسازی اشیاء سازگار با S3 با ناحیههایی در اروپا و ایالات متحده است. |
| نکته: Impossible Cloud فیلدهای فراداده سیستمی Cache-Control، |
| Content-Disposition، Content-Encoding یا |
| Content-Language را هنگام واکشی حفظ نمیکند، حتی اگر در زمان بارگذاری |
| تنظیم شده باشند. |
| از آنجا که سربرگ پاسخ Content-Encoding نیز حذف میشود، |
| پرچم --s3-decompress هیچ تأثیری بر اشیاء ذخیرهشده در آنجا |
| نخواهد داشت. |
| سایر فرادادهها مانند Content-Type و زمان تغییر، به صورت عادی |
| حفظ و بازگردانده میشوند. |
| در اینجا یک نمونه از ایجاد پیکربندی برای Impossible Cloud آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این کار شما را در یک فرآیند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> my-impossible-cloud |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, Hetzner, HuaweiOBS, IBMCOS, IDrive, ImpossibleCloud, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, Storj, Synology, TencentCOS, Wasabi, Qiniu and others |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Impossible Cloud Object Storage |
| \ (ImpossibleCloud) |
| [snip] |
| provider> ImpossibleCloud |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_KEY |
| Option region. |
| Region to connect to. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Frankfurt, Germany |
| \ (eu-central-2) |
| 2 / Amsterdam, Netherlands |
| \ (eu-west-1) |
| 3 / London, UK |
| \ (eu-west-2) |
| 4 / Paris, France |
| \ (eu-west-3) |
| 5 / Poznań, Poland |
| \ (eu-east-1) |
| 6 / Copenhagen, Denmark |
| \ (eu-north-1) |
| 7 / New York, USA |
| \ (us-east-1) |
| region> 1 |
| Option endpoint. |
| Endpoint for Impossible Cloud Object Storage |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Frankfurt, Germany |
| \ (eu-central-2.storage.impossibleapi.net) |
| 2 / Amsterdam, Netherlands |
| \ (eu-west-1.storage.impossibleapi.net) |
| 3 / London, UK |
| \ (eu-west-2.storage.impossibleapi.net) |
| 4 / Paris, France |
| \ (eu-west-3.storage.impossibleapi.net) |
| 5 / Poznań, Poland |
| \ (eu-east-1.storage.impossibleapi.net) |
| 6 / Copenhagen, Denmark |
| \ (eu-north-1.storage.impossibleapi.net) |
| 7 / New York, USA |
| \ (us-east-1.storage.impossibleapi.net) |
| endpoint> 1 |
| Option location_constraint. |
| Location constraint - must be set to match the Region. |
| Leave blank if not sure. Used when creating buckets only. |
| Enter a value. Press Enter to leave empty. |
| location_constraint> |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: ImpossibleCloud |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_KEY |
| - region: eu-central-2 |
| - endpoint: eu-central-2.storage.impossibleapi.net |
| Keep this "my-impossible-cloud" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> |
| Current remotes: |
| Name Type |
| ==== ==== |
| my-impossible-cloud s3 |
| e) Edit existing remote |
| n) New remote |
| d) Delete remote |
| r) Rename remote |
| c) Copy remote |
| s) Set configuration password |
| q) Quit config |
| e/n/d/r/c/s/q> |
| در نتیجه، فایل پیکربندی به شکل زیر خواهد بود: |
| [my-impossible-cloud] |
| type = s3 |
| provider = ImpossibleCloud |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_KEY |
| region = eu-central-2 |
| endpoint = eu-central-2.storage.impossibleapi.net |
| acl = private |
| سرویس Intercolo Object Storage (https://intercolo.de/object-storage) یک فضای ذخیرهسازی ابری سازگار با S3، با قیمتگذاری شفاف و منطبق با مقررات GDPR ارائه میدهد که در فرانکفورت آلمان میزبانی میشود. |
| در اینجا نمونهای از نحوهٔ ایجاد یک پیکربندی برای Intercolo آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> intercolo |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| xx / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| xx / Intercolo Object Storage |
| \ (Intercolo) |
| [snip] |
| provider> Intercolo |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> false |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_KEY |
| Option region. |
| Region where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Frankfurt, Germany |
| \ (de-fra) |
| region> 1 |
| Option endpoint. |
| Endpoint for Intercolo Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Frankfurt, Germany |
| \ (de-fra.i3storage.com) |
| endpoint> 1 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| [snip] |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Intercolo |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_KEY |
| - region: de-fra |
| - endpoint: de-fra.i3storage.com |
| Keep this "intercolo" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| در نهایت فایل پیکربندی به این شکل خواهد بود: |
| [intercolo] |
| type = s3 |
| provider = Intercolo |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_KEY |
| region = de-fra |
| endpoint = de-fra.i3storage.com |
| سرویس IONOS S3 Object Storage (https://cloud.ionos.com/storage/object-storage) |
| یک سرویس ارائهشده توسط IONOS برای ذخیرهسازی و دسترسی به دادههای |
| بدون ساختار است. |
| برای اتصال به این سرویس، به یک access key و یک secret key نیاز خواهید داشت. |
| این کلیدها را میتوانید در Data Center Designer (https://dcd.ionos.com) با رفتن |
| به مسیر Manager resources > Object Storage Key |
| Manager پیدا کنید. |
| در ادامه نمونهای از پیکربندی آورده شده است. |
| ابتدا دستور rclone config را اجرا کنید. |
| این کار شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| برای افزودن ریموت جدید، n را وارد کرده و سپس یک نام وارد نمایید: |
| Enter name for new remote. |
| name> ionos-fra |
| برای انتخاب نوع اتصال، s3 را تایپ کنید: |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| عبارت IONOS را وارد کنید: |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / IONOS Cloud |
| \ (IONOS) |
| [snip] |
| provider> IONOS |
| برای انتخاب گزینهٔ پیشفرض |
| Enter AWS credentials in the next step کلید Enter را فشار دهید: |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| شناسهٔ Access Key و Secret key خود را وارد نمایید. |
| این مقادیر را میتوانید از طریق Data Center |
| Designer (https://dcd.ionos.com) و کلیک روی منوی "Manager |
| resources" / "Object Storage Key Manager" دریافت کنید. |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> YOUR_ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> YOUR_SECRET_KEY |
| منطقهای (region) را که باکت شما در آن قرار دارد انتخاب کنید: |
| Option region. |
| Region where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Frankfurt, Germany |
| \ (de) |
| 2 / Berlin, Germany |
| \ (eu-central-2) |
| 3 / Logrono, Spain |
| \ (eu-south-2) |
| region> 2 |
| نقطهٔ پایانی (endpoint) مربوط به همان منطقه را انتخاب کنید: |
| Option endpoint. |
| Endpoint for IONOS S3 Object Storage. |
| Specify the endpoint from the same region. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Frankfurt, Germany |
| \ (s3-eu-central-1.ionoscloud.com) |
| 2 / Berlin, Germany |
| \ (s3-eu-central-2.ionoscloud.com) |
| 3 / Logrono, Spain |
| \ (s3-eu-south-2.ionoscloud.com) |
| endpoint> 1 |
| برای انتخاب گزینه پیشفرض کلید Enter را فشار دهید یا تنظیمات ACL |
| مورد نظر خود را تعیین کنید: |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| [snip] |
| acl> |
| برای صرفنظر از پیکربندی پیشرفته، کلید Enter را فشار دهید: |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| برای ذخیره پیکربندی کلید Enter را فشار دهید، و سپس با فشردن q از فرایند |
| پیکربندی خارج شوید: |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: IONOS |
| - access_key_id: YOUR_ACCESS_KEY |
| - secret_access_key: YOUR_SECRET_KEY |
| - endpoint: s3-eu-central-1.ionoscloud.com |
| Keep this "ionos-fra" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| انجام شد! |
| اکنون میتوانید چند دستور را امتحان کنید (برای macOS، به جای rclone از ./rclone استفاده کنید). |
| "1)" 3 |
| ایجاد یک باکت (نام باید در کل IONOS S3 یکتا باشد) |
| 4 |
| rclone mkdir ionos-fra:my-bucket |
| "2)" 3 |
| فهرست کردن باکتهای موجود |
| 4 |
| rclone lsd ionos-fra: |
| "3)" 3 |
| کپی یک فایل از محلی به ریموت |
| 4 |
| rclone copy /Users/file.txt ionos-fra:my-bucket |
| "4)" 3 |
| فهرست کردن محتویات یک باکت |
| 4 |
| rclone ls ionos-fra:my-bucket |
| "5)" 3 |
| کپی یک فایل از ریموت به محلی |
| 4 |
| rclone copy ionos-fra:my-bucket/file.txt |
| ذخیرهسازی ابری شیء Leviia (Leviia Cloud Object Storage) |
| ذخیرهسازی شیء Leviia (https://www.leviia.com/object-storage)، پشتیبانگیری |
| و امنسازی دادههای شما در یک ابر ۱۰۰٪ فرانسوی و مستقل از GAFAM.. |
| برای پیکربندی دسترسی به Leviia، مراحل زیر را دنبال کنید: |
| "1." 3 |
| دستور rclone config را اجرا کرده و برای یک ریموت جدید n را انتخاب کنید. |
| 4 |
| rclone config |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| "2." 3 |
| نام پیکربندی را وارد کنید. |
| برای نمونه، نام آن را 'leviia' بگذارید. |
| 4 |
| name> leviia |
| "3." 3 |
| فضای ذخیرهسازی s3 را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| "4." 3 |
| ارائهدهندهٔ Leviia را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| 1 / Amazon Web Services (AWS) S3 |
| \ "AWS" |
| [snip] |
| 15 / Leviia Object Storage |
| \ (Leviia) |
| [snip] |
| provider> Leviia |
| "5." 3 |
| شناسهٔ SecretId و SecretKey مربوط به Leviia را وارد کنید. |
| 4 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| access_key_id> ZnIx.xxxxxxxxxxxxxxx |
| AWS Secret Access Key (password) |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| secret_access_key> xxxxxxxxxxx |
| "6." 3 |
| نقطهٔ پایانی (endpoint) را برای Leviia انتخاب کنید. |
| 4 |
| / The default endpoint |
| 1 | Leviia. |
| \ (s3.leviia.com) |
| [snip] |
| endpoint> 1 |
| "7." 3 |
| سطح دسترسی (acl) را انتخاب کنید. |
| 4 |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| [snip] |
| acl> 1 |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No (default) |
| y/n> n |
| Remote config |
| -------------------- |
| [leviia] |
| - type: s3 |
| - provider: Leviia |
| - access_key_id: ZnIx.xxxxxxx |
| - secret_access_key: xxxxxxxx |
| - endpoint: s3.leviia.com |
| - acl: private |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Current remotes: |
| Name Type |
| ==== ==== |
| leviia s3 |
| در اینجا نمونهای از ایجاد یک پیکربندی برای فضای ذخیرهسازی اشیاء لیارا (https://liara.ir/landing/object-storage) آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی هدایت خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| name> Liara |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio) |
| \ "s3" |
| [snip] |
| Storage> s3 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID - leave blank for anonymous access or runtime credentials. |
| access_key_id> YOURACCESSKEY |
| AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. |
| secret_access_key> YOURSECRETACCESSKEY |
| Region to connect to. |
| Choose a number from below, or type in your own value |
| / The default endpoint |
| 1 | US Region, Northern Virginia, or Pacific Northwest. |
| | Leave location constraint empty. |
| \ "us-east-1" |
| [snip] |
| region> |
| Endpoint for S3 API. |
| Leave blank if using Liara to use the default endpoint for the region. |
| Specify if using an S3 clone such as Ceph. |
| endpoint> storage.iran.liara.space |
| Canned ACL used when creating buckets and/or storing objects in S3. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Choose a number from below, or type in your own value |
| 1 / Owner gets FULL_CONTROL. No one else has access rights (default). |
| \ "private" |
| [snip] |
| acl> |
| The server-side encryption algorithm used when storing this object in S3. |
| Choose a number from below, or type in your own value |
| 1 / None |
| \ "" |
| 2 / AES256 |
| \ "AES256" |
| server_side_encryption> |
| The storage class to use when storing objects in S3. |
| Choose a number from below, or type in your own value |
| 1 / Default |
| \ "" |
| 2 / Standard storage class |
| \ "STANDARD" |
| storage_class> |
| Remote config |
| -------------------- |
| [Liara] |
| env_auth = false |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| endpoint = storage.iran.liara.space |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| -------------------- |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این عمل فایل پیکربندی را به شکل زیر درمیآورد: |
| [Liara] |
| type = s3 |
| provider = Liara |
| env_auth = false |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| region = |
| endpoint = storage.iran.liara.space |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| در اینجا نمونهای از ایجاد پیکربندی برای Linode Object |
| Storage (https://www.linode.com/products/object-storage) آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> linode |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ...Linode, ...and others |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Linode Object Storage |
| \ (Linode) |
| [snip] |
| provider> Linode |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option endpoint. |
| Endpoint for Linode Object Storage API. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Amsterdam (Netherlands), nl-ams-1 |
| \ (nl-ams-1.linodeobjects.com) |
| 2 / Atlanta, GA (USA), us-southeast-1 |
| \ (us-southeast-1.linodeobjects.com) |
| 3 / Chennai (India), in-maa-1 |
| \ (in-maa-1.linodeobjects.com) |
| 4 / Chicago, IL (USA), us-ord-1 |
| \ (us-ord-1.linodeobjects.com) |
| 5 / Frankfurt (Germany), eu-central-1 |
| \ (eu-central-1.linodeobjects.com) |
| 6 / Jakarta (Indonesia), id-cgk-1 |
| \ (id-cgk-1.linodeobjects.com) |
| 7 / London 2 (Great Britain), gb-lon-1 |
| \ (gb-lon-1.linodeobjects.com) |
| 8 / Los Angeles, CA (USA), us-lax-1 |
| \ (us-lax-1.linodeobjects.com) |
| 9 / Madrid (Spain), es-mad-1 |
| \ (es-mad-1.linodeobjects.com) |
| 10 / Melbourne (Australia), au-mel-1 |
| \ (au-mel-1.linodeobjects.com) |
| 11 / Miami, FL (USA), us-mia-1 |
| \ (us-mia-1.linodeobjects.com) |
| 12 / Milan (Italy), it-mil-1 |
| \ (it-mil-1.linodeobjects.com) |
| 13 / Newark, NJ (USA), us-east-1 |
| \ (us-east-1.linodeobjects.com) |
| 14 / Osaka (Japan), jp-osa-1 |
| \ (jp-osa-1.linodeobjects.com) |
| 15 / Paris (France), fr-par-1 |
| \ (fr-par-1.linodeobjects.com) |
| 16 / São Paulo (Brazil), br-gru-1 |
| \ (br-gru-1.linodeobjects.com) |
| 17 / Seattle, WA (USA), us-sea-1 |
| \ (us-sea-1.linodeobjects.com) |
| 18 / Singapore, ap-south-1 |
| \ (ap-south-1.linodeobjects.com) |
| 19 / Singapore 2, sg-sin-1 |
| \ (sg-sin-1.linodeobjects.com) |
| 20 / Stockholm (Sweden), se-sto-1 |
| \ (se-sto-1.linodeobjects.com) |
| 21 / Washington, DC, (USA), us-iad-1 |
| \ (us-iad-1.linodeobjects.com) |
| endpoint> 5 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| [snip] |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Linode |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_ACCESS_KEY |
| - endpoint: eu-central-1.linodeobjects.com |
| Keep this "linode" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| در نتیجه فایل پیکربندی به این صورت خواهد بود: |
| [linode] |
| type = s3 |
| provider = Linode |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_ACCESS_KEY |
| endpoint = eu-central-1.linodeobjects.com |
| در اینجا مثالی از ایجاد یک پیکربندی Magalu Object Storage (https://magalu.cloud/object-storage) آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> magalu |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ...Magalu, ...and others |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Magalu Object Storage |
| \ (Magalu) |
| [snip] |
| provider> Magalu |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option endpoint. |
| Endpoint for Magalu Object Storage API. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / São Paulo, SP (BR), br-se1 |
| \ (br-se1.magaluobjects.com) |
| 2 / Fortaleza, CE (BR), br-ne1 |
| \ (br-ne1.magaluobjects.com) |
| endpoint> 2 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| [snip] |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: magalu |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_ACCESS_KEY |
| - endpoint: br-ne1.magaluobjects.com |
| Keep this "magalu" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این کار باعث میشود فایل پیکربندی به این صورت درآید: |
| [magalu] |
| type = s3 |
| provider = Magalu |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_ACCESS_KEY |
| endpoint = br-ne1.magaluobjects.com |
| ذخیرهسازی شیء MEGA S4 (https://mega.io/objectstorage) یک سامانه ذخیرهسازی شیء سازگار با S3 است. |
| این سرویس دارای یک سطح قیمتگذاری واحد و بدون هزینه اضافی برای انتقال دادهها یا درخواستهای API است و در طرحهای Pro فعلی گنجانده شده است. |
| در اینجا نمونهای از نحوه انجام پیکربندی آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرآیند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> megas4 |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS,... Mega, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / MEGA S4 Object Storage |
| \ (Mega) |
| [snip] |
| provider> Mega |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> XXX |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> XXX |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Mega S4 eu-central-1 (Amsterdam) |
| \ (s3.eu-central-1.s4.mega.io) |
| 2 / Mega S4 eu-central-2 (Bettembourg) |
| \ (s3.eu-central-2.s4.mega.io) |
| 3 / Mega S4 ca-central-1 (Montreal) |
| \ (s3.ca-central-1.s4.mega.io) |
| 4 / Mega S4 ca-west-1 (Vancouver) |
| \ (s3.ca-west-1.s4.mega.io) |
| endpoint> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Mega |
| - access_key_id: XXX |
| - secret_access_key: XXX |
| - endpoint: s3.eu-central-1.s4.mega.io |
| Keep this "megas4" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| در نتیجه، فایل پیکربندی به صورت زیر خواهد بود. |
| [megas4] |
| type = s3 |
| provider = Mega |
| access_key_id = XXX |
| secret_access_key = XXX |
| endpoint = s3.eu-central-1.s4.mega.io |
| Minio (https://minio.io) یک سرور ذخیرهسازی شیء (object storage) است که برای |
| توسعهدهندگان برنامههای ابری و DevOps ساخته شده است. |
| نصب آن بسیار آسان است و یک سرور سازگار با S3 فراهم میکند که |
| میتواند توسط rclone مورد استفاده قرار گیرد. |
| برای استفاده از آن، Minio را طبق دستورالعملهای |
| اینجا (https://docs.minio.io/docs/minio-quickstart-guide) نصب کنید. |
| هنگامی که Minio پیکربندی میشود، خروجیای مشابه این چاپ خواهد کرد |
| Endpoint: http://192.168.1.106:9000 http://172.23.0.1:9000 |
| AccessKey: USWUXHGYZQYFYFFIT3RE |
| SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 |
| Region: us-east-1 |
| SQS ARNs: arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis |
| Browser Access: |
| http://192.168.1.106:9000 http://172.23.0.1:9000 |
| Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide |
| $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 |
| Object API (Amazon S3 compatible): |
| Go: https://docs.minio.io/docs/golang-client-quickstart-guide |
| Java: https://docs.minio.io/docs/java-client-quickstart-guide |
| Python: https://docs.minio.io/docs/python-client-quickstart-guide |
| JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide |
| .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide |
| Drive Capacity: 26 GiB Free, 165 GiB Total |
| این جزئیات باید به این صورت در rclone config وارد شوند. |
| توجه داشته باشید که وارد کردن region مطابق آنچه در بالا آمده، حائز اهمیت است. |
| env_auth> 1 |
| access_key_id> USWUXHGYZQYFYFFIT3RE |
| secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 |
| region> us-east-1 |
| endpoint> http://192.168.1.106:9000 |
| location_constraint> |
| server_side_encryption> |
| که باعث میشود فایل پیکربندی به این شکل درآید |
| [minio] |
| type = s3 |
| provider = Minio |
| env_auth = false |
| access_key_id = USWUXHGYZQYFYFFIT3RE |
| secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 |
| region = us-east-1 |
| endpoint = http://192.168.1.106:9000 |
| location_constraint = |
| server_side_encryption = |
| بنابراین پس از راهاندازی، برای مثال، جهت کپی کردن فایلها به یک bucket |
| rclone copy /path/to/files minio:bucket |
| Netease NOS |
| برای Netease NOS، از طریق ابزار پیکربندی |
| rclone config اقدام کرده و ارائهدهنده را روی Netease تنظیم کنید. |
| این کار بهطور خودکار مقدار force_path_style = false را تعیین میکند که |
| برای کارکرد صحیح آن ضروری است..SS Outscale |
| سرویس ذخیرهسازی شیء اوتاسکیل |
| (OOS) (https://en.outscale.com/storage/outscale-object-storage) یک |
| سرویس ذخیرهسازی در ردهٔ سازمانی و سازگار با S3 است که توسط OUTSCALE، |
| برندی از Dassault Systèmes ارائه میشود. |
| برای اطلاعات بیشتر دربارهٔ OOS، مستندات رسمی را ببینید |
| (https://docs.outscale.com/en/userguide/OUTSCALE-Object-Storage-OOS.html). |
| در اینجا نمونهای از یک پیکربندی OOS آورده شده است که میتوانید آن را در |
| فایل پیکربندی rclone خود جایگذاری کنید: |
| [outscale] |
| type = s3 |
| provider = Outscale |
| env_auth = false |
| access_key_id = ABCDEFGHIJ0123456789 |
| secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| region = eu-west-2 |
| endpoint = oos.eu-west-2.outscale.com |
| acl = private |
| همچنین میتوانید برای طی کردن مراحل راهاندازی تعاملی، rclone config |
| را اجرا کنید: |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> outscale |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| X / Amazon S3 Compliant Storage Providers including AWS, ...Outscale, ...and others |
| \ (s3) |
| [snip] |
| Storage> outscale |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / OUTSCALE Object Storage (OOS) |
| \ (Outscale) |
| [snip] |
| provider> Outscale |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ABCDEFGHIJ0123456789 |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| Option region. |
| Region where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Paris, France |
| \ (eu-west-2) |
| 2 / New Jersey, USA |
| \ (us-east-2) |
| 3 / California, USA |
| \ (us-west-1) |
| 4 / SecNumCloud, Paris, France |
| \ (cloudgouv-eu-west-1) |
| 5 / Tokyo, Japan |
| \ (ap-northeast-1) |
| region> 1 |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Outscale EU West 2 (Paris) |
| \ (oos.eu-west-2.outscale.com) |
| 2 / Outscale US east 2 (New Jersey) |
| \ (oos.us-east-2.outscale.com) |
| 3 / Outscale EU West 1 (California) |
| \ (oos.us-west-1.outscale.com) |
| 4 / Outscale SecNumCloud (Paris) |
| \ (oos.cloudgouv-eu-west-1.outscale.com) |
| 5 / Outscale AP Northeast 1 (Japan) |
| \ (oos.ap-northeast-1.outscale.com) |
| endpoint> 1 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| [snip] |
| acl> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Outscale |
| - access_key_id: ABCDEFGHIJ0123456789 |
| - secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| - endpoint: oos.eu-west-2.outscale.com |
| Keep this "outscale" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| سرویس OVHcloud Object |
| Storage (https://www.ovhcloud.com/en-ie/public-cloud/object-storage) یک |
| پلتفرم ذخیرهسازی شیء همهمنظوره و سازگار با S3 است که در تمام مناطق |
| OVHcloud در دسترس قرار دارد. |
| برای استفاده از این پلتفرم، به یک access key و secret key نیاز خواهید داشت. |
| برای کسب اطلاعات بیشتر دربارهٔ آن و نحوهٔ تعامل با این پلتفرم، مستندات آن را |
| در (https://ovh.to/8stqhuo) مشاهده کنید. |
| در اینجا نمونهای از ایجاد یک پیکربندی OVHcloud Object Storage با |
| استفاده از rclone config آورده شده است: |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> ovhcloud-rbx |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [...] |
| XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, OVHcloud, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, Storj, Synology, TencentCOS, Wasabi, Qiniu and others |
| \ (s3) |
| [...] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [...] |
| XX / OVHcloud Object Storage |
| \ (OVHcloud) |
| [...] |
| provider> OVHcloud |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> my_access |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> my_secret |
| Option region. |
| Region where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Gravelines, France |
| \ (gra) |
| 2 / Roubaix, France |
| \ (rbx) |
| 3 / Strasbourg, France |
| \ (sbg) |
| 4 / Paris, France (3AZ) |
| \ (eu-west-par) |
| 5 / Frankfurt, Germany |
| \ (de) |
| 6 / London, United Kingdom |
| \ (uk) |
| 7 / Warsaw, Poland |
| \ (waw) |
| 8 / Beauharnois, Canada |
| \ (bhs) |
| 9 / Toronto, Canada |
| \ (ca-east-tor) |
| 10 / Singapore |
| \ (sgp) |
| 11 / Sydney, Australia |
| \ (ap-southeast-syd) |
| 12 / Mumbai, India |
| \ (ap-south-mum) |
| 13 / Vint Hill, Virginia, USA |
| \ (us-east-va) |
| 14 / Hillsboro, Oregon, USA |
| \ (us-west-or) |
| 15 / Roubaix, France (Cold Archive) |
| \ (rbx-archive) |
| region> 2 |
| Option endpoint. |
| Endpoint for OVHcloud Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / OVHcloud Gravelines, France |
| \ (s3.gra.io.cloud.ovh.net) |
| 2 / OVHcloud Roubaix, France |
| \ (s3.rbx.io.cloud.ovh.net) |
| 3 / OVHcloud Strasbourg, France |
| \ (s3.sbg.io.cloud.ovh.net) |
| 4 / OVHcloud Paris, France (3AZ) |
| \ (s3.eu-west-par.io.cloud.ovh.net) |
| 5 / OVHcloud Frankfurt, Germany |
| \ (s3.de.io.cloud.ovh.net) |
| 6 / OVHcloud London, United Kingdom |
| \ (s3.uk.io.cloud.ovh.net) |
| 7 / OVHcloud Warsaw, Poland |
| \ (s3.waw.io.cloud.ovh.net) |
| 8 / OVHcloud Beauharnois, Canada |
| \ (s3.bhs.io.cloud.ovh.net) |
| 9 / OVHcloud Toronto, Canada |
| \ (s3.ca-east-tor.io.cloud.ovh.net) |
| 10 / OVHcloud Singapore |
| \ (s3.sgp.io.cloud.ovh.net) |
| 11 / OVHcloud Sydney, Australia |
| \ (s3.ap-southeast-syd.io.cloud.ovh.net) |
| 12 / OVHcloud Mumbai, India |
| \ (s3.ap-south-mum.io.cloud.ovh.net) |
| 13 / OVHcloud Vint Hill, Virginia, USA |
| \ (s3.us-east-va.io.cloud.ovh.us) |
| 14 / OVHcloud Hillsboro, Oregon, USA |
| \ (s3.us-west-or.io.cloud.ovh.us) |
| 15 / OVHcloud Roubaix, France (Cold Archive) |
| \ (s3.rbx-archive.io.cloud.ovh.net) |
| endpoint> 2 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| / Owner gets FULL_CONTROL. |
| 3 | The AllUsers group gets READ and WRITE access. |
| | Granting this on a bucket is generally not recommended. |
| \ (public-read-write) |
| / Owner gets FULL_CONTROL. |
| 4 | The AuthenticatedUsers group gets READ access. |
| \ (authenticated-read) |
| / Object owner gets FULL_CONTROL. |
| 5 | Bucket owner gets READ access. |
| | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-read) |
| / Both the object owner and the bucket owner get FULL_CONTROL over the object. |
| 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-full-control) |
| acl> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: OVHcloud |
| - access_key_id: my_access |
| - secret_access_key: my_secret |
| - region: rbx |
| - endpoint: s3.rbx.io.cloud.ovh.net |
| - acl: private |
| Keep this "ovhcloud-rbx" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| اکنون فایل پیکربندی شما باید به این شکل باشد: |
| [ovhcloud-rbx] |
| type = s3 |
| provider = OVHcloud |
| access_key_id = my_access |
| secret_access_key = my_secret |
| region = rbx |
| endpoint = s3.rbx.io.cloud.ovh.net |
| acl = private |
| Petabox |
| در اینجا مثالی برای ایجاد یک پیکربندی Petabox (https://petabox.io) آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| Enter name for new remote. |
| name> My Petabox Storage |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ "s3" |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Petabox Object Storage |
| \ (Petabox) |
| [snip] |
| provider> Petabox |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> YOUR_ACCESS_KEY_ID |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> YOUR_SECRET_ACCESS_KEY |
| Option region. |
| Region where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / US East (N. Virginia) |
| \ (us-east-1) |
| 2 / Europe (Frankfurt) |
| \ (eu-central-1) |
| 3 / Asia Pacific (Singapore) |
| \ (ap-southeast-1) |
| 4 / Middle East (Bahrain) |
| \ (me-south-1) |
| 5 / South America (São Paulo) |
| \ (sa-east-1) |
| region> 1 |
| Option endpoint. |
| Endpoint for Petabox S3 Object Storage. |
| Specify the endpoint from the same region. |
| Choose a number from below, or type in your own value. |
| 1 / US East (N. Virginia) |
| \ (s3.petabox.io) |
| 2 / US East (N. Virginia) |
| \ (s3.us-east-1.petabox.io) |
| 3 / Europe (Frankfurt) |
| \ (s3.eu-central-1.petabox.io) |
| 4 / Asia Pacific (Singapore) |
| \ (s3.ap-southeast-1.petabox.io) |
| 5 / Middle East (Bahrain) |
| \ (s3.me-south-1.petabox.io) |
| 6 / South America (São Paulo) |
| \ (s3.sa-east-1.petabox.io) |
| endpoint> 1 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| / Owner gets FULL_CONTROL. |
| 3 | The AllUsers group gets READ and WRITE access. |
| | Granting this on a bucket is generally not recommended. |
| \ (public-read-write) |
| / Owner gets FULL_CONTROL. |
| 4 | The AuthenticatedUsers group gets READ access. |
| \ (authenticated-read) |
| / Object owner gets FULL_CONTROL. |
| 5 | Bucket owner gets READ access. |
| | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-read) |
| / Both the object owner and the bucket owner get FULL_CONTROL over the object. |
| 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-full-control) |
| acl> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> No |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Petabox |
| - access_key_id: YOUR_ACCESS_KEY_ID |
| - secret_access_key: YOUR_SECRET_ACCESS_KEY |
| - region: us-east-1 |
| - endpoint: s3.petabox.io |
| Keep this "My Petabox Storage" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این کار باعث میشود فایل پیکربندی به این صورت درآید: |
| [My Petabox Storage] |
| type = s3 |
| provider = Petabox |
| access_key_id = YOUR_ACCESS_KEY_ID |
| secret_access_key = YOUR_SECRET_ACCESS_KEY |
| region = us-east-1 |
| endpoint = s3.petabox.io |
| سامانه |
| Pure Storage FlashBlade (https://www.purestorage.com/products/unstructured-data-storage.html) |
| یک ذخیرهساز شیء با کارایی بالا و سازگار با S3 است. |
| سامانه FlashBlade از بیشتر قابلیتهای مدرن S3 پشتیبانی میکند، از جمله: |
| • 2 |
| ListObjectsV2 |
| • 2 |
| بارگذاریهای چندبخشی (Multipart uploads) با ETagهای سازگار با AWS |
| • 2 |
| الگوریتمهای پیشرفته بررسی صحت (SHA256، CRC32، CRC32C) به همراه پشتیبانی از trailer |
| (نسخه +Purity//FB 4.4.2) |
| • 2 |
| نسخهبندی اشیاء و مدیریت چرخه حیات |
| • 2 |
| درخواستهای سبک Virtual hosted (نیازمند پیکربندی DNS) |
| برای پیکربندی rclone جهت استفاده از Pure Storage FlashBlade: |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> flashblade |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, FlashBlade, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, Storj, Synology, TencentCOS, Wasabi, Qiniu and others |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| 9 / Pure Storage FlashBlade Object Storage |
| \ (FlashBlade) |
| [snip] |
| provider> FlashBlade |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY_ID |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Enter a value. Press Enter to leave empty. |
| endpoint> https://s3.flashblade.example.com |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: FlashBlade |
| - access_key_id: ACCESS_KEY_ID |
| - secret_access_key: SECRET_ACCESS_KEY |
| - endpoint: https://s3.flashblade.example.com |
| Keep this "flashblade" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این کار منجر به ذخیره پیکربندی زیر در |
| ~/.config/rclone/rclone.conf میشود: |
| [flashblade] |
| type = s3 |
| provider = FlashBlade |
| access_key_id = ACCESS_KEY_ID |
| secret_access_key = SECRET_ACCESS_KEY |
| endpoint = https://s3.flashblade.example.com |
| نکته: مقدار endpoint در FlashBlade باید همان S3 data VIP باشد. |
| برای درخواستهای سبک virtual-hosted، از پیکربندی صحیح DNS اطمینان حاصل کنید: |
| زیردامنههای نام میزبانِ endpoint باید به یک FlashBlade data VIP تحلیل (resolve) شوند. |
| برای نمونه، اگر endpoint شما |
| https://s3.flashblade.example.com باشد، در این صورت |
| bucket-name.s3.flashblade.example.com نیز باید به |
| همان data VIP تحلیل شود..SS ذخیرهسازی ابری اشیاء Qiniu (Kodo) |
| سرویس ذخیرهسازی ابری اشیاء Qiniu |
| (Kodo) (https://www.qiniu.com/en/products/kodo) با فناوری هستهای کاملاً |
| مستقل که کارایی آن در تجربیات مکرر کاربران اثبات شده است، جایگاه پیشرو و |
| برتر بازار را در دست دارد. |
| از Kodo میتوان بهطور گسترده در مدیریت حجم عظیمی از دادهها استفاده کرد. |
| برای پیکربندی دسترسی به Qiniu Kodo، مراحل زیر را دنبال کنید: |
| "1." 3 |
| دستور rclone config را اجرا کرده و برای ایجاد یک ریموت جدید، گزینهٔ n را انتخاب کنید. |
| 4 |
| rclone config |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| "2." 3 |
| نام پیکربندی را وارد کنید. |
| برای مثال، نام آن را 'qiniu' بگذارید. |
| 4 |
| name> qiniu |
| "3." 3 |
| نوع ذخیرهسازی s3 را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| "4." 3 |
| ارائهدهندهٔ Qiniu را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| 1 / Amazon Web Services (AWS) S3 |
| \ "AWS" |
| [snip] |
| 22 / Qiniu Object Storage (Kodo) |
| \ (Qiniu) |
| [snip] |
| provider> Qiniu |
| "5." 3 |
| شناسههای SecretId و SecretKey مربوط به Qiniu Kodo خود را وارد کنید. |
| 4 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| access_key_id> AKIDxxxxxxxxxx |
| AWS Secret Access Key (password) |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| secret_access_key> xxxxxxxxxxx |
| "6." 3 |
| نقطهٔ پایانی (endpoint) را برای Qiniu Kodo انتخاب کنید. |
| این نقطهٔ پایانی استاندارد برای ناحیههای مختلف است. |
| 4 |
| / The default endpoint - a good choice if you are unsure. |
| 1 | East China Region 1. |
| | Needs location constraint cn-east-1. |
| \ (cn-east-1) |
| / East China Region 2. |
| 2 | Needs location constraint cn-east-2. |
| \ (cn-east-2) |
| / North China Region 1. |
| 3 | Needs location constraint cn-north-1. |
| \ (cn-north-1) |
| / South China Region 1. |
| 4 | Needs location constraint cn-south-1. |
| \ (cn-south-1) |
| / North America Region. |
| 5 | Needs location constraint us-north-1. |
| \ (us-north-1) |
| / Southeast Asia Region 1. |
| 6 | Needs location constraint ap-southeast-1. |
| \ (ap-southeast-1) |
| / Northeast Asia Region 1. |
| 7 | Needs location constraint ap-northeast-1. |
| \ (ap-northeast-1) |
| [snip] |
| endpoint> 1 |
| Option endpoint. |
| Endpoint for Qiniu Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / East China Endpoint 1 |
| \ (s3-cn-east-1.qiniucs.com) |
| 2 / East China Endpoint 2 |
| \ (s3-cn-east-2.qiniucs.com) |
| 3 / North China Endpoint 1 |
| \ (s3-cn-north-1.qiniucs.com) |
| 4 / South China Endpoint 1 |
| \ (s3-cn-south-1.qiniucs.com) |
| 5 / North America Endpoint 1 |
| \ (s3-us-north-1.qiniucs.com) |
| 6 / Southeast Asia Endpoint 1 |
| \ (s3-ap-southeast-1.qiniucs.com) |
| 7 / Northeast Asia Endpoint 1 |
| \ (s3-ap-northeast-1.qiniucs.com) |
| endpoint> 1 |
| Option location_constraint. |
| Location constraint - must be set to match the Region. |
| Used when creating buckets only. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / East China Region 1 |
| \ (cn-east-1) |
| 2 / East China Region 2 |
| \ (cn-east-2) |
| 3 / North China Region 1 |
| \ (cn-north-1) |
| 4 / South China Region 1 |
| \ (cn-south-1) |
| 5 / North America Region 1 |
| \ (us-north-1) |
| 6 / Southeast Asia Region 1 |
| \ (ap-southeast-1) |
| 7 / Northeast Asia Region 1 |
| \ (ap-northeast-1) |
| location_constraint> 1 |
| "7." 3 |
| تنظیمات acl و storage class را انتخاب کنید. |
| 4 |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| [snip] |
| acl> 2 |
| The storage class to use when storing new objects in Tencent COS. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Standard storage class |
| \ (STANDARD) |
| 2 / Infrequent access storage mode |
| \ (LINE) |
| 3 / Archive storage mode |
| \ (GLACIER) |
| 4 / Deep archive storage mode |
| \ (DEEP_ARCHIVE) |
| [snip] |
| storage_class> 1 |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No (default) |
| y/n> n |
| Remote config |
| -------------------- |
| [qiniu] |
| - type: s3 |
| - provider: Qiniu |
| - access_key_id: xxx |
| - secret_access_key: xxx |
| - region: cn-east-1 |
| - endpoint: s3-cn-east-1.qiniucs.com |
| - location_constraint: cn-east-1 |
| - acl: public-read |
| - storage_class: STANDARD |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Current remotes: |
| Name Type |
| ==== ==== |
| qiniu s3 |
| فضای ذخیرهسازی شیء FileLu S5 (https://s5lu.com) یک سیستم ذخیرهسازی شیء سازگار با S3 است. |
| این سرویس چندین گزینهٔ منطقه (Global، US-East، EU-Central، AP-Southeast و ME-Central) را ضمن استفاده از یک نقطهٔ پایانی واحد |
| (s5lu.com) ارائه میدهد. |
| FileLu S5 با قیمتگذاری قابل پیشبینی و بدون هزینههای پنهان برای انتقال داده یا درخواستهای API، برای مقیاسپذیری، امنیت و سادگی طراحی شده است. |
| در اینجا نمونهای از انجام پیکربندی آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این کار شما را در مراحل یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> s5lu |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS,... FileLu, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / FileLu S5 Object Storage |
| \ (FileLu) |
| [snip] |
| provider> FileLu |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> XXX |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> XXX |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Global |
| \ (global) |
| 2 / North America (US-East) |
| \ (us-east) |
| 3 / Europe (EU-Central) |
| \ (eu-central) |
| 4 / Asia Pacific (AP-Southeast) |
| \ (ap-southeast) |
| 5 / Middle East (ME-Central) |
| \ (me-central) |
| region> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: FileLu |
| - access_key_id: XXX |
| - secret_access_key: XXX |
| - endpoint: s5lu.com |
| Keep this "s5lu" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| در نهایت فایل پیکربندی بدین صورت خواهد بود: |
| [s5lu] |
| type = s3 |
| provider = FileLu |
| access_key_id = XXX |
| secret_access_key = XXX |
| endpoint = s5lu.com |
| Rabata (https://rabata.io) یک سرویس ذخیرهسازی ابری امن و سازگار با S3 است که ضمن پشتیبانی از APIهای استاندارد S3، قیمتگذاری ثابت و شفافی (بدون هزینه برای درخواستهای API) ارائه میدهد. |
| این سرویس برای پشتیبانگیری، ذخیرهسازی دادههای برنامهها، جریانهای کاری رسانهای و کاربردهای بایگانی مناسب است. |
| کپی سمت سرور (Server side copy) در Rabata پیادهسازی نشده است، که همچنین به این معنی است که زمان تغییر (modification time) اشیاء قابل بهروزرسانی نیست. |
| پیکربندی Rclone: |
| rclone config |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> Rabata |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Rabata Cloud Storage |
| \ (Rabata) |
| [snip] |
| provider> Rabata |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY_ID |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option region. |
| Region where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / US East (N. Virginia) |
| \ (us-east-1) |
| 2 / EU (Ireland) |
| \ (eu-west-1) |
| 3 / EU (London) |
| \ (eu-west-2) |
| region> 3 |
| Option endpoint. |
| Endpoint for Rabata Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / US East (N. Virginia) |
| \ (s3.us-east-1.rabata.io) |
| 2 / EU West (Ireland) |
| \ (s3.eu-west-1.rabata.io) |
| 3 / EU West (London) |
| \ (s3.eu-west-2.rabata.io) |
| endpoint> 3 |
| Option location_constraint. |
| location where your bucket will be created and your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / US East (N. Virginia) |
| \ (us-east-1) |
| 2 / EU (Ireland) |
| \ (eu-west-1) |
| 3 / EU (London) |
| \ (eu-west-2) |
| location_constraint> 3 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Rabata |
| - access_key_id: ACCESS_KEY_ID |
| - secret_access_key: SECRET_ACCESS_KEY |
| - region: eu-west-2 |
| - endpoint: s3.eu-west-2.rabata.io |
| - location_constraint: eu-west-2 |
| Keep this "rabata" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Current remotes: |
| Name Type |
| ==== ==== |
| rabata s3 |
| ذخیرهسازی شیء RackCorp (https://www.rackcorp.com/storage/s3storage) یک بستر ذخیرهسازی شیء سازگار با S3 از ارائهدهنده ابری شما، RackCorp، است. |
| این سرویس سریع، قابل اعتماد، مقرونبهصرفه و مستقر در موقعیتهای مکانی راهبردی متعددی است که توسط دیگران پوشش داده نشدهاند، تا اطمینان حاصل شود که میتوانید حاکمیت داده را حفظ کنید. |
| پیش از آنکه بتوانید از ذخیرهسازی شیء RackCorp استفاده کنید، باید برای یک حساب کاربری در درگاه ما (https://portal.rackcorp.com) ثبتنام کنید (https://www.rackcorp.com/signup). |
| سپس میتوانید به آسانی یک access key، یک secret key و باکتهای (buckets) مد نظرتان را در موقعیت مکانی مورد نظر خود ایجاد نمایید. |
| این مشخصات برای مراحل بعدی پیکربندی، زمانی که rclone config از شما مقادیر access_key_id و secret_access_key را درخواست میکند، لازم هستند. |
| پیکربندی شما در نهایت باید تقریباً به این شکل باشد: |
| [RCS3-demo-config] |
| type = s3 |
| provider = RackCorp |
| env_auth = true |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| region = au-nsw |
| endpoint = s3.rackcorp.com |
| location_constraint = au-nsw |
| Rclone Serve S3 |
| ابزار rclone میتواند هر ریموتی را از طریق پروتکل S3 ارائه (serve) کند. |
| برای جزئیات بیشتر به مستندات rclone serve s3 (https://rclone.org/commands/rclone_serve_s3) مراجعه کنید. |
| برای نمونه، جهت ارائه دادن remote:path روی s3، سرور را بدین صورت اجرا کنید: |
| rclone serve s3 --auth-key ACCESS_KEY_ID,SECRET_ACCESS_KEY remote:path |
| این پیکربندی با یک ریموت rclone که به شکل زیر تعریف شده باشد، سازگار خواهد بود: |
| [serves3] |
| type = s3 |
| provider = Rclone |
| endpoint = http://127.0.0.1:8080 |
| access_key_id = ACCESS_KEY_ID |
| secret_access_key = SECRET_ACCESS_KEY |
| use_multipart_uploads = false |
| توجه داشته باشید که تنظیم use_multipart_uploads = false به منظور دور زدن یک باگ (https://rclone.org/commands/rclone_serve_s3/#bugs) است که در آینده برطرف خواهد شد. |
| Scaleway |
| بستر ذخیرهسازی شیء Scaleway (https://www.scaleway.com/object-storage) به شما امکان میدهد هر چیزی را از نسخههای پشتیبان، لاگها و داراییهای وب گرفته تا اسناد و تصاویر ذخیره کنید. |
| فایلها را میتوان از طریق کنسول Scaleway بارگذاری کرد، یا از طریق API و CLI آن یا با استفاده از هر ابزار سازگار با S3 انتقال داد. |
| سرویس Scaleway یک رابط S3 فراهم میکند که میتواند برای استفاده با rclone به این صورت پیکربندی شود: |
| [scaleway] |
| type = s3 |
| provider = Scaleway |
| env_auth = false |
| endpoint = s3.nl-ams.scw.cloud |
| access_key_id = SCWXXXXXXXXXXXXXX |
| secret_access_key = 1111111-2222-3333-44444-55555555555555 |
| region = nl-ams |
| location_constraint = nl-ams |
| acl = private |
| upload_cutoff = 5M |
| chunk_size = 5M |
| copy_cutoff = 5M |
| سرویس Scaleway Glacier (https://www.scaleway.com/en/glacier-cold-storage) جایگزین ارزانقیمت S3 Glacier از سوی Scaleway است و دقیقاً مانند S3 با پذیرش storage_class با مقدار "GLACIER" کار میکند. |
| بنابراین میتوانید ریموت خود را با گزینهٔ storage_class = GLACIER پیکربندی کنید تا بارگذاریها مستقیماً در Scaleway Glacier انجام شوند. |
| فراموش نکنید که در این وضعیت پس از آپلود امکان خواندن مستقیم فایلها وجود ندارد؛ پیش از آنکه قادر به خواندن آنها باشید باید ابتدا آنها را به کلاس ذخیرهسازی "STANDARD" بازیابی (restore) کنید (به بخش "restore" در بالا مراجعه نمایید)..SS Scality |
| هر دو محصول RING و ARTESCA از Scality (https://www.scality.com) یک API ذخیرهسازی شیء سازگار با S3 ارائه میدهند که با استفاده از s3 بهعنوان type و Scality بهعنوان provider با rclone کار میکند. |
| هر دو محصول کلونهای S3 هستند، بنابراین همیشه باید endpoint را روی S3 API مربوط به استقرار خود تنظیم کنید (سرویس S3 Connector در RING، یا endpoint سرویس داده S3 در ARTESCA). |
| ارائهدهنده Scality از آدرسدهی مبتنی بر مسیر (endpoint/bucket/key) استفاده میکند که بهصورت پیشفرض پشتیبانی میشود و به هیچ مدخل DNS برای wildcard یا virtual-host نیازی ندارد. |
| کلید دسترسی (access key)، کلید محرمانه (secret key) و endpoint خود را از مدیر سیستم Scality دریافت کنید (در ARTESCA این مقادیر برای هر حساب کاربری در رابط کاربری زیر مسیر Identity > Accounts ایجاد میشوند؛ در RING با vaultclient یا S3 Console ساخته میشوند). |
| در اینجا مثالی از ایجاد یک پیکربندی Scality آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> scality |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ...Scaleway, Scality, SeaweedFS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Scality (RING / ARTESCA) |
| \ (Scality) |
| [snip] |
| provider> Scality |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> S3_ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> S3_SECRET_KEY |
| Option region. |
| Region to connect to. |
| Leave blank if you are using an S3 clone and you don't have a region. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Use this if unsure. |
| 1 | Will use v4 signatures and an empty region. |
| \ () |
| / Use this only if v4 signatures don't work. |
| 2 | E.g. pre Jewel/v10 CEPH. |
| \ (other-v2-signature) |
| region> |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Enter a value. Press Enter to leave empty. |
| endpoint> https://s3.example.com |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Scality |
| - access_key_id: S3_ACCESS_KEY |
| - secret_access_key: S3_SECRET_KEY |
| - endpoint: https://s3.example.com |
| Keep this "scality" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| در نهایت فایل پیکربندی به این صورت خواهد بود: |
| [scality] |
| type = s3 |
| provider = Scality |
| access_key_id = S3_ACCESS_KEY |
| secret_access_key = S3_SECRET_KEY |
| endpoint = https://s3.example.com |
| سرویس Seagate Lyve |
| Cloud (https://www.seagate.com/gb/en/services/cloud/storage) یک بستر ذخیرهسازی شیء سازگار با S3 از شرکت Seagate (https://seagate.com) |
| است که برای استفادههای سازمانی در نظر گرفته شده است. |
| در اینجا مراحل پیکربندی برای یک ریموت به نام remote آورده شده است - البته |
| میتوانید نام دیگری را انتخاب کنید. |
| توجه داشته باشید که برای ایجاد یک access key و secret key ابتدا باید |
| یک حساب سرویس (service account) بسازید. |
| $ rclone config |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> remote |
| پشتانهٔ s3 را انتخاب کنید |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| گزینهٔ LyveCloud را بهعنوان ارائهدهندهٔ S3 انتخاب کنید |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Seagate Lyve Cloud |
| \ (LyveCloud) |
| [snip] |
| provider> LyveCloud |
| حالت پیشفرض را بپذیرید (تنها کلید Enter را فشار دهید) تا access key و secret را |
| در فایل پیکربندی وارد کنید. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> XXX |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> YYY |
| بخش منطقه (region) را خالی بگذارید |
| Region to connect to. |
| Leave blank if you are using an S3 clone and you don't have a region. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Use this if unsure. |
| 1 | Will use v4 signatures and an empty region. |
| \ () |
| / Use this only if v4 signatures don't work. |
| 2 | E.g. pre Jewel/v10 CEPH. |
| \ (other-v2-signature) |
| region> |
| آدرس نقطهٔ پایانی (endpoint) سرویس Lyve Cloud خود را وارد کنید. |
| این فیلد نمیتواند خالی بماند. |
| Endpoint for Lyve Cloud S3 API. |
| Required when using an S3 clone. |
| Please type in your LyveCloud endpoint. |
| Examples: |
| - s3.us-west-1.{account_name}.lyve.seagate.com (US West 1 - California) |
| - s3.eu-west-1.{account_name}.lyve.seagate.com (US West 1 - Ireland) |
| Enter a value. |
| endpoint> s3.us-west-1.global.lyve.seagate.com |
| بخش location constraint را خالی بگذارید |
| Location constraint - must be set to match the Region. |
| Leave blank if not sure. Used when creating buckets only. |
| Enter a value. Press Enter to leave empty. |
| location_constraint> |
| فهرست کنترل دسترسی (ACL) پیشفرض (private) را انتخاب کنید. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| [snip] |
| acl> |
| و فایل پیکربندی در نهایت باید به این شکل باشد: |
| [remote] |
| type = s3 |
| provider = LyveCloud |
| access_key_id = XXX |
| secret_access_key = YYY |
| endpoint = s3.us-east-1.lyvecloud.seagate.com |
| سامانهٔ SeaweedFS (https://github.com/chrislusf/seaweedfs) یک سامانه ذخیرهسازی توزیعشده برای blobها، اشیاء، فایلها و دریاچه داده (data lake) با جستجوی دیسک O(1) و ذخیرهگاه فراداده فایلی مقیاسپذیر است. |
| این سامانه دارای رابط ذخیرهسازی شیء سازگار با S3 است. |
| همچنین SeaweedFS میتواند بهعنوان درگاه (gateway) به ذخیرهگاههای شیء دوردستِ سازگار با S3 (https://github.com/chrislusf/seaweedfs/wiki/Gateway-to-Remote-Object-Storage) عمل کند تا دادهها و فرادادهها را با بازنویسی ناهمگام (asynchronous write back) حافظهٔ نهان (cache) کند، که موجب سرعت محلی بالا و کمینهسازی هزینه دسترسی میشود. |
| با فرض اینکه SeaweedFS از طریق weed shell بدین شکل پیکربندی شده باشد: |
| > s3.bucket.create -name foo |
| > s3.configure -access_key=any -secret_key=any -buckets=foo -user=me -actions=Read,Write,List,Tagging,Admin -apply |
| { |
| "identities": [ |
| { |
| "name": "me", |
| "credentials": [ |
| { |
| "accessKey": "any", |
| "secretKey": "any" |
| } |
| ], |
| "actions": [ |
| "Read:foo", |
| "Write:foo", |
| "List:foo", |
| "Tagging:foo", |
| "Admin:foo" |
| ] |
| } |
| ] |
| } |
| جهت استفاده از rclone با SeaweedFS، پیکربندی بالا در نهایت باید به چیزی شبیه به این در فایل پیکربندی شما منجر شود: |
| [seaweedfs_s3] |
| type = s3 |
| provider = SeaweedFS |
| access_key_id = any |
| secret_access_key = any |
| endpoint = localhost:8333 |
| بنابراین پس از راهاندازی، برای مثال جهت کپی کردن فایلها به درون یک باکت: |
| rclone copy /path/to/files seaweedfs_s3:foo |
| Selectel |
| فضای ذخیرهسازی ابری Selectel (https://selectel.ru/services/cloud/storage) یک سامانه ذخیرهسازی سازگار با S3 است که از ویژگیهایی چون ذخیرهسازی با افزونگی سهگانه، مقیاسپذیری خودکار، دسترسیپذیری بالا و سامانه جامع IAM برخوردار است. |
| سرویس Selectel در وبسایت خود بخشی برای پیکربندی rclone (https://docs.selectel.ru/en/cloud/object-storage/tools/rclone) دارد که نحوه ایجاد کلیدهای معتبر API را شرح میدهد. |
| از نگارش v1.69 نرمافزار rclone، سرویس Selectel پشتیبانی میشود - لطفاً نوع ارائهدهنده را Selectel انتخاب کنید. |
| توجه داشته باشید که باید از دسترسی نوع "vHosted" برای باکتها استفاده کنید (که حالت پیشفرض و توصیهشده است)، نه روش "path style". |
| میتوانید با استفاده از دستور rclone config یک ارائهدهنده جدید به شکل زیر ایجاد کنید: |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> selectel |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including ..., Selectel, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Selectel Object Storage |
| \ (Selectel) |
| [snip] |
| provider> Selectel |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option region. |
| Region where your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / St. Petersburg |
| \ (ru-1) |
| region> 1 |
| Option endpoint. |
| Endpoint for Selectel Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Saint Petersburg |
| \ (s3.ru-1.storage.selcloud.ru) |
| endpoint> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Selectel |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_ACCESS_KEY |
| - region: ru-1 |
| - endpoint: s3.ru-1.storage.selcloud.ru |
| Keep this "selectel" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| و در نهایت فایل پیکربندی شما باید شکلی شبیه به این داشته باشد: |
| [selectel] |
| type = s3 |
| provider = Selectel |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_ACCESS_KEY |
| region = ru-1 |
| endpoint = s3.ru-1.storage.selcloud.ru |
| سرویس Servercore Object |
| Storage (https://servercore.com/services/object-storage) یک سامانهٔ |
| ذخیرهسازی شیء سازگار با S3 است که راهکارهای ذخیرهسازی مقیاسپذیر و امنی را |
| برای کسبوکارها در هر اندازهای ارائه میدهد. |
| نمونه پیکربندی rclone: |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> servercore |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including ..., Servercore, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / Servercore Object Storage |
| \ (Servercore) |
| [snip] |
| provider> Servercore |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option region. |
| Region where your is data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / St. Petersburg |
| \ (ru-1) |
| 2 / Moscow |
| \ (gis-1) |
| 3 / Moscow |
| \ (ru-7) |
| 4 / Tashkent, Uzbekistan |
| \ (uz-2) |
| 5 / Almaty, Kazakhstan |
| \ (kz-1) |
| region> 1 |
| Option endpoint. |
| Endpoint for Servercore Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Saint Petersburg |
| \ (s3.ru-1.storage.selcloud.ru) |
| 2 / Moscow |
| \ (s3.gis-1.storage.selcloud.ru) |
| 3 / Moscow |
| \ (s3.ru-7.storage.selcloud.ru) |
| 4 / Tashkent, Uzbekistan |
| \ (s3.uz-2.srvstorage.uz) |
| 5 / Almaty, Kazakhstan |
| \ (s3.kz-1.srvstorage.kz) |
| endpoint> 1 |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Servercore |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_ACCESS_KEY |
| - region: ru-1 |
| - endpoint: s3.ru-1.storage.selcloud.ru |
| Keep this "servercore" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| سامانه |
| Spectra Logic (https://www.spectralogic.com/blackpearl-nearline-object-gateway) |
| یک درگاه ذخیرهسازی شیء درونسازمانی (on-prem) و سازگار با S3 است که فضای ذخیرهسازی |
| شیء محلی را ارائه میدهد و دادهها را بر اساس خطمشیها ذیل یک فضای نام یکپارچه |
| جهت پشتیبانگیری و بایگانی، به نوارهای Spectra و ابرهای عمومی لایهبندی میکند. |
| این درگاه سازگار با S3 با استفاده از rclone config با نوع |
| s3 و با نام ارائهدهندهٔ SpectraLogic پیکربندی میشود. |
| در ادامه نمونهای از اجرای این ابزار پیکربندی آورده شده است. |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> spectralogic |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including ..., SpectraLogic, ... |
| \ (s3) |
| [snip] |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| [snip] |
| XX / SpectraLogic BlackPearl |
| \ (SpectraLogic) |
| [snip] |
| provider> SpectraLogic |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> SECRET_ACCESS_KEY |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Enter a value. Press Enter to leave empty. |
| endpoint> https://bp.example.com |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: SpectraLogic |
| - access_key_id: ACCESS_KEY |
| - secret_access_key: SECRET_ACCESS_KEY |
| - endpoint: https://bp.example.com |
| Keep this "spectratest" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| و در نهایت پیکربندی شما باید به این شکل باشد: |
| [spectratest] |
| type = s3 |
| provider = SpectraLogic |
| access_key_id = ACCESS_KEY |
| secret_access_key = SECRET_ACCESS_KEY |
| endpoint = https://bp.example.com |
| سرویس Storj یک فضای ذخیرهسازی ابری غیرمتمرکز است که میتواند از طریق پروتکل بومی خود یا یک درگاه (gateway) سازگار با S3 مورد استفاده قرار گیرد. |
| درگاه سازگار با S3 با استفاده از rclone config با نوع s3 و با نام ارائهدهندهٔ Storj پیکربندی میشود. در ادامه یک نمونه از اجرای ابزار پیکربندی آورده شده است. |
| Type of storage to configure. |
| Storage> s3 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> XXXX (as shown when creating the access grant) |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> XXXX (as shown when creating the access grant) |
| Option endpoint. |
| Endpoint of the Shared Gateway. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / EU1 Shared Gateway |
| \ (gateway.eu1.storjshare.io) |
| 2 / US1 Shared Gateway |
| \ (gateway.us1.storjshare.io) |
| 3 / Asia-Pacific Shared Gateway |
| \ (gateway.ap1.storjshare.io) |
| endpoint> 1 (as shown when creating the access grant) |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| توجه داشته باشید که اعتبارنامههای s3 هنگام ایجاد یک access grant تولید میشوند (https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#usage). |
| رفتارهای خاص بکاند (Backend quirks) |
| • 2 |
| گزینهٔ --chunk-size اجباراً برابر با 64 MiB یا بیشتر در نظر گرفته میشود. |
| این کار حافظهٔ بیشتری نسبت به مقدار پیشفرض 5 MiB مصرف خواهد کرد. |
| • 2 |
| کپی سمت سرور (Server side copy) غیرفعال است زیرا در حال حاضر در درگاه پشتیبانی نمیشود. |
| • 2 |
| دستورهای GetTier و SetTier پشتیبانی نمیشوند. |
| باگهای بکاند (Backend bugs) |
| بهدلیل مشکل شمارهٔ ۳۹ (https://github.com/storj/gateway-mt/issues/39)، بارگذاری فایلهای چندبخشی (multipart) از طریق درگاه S3 باعث از دست رفتن فرادادههای (metadata) آنها میشود. |
| برای اهداف rclone، این بدان معناست که زمان تغییر ذخیره نمیشود و همچنین هیچ MD5SUM ذخیره نخواهد شد (در صورتی که از مبدأ در دسترس باشد). |
| این موضوع پیامدهای زیر را در پی دارد: |
| • 2 |
| استفاده از rclone rcat با شکست مواجه خواهد شد زیرا فرادادهها پس از بارگذاری مطابقت ندارند |
| • 2 |
| بارگذاری فایلها با rclone mount به همان دلیل با شکست مواجه خواهد شد |
| 2 |
| • 2 |
| این مشکل را میتوان با استفاده از --vfs-cache-mode writes یا --vfs-cache-mode full یا با تنظیم یک مقدار بزرگ برای --s3-upload-cutoff برطرف کرد |
| • 2 |
| فایلهایی که از طریق بارگذاری چندبخشی ارسال میشوند، زمان تغییر (modtime) خود را نخواهند داشت |
| 2 |
| • 2 |
| این بدان معناست که rclone sync احتمالاً بهطور مداوم سعی در بارگذاری مجدد فایلهای بزرگتر از --s3-upload-cutoff خواهد داشت |
| • 2 |
| این مشکل را میتوان با --checksum یا --size-only یا تنظیم یک مقدار بزرگ برای --s3-upload-cutoff برطرف کرد |
| • 2 |
| با این حال، حداکثر مقدار مجاز برای --s3-upload-cutoff برابر با 5GiB است |
| یک راهکار عمومی، تنظیم --s3-upload-cutoff 5G است. |
| این کار باعث میشود rclone فایلهای کوچکتر از 5GiB را بهصورت تکبخشی بارگذاری کند. |
| توجه داشته باشید که این مقدار را میتوان در فایل پیکربندی با upload_cutoff = 5G تعیین کرد یا در تنظیمات پیشرفته پیکربندی نمود. |
| اگر بهطور منظم فایلهای بزرگتر از 5G را جابهجا میکنید، استفاده از --checksum یا --size-only در rclone sync راهکار پیشنهادی است..SS مقایسه با پروتکل بومی |
| برای بهرهمندی از رمزنگاری سمت کلاینت و همچنین دستیابی به بهترین کارایی بارگیری ممکن، از پروتکل بومی استفاده کنید. |
| بارگذاریها بهصورت محلی با کدگذاری حذفی (erasure-coded) انجام میشوند؛ بنابراین، بارگذاری ۱ گیگابایت داده منجر به ارسال ۲٫۶۸ گیگابایت داده به گرههای ذخیرهسازی در سراسر شبکه خواهد شد. |
| برای افزایش کارایی بارگذاری و کاهش بار روی سیستمها و شبکهٔ خود، از این backend و درگاه میزبانیشدهٔ (Hosted Gateway) سازگار با S3 استفاده کنید. |
| بارگذاریها در سمت سرور رمزنگاری و با روش کدگذاری حذفی (erasure-coded) پردازش خواهند شد؛ بنابراین، بارگذاری ۱ گیگابایت داده تنها به بارگذاری ۱ گیگابایت داده در گرههای ذخیرهسازی در سراسر شبکه منجر میشود. |
| برای مقایسهٔ دقیقتر لطفاً مستندات backend مربوط به storj را بررسی کنید. |
| فضای ذخیرهسازی شیء Synology C2 |
| فضای ذخیرهسازی شیء Synology C2 |
| (https://c2.synology.com/en-global/object-storage/overview) |
| یک راهکار ذخیرهسازی ابری امن، سازگار با S3 و مقرونبهصرفه را بدون هزینهٔ درخواستهای API، هزینهٔ بارگیری و جریمهٔ حذف ارائه میدهد. |
| درگاه سازگار با S3 با استفاده از rclone config با نوع s3 و با نام ارائهدهندهٔ |
| Synology پیکربندی میشود. |
| در ادامه یک نمونه از اجرای ابزار پیکربندی آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این فرمان شما را در یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote.1 |
| name> syno |
| Type of storage to configure. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ "s3" |
| Storage> s3 |
| Choose your S3 provider. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 24 / Synology C2 Object Storage |
| \ (Synology) |
| provider> Synology |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| access_key_id> accesskeyid |
| AWS Secret Access Key (password) |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| secret_access_key> secretaccesskey |
| Region where your data stored. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Europe Region 1 |
| \ (eu-001) |
| 2 / Europe Region 2 |
| \ (eu-002) |
| 3 / US Region 1 |
| \ (us-001) |
| 4 / US Region 2 |
| \ (us-002) |
| 5 / Asia (Taiwan) |
| \ (tw-001) |
| region > 1 |
| Option endpoint. |
| Endpoint for Synology C2 Object Storage API. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / EU Endpoint 1 |
| \ (eu-001.s3.synologyc2.net) |
| 2 / US Endpoint 1 |
| \ (us-001.s3.synologyc2.net) |
| 3 / TW Endpoint 1 |
| \ (tw-001.s3.synologyc2.net) |
| endpoint> 1 |
| Option location_constraint. |
| Location constraint - must be set to match the Region. |
| Leave blank if not sure. Used when creating buckets only. |
| Enter a value. Press Enter to leave empty. |
| location_constraint> |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No |
| y/n> y |
| Option no_check_bucket. |
| If set, don't attempt to check the bucket exists or create it. |
| This can be useful when trying to minimise the number of transactions |
| rclone does if you know the bucket exists already. |
| It can also be needed if the user you are using does not have bucket |
| creation permissions. Before v1.52.0 this would have passed silently |
| due to a bug. |
| Enter a boolean value (true or false). Press Enter for the default (true). |
| no_check_bucket> true |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Synology |
| - region: eu-001 |
| - endpoint: eu-001.s3.synologyc2.net |
| - no_check_bucket: true |
| Keep this "syno" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| سرویس ذخیرهسازی ابری شیء تِنسِنت یا |
| (COS) (https://intl.cloud.tencent.com/product/cos) Tencent Cloud Object Storage |
| یک سرویس ذخیرهسازی توزیعشده است که توسط Tencent Cloud برای دادههای غیرساختاریافته ارائه میشود. |
| این سرویس امن، پایدار، کلانمقیاس، دردسترس، کمتأخیر و کمهزینه است. |
| برای پیکربندی دسترسی به Tencent COS، مراحل زیر را دنبال کنید: |
| "1." 3 |
| دستور rclone config را اجرا کرده و برای ایجاد یک ریموت جدید، گزینهٔ n را انتخاب کنید. |
| 4 |
| rclone config |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| "2." 3 |
| نامی برای این پیکربندی وارد کنید. |
| برای مثال، نام آن را 'cos' بگذارید. |
| 4 |
| name> cos |
| "3." 3 |
| ذخیرهساز نوع s3 را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ "s3" |
| [snip] |
| Storage> s3 |
| "4." 3 |
| ارائهدهندهٔ TencentCOS را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| 1 / Amazon Web Services (AWS) S3 |
| \ "AWS" |
| [snip] |
| 11 / Tencent Cloud Object Storage (COS) |
| \ "TencentCOS" |
| [snip] |
| provider> TencentCOS |
| "5." 3 |
| شناسهٔ SecretId و کلید SecretKey مربوط به حساب Tencent Cloud خود را وارد کنید. |
| 4 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| access_key_id> AKIDxxxxxxxxxx |
| AWS Secret Access Key (password) |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| secret_access_key> xxxxxxxxxxx |
| "6." 3 |
| نقطهٔ پایانی (endpoint) مورد نظر برای Tencent COS را انتخاب کنید. |
| این گزینه نقطهٔ پایانی استاندارد برای مناطق (regions) مختلف است. |
| 4 |
| 1 / Beijing Region. |
| \ "cos.ap-beijing.myqcloud.com" |
| 2 / Nanjing Region. |
| \ "cos.ap-nanjing.myqcloud.com" |
| 3 / Shanghai Region. |
| \ "cos.ap-shanghai.myqcloud.com" |
| 4 / Guangzhou Region. |
| \ "cos.ap-guangzhou.myqcloud.com" |
| [snip] |
| endpoint> 4 |
| "7." 3 |
| سطح دسترسی (acl) و کلاس ذخیرهسازی (storage class) را انتخاب کنید. |
| 4 |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Owner gets Full_CONTROL. No one else has access rights (default). |
| \ "default" |
| [snip] |
| acl> 1 |
| The storage class to use when storing new objects in Tencent COS. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Default |
| \ "" |
| [snip] |
| storage_class> 1 |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No (default) |
| y/n> n |
| Remote config |
| -------------------- |
| [cos] |
| type = s3 |
| provider = TencentCOS |
| env_auth = false |
| access_key_id = xxx |
| secret_access_key = xxx |
| endpoint = cos.ap-guangzhou.myqcloud.com |
| acl = default |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Current remotes: |
| Name Type |
| ==== ==== |
| cos s3 |
| هنگام استفاده از نقطه پایانی شتاب سراسری |
| (cos.accelerate.myqcloud.com)، rclone بهطور خودکار |
| no_check_bucket = true را تنظیم میکند، زیرا این نقطه پایانی شتابدهی |
| از فراخوانی CreateBucket که توسط rclone برای اطمینان از وجود یک |
| باکت استفاده میشود، پشتیبانی نمیکند. |
| شتاب سراسری قابلیتی برای هر باکت بهصورت جداگانه است، بنابراین ابتدا باید |
| باکت را در یک منطقه فیزیکی بسازید و سپس آن را در کنسول Tencent Cloud |
| فعال کنید. |
| US3 |
| فضای ذخیرهسازی شیء US3 (https://www.ucloud.cn/site/product/ufile.html) سرویسی است |
| که فضای ذخیرهسازی ابری را برای فایلهای بدون ساختار برنامههای اینترنتی |
| ارائه میدهد. |
| برای پیکربندی دسترسی به US3، مراحل زیر را دنبال کنید: |
| 1. |
| ابتدا اجرا کنید: |
| console rclone config No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n |
| 2. |
| نام پیکربندی را وارد کنید. |
| برای مثال، نام آن را 'US3' بگذارید. |
| name> US3 |
| "3." 3 |
| ذخیرهسازی s3 را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ "s3" |
| [snip] |
| Storage> s3 |
| "4." 3 |
| ارائهدهنده US3 را انتخاب کنید. |
| 4 |
| Choose a number from below, or type in your own value. |
| XX / Amazon Web Services (AWS) S3 |
| \ (AWS) |
| [snip] |
| XX / UCloud Object Storage (US3) |
| \ (US3) |
| [snip] |
| provider> US3 |
| "5." 3 |
| SecretId و SecretKey مربوط به US3 خود را وارد کنید. |
| 4 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> AKIDxxxxxxxxxx |
| AWS Secret Access Key (password) |
| Leave blank for anonymous access or runtime credentials. |
| Enter a string value. Press Enter for the default (""). |
| secret_access_key> xxxxxxxxxxx |
| "6." 3 |
| نقطه پایانی را انتخاب کنید. |
| 4 |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / North China (Beijing 2). |
| \ "s3-cn-bj.ufileos.com" |
| 2 / North China (Ulanqab). |
| \ "s3-cn-wlcb.ufileos.com" |
| 3 / Shanghai. |
| \ "s3-cn-sh2.ufileos.com" |
| 4 / South China (Guangzhou). |
| \ "s3-cn-gd.ufileos.com" |
| [snip] |
| endpoint> 1 |
| "7." 3 |
| acl و کلاس ذخیرهسازی را انتخاب کنید. |
| 4 |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| acl> 1 |
| The storage class to use when storing new objects in US3. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Default |
| \ "" |
| [snip] |
| storage_class> 1 |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: US3 |
| - access_key_id: xx |
| - secret_access_key: xx |
| - endpoint: s3-cn-bj.ufileos.com |
| - acl: private |
| Keep this "US3" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| Current remotes: |
| Name Type |
| ==== ==== |
| US3 s3 |
| سرویس Wasabi (https://wasabi.com) یک سرویس ذخیرهسازی ابری شیءگرا برای طیف گستردهای از کاربردها و موارد استفاده است. |
| Wasabi برای افراد و سازمانهایی طراحی شده است که به یک زیرساخت ذخیرهسازی داده با کارایی بالا، قابل اعتماد و امن با حداقل هزینه نیاز دارند. |
| سرویس Wasabi یک رابط S3 ارائه میدهد که میتوان آن را به این صورت برای استفاده با rclone پیکربندی کرد. |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| name> wasabi |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Minio, Liara) |
| \ "s3" |
| [snip] |
| Storage> s3 |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own value |
| 1 / Enter AWS credentials in the next step |
| \ "false" |
| 2 / Get AWS credentials from the environment (env vars or IAM) |
| \ "true" |
| env_auth> 1 |
| AWS Access Key ID - leave blank for anonymous access or runtime credentials. |
| access_key_id> YOURACCESSKEY |
| AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. |
| secret_access_key> YOURSECRETACCESSKEY |
| Region to connect to. |
| Choose a number from below, or type in your own value |
| / The default endpoint - a good choice if you are unsure. |
| 1 | US Region, Northern Virginia, or Pacific Northwest. |
| | Leave location constraint empty. |
| \ "us-east-1" |
| [snip] |
| region> us-east-1 |
| Endpoint for S3 API. |
| Leave blank if using AWS to use the default endpoint for the region. |
| Specify if using an S3 clone such as Ceph. |
| endpoint> s3.wasabisys.com |
| Location constraint - must be set to match the Region. Used when creating buckets only. |
| Choose a number from below, or type in your own value |
| 1 / Empty for US Region, Northern Virginia, or Pacific Northwest. |
| \ "" |
| [snip] |
| location_constraint> |
| Canned ACL used when creating buckets and/or storing objects in S3. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Choose a number from below, or type in your own value |
| 1 / Owner gets FULL_CONTROL. No one else has access rights (default). |
| \ "private" |
| [snip] |
| acl> |
| The server-side encryption algorithm used when storing this object in S3. |
| Choose a number from below, or type in your own value |
| 1 / None |
| \ "" |
| 2 / AES256 |
| \ "AES256" |
| server_side_encryption> |
| The storage class to use when storing objects in S3. |
| Choose a number from below, or type in your own value |
| 1 / Default |
| \ "" |
| 2 / Standard storage class |
| \ "STANDARD" |
| 3 / Reduced redundancy storage class |
| \ "REDUCED_REDUNDANCY" |
| 4 / Standard Infrequent Access storage class |
| \ "STANDARD_IA" |
| storage_class> |
| Remote config |
| -------------------- |
| [wasabi] |
| env_auth = false |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| region = us-east-1 |
| endpoint = s3.wasabisys.com |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| -------------------- |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| با این کار، فایل پیکربندی نهایی به این صورت خواهد بود. |
| [wasabi] |
| type = s3 |
| provider = Wasabi |
| env_auth = false |
| access_key_id = YOURACCESSKEY |
| secret_access_key = YOURSECRETACCESSKEY |
| region = |
| endpoint = s3.wasabisys.com |
| location_constraint = |
| acl = |
| server_side_encryption = |
| storage_class = |
| سرویس Zadara Object Storage (https://www.zadara.com) یک راهکار ذخیرهسازی کاملاً مدیریتشده، در رده سازمانی و سازگار با S3 است که امکان ذخیرهسازی شیء مقیاسپذیر و چندمستأجری (multi-tenant) را با گزینههای استقرار منعطف (محلی، ترکیبی یا ابری) فراهم میکند. |
| سرویس Zadara Object Storage میتواند با استفاده از rclone config با نوع s3 و نام ارائهدهنده Zadara پیکربندی شود. در ادامه نمونهای از اجرای فرایند پیکربندی آورده شده است. |
| اطلاعات احراز هویت و endpoint، از جمله فیلد region، باید از رابط مدیریت Zadara Object Storage دریافت شوند. |
| برای پیکربندی دسترسی به Zadara Object Storage، ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| This will guide you through an interactive setup process: |
| No remotes found, make a new one\? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| Enter name for new remote. |
| name> Zadara-Object-Storage |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| XX / Amazon S3 Compliant Storage Providers including AWS ... |
| \ (s3) |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| XX / Zadara Object Storage |
| \ (Zadara) |
| provider> Zadara |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> S3_ACCESS_KEY |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> S3_SECRET_KEY |
| Option region. |
| Region to connect to. |
| Leave blank if you are using an S3 clone and you don't have a region. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / The default region. |
| 1 | Leave location constraint empty. |
| \ (us-east-1) |
| region> |
| Option endpoint. |
| Endpoint for S3 API. |
| Required when using an S3 clone. |
| Enter a value. Press Enter to leave empty. |
| endpoint> https://vsa-00000001-public-zadara-cloud-01.zadarazios.com |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Zadara |
| - access_key_id: S3_ACCESS_KEY |
| - secret_access_key: S3_SECRET_KEY |
| - endpoint: https://vsa-00000001-public-zadara-cloud-01.zadarazios.com |
| Keep this "Zadara-Object-Storage" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این کار باعث میشود فایل پیکربندی به این شکل درآید: |
| [Zadara-Object-Storage] |
| type = s3 |
| provider = Zadara |
| access_key_id = S3_ACCESS_KEY |
| secret_access_key = S3_SECRET_KEY |
| endpoint = https://vsa-00000001-public-zadara-cloud-01.zadarazios.com |
| سرویس ذخیرهسازی شیء Zata (https://zata.ai) یک راهکار ذخیرهسازی ابری امن و سازگار با S3 ارائه میدهد که برای مقیاسپذیری و کارایی بالا طراحی شده و برای انواع نیازهای ذخیرهسازی دادهها ایدهآل است. |
| ابتدا اجرا کنید: |
| rclone config |
| This will guide you through an interactive setup process: |
| e) Edit existing remote |
| n) New remote |
| d) Delete remote |
| r) Rename remote |
| c) Copy remote |
| s) Set configuration password |
| q) Quit config |
| e/n/d/r/c/s/q> n |
| Enter name for new remote. |
| name> my zata storage |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| XX / Amazon S3 Compliant Storage Providers including AWS, ... |
| \ (s3) |
| Storage> s3 |
| Option provider. |
| Choose your S3 provider. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| XX / Zata (S3 compatible Gateway) |
| \ (Zata) |
| provider> Zata |
| Option env_auth. |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). |
| Only applies if access_key_id and secret_access_key is blank. |
| Choose a number from below, or type in your own boolean value (true or false). |
| Press Enter for the default (false). |
| 1 / Enter AWS credentials in the next step. |
| \ (false) |
| 2 / Get AWS credentials from the environment (env vars or IAM). |
| \ (true) |
| env_auth> |
| Option access_key_id. |
| AWS Access Key ID. |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| access_key_id> "your key" |
| Option secret_access_key. |
| AWS Secret Access Key (password). |
| Leave blank for anonymous access or runtime credentials. |
| Enter a value. Press Enter to leave empty. |
| secret_access_key> "your secret key" |
| Option region. |
| Region where you can connect with. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / Indore, Madhya Pradesh, India |
| \ (us-east-1) |
| region> 1 |
| Option endpoint. |
| Endpoint for Zata Object Storage. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| 1 / South Asia Endpoint |
| \ (idr01.zata.ai) |
| endpoint> 1 |
| Option location_constraint. |
| Location constraint - must be set to match the Region. |
| Leave blank if not sure. Used when creating buckets only. |
| Enter a value. Press Enter to leave empty. |
| location_constraint> |
| Option acl. |
| Canned ACL used when creating buckets and storing or copying objects. |
| This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. |
| For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl |
| Note that this ACL is applied when server-side copying objects as S3 |
| doesn't copy the ACL from the source but rather writes a fresh one. |
| If the acl is an empty string then no X-Amz-Acl: header is added and |
| the default (private) will be used. |
| Choose a number from below, or type in your own value. |
| Press Enter to leave empty. |
| / Owner gets FULL_CONTROL. |
| 1 | No one else has access rights (default). |
| \ (private) |
| / Owner gets FULL_CONTROL. |
| 2 | The AllUsers group gets READ access. |
| \ (public-read) |
| / Owner gets FULL_CONTROL. |
| 3 | The AllUsers group gets READ and WRITE access. |
| | Granting this on a bucket is generally not recommended. |
| \ (public-read-write) |
| / Owner gets FULL_CONTROL. |
| 4 | The AuthenticatedUsers group gets READ access. |
| \ (authenticated-read) |
| / Object owner gets FULL_CONTROL. |
| 5 | Bucket owner gets READ access. |
| | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-read) |
| / Both the object owner and the bucket owner get FULL_CONTROL over the object. |
| 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. |
| \ (bucket-owner-full-control) |
| acl> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> |
| Configuration complete. |
| Options: |
| - type: s3 |
| - provider: Zata |
| - access_key_id: xxx |
| - secret_access_key: xxx |
| - region: us-east-1 |
| - endpoint: idr01.zata.ai |
| Keep this "my zata storage" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> |
| در نتیجه فایل پیکربندی به صورت زیر خواهد بود: |
| [my zata storage] |
| type = s3 |
| provider = Zata |
| access_key_id = xxx |
| secret_access_key = xxx |
| region = us-east-1 |
| endpoint = idr01.zata.ai |
| شرکت Zero Services GmbH (https://lp.zeroservices.eu/zero-z3) فضای ذخیرهسازی شیء سازگار با S3 به نام ZERO-Z3 را ارائه میدهد که در اتحادیه اروپا روی شبکه اختصاصی خود (AS215197) میزبانی میشود. |
| این سرویس بر پایه Ceph RADOS Gateway ساخته شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| This will guide you through an interactive setup process: | |
| n) New remote | |
| n/s/q> n | |
| Enter name for new remote. | |
| name> zero-z3 | |
| Option Storage. | |
| Type of storage to configure. | |
| Choose a number from below, or type in your own value. | |
| [snip] | |
| XX / Amazon S3 Compliant Storage Providers including AWS, ..., ZeroServices, ... and others | |
| \ (s3) | |
| Storage> s3 | |
| Option provider. | |
| Choose your S3 provider. | |
| [snip] | |
| XX / Zero Services GmbH (ZERO-Z3) | |
| \ (ZeroServices) | |
| provider> ZeroServices | |
| Option env_auth. | |
| Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). | |
| 1 / Enter AWS credentials in the next step. | |
| \ (false) | |
| 2 / Get AWS credentials from the environment (env vars or IAM). | |
| \ (true) | |
| env_auth> 1 | |
| Option access_key_id. | |
| AWS Access Key ID. | |
| access_key_id> ACCESS_KEY | |
| Option secret_access_key. | |
| AWS Secret Access Key (password). | |
| secret_access_key> SECRET_KEY | |
| Option region. | |
| Region to connect to. | |
| 1 / Frankfurt 1 | |
| \ (zero-fra1) | |
| 2 / Frankfurt 2 | |
| \ (zero-fra2) | |
| 3 / Eyl 1 | |
| \ (zero-eyl1) | |
| region> 2 | |
| Option endpoint. | |
| Endpoint for ZERO-Z3. | |
| 1 / Frankfurt 1 | |
| \ (fra1.s3.zeroservices.eu) | |
| 2 / Frankfurt 2 | |
| \ (fra.s3.zeroservices.eu) | |
| 3 / Eyl 1 | |
| \ (eyl1.s3.zeroservices.eu) | |
| endpoint> 2 | |
| Option acl. | |
| Canned ACL used when creating buckets and storing or copying objects. | |
| [snip] | |
| acl> 1 | |
| Edit advanced config? | |
| y/n> n | |
| Configuration complete. | |
| Options: | |
| - type: s3 | |
| - provider: ZeroServices | |
| - access_key_id: ACCESS_KEY | |
| - secret_access_key: SECRET_KEY | |
| - region: zero-fra2 | |
| - endpoint: fra.s3.zeroservices.eu | |
| Keep this "zero-z3" remote? | |
| y/e/d> y | |
| شایعترین دلیل مصرف زیاد حافظه توسط rclone، وجود یک دایرکتوری واحد با میلیونها فایل درون آن است. | |
| با وجود اینکه s3 در واقع مفهومی به نام دایرکتوری ندارد، rclone همگامسازی را دایرکتوری به دایرکتوری انجام میدهد تا با سیستمهای فایل معمولی سازگار باشد. | |
| دستور rclone هر دایرکتوری را به صورت اشیاء rclone در حافظه بارگذاری میکند. | |
| هر شیء rclone حدود 0.5k تا 1k از حافظه را اشغال میکند، یعنی تقریباً ۱ گیگابایت به ازای هر ۱٬۰۰۰٬۰۰۰ فایل، و همگامسازی آن دایرکتوری تا زمانی که به طور کامل در حافظه بارگذاری نشود آغاز نمیگردد. | |
| بنابراین، شروع همگامسازی برای دایرکتوریهای بزرگ ممکن است زمان زیادی طول بکشد. | |
| برای همگامسازی دایرکتوریای با ۱۰۰٬۰۰۰٬۰۰۰ فایل درون آن، به حدود ۱۰۰ گیگابایت حافظه نیاز خواهید داشت. | |
| در نقطهای تأمین این مقدار حافظه دشوار میشود، از این رو یک راهکار جایگزین برای این موضوع وجود دارد (https://github.com/rclone/rclone/wiki/Big-syncs-with-millions-of-files) که نیازمند اندکی اسکریپتنویسی است. | |
| در آینده rclone به یک حالت همگامسازی مجهز خواهد شد که عملاً همین راهکار را به صورت توکار در rclone پیادهسازی میکند. | |
| "محدودیتها (Limitations)" | |
| دستور rclone about توسط بکاند S3 پشتیبانی نمیشود. | |
| بکاندهایی که فاقد این قابلیت هستند، نمیتوانند فضای آزاد را برای یک rclone mount تعیین کنند یا از سیاست mfs (بیشترین فضای خالی) به عنوان عضوی از ریموت union در rclone بهره ببرند. | |
| فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و مستندات rclone about (https://rclone.org/commands/rclone_about) را ببینید. | |
| "آرشیو (ARCHIVE)" | |
| بکاند Archive امکان دسترسی فقطخواندنی به محتوای فایلهای آرشیو موجود در فضای ابری را بدون نیاز به دریافت کامل فایل آرشیو فراهم میکند. | |
| این بدان معناست که میتوانید یک فایل آرشیو بزرگ را mount کرده و به جای استخراج تمام آن، تنها از بخشهایی که برنامه شما نیاز دارد استفاده کنید. | |
| فایلهای آرشیو بر اساس پسوندشان شناسایی میشوند. | |
| tab( | ); |
| l l. | |
| آرشیو | پسوند |
| Zip | .zip |
| Squashfs | .sqfs |
انواع فایلهای آرشیو پشتیبانیشده سازگار با ابری (cloud friendly) هستند - یک فایل مجزا را میتوان بدون نیاز به بارگیری تمام آرشیو پیدا کرد و دانلود نمود.
اگر صرفاً میخواهید آرشیوها را بسازید، فهرست کنید یا استخراج نمایید و قصد mount کردن آنها را ندارید، استفاده از دستورات rclone archive میتواند برایتان راحتتر باشد.
- •
-
rclone archive create (https://rclone.org/commands/rclone_archive_create)
- •
-
rclone archive list (https://rclone.org/commands/rclone_archive_list)
- •
-
rclone archive extract (https://rclone.org/commands/rclone_archive_extract)
این دستورات از طیف وسیعتری از آرشیوهای ناسازگار با ابر پشتیبانی میکنند (به جز squashfs)، اما نمیتوان از آنها برای rclone mount یا سایر دستورات rclone (مانند rclone check) استفاده کرد..SS "پیکربندی (Configuration)"
بهترین حالت استفاده از این backend، بدون پیکربندی است.
برای استفاده از آن، رشتهٔ :archive: را پیش از یک remote دیگر قرار دهید؛ مثلاً remote:dir را به :archive:remote:dir تبدیل کنید.
تمام آرشیوهای موجود در remote:dir به دایرکتوری تبدیل میشوند و تمام فایلها را میتوان به صورت جداگانه از درون آنها خواند.
برای مثال:
-
$ rclone lsf s3:rclone/dir 100files.sqfs 100files.zip
توجه کنید که 100files.zip و 100files.sqfs اکنون دایرکتوری هستند:
-
$ rclone lsf :archive:s3:rclone/dir 100files.sqfs/ 100files.zip/
که میتوانیم محتویات درون آنها را مشاهده کنیم:
-
$ rclone lsf :archive:s3:rclone/dir/100files.zip/ cofofiy5jun gigi hevupaz5z kacak/ kozemof/ lamapaq4 qejahen quhenen2rey soboves8 vibat/ wose xade zilupot
فایلهایی که درون آرشیو قرار ندارند، به طور معمول قابل خواندن و نوشتن هستند. فایلهای موجود در یک آرشیو تنها قابل خواندن هستند.
همچنین میتوان از backend آرشیو در یک فایل پیکربندی استفاده کرد. از متغیر remote برای اشاره به مقصد آرشیو استفاده کنید.
-
[remote] type = archive remote = s3:rclone/dir/100files.zip
خروجی میدهد:
-
$ rclone lsf remote: cofofiy5jun gigi hevupaz5z kacak/ ...
زمانهای تغییر (Modification times)
زمانهای تغییر با دقتی که به نوع آرشیو بستگی دارد، حفظ میشوند.
-
$ rclone lsl --max-depth 1 :archive:s3:rclone/dir/100files.zip 12 2025-10-27 14:39:20.000000000 cofofiy5jun 81 2025-10-27 14:39:20.000000000 gigi 58 2025-10-27 14:39:20.000000000 hevupaz5z 6 2025-10-27 14:39:20.000000000 lamapaq4 43 2025-10-27 14:39:20.000000000 qejahen 66 2025-10-27 14:39:20.000000000 quhenen2rey 95 2025-10-27 14:39:20.000000000 soboves8 71 2025-10-27 14:39:20.000000000 wose 76 2025-10-27 14:39:20.000000000 xade 15 2025-10-27 14:39:20.000000000 zilupot
برای فایلهای zip و squashfs این مقدار 1s است..SS "هشها (Hashes)"
اینکه کدام هش پشتیبانی میشود، به نوع آرشیو بستگی دارد. فایلهای Zip از CRC32 استفاده میکنند، در حالی که Squashfs از هیچ هشی پشتیبانی نمیکند. برای نمونه:
-
$ rclone hashsum crc32 :archive:s3:rclone/dir/100files.zip/ b2288554 cofofiy5jun a87e62b6 wose f90f630b xade c7d0ef29 gigi f1c64740 soboves8 cb7b4a5d quhenen2rey 5115242b kozemof/fonaxo afeabd9a qejahen 71202402 kozemof/fijubey5di bd99e512 kozemof/napux ...
هشها هنگام خوانده شدن فایل از آرشیو بررسی میشوند و در صورت امکان به عنوان بخشی از همگامسازی مورد استفاده قرار میگیرند.
-
$ rclone copy -vv :archive:s3:rclone/dir/100files.zip /tmp/100files ... 2025/10/27 14:56:44 DEBUG : kacak/turovat5c/yuyuquk: crc32 = abd05cc8 OK 2025/10/27 14:56:44 DEBUG : kacak/turovat5c/yuyuquk.aeb661dc.partial: renamed to: kacak/turovat5c/yuyuquk 2025/10/27 14:56:44 INFO : kacak/turovat5c/yuyuquk: Copied (new) ...
Zip
قالب فایل Zip (https://en.wikipedia.org/wiki/ZIP_(file_format)) یک قالب آرشیو پرکاربرد است که یک یا چند فایل و پوشه را در یک فایل واحد بستهبندی میکند، در درجه اول برای ذخیرهسازی یا انتقال آسانتر. این قالب معمولاً از فشردهسازی (بیشتر الگوریتم DEFLATE) برای کاهش حجم کلی محتوای آرشیو شده استفاده میکند. فایلهای Zip بهطور بومی توسط بیشتر سیستمعاملهای امروزی پشتیبانی میشوند.
ابزار Rclone از ویژگیهای پیشرفته زیر در فایلهای Zip پشتیبانی نمیکند:
- •
- تقسیم آرشیوهای بزرگ به بخشهای کوچکتر
- •
- محافظت با گذرواژه
- •
- فشردهسازی Zstd
Squashfs
Squashfs یک قالب سیستمفایل فشرده و فقطخواندنی است که عمدتاً در سیستمهای مبتنی بر لینوکس استفاده میشود. این قالب برای فشردهسازی کل یک سیستمفایل (شامل فایلها، دایرکتوریها و فرادادهها) در یک فایل آرشیو واحد طراحی شده است، که پس از آن میتواند مستقیماً سوار (mount) شده و خوانده شود و به صورت یک ساختار دایرکتوری عادی نمایان گردد. به دلیل فقطخواندنی بودن و فشردگی بالا، Squashfs برای CD/USBهای زنده (Live)، دستگاههای تعبیهشده با فضای ذخیرهسازی محدود و توزیع بستههای نرمافزاری ایدئال است، زیرا در فضا صرفهجویی کرده و یکپارچگی فایلهای اصلی را تضمین میکند.
ابزار Rclone از قالبهای فشردهسازی squashfs زیر پشتیبانی میکند:
- •
- Gzip
- •
- Lzma
- •
- Xz
- •
- Zstd
این موارد هنوز کار نمیکنند:
- •
- Lzo - هنوز پشتیبانی نمیشود
- •
- Lz4 - خراب با خطای "error decompressing: lz4: bad magic number"
ابزار Rclone با اندازههای بزرگ بلوک squashfs بیشترین سرعت را دارد. برای نمونه:
-
mksquashfs 100files 100files.sqfs -comp zstd -b 1M
فایلها در بکاند archive فقطخواندنی هستند. هنوز امکان ایجاد آرشیوها با بکاند archive وجود ندارد. با این حال، شما میتوانید با rclone archive create آرشیو بسازید (<https://rclone.org/commands/rclone_archive_create>).
تنها از آرشیوهای .zip و .sqfs پشتیبانی میشود، چرا که اینها تنها فرمتهای رایج آرشیو هستند که خواندن فهرست دایرکتوری را از درون آرشیو بدون نیاز به بارگیری کل آن آسان میکنند.
در بخش داخلی، بکاند archive از VFS برای دسترسی به فایلها استفاده میکند. هنوز امکان پیکربندی VFS داخلی وجود ندارد، هرچند ممکن است قابلیتی مفید باشد.
فرمتهای آرشیو (Archive Formats)
در اینجا جدولی برای رتبهبندی فرمتهای رایج آرشیو از نظر «بهینهسازی ابری» آمده است که بر اساس توانایی آنها در دسترسی به یک فایل منفرد بدون خواندن کل آرشیو سنجیده میشود.
این قابلیت به این بستگی دارد که آیا فرمت دارای یک نمایه (یا "فهرست محتوا") مرکزی است که برنامه بتواند ابتدا آن را بخواند تا مکان دقیق یک فایل خاص را بیابد یا خیر.
| فرمت | پسوندها | بهینهسازی ابری | توضیحات |
| ZIP | .zip | عالی | فایلهای Zip دارای یک نمایه (همان "central directory") ذخیرهشده در انتهای فایل هستند. برنامه میتواند به انتهای فایل پرش کند (seek)، نمایه را بخواند تا مکان و اندازه فایل را بیابد، و سپس مستقیماً به دادههای آن فایل پرش کند تا آن را استخراج نماید. |
| SquashFS | .squashfs, .sqfs, .sfs | عالی | این یک ایمیج سیستمفایل فشرده و فقطخواندنی است، نه صرفاً یک آرشیو. این فرمت بهطور خاص برای دسترسی تصادفی طراحی شده است. این ساختار از متادیتا و جدولهای نمایه استفاده میکند تا به سیستم اجازه دهد فایلها یا بلوکهای داده منفرد را بر حسب تقاضا پیدا کرده و از حالت فشرده خارج کند. |
| ISO Image | .iso | عالی | همانند SquashFS، این یک ایمیج سیستمفایل (برای رسانههای نوری) است. این ایمیج شامل یک سیستمفایل (مانند ISO 9660 یا UDF) همراه با یک فهرست محتوا در مکانی مشخص است که امکان دسترسی مستقیم به هر فایل را بدون خواندن کل دیسک فراهم میکند. |
| RAR | .rar | خوب | فرمت RAR از حالتهای "non-solid" و "solid" پشتیبانی میکند. در حالت متداول non-solid، فایلها بهطور جداگانه فشرده میشوند و یک نمایه امکان استخراج آسان فایل منفرد را فراهم میکند (مانند ZIP). در حالت "solid"، این رتبه "بسیار ضعیف" خواهد بود. |
| 7z | .7z | ضعیف | بهطور پیشفرض، 7z از آرشیوهای "solid" برای به حداکثر رساندن فشردهسازی استفاده میکند. این کار فایلها را به عنوان یک جریان پیوسته فشرده میسازد. برای استخراج یک فایل از میانه، ابتدا باید تمام فایلهای قبلی از حالت فشرده خارج شوند. (اگر صراحتاً به صورت "non-solid" ایجاد شود، رتبه آن "عالی" خواهد بود). |
| tar | .tar | ضعیف | فرمت "Tape Archive" یک فرمت جریانی و فاقد نمایه مرکزی است. برای یافتن یک فایل، باید آرشیو را از ابتدا بخوانید و سرآیند هر فایل را یکییکی بررسی کنید تا به مورد دلخواه برسید. این کار کُند است، اما نیازی به خارج کردن دادهها از حالت فشرده ندارد. |
| Gzipped Tar | .tar.gz, .tgz | بسیار ضعیف | این یک فایل tar است (که خود از پیش "ضعیف" است) که با gzip به صورت یک جریان واحد و غیرقابل پرش (non-seekable) فشرده شده است. امکان پرش (seek) وجود ندارد. برای دستیابی به هر فایلی، باید کل آرشیو را از ابتدا تا آن فایل از حالت فشرده خارج کنید. |
| Bzipped/XZ Tar | .tar.bz2, .tar.xz | بسیار ضعیف | اصول کار این فرمت مشابه tar.gz است. کل آرشیو یک بلوک فشرده بزرگ است که دسترسی تصادفی را غیرممکن میسازد. |
| افزودن پشتیبانی از ISO نسبتاً آسان خواهد بود، زیرا کتابخانهای که استفاده میکنیم (go-diskfs (https://github.com/diskfs/go-diskfs)) از آن پشتیبانی میکند. | |||
| همچنین میتوانیم ext4 و fat32 را نیز به همان روش اضافه کنیم، | |||
| اما طبق تجربه، این موارد به عنوان فایل چندان رایج نیستند و بنابراین احتمالاً ارزشش را ندارد. | |||
| go-diskfs همچنین میتواند پارتیشنها را بخواند که بالقوه میتوانیم از آن بهرهمند شویم. | |||
| امکان افزودن پشتیبانی از نوشتن وجود دارد، اما این مورد تنها برای ایجاد آرشیوهای جدید خواهد بود، نه برای بهروزرسانی آرشیوهای موجود. | |||
| گزینههای استاندارد | |||
| در اینجا گزینههای استاندارد مخصوص archive (خواندن آرشیوها) آورده شده است. | |||
| --archive-remote | |||
| ریموت مورد نظر جهت پوششدهی برای خواندن آرشیوها از آن. | |||
| بهطور معمول باید شامل یک ':' و یک مسیر باشد، مانند | |||
| "myremote:path/to/dir"، "myremote:bucket" یا | |||
| "myremote:". | |||
| اگر این مقدار خالی رها شود، backend مربوط به archive از ریشه به عنوان ریموت استفاده خواهد کرد. | |||
| این بدان معناست که میتوانید از :archive:remote:path استفاده کنید و این معادل تنظیم remote="remote:path" خواهد بود. | |||
| ویژگیها: | |||
| • 2 | |||
| پیکربندی: remote | |||
| • 2 | |||
| متغیر محیطی: RCLONE_ARCHIVE_REMOTE | |||
| • 2 | |||
| نوع: string | |||
| • 2 | |||
| الزامی: false | |||
| گزینههای پیشرفته | |||
| در اینجا گزینههای پیشرفته مخصوص archive (خواندن آرشیوها) آورده شده است. | |||
| --archive-description | |||
| توضیحات ریموت. | |||
| ویژگیها: | |||
| • 2 | |||
| پیکربندی: description | |||
| • 2 | |||
| متغیر محیطی: RCLONE_ARCHIVE_DESCRIPTION | |||
| • 2 | |||
| نوع: string | |||
| • 2 | |||
| الزامی: false | |||
| متادیتا | |||
| هرگونه متادیتای پشتیبانیشده توسط ریموت زیربنایی خوانده و نوشته میشود. | |||
| برای اطلاعات بیشتر مستندات metadata (https://rclone.org/docs/#metadata) را ببینید. | |||
| Backblaze B2 | |||
| سیستم B2 سامانه ذخیرهسازی ابری Backblaze است (https://www.backblaze.com/cloud-storage). | |||
| مسیرها به صورت remote:bucket (یا remote: برای دستور lsd) مشخص میشوند. | |||
| همچنین میتوانید زیرپوشهها را نیز وارد کنید، مانند | |||
| remote:bucket/path/to/dir. | |||
| پیکربندی | |||
| در اینجا مثالی از ایجاد یک پیکربندی b2 آورده شده است. | |||
| ابتدا اجرا کنید: | |||
| rclone config |
| این فرمان شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| برای احراز هویت به Account ID (یک عدد هگز کوتاه) و Master Application Key (یک عدد هگز طولانی) یا یک Application Key نیاز خواهید داشت که روش توصیهشده است. |
| برای جزئیات بیشتر در مورد ایجاد و استفاده از یک Application Key بخشهای بعدی را ببینید. |
| No remotes found, make a new one\? |
| n) New remote |
| q) Quit config |
| n/q> n |
| name> remote |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Backblaze B2 |
| \ "b2" |
| [snip] |
| Storage> b2 |
| Account ID or Application Key ID |
| account> 123456789abc |
| Application Key |
| key> 0123456789abcdef0123456789abcdef0123456789 |
| Endpoint for the service - leave blank normally. |
| endpoint> |
| Remote config |
| Configuration complete. |
| Options: |
| - type: b2 |
| - account: 123456789abc |
| - key: 0123456789abcdef0123456789abcdef0123456789 |
| - endpoint: |
| Keep this "remote" remote? |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| این ریموت remote نامیده میشود و اکنون میتواند به این صورت استفاده شود: |
| مشاهده همه باکتها |
| rclone lsd remote: |
| ایجاد یک باکت جدید |
| rclone mkdir remote:bucket |
| فهرست کردن محتویات یک باکت |
| rclone ls remote:bucket |
| همگامسازی /home/local/directory با باکت ریموت، با حذف هرگونه فایل اضافی در باکت. |
| rclone sync --interactive /home/local/directory remote:bucket | ||
| سرویس B2 از چندین کلید برنامه (Application Key) برای مجوزهای دسترسی مختلف به | ||
| باکتهای B2 پشتیبانی میکند | ||
| (https://www.backblaze.com/docs/cloud-storage-application-keys). | ||
| شما میتوانید از این کلیدها با rclone نیز استفاده کنید؛ برای این کار به | ||
| rclone نسخهٔ 1.43 یا بالاتر نیاز خواهید داشت. | ||
| مستندات Backblaze را برای ایجاد یک Application Key با مجوزهای لازم دنبال کرده و | ||
| applicationKeyId را به عنوان account و خود | ||
| Application Key را به عنوان key اضافه کنید. | ||
| توجه داشته باشید که باید applicationKeyId را به عنوان | ||
| account قرار دهید – نمیتوانید از Account ID اصلی استفاده کنید. | ||
| اگر این کار را امتحان کنید، B2 خطاهای 401 را برمیگرداند. | ||
| --fast-list | ||
| این ریموت از --fast-list پشتیبانی میکند که به شما امکان میدهد | ||
| در ازای مصرف حافظهٔ بیشتر، از تعداد تراکنشهای کمتری استفاده کنید. | ||
| برای جزئیات بیشتر به مستندات rclone | ||
| (https://rclone.org/docs/#fast-list) مراجعه کنید. | ||
| زمانهای تغییر (Modification times) | ||
| زمان تغییر به عنوان فراداده روی شیء در | ||
| X-Bz-Info-src_last_modified_millis به صورت میلیثانیه از تاریخ | ||
| 1970-01-01 طبق استاندارد Backblaze ذخیره میشود. | ||
| ابزارهای دیگر باید بتوانند از این مقدار به عنوان زمان تغییر استفاده کنند. | ||
| زمانهای تغییر در فرایند همگامسازی استفاده میشوند و کاملاً پشتیبانی میشوند. | ||
| توجه داشته باشید که اگر نیاز به بهروزرسانی زمان تغییر روی یک شیء باشد، | ||
| نسخهٔ جدیدی از آن شیء ایجاد خواهد شد. | ||
| نویسههای محدودشده در نام فایل (Restricted filename characters) | ||
| علاوه بر مجموعه نویسههای محدودشدهٔ | ||
| پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای | ||
| زیر نیز جایگزین میشوند: | ||
| tab( | ); | |
| l c c. | ||
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در رشتههای JSON استفاده کرد.
توجه داشته باشید که از 2020-05 شرکت Backblaze اجازهٔ استفاده از نویسههای را در نام فایلها داد. rclone کدگذاری خود را تغییر نداده است زیرا این امر میتواند باعث انتقال مجدد فایلها در همگامسازیها شود. اگر میخواهید rclone نویسهٔ را جایگزین نکند، گزینهٔ --b2-encoding در زیر را بررسی کرده و BackSlash را از رشته حذف کنید. این مورد میتواند در تنظیمات (config) تعیین شود.
چکسامهای SHA1 (SHA1 checksums)
چکسامهای SHA1 فایلها هنگام بارگذاری و بارگیری بررسی میشوند و در فرایند همگامسازی مورد استفاده قرار خواهند گرفت.
فایلهای بزرگ (بزرگتر از محدودیت در --b2-upload-cutoff) که به صورت تکهتکه بارگذاری میشوند، همانطور که Backblaze توصیه کرده است چکسام SHA1 خود را روی شیء به عنوان X-Bz-Info-large_file_sha1 ذخیره میکنند.
برای اینکه یک فایل بزرگ با چکسام SHA1 بارگذاری شود، مبدأ باید از چکسامهای SHA1 پشتیبانی کند. دیسک محلی از چکسامهای SHA1 پشتیبانی میکند، بنابراین انتقال فایلهای بزرگ از دیسک محلی دارای SHA1 خواهد بود. برای بررسی دقیق اینکه کدام ریموتها از SHA1 پشتیبانی میکنند، نمای کلی (https://rclone.org/overview/#features) را ببینید.
مبدأهایی که از SHA1 پشتیبانی نمیکنند، بهویژه crypt، فایلهای بزرگ را بدون چکسامهای SHA1 بارگذاری خواهند کرد. این مشکل ممکن است در آینده برطرف شود (ببینید #1767 (https://github.com/rclone/rclone/issues/1767)).
فایلهایی با اندازهٔ کمتر از --b2-upload-cutoff صرفنظر از مبدأ، همیشه یک SHA1 خواهند داشت..SS "انتقالها (Transfers)"
شرکت Backblaze پیشنهاد میکند که برای بیشترین سرعت، تعداد زیادی انتقال را بهطور همزمان انجام دهید. در آزمایشهای انجامشده روی لپتاپ من که مجهز به SSD بود، تنظیم بهینه حدود --transfers 32 بود، هرچند ممکن است مقادیر بالاتر نیز باعث بهبود اندکی در سرعت شوند. مقدار بهینه برای شما بسته به سختافزارتان، اندازهٔ فایلها، میزان باری که میخواهید روی رایانهٔ خود اعمال کنید و غیره، ممکن است متفاوت باشد. با این حال، مقدار پیشفرض --transfers 4 قطعاً برای Backblaze B2 بسیار کم است.
توجه داشته باشید که بارگذاری فایلهای بزرگ (بهطور پیشفرض بزرگتر از 200 MiB) بهصورت پیشفرض از یک بافر رَم (RAM) به میزان 96 MiB استفاده خواهد کرد. در هر لحظه حداکثر میتواند به تعداد --transfers از این بافرها در حال استفاده باشد، بنابراین این امر حد بالای حافظهٔ مصرفی را تعیین میکند.
نسخهها (Versions)
تنظیمات پیشفرض B2 بر نگهداری نسخههای قدیمی فایلها قرار دارد. این بدان معناست که وقتی rclone نسخهٔ جدیدی از یک فایل را بارگذاری میکند، یک نسخهٔ جدید از آن ایجاد میکند (https://www.backblaze.com/docs/cloud-storage-file-versions). به همین ترتیب، هنگامی که فایلی را حذف میکنید، نسخهٔ قبلی به عنوان مخفی (hidden) علامتگذاری شده و همچنان در دسترس خواهد بود.
اینکه آیا B2 نسخههای قدیمی فایلها را نگه دارد یا خیر، میتواند برای هر باکت بهصورت جداگانه با استفاده از "Lifecycle settings" در پنل کاربری B2، یا هنگام ایجاد باکت با پرچم --b2-lifecycle و یا پس از ایجاد با استفاده از دستور rclone backend lifecycle تنظیم شود.
شما میتوانید با استفاده از پرچم --b2-hard-delete حالت "حذف قطعی (hard delete)" فایلها را برگزینید که به جای پنهان کردن فایلها هنگام حذف، آنها را برای همیشه پاک میکند.
نسخههای قدیمی فایلها، در صورت در دسترس بودن، با پرچم --b2-versions قابل مشاهده هستند. این موارد را میتوان در صورت نیاز با delete پاک کرد.
همچنین میتوان با استفاده از پرچم --b2-version-at یک باکت را همانگونه که در مقطع زمانی مشخصی بوده است مشاهده کرد. این کار نسخههای فایل را همانگونه که در آن زمان مشخص بودهاند نشان میدهد؛ فایلهایی که پس از آن حذف شدهاند را نمایش داده و فایلهایی که از آن زمان به بعد ایجاد شدهاند را پنهان میکند.
اگر میخواهید تمام نسخههای قدیمی و بارگذاریهای ناتمام فایلهای بزرگ را حذف کنید، میتوانید از دستور rclone cleanup remote:bucket استفاده کنید که تمام نسخههای قدیمی فایلها را پاک کرده و فایلهای فعلی را دستنخورده باقی میگذارد. همچنین میتوانید یک مسیر را مشخص کنید تا تنها نسخههای قدیمی زیر آن مسیر حذف شوند، مانند: rclone cleanup remote:bucket/path/to/stuff.
توجه داشته باشید که اگر فایلهای ناقص بارگذاریشده بیش از یک روز قدمت داشته باشند، دستور cleanup آنها را از باکت حذف خواهد کرد. اگر میخواهید کنترل بیشتری روی زمان انقضا داشته باشید، دستور rclone backend cleanup b2:bucket -o max-age=1h را اجرا کنید تا تمام بارگذاریهای ناتمام فایلهای بزرگ قدیمیتر از یک ساعت را حذف کند، در حالی که نسخههای قدیمی دستنخورده باقی میمانند.
اگر میخواهید تمام نسخههای قدیمی را حذف کنید و در عین حال فایلهای فعلی و بارگذاریهای ناتمام فایلهای بزرگ دستنخورده باقی بمانند، میتوانید از دستور rclone backend cleanup-hidden remote:bucket استفاده نمایید. همچنین میتوانید یک مسیر تعیین کنید تا تنها نسخههای قدیمی زیر آن مسیر حذف شوند، به عنوان مثال: rclone backend cleanup-hidden remote:bucket/path/to/stuff.
هنگامی که یک باکت را purge میکنید، نسخههای فعلی و قدیمی حذف شده و سپس خود باکت حذف خواهد شد.
با این حال دستور delete باعث میشود نسخههای فعلی فایلها به نسخههای قدیمیِ پنهان تبدیل شوند.
در ادامه نشستی کاری آورده شده است که فهرستگیری و بازیابی یک نسخهٔ قدیمی و سپس یک cleanup از نسخههای قدیمی را نشان میدهد.
نمایش نسخهٔ فعلی و تمام نسخهها با پرچم --b2-versions.
-
$ rclone -q ls b2:cleanup-test 9 one.txt $ rclone -q --b2-versions ls b2:cleanup-test 9 one.txt 8 one-v2016-07-04-141032-000.txt 16 one-v2016-07-04-141003-000.txt 15 one-v2016-07-02-155621-000.txt
بازیابی یک نسخهٔ قدیمی
-
$ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp $ ls -l /tmp/one-v2016-07-04-141003-000.txt -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
پاکسازی تمام نسخههای قدیمی و نمایش حذف شدن آنها.
-
$ rclone -q cleanup b2:cleanup-test $ rclone -q ls b2:cleanup-test 9 one.txt $ rclone -q --b2-versions ls b2:cleanup-test 9 one.txt
هنگام استفاده از گزینهٔ --b2-versions، ابزار rclone برای تشخیص اینکه آیا اشیاء نسخه هستند یا خیر، به نام فایل اتکا میکند. نام نسخهها با درج برچسب زمان (timestamp) میان نام فایل و پسوند آن ساخته میشود.
-
9 file.txt 8 file-v2023-07-17-161032-000.txt 16 file-v2023-06-15-141003-000.txt
اگر فایلهای واقعی با نامهایی مشابه با نام نسخهها وجود داشته باشند، رفتار --b2-versions میتواند غیرقابلپیشبینی باشد.
مصرف داده (Data usage)
دانستن تعداد درخواستهای ارسالشده به کارساز در سناریوهای مختلف مفید است.
تمام دستورهای کپی، ۴ درخواست زیر را ارسال میکنند:
-
/b2api/v4/b2_authorize_account /b2api/v1/b2_create_bucket /b2api/v1/b2_list_buckets /b2api/v1/b2_list_file_names
درخواست b2_list_file_names به ازای هر ۱۰۰۰ فایل در مسیر دوردست (remote) یک بار ارسال میشود و چsum (چکسام) و زمان ویرایش فایلهای فهرستشده را ارائه میدهد. از نسخهٔ 1.33، گزارش باگ #818 (https://github.com/rclone/rclone/issues/818) باعث میشود در صورت استفاده از B2 به همراه Crypt، درخواستهای اضافی ارسال شوند. هنگامی که یک عملیات کپی نیازی به بارگذاری هیچ فایلی نداشته باشد، درخواست دیگری ارسال نخواهد شد.
بارگذاری فایلهایی که نیازی به تکهتکه شدن (chunking) ندارند، به ازای هر بارگذاری فایل ۲ درخواست ارسال میکند:
-
/b2api/v1/b2_get_upload_url /b2api/v1/b2_upload_file/
بارگذاری فایلهایی که به تکهتکه شدن نیاز دارند، ۲ درخواست (یک درخواست برای شروع و یک درخواست برای اتمام بارگذاری) و ۲ درخواست دیگر به ازای هر قطعه (chunk) ارسال میکند:
-
/b2api/v1/b2_start_large_file /b2api/v1/b2_get_upload_part_url /b2api/v1/b2_upload_part/ /b2api/v1/b2_finish_large_file
مشاهده نسخهها با --b2-versions (Viewing versions with --b2-versions)
نسخهها را میتوان با گزینهٔ --b2-versions مشاهده کرد. هنگامی که این گزینه تعیین شده باشد، rclone نسخههای قدیمیتر فایلها را نمایش داده و بر روی آنها عمل میکند. برای مثال:
فهرست کردن بدون --b2-versions
-
$ rclone -q ls b2:cleanup-test 9 one.txt
و با این گزینه:
-
$ rclone -q --b2-versions ls b2:cleanup-test 9 one.txt 8 one-v2016-07-04-141032-000.txt 16 one-v2016-07-04-141003-000.txt 15 one-v2016-07-02-155621-000.txt
این خروجی نشان میدهد که نسخهٔ فعلی دستنخورده باقی مانده اما نسخههای قدیمیتر نیز قابل مشاهده هستند. تاریخ UTC بارگذاری آنها بر روی کارساز با دقت نزدیکترین میلیثانیه به انتهای نام آنها ضمیمه شده است.
توجه داشته باشید که هنگام استفاده از --b2-versions هیچگونه عملیات نوشتن فایل مجاز نیست، بنابراین نمیتوانید فایلها را بارگذاری یا حذف کنید..SS B2 و rclone link
برنامه Rclone از تولید پیوندهای اشتراکگذاری فایل برای مخزنهای (bucket) خصوصی B2 پشتیبانی میکند. این پیوندها میتوانند برای مثال برای یک فایل باشند:
-
./rclone link B2:bucket/path/to/file.txt https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
یا در صورت اجرا روی یک دایرکتوری، دریافت خواهید کرد:
-
./rclone link B2:bucket/path https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
سپس میتوانید از توکن احراز هویت (بخشی از نشانی وب از ?Authorization= به بعد) برای هر مسیر فایلی در آن دایرکتوری استفاده کنید. برای مثال:
-
https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
گزینههای استاندارد
در اینجا گزینههای استاندارد ویژهی b2 (Backblaze B2) آورده شده است.
--b2-account
شناسه حساب (Account ID) یا شناسه کلید برنامه (Application Key ID).
ویژگیها:
- •
- پیکربندی: account
- •
- متغیر محیطی: RCLONE_B2_ACCOUNT
- •
- نوع: string
- •
- اجباری: true
--b2-key
کلید برنامه (Application Key).
ویژگیها:
- •
- پیکربندی: key
- •
- متغیر محیطی: RCLONE_B2_KEY
- •
- نوع: string
- •
- اجباری: true
--b2-hard-delete
حذف دائمی فایلها هنگام حذف از ریموت، در غیر این صورت پنهانسازی فایلها.
ویژگیها:
- •
- پیکربندی: hard_delete
- •
- متغیر محیطی: RCLONE_B2_HARD_DELETE
- •
- نوع: bool
- •
- پیشفرض: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفتهی ویژهی b2 (Backblaze B2) آورده شده است.
--b2-endpoint
نقطه پایانی (Endpoint) برای سرویس.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_B2_ENDPOINT
- •
- نوع: string
- •
- اجباری: false.SS --b2-test-mode
یک رشته پرچم برای هدر X-Bz-Test-Mode جهت اشکالزدایی.
این گزینه صرفاً برای مقاصد اشکالزدایی است. تنظیم آن روی یکی از رشتههای زیر باعث میشود b2 خطاهای مشخصی را بازگرداند:
- •
- "fail_some_uploads"
- •
- "expire_some_account_authorization_tokens"
- •
- "force_cap_exceeded"
این مقادیر در هدر "X-Bz-Test-Mode" تنظیم خواهند شد که در چکلیست یکپارچهسازیهای b2 مستند شده است (https://www.backblaze.com/docs/cloud-storage-integration-checklist).
ویژگیها:
- •
- پیکربندی: test_mode
- •
- متغیر محیطی: RCLONE_B2_TEST_MODE
- •
- نوع: string
- •
- الزامی: false
--b2-versions
شامل کردن نسخههای قدیمی در فهرستبندیهای دایرکتوری.
توجه داشته باشید که هنگام استفاده از این گزینه، هیچ عملیات نوشتن روی فایل مجاز نیست، بنابراین نمیتوانید فایلها را بارگذاری کرده یا آنها را حذف کنید.
ویژگیها:
- •
- پیکربندی: versions
- •
- متغیر محیطی: RCLONE_B2_VERSIONS
- •
- نوع: bool
- •
- پیشفرض: false
--b2-version-at
نمایش نسخههای فایل به همان شکلی که در زمان مشخصشده وجود داشتهاند.
توجه داشته باشید که هنگام استفاده از این گزینه، هیچ عملیات نوشتن روی فایل مجاز نیست، بنابراین نمیتوانید فایلها را بارگذاری کرده یا آنها را حذف کنید.
ویژگیها:
- •
- پیکربندی: version_at
- •
- متغیر محیطی: RCLONE_B2_VERSION_AT
- •
- نوع: Time
- •
- پیشفرض: off
--b2-upload-cutoff
حد آستانه برای جابجایی به بارگذاری چندتکهای (chunked upload).
فایلهای بزرگتر از این اندازه، در تکههایی با اندازهٔ "--b2-chunk-size" بارگذاری خواهند شد.
این مقدار نباید بزرگتر از 4.657 GiB (برابر با 5 GB) تنظیم شود.
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_B2_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 200Mi
--b2-copy-cutoff
حد آستانه برای جابجایی به کپی چندبخشی (multipart copy).
هر فایلی بزرگتر از این اندازه که نیاز به کپی سمت سرور داشته باشد، در تکههایی با این اندازه کپی خواهد شد.
حداقل مقدار 0 و حداکثر آن 4.6 GiB است.
ویژگیها:
- •
- پیکربندی: copy_cutoff
- •
- متغیر محیطی: RCLONE_B2_COPY_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 4Gi.SS --b2-chunk-size
اندازه تکههای بارگذاری.
هنگام بارگذاری فایلهای بزرگ، فایل را به این اندازه تکهتکه میکند.
باید در حافظه جای گیرد. این تکهها در حافظه بافر میشوند و ممکن است حداکثر به تعداد "--transfers" تکه بهطور همزمان در حال بارگذاری باشند.
۵٬۰۰۰٬۰۰۰ بایت حداقل اندازه است.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_B2_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 96Mi
--b2-upload-concurrency
همزمانی برای بارگذاریهای چندبخشی (multipart).
این تعداد تکههایی از یک فایل یکسان است که بهصورت همزمان بارگذاری میشوند.
توجه داشته باشید که تکهها در حافظه ذخیره میشوند و ممکن است حداکثر تا "--transfers" * "--b2-upload-concurrency" تکه بهطور همزمان در حافظه نگهداری شوند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_B2_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 4
--b2-disable-checksum
غیرفعالسازی چکسام برای فایلهای بزرگ (بزرگتر از آستانه upload cutoff).
بهطور معمول rclone پیش از بارگذاری ورودی، چکسام SHA1 آن را محاسبه میکند تا بتواند آن را به متادیتای شیء بیفزاید. این کار برای بررسی صحت دادهها عالی است، اما میتواند باعث تاخیرهای طولانی در شروع بارگذاری فایلهای بزرگ شود.
ویژگیها:
- •
- پیکربندی: disable_checksum
- •
- متغیر محیطی: RCLONE_B2_DISABLE_CHECKSUM
- •
- نوع: bool
- •
- پیشفرض: false
--b2-download-url
اندپوینت (endpoint) سفارشی برای بارگیریها.
این مقدار معمولاً روی نشانی اینترنتی CDN شرکت Cloudflare تنظیم میشود، زیرا Backblaze برای دادههای بارگیریشده از طریق شبکه Cloudflare، ترافیک خروجی (egress) رایگان ارائه میدهد. ابزار rclone با ارسال یک هدر "Authorization" با باکتهای خصوصی کار میکند. اگر اندپوینت سفارشی درخواستها را برای احراز هویت بازنویسی میکند (برای مثال در Cloudflare Workers)، این هدر باید بهدرستی مدیریت شود. در صورتی که میخواهید از اندپوینت ارائهشده توسط Backblaze استفاده کنید، آن را خالی بگذارید.
نشانی اینترنتی (URL) ارائهشده در اینجا باید پروتکل را داشته باشد و نباید اسلش پایانی داشته باشد یا زیرمسیر /file/bucket را مشخص کند، زیرا rclone فایلها را با "{download_url}/file/{bucket_name}/{path}" درخواست خواهد کرد.
مثال: > https://mysubdomain.mydomain.tld (بدون "/"، "file" یا "bucket" در انتها)
ویژگیها:
- •
- پیکربندی: download_url
- •
- متغیر محیطی: RCLONE_B2_DOWNLOAD_URL
- •
- نوع: string
- •
- الزامی: false.SS --b2-download-auth-duration
زمان پیش از منقضی شدن توکن احراز هویت پیوند عمومی بر حسب ثانیه یا با پسوندهای ms|s|m|h|d.
این گزینه در ترکیب با "rclone link" جهت در دسترس قرار دادن فایلها برای عموم استفاده میشود و مدتزمان پیش از انقضای توکن مجوز دانلود را تعیین میکند.
کمترین مقدار ۱ ثانیه است. بیشترین مقدار یک هفته است.
ویژگیها:
- •
- پیکربندی: download_auth_duration
- •
- متغیر محیطی: RCLONE_B2_DOWNLOAD_AUTH_DURATION
- •
- نوع: Duration
- •
- پیشفرض: 1w
--b2-lifecycle
تعیین تعداد روزهایی که فایلهای حذفشده هنگام ایجاد یک باکت (bucket) باید نگهداری شوند.
هنگام ایجاد باکت، این پارامتر برای ایجاد یک قاعده چرخه حیات (lifecycle rule) برای کل باکت به کار میرود.
اگر lifecycle برابر 0 (پیشفرض) باشد، هیچ قاعده چرخهحیاتی ایجاد نمیشود و رفتار پیشفرض B2 اعمال میگردد. این رفتار شامل نگهداری نسخههای فایلها پس از حذف و بازنویسی (overwrite) به مدت نامحدود است.
اگر lifecycle بزرگتر از 0 باشد، یک قاعده تکی ایجاد میشود که تعداد روزهای پیش از حذف دائمی یک فایلِ حذفشده یا بازنویسیشده را تنظیم میکند. این مورد در مستندات b2 با عنوان daysFromHidingToDeleting شناخته میشود.
کمترین مقدار برای این پارامتر ۱ روز است.
همچنین میتوانید hard_delete را در پیکربندی فعال کنید که باعث میشود حذف فایلها نسخهای ایجاد نکند، اما بازنویسیها همچنان منجر به ایجاد نسخه خواهند شد.
برای تنظیم چرخههای حیات پس از ایجاد باکت، rclone backend lifecycle را ببینید.
ویژگیها:
- •
- پیکربندی: lifecycle
- •
- متغیر محیطی: RCLONE_B2_LIFECYCLE
- •
- نوع: int
- •
- پیشفرض: 0
--b2-encoding
کدگذاری (encoding) برای backend.
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_B2_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
--b2-sse-customer-algorithm
در صورت استفاده از SSE-C، الگوریتم رمزگذاری سمت سرور که هنگام ذخیره این شیء در B2 استفاده میشود.
ویژگیها:
- •
- پیکربندی: sse_customer_algorithm
- •
- متغیر محیطی: RCLONE_B2_SSE_CUSTOMER_ALGORITHM
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- هیچکدام
- •
- "AES256"
- •
- استاندارد رمزگذاری پیشرفته (طول کلید ۲۵۶ بیت)
برای استفاده از SSE-C، میتوانید کلید رمزگذاری محرمانه را در قالب یک رشته سازگار با UTF-8 جهت رمزگذاری/رمزگشایی دادههای خود ارائه دهید.
همچنین میتوانید به جای آن از --sse-customer-key-base64 استفاده کنید.
ویژگیها:
- •
- پیکربندی: sse_customer_key
- •
- متغیر محیطی: RCLONE_B2_SSE_CUSTOMER_KEY
- •
- نوع: string
- •
- الزامی: خیر
- •
- مثالها:
- •
- ""
- •
- هیچکدام
--b2-sse-customer-key-base64
برای استفاده از SSE-C، میتوانید کلید رمزگذاری محرمانه را با فرمت Base64 جهت رمزگذاری/رمزگشایی دادههای خود ارائه دهید.
همچنین میتوانید به جای آن از --sse-customer-key استفاده کنید.
ویژگیها:
- •
- پیکربندی: sse_customer_key_base64
- •
- متغیر محیطی: RCLONE_B2_SSE_CUSTOMER_KEY_BASE64
- •
- نوع: string
- •
- الزامی: خیر
- •
- مثالها:
- •
- ""
- •
- هیچکدام
--b2-sse-customer-key-md5
در صورت استفاده از SSE-C، میتوانید چکسام MD5 کلید رمزگذاری محرمانه را ارائه دهید (اختیاری).
اگر آن را خالی بگذارید، بهطور خودکار از روی sse_customer_key ارائهشده محاسبه میشود.
ویژگیها:
- •
- پیکربندی: sse_customer_key_md5
- •
- متغیر محیطی: RCLONE_B2_SSE_CUSTOMER_KEY_MD5
- •
- نوع: string
- •
- الزامی: خیر
- •
- مثالها:
- •
- ""
- •
- هیچکدام
--b2-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_B2_DESCRIPTION
- •
- نوع: string
- •
- الزامی: خیر.SS دستورهای بکاند (Backend)
در اینجا دستورهای مختص بکاند b2 آورده شدهاند.
اجرای آنها با دستور زیر انجام میشود:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح خواهد داد که هر دستور چه آرگومانهایی میپذیرد.
برای اطلاعات بیشتر در مورد نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این موارد را میتوان روی یک بکاندِ در حال اجرا با استفاده از دستور rc به شکل backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
lifecycle
خواندن یا تنظیم چرخه حیات (lifecycle) برای یک باکت (bucket).
-
rclone backend lifecycle remote: [options] [<arguments>+]
از این دستور میتوان برای خواندن یا تنظیم چرخه حیات یک باکت استفاده کرد.
برای نمایش قواعد فعلی چرخه حیات:
-
rclone backend lifecycle b2:bucket
این دستور خروجیای شبیه به زیر را نمایش میدهد که بیانگر قواعد چرخه حیات است.
-
[ { "daysFromHidingToDeleting": 1, "daysFromUploadingToHiding": null, "daysFromStartingToCancelingUnfinishedLargeFiles": null, "fileNamePrefix": "" } ]
اگر هیچ قاعده چرخه حیاتی وجود نداشته باشد (حالت پیشفرض)، صرفاً [] برگردانده میشود.
برای تنظیم مجدد قواعد فعلی چرخه حیات:
-
rclone backend lifecycle b2:bucket -o daysFromHidingToDeleting=30 rclone backend lifecycle b2:bucket -o daysFromUploadingToHiding=5 -o daysFromHidingToDeleting=1
این دستور اجرا خواهد شد و سپس قواعد جدید چرخه حیات را مانند بالا چاپ میکند.
ابزار Rclone تنها اجازه میدهد چرخههای حیات را برای کل باکت با "" = fileNamePrefix تنظیم کنید.
شما نمیتوانید نسخهبندی را در B2 غیرفعال کنید. بهترین کاری که میتوانید انجام دهید، تنظیم daysFromHidingToDeleting روی ۱ روز است. همچنین میتوانید hard_delete را در پیکربندی فعال کنید که به این معنی خواهد بود که حذفها باعث ایجاد نسخه جدید نمیشوند، اما رونویسیها همچنان باعث ایجاد نسخههای جدید خواهند شد.
-
rclone backend lifecycle b2:bucket -o daysFromHidingToDeleting=1
ببینید: https://www.backblaze.com/docs/cloud-storage-lifecycle-rules
گزینهها:
- •
- "daysFromHidingToDeleting": پس از اینکه یک فایل برای این تعداد روز مخفی ماند، حذف میشود. مقدار 0 به معنای خاموش بودن است.
- •
- "daysFromStartingToCancelingUnfinishedLargeFiles": هرگونه نسخه ناتمام از فایلهای بزرگ را پس از این تعداد روز لغو میکند.
- •
- "daysFromUploadingToHiding": پس از گذشت این تعداد روز از بارگذاری، فایل مخفی میشود..SS cleanup
حذف بارگذاریهای ناتمام فایلهای حجیم.
-
rclone backend cleanup remote: [options] [<arguments>+]
این دستور بارگذاریهای ناتمام فایلهای حجیمی را که عمر آنها بیشتر از max-age است (با مقدار پیشفرض ۲۴ ساعت)، حذف میکند.
توجه داشته باشید که میتوانید از --interactive/-i یا --dry-run همراه با این دستور استفاده کنید تا ببینید چه عملیاتی انجام خواهد شد.
-
rclone backend cleanup b2:bucket/path/to/object rclone backend cleanup -o max-age=7w b2:bucket/path/to/object
مدتزمانها مطابق با سایر بخشهای rclone تجزیه میشوند؛ مانند 2h، 7d، 7w و غیره.
گزینهها:
- •
- "max-age": حداکثر عمر بارگذاری جهت حذف.
cleanup-hidden
حذف نسخههای قدیمی فایلها.
-
rclone backend cleanup-hidden remote: [options] [<arguments>+]
این دستور هرگونه نسخه پنهان و قدیمی فایلها را حذف میکند.
توجه داشته باشید که میتوانید از --interactive/-i یا --dry-run همراه با این دستور استفاده کنید تا ببینید چه عملیاتی انجام خواهد شد.
-
rclone backend cleanup-hidden b2:bucket/path/to/dir
محدودیتها (Limitations)
دستور rclone about توسط بکاند B2 پشتیبانی نمیشود. بکاندهایی که این قابلیت را ندارند، نمیتوانند فضای خالی را برای یک rclone mount مشخص کنند یا از سیاست mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند را در (https://rclone.org/overview/#optional-features) و مستندات rclone about را در (https://rclone.org/commands/rclone_about) ببینید.
Box
مسیرها بهصورت remote:path مشخص میشوند.
مسیرها میتوانند تا هر عمقی که نیاز است باشند، مانند: remote:directory/subdirectory.
راهاندازی اولیه برای Box مستلزم دریافت یک توکن از Box است که میتوانید آن را از طریق مرورگر خود، یا با یک فایل config.json دانلودشده از Box برای احراز هویت JWT انجام دهید. دستور rclone config شما را مرحلهبهمرحله راهنمایی میکند.
پیکربندی (Configuration)
در اینجا مثالی از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این کار شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Box \ "box" [snip] Storage> box Box App Client Id - leave blank normally. client_id> Box App Client Secret - leave blank normally. client_secret> Box App config.json location Leave blank normally. Enter a string value. Press Enter for the default (""). box_config_file> Box App Primary Access Token Leave blank normally. Enter a string value. Press Enter for the default (""). access_token> Enter a string value. Press Enter for the default ("user"). Choose a number from below, or type in your own value 1 / Rclone should act on behalf of a user \ "user" 2 / Rclone should act on behalf of a service account \ "enterprise" box_sub_type> Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXXXXXXXXXXXXXXXXXXXXX Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: box - client_id: - client_secret: - token: {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای نحوه راهاندازی بر روی سیستمی که مرورگر وب متصل به اینترنت ندارد، مستندات راهاندازی ریموت را در (https://rclone.org/remote_setup) ببینید.
توجه داشته باشید که rclone یک وبسرور را روی سیستم محلی شما اجرا میکند تا توکن بازگرداندهشده از Box را دریافت کند. این سرویس تنها از لحظه باز شدن مرورگر تا زمان دریافت کد تأیید اجرا میشود. این وبسرور روی http://127.0.0.1:53682 اجرا میشود و اگر از فایروال میزبان استفاده میکنید، ممکن است لازم باشد آن را موقتاً باز کنید.
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (بهجای remote نامی را که به ریموت خود اختصاص دادهاید قرار دهید):
فهرست کردن دایرکتوریهای سطح بالای Box شما:
-
rclone lsd remote:
فهرست کردن تمام فایلهای موجود در Box شما:
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به یک دایرکتوری در Box به نام backup:
-
rclone copy /home/source remote:backup
اگر نوع حساب شما در Box از نوع سازمانی ("Enterprise") همراه با ورود یکپارچه (SSO) است، برای استفاده از Box با rclone باید یک گذرواژه بسازید.
این کار در حساب سازمانی Box شما با رفتن به تنظیمات (Settings)، برگهٔ "Account" و سپس تعیین گذرواژه در فیلد "Authentication" امکانپذیر است.
پس از انجام این کار، میتوانید حساب سازمانی Box خود را طبق همان روندی که پیشتر شرح داده شد و با استفاده از گذرواژهای که بهتازگی تنظیم کردهاید، راهاندازی کنید.
توکن نوسازی نامعتبر (Invalid refresh token)
طبق مستندات Box (https://developer.box.com/v2.0/docs/oauth-20#section-6-using-the-access-and-refresh-tokens):
هر refresh_token تنها برای یک بار استفاده در طول ۶۰ روز معتبر است.
این بدان معناست که اگر:
- •
- به مدت ۶۰ روز از ریموت Box استفاده نکنید
- •
- فایل پیکربندی حاوی refresh token مربوط به Box را کپی کرده و در دو مکان مختلف استفاده نمایید
- •
- هنگام نوسازی توکن با خطا مواجه شوید
آنگاه rclone خطایی برمیگرداند که شامل متن Invalid refresh token خواهد بود.
برای برطرف کردن این مشکل، باید دوباره از oauth2 برای بهروزرسانی refresh token استفاده کنید. میتوانید از روشهای شرحدادهشده در مستندات راهاندازی ریموت (https://rclone.org/remote_setup) استفاده نمایید؛ با در نظر داشتن این نکته که اگر از روش کپی کردن فایل پیکربندی استفاده میکنید، نباید از آن ریموت روی رایانهای که احراز هویت را در آن انجام دادهاید استفاده کنید.
نحوهٔ انجام این کار در ادامه آمده است:
-
$ rclone config Current remotes: Name Type ==== ==== remote box e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> e Choose a number from below, or type in an existing value 1 > remote remote> remote Configuration complete. Options: - type: box - token: {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"} Keep this "remote" remote? Edit remote Value "client_id" = "" Edit? (y/n)> y) Yes n) No y/n> n Value "client_secret" = "" Edit? (y/n)> y) Yes n) No y/n> n Remote config Token already configured - replace it? y) Yes n) No y/n> y Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: box - token: {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
سرویس Box اجازه میدهد زمانهای تغییر روی اشیاء با دقت ۱ ثانیه تنظیم شوند. این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر استفاده خواهند شد.
سرویس Box از هشهای نوع SHA1 پشتیبانی میکند، بنابراین میتوانید از پرچم --checksum استفاده کنید.
نویسههای محدودشده در نام فایل
علاوه بر مجموعه نویسههای محدودشده پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
نامهای فایل همچنین نمیتوانند با نویسههای زیر خاتمه یابند. این نویسهها تنها در صورتی جایگزین میشوند که آخرین نویسه در نام باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
انتقالها
برای فایلهای بزرگتر از 50 MiB، ابزار rclone از انتقال تکهتکه استفاده خواهد کرد. ابزار rclone حداکثر تا --transfers تکه را به طور همزمان بارگذاری میکند (مشترک بین تمام بارگذاریهای چندبخشی). تکهها در حافظه بافر میشوند و معمولاً 8 MiB هستند، بنابراین افزایش --transfers مصرف حافظه را افزایش خواهد داد.
حذف فایلها
بسته به تنظیمات سازمانی مربوط به کاربر شما، مورد یا واقعاً از Box حذف میشود و یا به سطل زباله منتقل میگردد.
تخلیه سطل زباله از طریق دستور cleanup در rclone پشتیبانی میشود، با این حال این دستور هر فایل و پوشه حذفشده را به صورت جداگانه پاک میکند، بنابراین ممکن است زمان بسیار زیادی طول بکشد. تخلیه سطل زباله از طریق WebUI این محدودیت را ندارد، بنابراین توصیه میشود سطل زباله را از طریق WebUI خالی کنید.
شناسه پوشه ریشه
میتوانید root_folder_id را برای rclone تنظیم کنید. این پوشهای است (که با Folder ID آن شناسایی میشود) که rclone آن را به عنوان ریشه درایو Box شما در نظر میگیرد.
به طور معمول این مقدار را خالی میگذارید و خود rclone ریشه صحیح را برای استفاده تعیین خواهد کرد.
با این حال میتوانید این مقدار را برای محدود کردن rclone به یک سلسلهمراتب پوشه خاص تنظیم کنید.
برای انجام این کار باید Folder ID پوشهای را که میخواهید rclone نمایش دهد پیدا کنید. این شناسه، آخرین بخش نشانی اینترنتی هنگامی خواهد بود که پوشه مربوطه را در رابط تحت وب Box باز میکنید.
بنابراین اگر پوشهای که میخواهید rclone استفاده کند نشانی وبی شبیه به https://app.box.com/folder/11xxxxxxxxx8 در مرورگر دارد، آنگاه از 11xxxxxxxxx8 به عنوان root_folder_id در پیکربندی استفاده کنید..SS گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص box (Box) آورده شده است.
--box-client-id
شناسه کلاینت OAuth (OAuth Client Id).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_BOX_CLIENT_ID
- •
- نوع: string
- •
- اجباری: false
--box-client-secret
کلید محرمانه کلاینت OAuth (OAuth Client Secret).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_BOX_CLIENT_SECRET
- •
- نوع: string
- •
- اجباری: false
--box-box-config-file
مکان فایل config.json برای Box App
در حالت عادی خالی بگذارید.
علامت ~ در ابتدای نام فایل و همچنین متغیرهای محیطی نظیر ${RCLONE_CONFIG_DIR} بسط داده خواهند شد.
ویژگیها:
- •
- پیکربندی: box_config_file
- •
- متغیر محیطی: RCLONE_BOX_BOX_CONFIG_FILE
- •
- نوع: string
- •
- اجباری: false
--box-access-token
توکن دسترسی اصلی Box App
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: access_token
- •
- متغیر محیطی: RCLONE_BOX_ACCESS_TOKEN
- •
- نوع: string
- •
- اجباری: false
--box-box-sub-type
ویژگیها:
- •
- پیکربندی: box_sub_type
- •
- متغیر محیطی: RCLONE_BOX_BOX_SUB_TYPE
- •
- نوع: string
- •
- پیشفرض: "user"
- •
- مثالها:
- •
- "user"
- •
- Rclone باید از طرف یک کاربر عمل کند.
- •
- "enterprise"
- •
- Rclone باید از طرف یک حساب خدماتی (Service Account) عمل کند.
در اینجا گزینههای پیشرفته ویژه box (Box) آورده شده است.
--box-token
توکن دسترسی OAuth بهصورت یک داده JSON (JSON blob).
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_BOX_TOKEN
- •
- نوع: string
- •
- الزامی: false
--box-auth-url
نشانی URL سرور احراز هویت (Auth).
برای استفاده از مقادیر پیشفرض ارائهدهنده، این فیلد را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_BOX_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--box-token-url
نشانی URL سرور توکن.
برای استفاده از مقادیر پیشفرض ارائهدهنده، این فیلد را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_BOX_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--box-client-credentials
استفاده از جریان احراز هویت Client Credentials در OAuth.
این گزینه از جریان Client Credentials در OAUTH2 همانطور که در RFC 6749 شرح داده شده است استفاده میکند.
توجه داشته باشید که این گزینه توسط همه بکاندها (backends) پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_BOX_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--box-root-folder-id
این گزینه را پر کنید تا rclone از پوشهای غیر از ریشه بهعنوان نقطه آغاز خود استفاده کند.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_BOX_ROOT_FOLDER_ID
- •
- نوع: string
- •
- پیشفرض: "0"
--box-upload-cutoff
آستانه تغییر به بارگذاری چندبخشی (multipart upload) (>= 50 MiB).
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_BOX_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 50Mi.SS --box-commit-retries
حداکثر دفعات تلاش برای ثبت نهایی (commit) یک فایل چندبخشی (multipart).
ویژگیها:
- •
- پیکربندی: commit_retries
- •
- متغیر محیطی: RCLONE_BOX_COMMIT_RETRIES
- •
- نوع: int
- •
- پیشفرض: 100
--box-list-chunk
اندازه تکههای فهرستبندی (chunk) بین ۱ تا ۱۰۰۰.
ویژگیها:
- •
- پیکربندی: list_chunk
- •
- متغیر محیطی: RCLONE_BOX_LIST_CHUNK
- •
- نوع: int
- •
- پیشفرض: 1000
--box-owned-by
فقط نمایش مواردی که متعلق به حساب کاربری (نشانی ایمیل) مشخصشده هستند.
ویژگیها:
- •
- پیکربندی: owned_by
- •
- متغیر محیطی: RCLONE_BOX_OWNED_BY
- •
- نوع: string
- •
- الزامی: false
--box-impersonate
جعل هویت (impersonate) این شناسه کاربری هنگام استفاده از یک حساب خدماتی (service account).
تنظیم این گزینه به rclone اجازه میدهد تا هنگام استفاده از یک حساب خدماتی JWT، با مقداردهی سرایند as-user از جانب کاربر دیگری عمل کند.
شناسه کاربری، همان شناسه یک کاربر در Box است. شناسههای کاربری را میتوان برای هر کاربری از طریق نقطه پایانی (endpoint) GET /users، که فقط در دسترس مدیران (admins) است، یا با فراخوانی GET /users/me همراه با یک نشست کاربری احرازهویتشده به دست آورد.
ببینید: https://developer.box.com/guides/authentication/jwt/as-user
ویژگیها:
- •
- پیکربندی: impersonate
- •
- متغیر محیطی: RCLONE_BOX_IMPERSONATE
- •
- نوع: string
- •
- الزامی: false
--box-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر بخش کدگذاری در نمای کلی (https://rclone.org/overview/#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_BOX_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
--box-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_BOX_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false.SS "محدودیتها (Limitations)"
توجه داشته باشید که Box به بزرگی و کوچکی حروف حساس نیست (case-insensitive)، بنابراین نمیتوانید همزمان فایلی به نام "Hello.doc" و فایلی به نام "hello.doc" داشته باشید.
نامهای فایل در Box نمیتوانند شامل نویسه \ باشند. ابزار rclone این نویسه را به معادل یونیکد با ظاهری یکسان یعنی \ (U+FF3C Fullwidth Reverse Solidus) و برعکس نگاشت میکند.
سرویس Box تنها از نامهای فایل با حداکثر طول ۲۵۵ نویسه پشتیبانی میکند.
سرویس Box دارای محدودیتهای نرخ فراخوانی API (https://developer.box.com/guides/api-calls/permissions-and-errors/rate-limits) است که گاهی اوقات سرعت rclone را کاهش میدهد.
دستور rclone about توسط بکاند Box پشتیبانی نمیشود. بکاندهایی که فاقد این قابلیت هستند نمیتوانند فضای خالی را برای یک rclone mount تعیین کنند یا از سیاست mfs (بیشترین فضای خالی - most free space) به عنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند را در (https://rclone.org/overview/#optional-features) و rclone about را در (https://rclone.org/commands/rclone_about) ببینید.
دریافت شناسه برنامه اختصاصی Box (Get your own Box App ID)
نحوه ایجاد App ID اختصاصی Box برای rclone به شرح زیر است:
- 1.
- به Box Developer Console (https://app.box.com/developers/console) رفته و وارد حساب کاربری خود شوید، سپس روی My Apps در نوار کناری کلیک کنید. روی Create New App کلیک کرده و Custom App را انتخاب نمایید.
- 2.
- در نخستین صفحه از کادر بازشده، میتوانید تقریباً هر مقداری که مایلید وارد کنید. مقدار App Name میتواند دلخواه باشد. برای Purpose گزینه automation را انتخاب کنید تا از پر کردن موارد دیگر بینیاز شوید. روی Next کلیک کنید.
- 3.
- در صفحه دوم از فرآیند ساخت، گزینه User Authentication (OAuth 2.0) را انتخاب نمایید. سپس روی Create App کلیک کنید.
- 4.
- اکنون باید در زبانه Configuration برنامه جدید خود باشید. اگر نیستید، در بالای صفحه وب روی آن کلیک کنید. مقادیر Client ID و Client Secret را کپی و یادداشت نمایید، چرا که برای rclone به آنها نیاز خواهید داشت.
- 5.
- در زیر بخش "OAuth 2.0 Redirect URI"، نشانی http://127.0.0.1:53682 را اضافه کنید.
- 6.
- برای Application Scopes، گزینههای Read all files and folders stored in Box و Write all files and folders stored in box را انتخاب کنید (با فرض اینکه میخواهید هر دو کار را انجام دهید). سایر گزینهها را علامتنخورده باقی بگذارید. در بالا سمت راست روی Save Changes کلیک کنید.
حافظه پنهان (Cache)
ریموت cache یک ریموت موجود دیگر را در بر میگیرد و ساختار فایل و دادههای آن را برای کارهای طولانیمدت مانند rclone mount ذخیره میکند.
این قابلیت منسوخ شده (deprecated) است، بنابراین استفاده از آن در نصبهای جدید توصیه نمیشود و ممکن است در آینده حذف گردد.
وضعیت (Status)
کد بکاند cache در حال حاضر کار میکند اما نگهدارندهای ندارد، بنابراین باگهای حلنشدهای دارد (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22Remote%3A+Cache%22) که برطرف نمیشوند.
بکاند cache در نهایت قرار است به نفع لایه کش VFS که سازگاری و یکپارچگی عمیقتری با rclone دارد، به مرور کنار گذاشته شود.
تا زمانی که این اتفاق بیفتد، توصیه میکنیم تنها در صورتی از بکاند cache استفاده کنید که ببینید بدون آن قادر به کار نیستید. مستندات آنلاین متعددی وجود دارند که استفاده از بکاند cache را برای به حداقل رساندن درخواستهای API شرح میدهند؛ اما در مجموع این آموزشها قدیمی هستند و بکاند cache دیگر در آن سناریوها مورد نیاز نیست.
پیکربندی (Configuration)
برای شروع تنها کافی است یک ریموت از پیش تعریفشده داشته باشید که بتواند با cache پیکربندی شود.
در ادامه مثالی از نحوه ایجاد ریموتی با نام test-cache آمده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرآیند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config n/r/c/s/q> n name> test-cache Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Cache a remote \ "cache" [snip] Storage> cache Remote to cache. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not recommended). remote> local:/test Optional: The URL of the Plex server plex_url> http://127.0.0.1:32400 Optional: The username of the Plex user plex_username> dummyusername Optional: The password of the Plex user y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> y Enter the password: password: Confirm the password: password: The size of a chunk. Lower value good for slow connections but can affect seamless reading. Default: 5M Choose a number from below, or type in your own value 1 / 1 MiB \ "1M" 2 / 5 MiB \ "5M" 3 / 10 MiB \ "10M" chunk_size> 2 How much time should object info (file size, file hashes, etc.) be stored in cache. Use a very high value if you don't plan on changing the source FS from outside the cache. Accepted units are: "s", "m", "h". Default: 5m Choose a number from below, or type in your own value 1 / 1 hour \ "1h" 2 / 24 hours \ "24h" 3 / 24 hours \ "48h" info_age> 2 The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted. Default: 10G Choose a number from below, or type in your own value 1 / 500 MiB \ "500M" 2 / 1 GiB \ "1G" 3 / 10 GiB \ "10G" chunk_total_size> 3 Remote config -------------------- [test-cache] remote = local:/test plex_url = http://127.0.0.1:32400 plex_username = dummyusername plex_password = *** ENCRYPTED *** chunk_size = 5M info_age = 48h chunk_total_size = 10G
سپس میتوانید مانند زیر از آن استفاده کنید،
فهرست کردن دایرکتوریها در بالاترین سطح درایو:
-
rclone lsd test-cache: فهرست کردن تمام فایلهای موجود در درایو شما
-
rclone ls test-cache:
برای راهاندازی یک اتصال (mount) دارای حافظهٔ موقت (کَش)
-
rclone mount --allow-other test-cache: /var/tmp/test-cache
قابلیتهای نوشتن
بارگذاری برونخط (Offline uploading)
در راستای تلاش برای قابلاطمینانتر کردن نوشتن از طریق حافظهٔ موقت، پشتیبان (backend) اکنون از این ویژگی پشتیبانی میکند که میتوان آن را با مشخص کردن یک cache-tmp-upload-path فعال کرد.
یک فایل هنگام استفاده از این ویژگی این وضعیتها را طی میکند:
- 1.
- یک بارگذاری آغاز میشود (معمولاً با کپی کردن یک فایل روی ریموت کش)
- 2.
- هنگامی که کپی به مکان موقت تکمیل شد، فایل بخشی از ریموت کششده محسوب شده و مانند هر فایل دیگری به نظر رسیده و رفتار میکند (شامل خواندن نیز میشود)
- 3.
- پس از سپری شدن cache-tmp-wait-time و رسیدن نوبت فایل، از rclone move برای انتقال فایل به ارائهدهندهٔ ابری استفاده میشود
- 4.
- خواندن فایل در حین بارگذاری همچنان امکانپذیر است، اما بیشتر تغییرات روی آن ممنوع خواهد بود
- 5.
- پس از اتمام انتقال، قفل فایل برای اعمال تغییرات باز میشود زیرا مانند هر فایل عادی دیگری خواهد شد
- 6.
- اگر فایل در حین خوانده شدن از طریق cache، از مسیر موقت حذف شود، آنگاه cache به سادگی منبع را به ارائهدهندهٔ ابری جابهجا میکند بدون آنکه وقفهای در خواندن رخ دهد (هرچند ممکن است لغزش کوتاهی ایجاد شود)
فایلها به صورت متوالی بارگذاری میشوند و در هر لحظه تنها یک فایل بارگذاری خواهد شد. بارگذاریها در یک صف ذخیره شده و بر اساس ترتیب افزوده شدن پردازش خواهند شد. صف و فضای ذخیرهسازی موقت در طول راهاندازیهای مجدد پایدار میمانند، اما میتوان در هنگام راهاندازی با پرچم --cache-db-purge آنها را پاکسازی کرد.
پشتیبانی از نوشتن
عملیات نوشتن از طریق cache پشتیبانی میشود. یک نکتهٔ مهم این است که یک ریموت کشِ متصلشده (mounted)، هیچ سازوکار تلاش مجدد یا بازگشتی (fallback) به عملیات بارگذاری اضافه نمیکند. این موضوع به پیادهسازی ریموتِ پوششدادهشده (wrapped remote) بستگی خواهد داشت. برای نوشتنهای مطمئن، استفاده از Offline uploading را در نظر بگیرید.
یک حالت خاص با cache-writes پوشش داده شده است که در صورت فعال بودن، دادههای فایل را همزمان با بارگذاری کَش میکند و باعث میشود بلافاصله پس از اتمام بارگذاری، فایل از طریق حافظهٔ ذخیرهسازی کش در دسترس باشد.
قابلیتهای خواندن
اتصالات چندگانه
برای خنثی کردن تأخیر بالای شبکه میان رایانه محلی که rclone روی آن اجرا میشود و ارائهدهندگان ابری، ریموت کش میتواند درخواستهای متعدد را برای تکههای کوچکتر فایل به ارائهدهندهٔ ابری ارسال کرده و آنها را به صورت محلی ادغام کند؛ جایی که تقریباً بلافاصله، پیش از آنکه برنامهخواننده به آنها نیاز داشته باشد، در دسترس خواهند بود.
این عملکرد مشابه بافرینگ (buffering) هنگام پخش آنلاین فایلهای رسانهای است. Rclone در اطراف نشانگر فعلی باقی میماند اما همواره نهایت تلاش خود را میکند تا جلوتر پیش برود و دادهها را از قبل آماده کند.
یکپارچهسازی با Plex
یکپارچهسازی مستقیمی با Plex وجود دارد که به حافظهٔ موقت امکان میدهد هنگام خواندن فایل تشخیص دهد آیا فایل در حال پخش است یا خیر. این امر به کَش کمک میکند تا نحوهٔ پرسوجو از ارائهدهندهٔ ابری را بسته به اینکه برای چه کاری نیاز است تطبیق دهد.
پویشها (Scans) حداقل تعداد پردازشگرها (workers) یعنی (۱) را خواهند داشت، در حالی که در صورت پخش تأییدشده، کَش تعداد پردازشگرهای پیکربندیشده را به کار میگیرد.
این یکپارچهسازی زمینه را برای بهبودهای کارایی بیشتر باز میکند که در آینده نزدیک مورد بررسی قرار خواهند گرفت.
نکته: در صورتی که گزینههای Plex پیکربندی نشوند، cache با گزینههای پیکربندیشدهٔ خود و بدون تغییر در هیچیک از تنظیماتش عمل خواهد کرد.
نحوهٔ فعالسازی: دستور rclone config را اجرا کرده و تمامی گزینههای مربوط به Plex (نقطه پایانی (endpoint)، نام کاربری و گذرواژه) را در ریموت خود مشخص کنید تا به صورت خودکار فعال شود.
تنظیمات تحت تأثیر:
- •
- cache-workers: مقدار پیکربندیشده در زمان پخش تأییدشده یا 1 در بقیه مواقع.SS اعتبارسنجی گواهی (Certificate Validation)
هنگامی که سرور Plex به گونهای پیکربندی شده باشد که تنها اتصالهای امن را بپذیرد، میتوان از نشانیهای .plex.direct برای اطمینان از موفقیتآمیز بودن اعتبارسنجی گواهی استفاده کرد. این نشانیها به صورت داخلی توسط Plex برای اتصال امن به سرور Plex استفاده میشوند.
قالب این نشانیها به شرح زیر است:
https://ip-with-dots-replaced.server-hash.plex.direct:32400
بخش ip-with-dots-replaced میتواند هر آدرس IPv4 باشد که در آن نقطهها با خط تیره جایگزین شدهاند، برای نمونه 127.0.0.1 تبدیل به 127-0-0-1 میشود.
برای بهدست آوردن بخش server-hash، سادهترین راه مراجعه به پیوند زیر است:
<https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-token>
این صفحه فهرستی از تمام سرورهای Plex در دسترس برای حساب کاربری شما را به همراه حداقل یک پیوند .plex.direct برای هرکدام نمایش میدهد. یکی از نشانیها را کپی کرده و آدرس IP را با آدرس دلخواه جایگزین کنید. از این مقدار میتوان به عنوان plex_url استفاده کرد.
مشکلات شناختهشده
دستور Mount و --dir-cache-time
گزینه --dir-cache-time نخستین لایه از حافظه موقت دایرکتوری را که در سطح لایه mount عمل میکند، کنترل مینماید. از آنجا که این سازوکار حافظه پنهان مستقل از پسبند cache است، مدخلهای خود را بر اساس زمان پیکربندیشده مدیریت خواهد کرد.
برای جلوگیری از مواجهه با حالتی که کش دایرکتوری حاوی دادههای منسوخ و حافظه پنهان حاوی دادههای صحیح باشد، سعی کنید --dir-cache-time را روی زمانی کمتر از --cache-info-age تنظیم کنید. مقادیر پیشفرض از قبل به همین شیوه پیکربندی شدهاند.
پشتیبانی از Windows - آزمایشی
چندین مشکل در عملکرد mount در ویندوز وجود دارد که هنوز نیازمند بررسی است. تا زمان ارائه اصلاحیهها برای این سیستمعامل، باید آن را آزمایشی در نظر گرفت.
به نظر میرسد بیشتر مشکلات به تفاوت میان فایلسیستمها در توزیعهای مختلف لینوکس و ویندوز مربوط باشد، چرا که حافظه موقت به شدت به آنها وابسته است.
هرگونه گزارش یا بازخورد در مورد نحوه رفتار حافظه موقت (cache) در این سیستمعامل با استقبال مواجه خواهد شد.
- •
- گزارش Issue #1935 (https://github.com/rclone/rclone/issues/1935)
- •
- گزارش Issue #1907 (https://github.com/rclone/rclone/issues/1907)
- •
- گزارش Issue #1834 (https://github.com/rclone/rclone/issues/1834)
خطر محدودسازی نرخ درخواست (Throttling)
در نسخههای بعدی پسبند cache، از قابلیت تجمیع اتصالات (pooling) ارائهدهنده ابری برای همگامسازی استفاده خواهد شد و همزمان نوشتن از طریق آن در برابر خطاها مقاومتر میشود.
بهبودهایی برای اضافه کردن این موارد در حال انجام است، اما در این میان نگرانی بهجایی وجود دارد که انقضای فهرستهای حافظه موقت ممکن است به دلیل پرسوجوهای مکرر برای سوارکردنهای (mounts) بسیار بزرگ، به محدودسازی نرخ درخواست یا مسدودسازی از سمت ارائهدهنده ابری منجر شود.
چند توصیه:
- •
- از بازه زمانی بسیار کوچک برای اطلاعات مدخلها (--cache-info-age) استفاده نکنید.
- •
- اگرچه عملیات نوشتن هنوز بهینهسازی نشده است، همچنان میتوانید از طریق cache بنویسید که در صورت پیکربندی مناسب، این مزیت را به همراه دارد که فایل به طور همزمان به حافظه موقت نیز افزوده میشود.
بهبودهای آینده:
- •
- گزارش Issue #1937 (https://github.com/rclone/rclone/issues/1937)
- •
- گزارش Issue #1936 (https://github.com/rclone/rclone/issues/1936).SS cache و crypt
یک سناریوی رایج، نگهداری دادههایتان بهصورت رمزگذاریشده در ارائهدهندهٔ ابری با استفاده از ریموت crypt است. crypt از روش مشابهی برای دربرگرفتن یک ریموت موجود استفاده کرده و این تبدیل را بهشکلی یکپارچه مدیریت میکند.
در صورت دربرگرفتن ریموتها با این ترتیب، مشکلی وجود دارد: cloud remote -> crypt -> cache
در طول آزمایشها، با قرارگیری ریموتها در این ترتیب با مسدودسازیهای زیادی مواجه شدم. گمان میکنم این مسئله ممکن است به نحوهٔ باز کردن فایلها توسط crypt در ارائهدهندهٔ ابری مربوط باشد؛ که باعث میشود اینطور به نظر برسد که در حال بارگیری کامل فایل بهجای دریافت تکههای کوچک (chunks) هستیم. سازماندهی ریموتها به این ترتیب نتایج بهتری به همراه دارد: cloud remote -> cache -> crypt
مسیرهای مطلق ریموت (absolute remote paths)
بکاند cache نمیتواند تفاوت بین مسیرهای نسبی و مطلق را برای ریموتِ دربرگرفتهشده تشخیص دهد. هر مسیری که در تنظیمات پیکربندی remote و در خط فرمان مشخص شود، عیناً به ریموت دربرگرفتهشده ارسال میشود؛ اما برای ذخیرهٔ تکهها روی دیسک، مسیر با حذف هرگونه نویسهٔ / ابتدایی بهصورت نسبی درمیآید.
این رفتار برای بیشتر انواع بکاندها اهمیتی ندارد، اما بکاندهایی وجود دارند که در آنها یک / ابتدایی دایرکتوری مؤثر را تغییر میدهد؛ به عنوان مثال در بکاند sftp، مسیرهایی که با / آغاز میشوند نسبت به ریشهٔ کارساز SSH هستند و مسیرهای بدون آن نسبت به دایرکتوری خانگی کاربر در نظر گرفته میشوند. در نتیجه sftp:bin و sftp:/bin از پوشهٔ کش یکسانی استفاده خواهند کرد، حتی اگر نمایانگر دایرکتوری متفاوتی در کارساز SSH باشند.
کش و کنترل از راه دور (--rc)
بکاند Cache از حالت جدید --rc در rclone پشتیبانی میکند و میتواند از طریق نقاط پایانی زیر از راه دور کنترل شود: بهطور پیشفرض، اگر این پرچم را مشخص نکنید، شنونده غیرفعال است.
rc cache/expire
پاکسازی یک ریموت از بکاند کش. از دایرکتوری یا فایل پشتیبانی میکند. در صورتی که cache توسط crypt دربرگرفته شده باشد، هم از نامهای فایل رمزگذاریشده و هم رمزگذارینشده پشتیبانی میکند.
پارامترها:
- •
- remote = مسیر به ریموت (الزامی)
- •
- withData = مقدار true/false برای حذف دادههای کششده (تکهها) نیز (اختیاری، بهطور پیشفرض false)
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص cache (کش کردن یک ریموت) آورده شده است.
--cache-remote
ریموتی که باید کش شود.
بهطور معمول باید شامل یک ':' و یک مسیر باشد، مانند "myremote:path/to/dir"، "myremote:bucket" یا شاید "myremote:" (توصیه نمیشود).
ویژگیها:
- •
- پیکربندی: remote
- •
- متغیر محیطی: RCLONE_CACHE_REMOTE
- •
- نوع: string
- •
- الزامی: true
--cache-plex-url
آدرس URL کارساز Plex.
ویژگیها:
- •
- پیکربندی: plex_url
- •
- متغیر محیطی: RCLONE_CACHE_PLEX_URL
- •
- نوع: string
- •
- الزامی: false.SS --cache-plex-username
نام کاربری کاربر Plex.
ویژگیها:
- •
- پیکربندی: plex_username
- •
- متغیر محیطی: RCLONE_CACHE_PLEX_USERNAME
- •
- نوع: string
- •
- الزامی: false
--cache-plex-password
گذرواژه کاربر Plex.
نکته: ورودی این مورد باید مبهمسازی شده باشد - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: plex_password
- •
- متغیر محیطی: RCLONE_CACHE_PLEX_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--cache-chunk-size
اندازه یک تکه (دادههای بخشی فایل).
برای اتصالهای کندتر از مقادیر کمتر استفاده کنید. اگر اندازه تکه تغییر کند، تمام تکههای دانلودشده نامعتبر خواهند شد و مسیر cache-chunk-path باید پاکسازی شود؛ در غیر این صورت خطاهای غیرمنتظره EOF رخ خواهند داد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_CACHE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 5Mi
- •
- مثالها:
- •
- "1M"
- •
- 1 MiB
- •
- "5M"
- •
- 5 MiB
- •
- "10M"
- •
- 10 MiB
--cache-info-age
مدت زمان نگهداری اطلاعات ساختار فایل در حافظه موقت (فهرست دایرکتوریها، اندازه فایل، زمانها و غیره). اگر تمام عملیاتهای نوشتن از طریق حافظه موقت انجام شوند، میتوانید با خیال راحت این مقدار را بسیار بزرگ در نظر بگیرید، زیرا مخزن حافظه موقت نیز بهصورت بلادرنگ بهروزرسانی خواهد شد.
ویژگیها:
- •
- پیکربندی: info_age
- •
- متغیر محیطی: RCLONE_CACHE_INFO_AGE
- •
- نوع: Duration
- •
- پیشفرض: 6h0m0s
- •
- مثالها:
- •
- "1h"
- •
- ۱ ساعت
- •
- "24h"
- •
- ۲۴ ساعت
- •
- "48h"
- •
- ۴۸ ساعت
مجموع حجمی که تکهها (chunks) میتوانند روی دیسک محلی اشغال کنند.
اگر کش از این مقدار فراتر رود، شروع به حذف قدیمیترین تکهها میکند تا زمانی که حجم آن به زیر این مقدار برسد.
ویژگیها:
- •
- پیکربندی: chunk_total_size
- •
- متغیر محیطی: RCLONE_CACHE_CHUNK_TOTAL_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 10Gi
- •
- مثالها:
- •
- "500M"
- •
- 500 MiB
- •
- "1G"
- •
- 1 GiB
- •
- "10G"
- •
- 10 GiB
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مخصوص cache (کش کردن یک ریموت) آورده شده است.
--cache-plex-insecure
صرفنظر کردن از تمام مراحل اعتبارسنجی گواهینامه هنگام اتصال به سرور Plex.
ویژگیها:
- •
- پیکربندی: plex_insecure
- •
- متغیر محیطی: RCLONE_CACHE_PLEX_INSECURE
- •
- نوع: string
- •
- الزامی: false
--cache-db-path
دایرکتوری برای ذخیرهسازی پایگاهداده فرادادههای ساختار فایل.
از نام ریموت به عنوان نام فایل پایگاهداده استفاده میشود.
ویژگیها:
- •
- پیکربندی: db_path
- •
- متغیر محیطی: RCLONE_CACHE_DB_PATH
- •
- نوع: string
- •
- پیشفرض: "$HOME/.cache/rclone/cache-backend"
--cache-chunk-path
دایرکتوری برای ذخیرهسازی موقت (کش) فایلهای تکه (chunks).
مسیری که دادههای جزئی فایل (تکهها) به صورت محلی در آن ذخیره میشوند. نام ریموت به انتهای مسیر نهایی اضافه میشود.
این پیکربندی از "--cache-db-path" پیروی میکند. اگر مکان سفارشی را برای "--cache-db-path" مشخص کنید و مسیری را برای "--cache-chunk-path" تعیین نکنید، آنگاه "--cache-chunk-path" از همان مسیر "--cache-db-path" استفاده خواهد کرد.
ویژگیها:
- •
- پیکربندی: chunk_path
- •
- متغیر محیطی: RCLONE_CACHE_CHUNK_PATH
- •
- نوع: string
- •
- پیشفرض: "$HOME/.cache/rclone/cache-backend".SS --cache-db-purge
پاک کردن همهٔ دادههای کَششدهٔ این ریموت (remote) در زمان راهاندازی.
ویژگیها:
- •
- پیکربندی: db_purge
- •
- متغیر محیطی: RCLONE_CACHE_DB_PURGE
- •
- نوع: bool
- •
- پیشفرض: false
--cache-chunk-clean-interval
فواصل زمانی انجام پاکسازی فضای ذخیرهسازی تکهها (chunks) توسط کَش.
مقدار پیشفرض برای بیشتر کاربران مناسب است. اگر متوجه شدید که کَش بیش از حد از "cache-chunk-total-size" تجاوز میکند، این مقدار را کاهش دهید تا پاکسازی در فواصل زمانی کوتاهتر و به دفعات بیشتری انجام شود.
ویژگیها:
- •
- پیکربندی: chunk_clean_interval
- •
- متغیر محیطی: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--cache-read-retries
تعداد دفعات تلاش مجدد برای خواندن از فضای ذخیرهسازی کَش.
از آنجا که خواندن از یک جریان (stream) کَش مستقل از دانلود دادههای فایل است، ممکن است خوانندهها به نقطهای برسند که دادهٔ دیگری در کَش موجود نباشد. در اغلب موارد اگر کَش قادر به ارائهٔ بیشتر دادههای فایل نباشد، این امر میتواند نشاندهندهٔ وجود مشکل در اتصال شبکه باشد.
برای اتصالات بسیار کند، این مقدار را تا نقطهای افزایش دهید که جریان قادر به تأمین داده باشد، هرچند تجربهٔ شما با مکث و وقفههای فراوان همراه خواهد بود.
ویژگیها:
- •
- پیکربندی: read_retries
- •
- متغیر محیطی: RCLONE_CACHE_READ_RETRIES
- •
- نوع: int
- •
- پیشفرض: 10
--cache-workers
تعداد پردازههای کاری (workers) که برای دانلود تکهها باید بهطور موازی اجرا شوند.
مقادیر بالاتر به معنای پردازش موازی بیشتر (نیازمند CPU قویتر) و درخواستهای همزمان بیشتر به ارائهدهندهٔ ابری است. این امر بر جنبههای گوناگونی از قبیل محدودیتهای API ارائهدهندهٔ ابری و فشار بیشتر بر سختافزاری که rclone روی آن اجرا میشود اثر میگذارد، اما از سوی دیگر موجب روانتر شدن جریانها شده و دادهها بسیار سریعتر در دسترس خوانندهها قرار خواهند گرفت.
نکته: در صورت فعال بودن قابلیت اختیاری یکپارچهسازی با Plex، این تنظیم با نوع خواندن در حال انجام تطبیق یافته و مقدار تعیینشده در اینجا به عنوان حداکثر تعداد پردازههای کاری مجاز به کار گرفته خواهد شد.
ویژگیها:
- •
- پیکربندی: workers
- •
- متغیر محیطی: RCLONE_CACHE_WORKERS
- •
- نوع: int
- •
- پیشفرض: 4
--cache-chunk-no-memory
غیرفعال کردن کَش درونحافظهای برای ذخیرهٔ تکهها در حین استریم (streaming).
بهطور پیشفرض، کَش در حین استریم دادههای فایل را در RAM نیز نگهداری میکند تا آنها را در سریعترین زمان ممکن در اختیار خوانندهها قرار دهد.
این دادههای موقت به محض خوانده شدن دور ریخته میشوند و تعداد تکههای ذخیرهشده از تعداد پردازههای کاری (workers) تجاوز نمیکند. با این وجود، بسته به تنظیمات دیگری مانند "cache-chunk-size" و "cache-workers"، در صورت وجود جریانهای موازی (خواندن همزمان چندین فایل)، این ردپای حافظه میتواند افزایش یابد.
چنانچه سختافزار اجازه میدهد، از این قابلیت برای ارائهٔ کارایی کلی بهتر حین استریم استفاده کنید؛ با این حال در صورت کمبود RAM روی ماشین محلی، میتوان آن را غیرفعال کرد.
ویژگیها:
- •
- پیکربندی: chunk_no_memory
- •
- متغیر محیطی: RCLONE_CACHE_CHUNK_NO_MEMORY
- •
- نوع: bool
- •
- پیشفرض: false.SS --cache-rps
تعداد درخواستها در هر ثانیه به فایلسیستم منبع را محدود میکند (مقدار -1 برای غیرفعالسازی).
این تنظیم یک محدودیت قطعی (hard limit) بر تعداد درخواستها در هر ثانیه که حافظه موقت (cache) به سرویسدهنده ابری دوردست ارسال میکند اعمال کرده و با تنظیم زمانهای انتظار میان خواندنها تلاش میکند این مقدار را رعایت کند.
اگر متوجه شدید که از طریق حافظه موقت در سرویسدهنده ابری مسدود یا محدود میشوید و میدانید که تعداد کمتری از درخواستها در هر ثانیه امکان ادامه کار را به شما میدهد، میتوانید از این تنظیم استفاده کنید.
یک توازن مناسب بین تمام تنظیمات دیگر معمولاً این گزینه را غیرضروری میسازد، اما همچنان برای سناریوهای خاص در دسترس است.
نکته: این گزینه تعداد درخواستها را در حین جریانهای داده (streams) محدود میکند، اما سایر فراخوانیهای API به ارائهدهنده ابری مانند فهرست کردن محتوای دایرکتوریها همچنان انجام خواهند شد.
ویژگیها:
- •
- پیکربندی: rps
- •
- متغیر محیطی: RCLONE_CACHE_RPS
- •
- نوع: int
- •
- پیشفرض: -1
--cache-writes
دادههای فایل را هنگام نوشتن از طریق فایلسیستم در حافظه موقت ذخیره میکند.
اگر نیاز دارید فایلها را بلافاصله پس از بارگذاری از طریق حافظه موقت بخوانید، میتوانید این پرچم را فعال کنید تا همزمان در حین بارگذاری، دادههای آنها در حافظه موقت نیز ذخیره شود.
ویژگیها:
- •
- پیکربندی: writes
- •
- متغیر محیطی: RCLONE_CACHE_WRITES
- •
- نوع: bool
- •
- پیشفرض: false
--cache-tmp-upload-path
دایرکتوری نگهداری فایلهای موقت تا زمانی که بارگذاری شوند.
این مسیری است که حافظه موقت به عنوان فضای ذخیرهسازی موقت برای فایلهای جدیدی که باید در سرویسدهنده ابری بارگذاری شوند، استفاده خواهد کرد.
مشخص کردن یک مقدار، این قابلیت را فعال میکند. بدون آن، این ویژگی کاملاً غیرفعال بوده و فایلها به طور مستقیم در سرویسدهنده ابری بارگذاری خواهند شد.
ویژگیها:
- •
- پیکربندی: tmp_upload_path
- •
- متغیر محیطی: RCLONE_CACHE_TMP_UPLOAD_PATH
- •
- نوع: string
- •
- الزامی: false
--cache-tmp-wait-time
مدت زمانی که فایلها باید پیش از بارگذاری، در حافظه موقت محلی نگهداری شوند.
این مدت زمانی است که یک فایل باید در مسیر موقت cache-tmp-upload-path منتظر بماند تا برای بارگذاری انتخاب شود.
توجه داشته باشید که در هر لحظه تنها یک فایل بارگذاری میشود و در صورت تشکیل صف برای این منظور، ممکن است شروع بارگذاری بیشتر طول بکشد.
ویژگیها:
- •
- پیکربندی: tmp_wait_time
- •
- متغیر محیطی: RCLONE_CACHE_TMP_WAIT_TIME
- •
- نوع: Duration
- •
- پیشفرض: 15s.SS --cache-db-wait-time
مدتزمان انتظار برای دردسترس قرار گرفتن پایگاهداده (DB) - مقدار 0 به معنای نامحدود است.
در هر لحظه تنها یک فرآیند میتواند پایگاهداده را باز نگه دارد، بنابراین rclone پیش از بازگرداندن خطا، به مدت این بازه برای در دسترس قرار گرفتن پایگاهداده منتظر میماند.
اگر آن را روی 0 تنظیم کنید، برای همیشه منتظر خواهد ماند.
ویژگیها:
- •
- پیکربندی: db_wait_time
- •
- متغیر محیطی: RCLONE_CACHE_DB_WAIT_TIME
- •
- نوع: Duration
- •
- پیشفرض: 1s
--cache-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_CACHE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
دستورهای پسانه (Backend commands)
در اینجا دستورهای ویژهٔ پسانهٔ cache آورده شده است.
آنها را به این صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر مشخص میکند که هر دستور چه آرگومانهایی دریافت میکند.
برای اطلاعات بیشتر دربارهٔ نحوهٔ ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورها را میتوان بر روی یک پسانهٔ در حال اجرا با استفاده از دستور rc بهصورت backend/command (https://rclone.org/rc/#backend-command) نیز اجرا کرد.
stats
چاپ آمار پسانهٔ cache در قالب JSON.
-
rclone backend stats remote: [options] [<arguments>+]
تکهکننده (Chunker)
لایهٔ همپوشان (overlay) chunker در هنگام بارگذاری روی ریموتِ پوششیافته (wrapped remote)، فایلهای بزرگ را بهصورت شفاف به قطعات کوچکتر تقسیم کرده و هنگام بارگیری، مجدداً آنها را بهطور یکپارچه سرهمبندی میکند. این قابلیت امکان دور زدن مؤثر محدودیتهای حجم اعمالشده از سوی ارائهدهندگان فضای ذخیرهسازی را فراهم میکند.
پیکربندی (Configuration)
برای استفاده از آن، ابتدا ریموت زیرین را مطابق دستورالعملهای پیکربندی همان ریموت راهاندازی کنید. همچنین میتوانید به جای یک ریموت، از یک مسیر محلی استفاده نمایید.
ابتدا بررسی کنید که ریموت انتخابی شما بهدرستی کار میکند - ما در اینجا آن را remote:path مینامیم. توجه داشته باشید هر چیزی درون remote:path تکهتکه خواهد شد و هر چه بیرون از آن باشد تکهتکه نخواهد شد. این بدان معناست که اگر از یک ریموت مبتنی بر باکت (مانند S3، B2، swift) استفاده میکنید، احتمالاً باید باکت را در ریموت به شکل s3:bucket مشخص کنید.
اکنون chunker را با استفاده از rclone config پیکربندی کنید. برای تفکیک آن از خود remote، نام این ریموت را overlay میگذاریم.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> overlay Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Transparently chunk/split large files \ "chunker" [snip] Storage> chunker Remote to chunk/unchunk. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not recommended). Enter a string value. Press Enter for the default (""). remote> remote:path Files larger than chunk size will be split in chunks. Enter a size with suffix K,M,G,T. Press Enter for the default ("2G"). chunk_size> 100M Choose how chunker handles hash sums. All modes but "none" require metadata. Enter a string value. Press Enter for the default ("md5"). Choose a number from below, or type in your own value 1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise \ "none" 2 / MD5 for composite files \ "md5" 3 / SHA1 for composite files \ "sha1" 4 / MD5 for all files \ "md5all" 5 / SHA1 for all files \ "sha1all" 6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported \ "md5quick" 7 / Similar to "md5quick" but prefers SHA1 over MD5 \ "sha1quick" hash_type> md5 Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config -------------------- [overlay] type = chunker remote = remote:bucket chunk_size = 100M hash_type = md5 -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
در استفادهٔ معمول، اطمینان حاصل کنید که نام ریموت شامل : باشد. اگر ریموت را بدون : مشخص کنید، rclone از یک دایرکتوری محلی با همان نام استفاده خواهد کرد. بنابراین اگر از ریموتی مانند /path/to/secret/files استفاده کنید، rclone محتوا را در آن دایرکتوری تکهبندی خواهد کرد. اگر از ریموتی با نام name استفاده کنید، rclone فایلها را در دایرکتوریای به نام name درون دایرکتوری جاری قرار میدهد.
تکهبندی
هنگامی که rclone بارگذاری فایلی را آغاز میکند، chunker اندازهٔ فایل را بررسی میکند. اگر اندازهٔ آن از اندازهٔ تکهٔ پیکربندیشده بیشتر نباشد، chunker صرفاً فایل را به ریموت پوششیافته (wrapped) تحویل میدهد (با این حال، به هشدار زیر توجه کنید). اگر فایلی بزرگ باشد، chunker بهطور شفاف دادهها را به تکههایی با نامهای موقت برش داده و آنها را یکی پس از دیگری، در لحظه جاری (stream) میکند. هر تکه از داده شامل تعداد بایتهای مشخصشده خواهد بود، بهجز آخرین تکه که ممکن است دادهٔ کمتری داشته باشد. اگر اندازهٔ فایل از قبل مشخص نباشد (که به آن بارگذاری جریانی یا streaming upload میگویند)، chunker بهطور داخلی یک رونوشت موقت ایجاد کرده، اندازهٔ آن را ثبت میکند و فرایند بالا را تکرار مینماید.
هنگامی که بارگذاری به پایان میرسد، در نهایت نام فایلهای موقتِ تکهها تغییر مییابد. این طرح تضمین میکند که عملیات میتوانند بهصورت موازی اجرا شوند و از دید بیرون، اتمیک (atomic) به نظر برسند. روش مشابهی با تکههای موقتِ پنهان برای سایر عملیات (کپی، انتقال، تغییر نام و غیره) به کار میرود. اگر عملیاتی با شکست مواجه شود، تکههای پنهان معمولاً حذف میشوند و فایل ترکیبی مقصد دستنخورده باقی میماند.
هنگامی که بارگیری یک فایل ترکیبی درخواست میشود، chunker با الحاق مرتب تکههای داده، آن را بهطور شفاف سرهم میکند. از آنجا که این تقسیمبندی بسیار ساده است، حتی میتوان تکههای داده را بهصورت دستی به یکدیگر متصل کرد تا محتوای اصلی به دست آید.
هنگامی که دستور list در rclone دایرکتوریای را در ریموت پوششیافته اسکن میکند، فایلهای تکهٔ بالقوه محاسبه، گروهبندی و در قالب مدخلهای ترکیبی دایرکتوری سرهم میشوند. تمامی تکههای موقت پنهان هستند.
دستور list و سایر دستورها گاهی ممکن است با فایلهای ترکیبیای مواجه شوند که دارای تکههای گمشده یا نامعتبر هستند؛ برای مثال، تکههایی که زیر سایهٔ یک دایرکتوری یا فایل دیگر با نام مشابه قرار گرفتهاند. این موضوع معمولاً به این معنی است که سیستمفایل پوششیافته مستقیماً دستکاری شده یا آسیب دیده است. اگر chunker یک تکهٔ گمشده را شناسایی کند، بهطور پیشفرض یک هشدار چاپ میکند و از کل گروه ناقص تکهها صرفنظر مینماید، اما اجرای دستور جاری را ادامه میدهد. میتوانید پرچم --chunker-fail-hard را تنظیم کنید تا دستورها در چنین مواردی با پیام خطا متوقف شوند.
هشدار: در وضعیت کنونی، chunker همیشه یک فایل موقت در backend ایجاد کرده و سپس نام آن را تغییر میدهد، حتی اگر اندازهٔ فایل کمتر از آستانهٔ تکهبندی باشد. این امر منجر به فراخوانیهای غیرضروری API میشود و هنگام جابهجایی فایلهایی که عمدتاً کوچک هستند، میتواند پهنای باند و نرخ انتقال داده (throughput) را در برخی backendها (مانند Box) بهشدت محدود کند. یک راهکار برای این مشکل، استفاده از chunker تنها برای فایلهای بزرگتر از آستانهٔ تکهبندی از طریق --min-size و سپس اجرای یک دستور جداگانه بدون chunker برای فایلهای باقیمانده است.
نام تکهها
قالب پیشفرض نام تکهها *.rclone_chunk.### است؛ بنابراین بهطور پیشفرض نامهای تکه BIG_FILE_NAME.rclone_chunk.001، BIG_FILE_NAME.rclone_chunk.002 و غیره خواهد بود. میتوانید با استفاده از گزینهٔ فایل پیکربندیِ name_format، قالب نام دیگری را تعیین کنید. این قالب از ستاره * به عنوان جانگهدار نام اصلی فایل و از یک یا چند نویسهٔ هش # متوالی به عنوان جانگهدار شمارهٔ ترتیبی تکه استفاده میکند. باید دقیقاً یک نویسهٔ ستاره وجود داشته باشد. تعداد نویسههای هش متوالی، حداقل طول رشتهٔ نشاندهندهٔ شمارهٔ تکه را تعیین میکند. اگر شمارهٔ دهدهی تکه ارقام کمتری نسبت به تعداد هشها داشته باشد، از سمت چپ با صفر پر میشود (left-padded). اگر رشتهٔ دهدهی طولانیتر باشد، دستنخورده باقی میماند. بهطور پیشفرض شمارهگذاری از ۱ آغاز میشود، اما گزینهٔ دیگری نیز وجود دارد که به کاربر اجازه میدهد شمارهگذاری را از ۰ شروع کند؛ مثلاً برای سازگاری با نرمافزارهای قدیمی (legacy).
برای نمونه، اگر قالب نام big_*-##.part باشد و نام فایل اصلی data.txt بوده و شمارهگذاری از ۰ آغاز شود، نخستین تکه big_data.txt-00.part، نود و نهمین تکه big_data.txt-98.part، و سیصد و دومین تکه big_data.txt-301.part نام خواهد گرفت.
توجه داشته باشید که list ورودیهای ترکیبی دایرکتوری را تنها زمانی سرهم میکند که نام تکهها با قالب پیکربندیشده مطابقت داشته باشند، و با نامهای فایلی که نامنطبق هستند مانند فایلهای عادی و تکهبندینشده رفتار میکند.
هنگام استفاده از تراکنشهای norename، نام تکهها افزون بر این یک پسوند نسخهٔ فایلِ یکتا نیز خواهند داشت. برای نمونه، BIG_FILE_NAME.rclone_chunk.001_bp562k..SS "متادیتا (Metadata)"
به جز تکههای داده (data chunks)، ابزار chunker به صورت پیشفرض یک شیء متادیتا برای فایل ترکیبی ایجاد میکند. نام این شیء برگرفته از نام فایل اصلی است. ابزار chunker به کاربر اجازه میدهد متادیتا را به طور کامل غیرفعال کند (قالب none). توجه داشته باشید که معمولاً برای فایلهای کوچکتر از اندازه تکه (chunk size) پیکربندیشده، متادیتایی ایجاد نمیشود. این رفتار ممکن است در انتشارهای آینده rclone تغییر کند.
قالب متادیتای ساده JSON (Simple JSON metadata format)
این قالب پیشفرض است. این قالب از مجموع هشها (hash sums) و اعتبارسنجی تکهها برای فایلهای ترکیبی پشتیبانی میکند. اشیاء متادیتا حامل فیلدهای زیر هستند:
- •
- ver - نسخه قالب، در حال حاضر 1
- •
- size - اندازه کل فایل ترکیبی
- •
- nchunks - تعداد تکههای داده در فایل
- •
- md5 - مجموع هش MD5 فایل ترکیبی (در صورت وجود)
- •
- sha1 - مجموع هش SHA1 (در صورت وجود)
- •
- txn - مشخصکننده نسخه فعلی فایل
هیچ فیلدی برای نام فایل ترکیبی وجود ندارد، زیرا نام آن دقیقاً برابر با نام شیء متادیتا روی ریموت بستهبندیشده (wrapped remote) است. لطفاً برای جزئیات مربوط به مجموع هشها و نحوه مدیریت زمان تغییر، به بخشهای مربوطه مراجعه کنید.
بدون متادیتا (No metadata)
میتوانید با تنظیم گزینه قالب متادیتا روی none، اشیاء متادیتا را غیرفعال کنید. در این حالت، chunker دایرکتوری را برای تمام فایلهایی که از قالب نامگذاری تکه پیکربندیشده پیروی میکنند پویش کرده، آنها را با شناسایی تکههای دارای نام پایه یکسان گروهبندی میکند و نام گروهها را به عنوان فایلهای ترکیبی مجازی نمایش میدهد. این روش نسبت به حالتی که متادیتا در آن فعال است، بیشتر در معرض خطاهای مربوط به مفقود شدن تکه (بهویژه مفقود شدن آخرین تکه) قرار دارد.
مجموع هشها (Hashsums)
ابزار chunker تنها زمانی از مجموع هشها پشتیبانی میکند که متادیتای سازگار موجود باشد. از این رو، اگر قالب متادیتا را برابر با none انتخاب کنید، chunker مجموع هش را به صورت UNSUPPORTED گزارش خواهد کرد.
لطفاً توجه داشته باشید که به طور پیشفرض، متادیتا فقط برای فایلهای ترکیبی ذخیره میشود. اگر فایلی کوچکتر از اندازه تکه پیکربندیشده باشد، chunker درخواستهای هش را به صورت شفاف به ریموت بستهبندیشده هدایت میکند؛ بنابراین پشتیبانی به آن بستگی دارد. در صورتی که ریموت بستهبندیشده از آن نوع هش پشتیبانی نکند، برای فایلهای کوچک یک رشته خالی به عنوان مجموع هش از نوع درخواستی دریافت خواهید کرد.
بسیاری از بکاندهای ذخیرهسازی از انواع هش MD5 و SHA1 پشتیبانی میکنند و chunker نیز همینطور است. با chunker میتوانید یکی یا دیگری را انتخاب کنید، اما نه هر دو را. نوع MD5 به عنوان نوعی با بیشترین میزان پشتیبانی، به صورت پیشفرض تنظیم شده است. از آنجا که chunker هشها را برای فایلهای ترکیبی نگه میدارد و برای فایلهای تکهتکهنشده به هش ریموت بستهبندیشده رجوع میکند، توصیه میکنیم همان نوع هشی را انتخاب کنید که توسط ریموت بستهبندیشده پشتیبانی میشود تا فهرست فایلهای شما یکپارچه و هماهنگ باشد.
اگر بکاند ذخیرهسازی شما از MD5 یا SHA1 پشتیبانی نمیکند اما به هشینگ یکنواخت فایلها نیاز دارید، chunker را با md5all یا sha1all پیکربندی کنید. این دو حالت، هش مشخصشده را برای تمام فایلها تضمین میکنند. اگر ریموت بستهبندیشده از آن پشتیبانی نکند، chunker متادیتا را به تمامی فایلها، حتی فایلهای کوچک اضافه خواهد کرد. با این وجود، این کار میتواند تعداد فایلهای کوچک را در فضای ذخیرهسازی دو برابر کرده و هزینههای سرویس اضافی به همراه داشته باشد. حتی میتوانید با ایجاد اشیاء متادیتای جانبی (sidecar meta objects)، از chunker برای اجبار به پشتیبانی از md5/sha1 در هر ریموت دیگری استفاده کنید؛ به عنوان مثال با تنظیم hash_type=sha1all برای اجبار مجموع هشها و chunk_size=1P برای غیرفعالسازی مؤثر تکهتکهسازی.
به طور معمول، هنگامی که فایلی به یک ریموت تحت کنترل chunker کپی میشود، chunker هش سازگار فایل را از مبدأ فایل درخواست میکند و در صورت نیافتن آن، به محاسبه بلادرنگ (on-the-fly) متوسل میشود. این فرایند مقداری بار پردازشی اضافی بر CPU تحمیل میکند، اما تضمین میدهد که مجموع هش مورد نظر در دسترس باشد. همچنین اگر نوع مجموع هش در مبدأ و مقصد متفاوت باشد، chunker عملیات کپی یا انتقال سمت سرور (server-side) را رد خواهد کرد که این موضوع نیز منجر به مصرف پهنای باند اضافی شبکه میشود. در برخی موارد نادر ممکن است این امر نامطلوب باشد، بنابراین chunker دو انتخاب اختیاری ارائه میدهد: sha1quick و md5quick. اگر مبدأ از نوع هش اصلی پشتیبانی نکند و حالت سریع (quick mode) فعال باشد، chunker تلاش خواهد کرد تا به نوع ثانویه بازگردد. این کار در مصرف پردازنده و پهنای باند صرفهجویی میکند، اما میتواند منجر به مجموع هشهای خالی در مقصد شود. مراقب پیامدها باشید: اگر مجموع هشهای سازگار بین مبدأ و مقصد یافت نشود، دستور sync (گاهی اوقات بیصدا) به مقایسه زمان/اندازه بازخواهد گشت..SS زمانهای تغییر (Modification times)
ابزار Chunker زمانهای تغییر را با استفاده از ریموت پوششدادهشده ذخیره میکند، بنابراین پشتیبانی از آن به ریموت مربوطه وابسته است. برای یک فایل کوچک تکهتکه نشده، لایهٔ chunker صرفاً زمان تغییر فایل در ریموت پوششدادهشده را دستکاری میکند. برای یک فایل ترکیبی دارای فراداده (metadata)، ابزار chunker زمان تغییر شیء فراداده را در ریموت پوششدادهشده دریافت و تنظیم میکند. اگر فایل تکهتکه شده باشد اما قالب فراداده روی none تنظیم شده باشد، chunker از زمان تغییر اولین تکه داده استفاده خواهد کرد.
مهاجرتها (Migrations)
روش اصولی برای مهاجرت به اندازه تکه، نوع هش، شیوهٔ تراکنش یا طرح نامگذاری تکههای متفاوت به این ترتیب است:
- •
- تمام فایلهای تکهتکهشدهٔ خود را در یک دایرکتوری جمعآوری کنید و ریموت chunker خود را طوری تنظیم کنید که به آن اشاره کند.
- •
- یک دایرکتوری دیگر (ترجیحاً در همان فضای ذخیرهسازی ابری) بسازید و یک ریموت جدید با قالب فراداده، نوع هش، نامگذاری تکه و غیره دلخواه پیکربندی کنید.
- •
- اکنون دستور rclone sync --interactive oldchunks: newchunks: را اجرا کنید تا تمام دادههای شما بهطور شفاف در حین انتقال تبدیل شوند. این فرایند ممکن است کمی زمان ببرد، با این حال chunker در صورت امکان تلاش میکند از کپی سمت سرور استفاده کند.
- •
- پس از بررسی صحت دادهها، میتوانید بخش پیکربندی ریموت قدیمی را حذف کنید.
اگر rclone در حین انجام یک عملیات طولانی روی یک فایل ترکیبی بزرگ متوقف (kill) شود، ممکن است تکههای موقت پنهان در دایرکتوری باقی بمانند. این تکهها توسط دستور list نشان داده نخواهند شد اما سهمیه فضای حساب شما را مصرف میکنند. لطفاً توجه داشته باشید که دستور deletefile فقط تکههای فعال یک فایل را حذف میکند. به عنوان یک راهحل موقت، میتوانید از ریموتِ سیستم فایل پوششدادهشده برای دیدن آنها استفاده کنید. یک راه آسان برای خلاص شدن از شر زبالههای پنهان این است که دایرکتوری شلوغشده را با استفاده از ریموت chunker در جای دیگری کپی کرده و دایرکتوری اصلی را پاکسازی (purge) کنید. دستور copy تنها تکههای فعال را کپی میکند، در حالی که purge همهچیز از جمله زبالهها را حذف خواهد کرد.
هشدارها و محدودیتها (Caveats and Limitations)
ابزار Chunker نیازمند آن است که ریموت پوششدادهشده از عملیات سمت سرور move (یا copy + delete) پشتیبانی کند، در غیر این صورت صراحتاً از شروع به کار خودداری میکند. دلیل این امر آن است که پس از اتمام موفقیتآمیز عملیات، فایلهای تکهٔ موقت بهصورت داخلی به نامهای نهایی خود تغییر نام داده میشوند.
ابزار Chunker شماره تکه را در نام فایل کدگذاری میکند، بنابراین با تنظیمات پیشفرض name_format تعداد ۱۷ نویسه به نام فایل اضافه میشود. همچنین chunker در حین انجام عملیات، ۷ نویسه پسوند موقت اضافه میکند. بسیاری از سیستمهای فایل، نام پایه فایل بدون مسیر را به ۲۵۵ نویسه محدود میکنند. استفاده از ریموت crypt در rclone به عنوان سیستم فایل پایه، نام فایل را به ۱۴۳ نویسه محدود میکند. بنابراین، بیشینهٔ طول نام برای بیشتر فایلها ۲۳۱ نویسه و برای chunker بر روی crypt برابر با ۱۱۹ نویسه است. کاربر در صورت نیاز میتواند قالب نام را به عنوان مثال به *.rcc## تغییر دهد و ۱۰ نویسه صرفهجویی کند (به شرطی که حداکثر ۹۹ تکه برای هر فایل وجود داشته باشد).
توجه داشته باشید که عملیات جابهجایی (move) پیادهسازیشده با روش copy-and-delete ممکن است نزد برخی ارائهدهندگان ذخیرهسازی ابری مشمول هزینهٔ مضاعف شود.
هنگامی که rclone config را روی یک ریموت فعال اجرا کرده و قالب نام تکهها را تغییر دهید، Chunker بهطور خودکار تکههای موجود را تغییر نام نخواهد داد. توجه داشته باشید که در نتیجهٔ این کار، ممکن است برخی از فایلهایی که پیش از تغییر به عنوان تکه شناسایی میشدند در فهرست دایرکتوری به عنوان فایلهای عادی نمایش داده شوند و بالعکس. همین هشدار برای اندازه تکهها (chunk size) نیز برقرار است. اگر تغییر تنظیمات حیاتی تکهتکهسازی ضرورت مبرم دارد، باید فرایند مهاجرت دادهها را طبق آنچه در بالا توضیح داده شد اجرا کنید.
اگر ریموت پوششدادهشده به بزرگی و کوچکی حروف حساس نباشد، لایهٔ chunker نیز این ویژگی را به ارث خواهد برد (بنابراین نمیتوانید فایلی به نام "Hello.doc" و "hello.doc" را در یک دایرکتوری داشته باشید).
ابزار Chunker ارائهشده در نگارشهای rclone تا v1.54 گاهی ممکن است نتواند فرادادههای تولیدشده توسط نگارشهای اخیر rclone را تشخیص دهد. توصیه میکنیم کاربران برای جلوگیری از آسیب دیدن دادهها، rclone را بهروز نگه دارند.
تغییر transactions خطرناک است و به مهاجرت صریح دادهها نیاز دارد..SS گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص به chunker (تکهتکه کردن/تقسیم شفاف فایلهای حجیم) آورده شده است.
--chunker-remote
ریموتی که باید عمل تکهتکه کردن/یکپارچهسازی روی آن انجام شود.
به طور معمول باید شامل یک ':' و یک مسیر باشد، مانند "myremote:path/to/dir"، "myremote:bucket" یا شاید "myremote:" (توصیه نمیشود).
ویژگیها:
- •
- پیکربندی: remote
- •
- متغیر محیطی: RCLONE_CHUNKER_REMOTE
- •
- نوع: string
- •
- اجباری: true
--chunker-chunk-size
فایلهای بزرگتر از اندازه تکه (chunk size) به قطعات کوچکتر تقسیم خواهند شد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_CHUNKER_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 2Gi
--chunker-hash-type
انتخاب نحوه مدیریت مجموع هش (hash sum) توسط chunker.
تمام حالتها به جز "none" نیازمند فراداده (metadata) هستند.
ویژگیها:
- •
- پیکربندی: hash_type
- •
- متغیر محیطی: RCLONE_CHUNKER_HASH_TYPE
- •
- نوع: string
- •
- پیشفرض: "md5"
- •
- مثالها:
- •
- "none"
- •
- ارسال هر هشی که توسط ریموت بستهبندیشده (wrapped remote) برای فایلهای تکهتکهنشده پشتیبانی میشود.
- •
- در غیر این صورت چیزی برنمیگرداند.
- •
- "md5"
- •
- استفاده از MD5 برای فایلهای ترکیبی.
- •
- "sha1"
- •
- استفاده از SHA1 برای فایلهای ترکیبی.
- •
- "md5all"
- •
- استفاده از MD5 برای تمام فایلها.
- •
- "sha1all"
- •
- استفاده از SHA1 برای تمام فایلها.
- •
- "md5quick"
- •
- هنگام کپی کردن فایل به chunker، هش MD5 از مبدأ درخواست خواهد شد.
- •
- در صورت عدم پشتیبانی، بازگشت به عنوان جایگزین به SHA1.
- •
- "sha1quick"
- •
- مشابه "md5quick"، اما ترجیح دادن SHA1 بر MD5.
در اینجا گزینههای پیشرفته مختص chunker (تقسیم/تکهتکه کردن شفاف فایلهای بزرگ) آورده شده است.
--chunker-name-format
قالب رشتهای برای نام فایلهای تکه.
دو جانگهدار عبارتند از: نام پایهٔ فایل (*) و شمارهٔ تکه (#...). باید یک و تنها یک نویسهٔ ستاره و یک یا چند نویسهٔ هش متوالی وجود داشته باشد. اگر شمارهٔ تکه ارقام کمتری از تعداد هشها داشته باشد، از سمت چپ با صفر پر میشود. اگر ارقام بیشتری در شماره وجود داشته باشد، همانطور که هست باقی میماند. فایلهای تکهٔ احتمالی در صورتی که نامشان با قالب دادهشده مطابقت نداشته باشد، نادیده گرفته میشوند.
ویژگیها:
- •
- پیکربندی: name_format
- •
- متغیر محیطی: RCLONE_CHUNKER_NAME_FORMAT
- •
- نوع: string
- •
- پیشفرض: "*.rclone_chunk.###"
--chunker-start-from
حداقل شمارهٔ معتبر تکه. معمولاً 0 یا 1.
بهطور پیشفرض شمارههای تکه از 1 شروع میشوند.
ویژگیها:
- •
- پیکربندی: start_from
- •
- متغیر محیطی: RCLONE_CHUNKER_START_FROM
- •
- نوع: int
- •
- پیشفرض: 1
--chunker-meta-format
قالب شیء فراداده یا "none".
بهطور پیشفرض "simplejson". فراداده یک فایل کوچک JSON است که همنام فایل مرکب نامگذاری شده است.
ویژگیها:
- •
- پیکربندی: meta_format
- •
- متغیر محیطی: RCLONE_CHUNKER_META_FORMAT
- •
- نوع: string
- •
- پیشفرض: "simplejson"
- •
- مثالها:
- •
- "none"
- •
- اصلاً از فایلهای فراداده استفاده نشود.
- •
- نیازمند نوع هش "none" است.
- •
- "simplejson"
- •
- قالب ساده JSON از جمعهای مقابلهای هش و اعتبارسنجی تکهها پشتیبانی میکند.
- •
- شامل فیلدهای زیر است: ver، size، nchunks، md5، sha1.
--chunker-fail-hard
انتخاب نحوهٔ مدیریت فایلهای با تکههای ناقص یا نامعتبر توسط chunker.
ویژگیها:
- •
- پیکربندی: fail_hard
- •
- متغیر محیطی: RCLONE_CHUNKER_FAIL_HARD
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "true"
- •
- گزارش خطاها و متوقف کردن دستور جاری.
- •
- "false"
- •
- هشدار به کاربر، رد کردن فایل ناقص و ادامه دادن فرآیند.
انتخاب نحوه مدیریت فایلهای موقت توسط chunker در حین تراکنشها.
ویژگیها:
- •
- پیکربندی: transactions
- •
- متغیر محیطی: RCLONE_CHUNKER_TRANSACTIONS
- •
- نوع: string
- •
- پیشفرض: "rename"
- •
- مثالها:
- •
- "rename"
- •
- تغییر نام فایلهای موقت پس از یک تراکنش موفق.
- •
- "norename"
- •
- باقی گذاشتن نام فایلهای موقت و ثبت شناسه تراکنش در فایل فراداده (metadata).
- •
- وجود فراداده برای تراکنشهای norename الزامی است (قالب متا نمیتواند "none" باشد).
- •
- اگر از تراکنشهای norename استفاده میکنید باید مراقب باشید که Rclone را تنزل ندهید
- •
- زیرا نسخههای قدیمیتر Rclone از این روش تراکنش پشتیبانی نمیکنند و
- •
- فایلهای دستکاریشده با تراکنشهای norename را اشتباه تفسیر خواهند کرد.
- •
- این روش آزمایشی (EXPERIMENTAL) است، از آن در سیستمهای محیط عملیاتی (production) استفاده نکنید.
- •
- "auto"
- •
- بسته به قابلیتهای backend، از rename یا norename استفاده خواهد شد.
- •
- اگر قالب متا بر روی "none" تنظیم شده باشد، همواره از تراکنشهای rename استفاده خواهد شد.
- •
- این روش آزمایشی (EXPERIMENTAL) است، از آن در سیستمهای محیط عملیاتی (production) استفاده نکنید.
--chunker-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_CHUNKER_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
Cloudinary
این یک backend برای پلتفرم Cloudinary (https://cloudinary.com) است
درباره Cloudinary
سرویس Cloudinary (https://cloudinary.com) یک پلتفرم API تصویر و ویدیو است. مورد اعتماد ۱٫۵ میلیون توسعهدهنده و ۱۰٬۰۰۰ سازمان و شرکت با رشد سریع بهعنوان بخشی حیاتی از پشته فناوری آنها برای ارائه تجربههای بصری جذاب.
حسابها و قیمتگذاری
برای استفاده از این backend، باید یک حساب رایگان (https://cloudinary.com/users/register_free) در Cloudinary بسازید. با یک طرح رایگان با محدودیتهای مصرف سخاوتمندانه شروع کنید. سپس با گسترش نیازمندیهایتان، به طرحی که به بهترین شکل متناسب با نیازهای شماست ارتقا دهید. جزئیات قیمتگذاری (https://cloudinary.com/pricing) را مشاهده کنید..SS امنسازی اعتبارنامهها (Securing Your Credentials)
لطفاً به مستندات (https://rclone.org/docs/#configuration-encryption-cheatsheet) مراجعه کنید.
پیکربندی (Configuration)
در اینجا مثالی از ایجاد پیکربندی Cloudinary آورده شده است.
ابتدا یک حساب کاربری در cloudinary.com (https://cloudinary.com/users/register_free) ایجاد کرده و یک طرح (plan) انتخاب کنید.
باید وارد حساب خود شوید و API Key و API Secret حساب کاربری خود را از بخش توسعهدهندگان (developer) دریافت کنید.
اکنون اجرا کنید:
-
rclone config
مراحل راهاندازی تعاملی را دنبال کنید:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter the name for the new remote. name> cloudinary-media-library Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [snip] XX / cloudinary.com \ (cloudinary) [snip] Storage> cloudinary Option cloud_name. You can find your cloudinary.com cloud_name in your [dashboard](https://console.cloudinary.com/pm/developer-dashboard) Enter a value. cloud_name> **************************** Option api_key. You can find your cloudinary.com api key in your [dashboard](https://console.cloudinary.com/pm/developer-dashboard) Enter a value. api_key> **************************** Option api_secret. You can find your cloudinary.com api secret in your [dashboard](https://console.cloudinary.com/pm/developer-dashboard) This value must be a single character, one of the following: y, g. y/g> y Enter a value. api_secret> **************************** Option upload_prefix. [Upload prefix](https://cloudinary.com/documentation/cloudinary_sdks#configuration_parameters) to specify alternative data center Enter a value. upload_prefix> Option upload_preset. [Upload presets](https://cloudinary.com/documentation/upload_presets) can be defined for different upload profiles Enter a value. upload_preset> Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: cloudinary - api_key: **************************** - api_secret: **************************** - cloud_name: **************************** - upload_prefix: - upload_preset: Keep this "cloudinary-media-library" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
فهرست کردن دایرکتوریها در بالاترین سطح Media Library:
-
rclone lsd cloudinary-media-library:
ایجاد یک دایرکتوری جدید:
-
rclone mkdir cloudinary-media-library:directory
فهرست کردن محتویات یک دایرکتوری:
-
rclone ls cloudinary-media-library:directory
سرویس Cloudinary برای هر عملیات Put موفقیتآمیز، مقادیر md5 و برچسبهای زمانی را بهطور خودکار و بهصورت فقطخواندنی ذخیره میکند.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص cloudinary (Cloudinary) آورده شده است.
--cloudinary-cloud-name
نام محیط در Cloudinary
ویژگیها:
- •
- پیکربندی: cloud_name
- •
- متغیر محیطی: RCLONE_CLOUDINARY_CLOUD_NAME
- •
- نوع: string
- •
- ضروری: true
--cloudinary-api-key
کلید API سرویس Cloudinary
ویژگیها:
- •
- پیکربندی: api_key
- •
- متغیر محیطی: RCLONE_CLOUDINARY_API_KEY
- •
- نوع: string
- •
- ضروری: true
--cloudinary-api-secret
راز API سرویس Cloudinary
ویژگیها:
- •
- پیکربندی: api_secret
- •
- متغیر محیطی: RCLONE_CLOUDINARY_API_SECRET
- •
- نوع: string
- •
- ضروری: true
--cloudinary-upload-prefix
تعیین نقطه پایانی API برای محیطهای خارج از ایالات متحده
ویژگیها:
- •
- پیکربندی: upload_prefix
- •
- متغیر محیطی: RCLONE_CLOUDINARY_UPLOAD_PREFIX
- •
- نوع: string
- •
- ضروری: false
--cloudinary-upload-preset
پیشتنظیم بارگذاری برای انتخاب نحوه دستکاری فایلها هنگام بارگذاری
ویژگیها:
- •
- پیکربندی: upload_preset
- •
- متغیر محیطی: RCLONE_CLOUDINARY_UPLOAD_PRESET
- •
- نوع: string
- •
- ضروری: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص cloudinary (Cloudinary) آورده شده است.
--cloudinary-encoding
کدگذاری برای Backend.
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) مشاهده کنید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_CLOUDINARY_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot.SS --cloudinary-eventually-consistent-delay
مدت زمان N ثانیه برای دستیابی به سازگاری نهایی (eventual consistency) در پایگاههای دادهای که از عملیات backend پشتیبانی میکنند، منتظر میماند.
ویژگیها:
- •
- پیکربندی: eventually_consistent_delay
- •
- متغیر محیطی: RCLONE_CLOUDINARY_EVENTUALLY_CONSISTENT_DELAY
- •
- نوع: Duration
- •
- پیشفرض: 0s
--cloudinary-adjust-media-files-extensions
سرویس Cloudinary فرمتهای رسانه را به عنوان یک صفتِ فایل مدیریت کرده و آن را از نام فایل حذف میکند، که برخلاف اکثر سامانههای فایل دیگر است.
ویژگیها:
- •
- پیکربندی: adjust_media_files_extensions
- •
- متغیر محیطی: RCLONE_CLOUDINARY_ADJUST_MEDIA_FILES_EXTENSIONS
- •
- نوع: bool
- •
- پیشفرض: true
--cloudinary-media-extensions
پسوندهای رسانهای پشتیبانیشده در Cloudinary.
ویژگیها:
- •
- پیکربندی: media_extensions
- •
- متغیر محیطی: RCLONE_CLOUDINARY_MEDIA_EXTENSIONS
- •
- نوع: stringArray
- •
- پیشفرض: [3ds 3g2 3gp ai arw avi avif bmp bw cr2 cr3 djvu dng eps3 fbx flif flv gif glb gltf hdp heic heif ico indd jp2 jpe jpeg jpg jxl jxr m2ts mov mp4 mpeg mts mxf obj ogv pdf ply png psd svg tga tif tiff ts u3ma usdz wdp webm webp wmv]
--cloudinary-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_CLOUDINARY_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
Citrix ShareFile
سرویس Citrix ShareFile (https://sharefile.com) یک سرویس امن اشتراکگذاری و انتقال فایل است که برای کسبوکارها طراحی شده است.
پیکربندی (Configuration)
راهاندازی اولیه Citrix ShareFile شامل دریافت یک توکن از Citrix ShareFile است که میتوانید آن را در مرورگر خود دریافت کنید. دستور rclone config شما را در این مراحل راهنمایی میکند.
در اینجا مثالی از نحوه ساخت یک remote به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی هدایت میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value XX / Citrix Sharefile \ "sharefile" Storage> sharefile ** See help for sharefile backend at: https://rclone.org/sharefile ** ID of the root folder Leave blank to access "Personal Folders". You can use one of the standard values here or any folder ID (long hex number ID). Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Access the Personal Folders. (Default) \ "" 2 / Access the Favorites folder. \ "favorites" 3 / Access all the shared folders. \ "allshared" 4 / Access all the individual connectors. \ "connectors" 5 / Access the home, favorites, and shared folders as well as the connectors. \ "top" root_folder_id> Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: sharefile - endpoint: https://XXX.sharefile.com - token: {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2019-09-30T19:41:45.878561877+01:00"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای نحوه راهاندازی آن روی دستگاهی بدون دسترسی به مرورگر وبِ متصل به اینترنت، مستندات راهاندازی remote (https://rclone.org/remote_setup) را ببینید.
توجه داشته باشید که rclone یک وبسرور روی دستگاه محلی شما اجرا میکند تا توکن بازگردانده شده از Citrix ShareFile را دریافت کند. این وبسرور فقط از لحظه باز کردن مرورگر تا زمان دریافت کد تأیید اجرا میشود. این سرویس روی http://127.0.0.1:53682 قرار دارد و در صورت استفاده از فایروال میزبان، ممکن است لازم باشد آن را موقتاً باز کنید.
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (به جای remote، نامی را که به remote خود دادهاید بگذارید):
فهرست کردن دایرکتوریها در بالاترین سطح ShareFile شما
-
rclone lsd remote:
فهرست کردن تمام فایلها در ShareFile شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوری ShareFile با نام backup
-
rclone copy /home/source remote:backup
مسیرها میتوانند تا هر عمقی که نیاز است ایجاد شوند، مانند remote:directory/subdirectory..SS زمانهای تغییر و هشها
سرویس ShareFile اجازه میدهد زمانهای تغییر (modification times) روی اشیاء با دقت ۱ ثانیه تنظیم شوند. از این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر استفاده میشود.
سرویس ShareFile از هشهای نوع MD5 پشتیبانی میکند، بنابراین میتوانید از پرچم --checksum استفاده کنید.
انتقالها
برای فایلهای بزرگتر از 128 MiB، ابزار rclone از انتقال چندتکهای (chunked transfer) استفاده خواهد کرد. ابزار rclone تا سقف --transfers تکه را به طور همزمان بارگذاری میکند (که بین تمام بارگذاریهای چندبخشی به اشتراک گذاشته میشود). تکهها در حافظه بافر میشوند و معمولاً 64 MiB هستند، بنابراین افزایش --transfers مصرف حافظه را افزایش خواهد داد.
نویسههای غیرمجاز در نام فایل
علاوه بر مجموعهنویسههای محدودشده پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
| * | 0x2A | * |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ؟ |
| : | 0x3A | : |
| | | 0x7C | | |
| " | 0x22 | " |
همچنین نامهای فایل نمیتوانند با نویسههای زیر شروع شده یا پایان یابند. این نویسهها تنها در صورتی جایگزین میشوند که اولین یا آخرین نویسه در نام باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
| . | 0x2E | . |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد..SS گزینههای استاندارد
در اینجا گزینههای استاندارد مختص sharefile (Citrix Sharefile) آورده شده است.
--sharefile-client-id
شناسه کلاینت OAuth.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_SHAREFILE_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--sharefile-client-secret
کلید محرمانه کلاینت OAuth.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_SHAREFILE_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
--sharefile-root-folder-id
شناسه پوشه ریشه.
برای دسترسی به "Personal Folders" خالی بگذارید. میتوانید از یکی از مقادیر استاندارد در اینجا یا هر شناسه پوشهای (شناسه عددی هگزادسیمال طولانی) استفاده کنید.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_SHAREFILE_ROOT_FOLDER_ID
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- دسترسی به Personal Folders (پیشفرض).
- •
- "favorites"
- •
- دسترسی به پوشه Favorites (برگزیدهها).
- •
- "allshared"
- •
- دسترسی به تمام پوشههای همرسانیشده.
- •
- "connectors"
- •
- دسترسی به تمام متصلکنندههای (connectors) جداگانه.
- •
- "top"
- •
- دسترسی به پوشههای خانه (home)، برگزیدهها، و همرسانیشده و همچنین متصلکنندهها.
در اینجا گزینههای پیشرفته مربوط به sharefile (Citrix Sharefile) آورده شده است.
--sharefile-token
توکن دسترسی OAuth بهصورت یک JSON blob.
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_SHAREFILE_TOKEN
- •
- نوع: string
- •
- الزامی: false
--sharefile-auth-url
نشانی اینترنتی (URL) سرور احراز هویت.
جهت استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_SHAREFILE_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--sharefile-token-url
نشانی اینترنتی (URL) سرور توکن.
جهت استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_SHAREFILE_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--sharefile-client-credentials
استفاده از جریان OAuth اعتبارسنجی کلاینت (client credentials).
این گزینه از جریان Client Credentials در OAUTH2 مطابق با RFC 6749 استفاده میکند.
توجه داشته باشید که این گزینه توسط همه پشتوانهها (backends) پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_SHAREFILE_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--sharefile-upload-cutoff
حد آستانه برای جابجایی به بارگذاری چندبخشی (multipart upload).
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_SHAREFILE_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 128Mi
--sharefile-chunk-size
اندازه تکههای بارگذاری.
باید توانی از ۲ و بزرگتر یا مساوی 256k باشد (>= 256k).
بزرگتر کردن این مقدار کارایی را بهبود میبخشد، اما توجه داشته باشید که هر تکه به ازای هر انتقال در حافظه بافر میشود.
کاهش دادن این مقدار مصرف حافظه را کاهش میدهد اما کارایی را کم میکند.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_SHAREFILE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 64Mi.SS --sharefile-endpoint
نقطه پایانی (Endpoint) برای فراخوانیهای API.
این مقدار معمولاً به عنوان بخشی از فرایند oauth به صورت خودکار شناسایی میشود، اما میتوان آن را به صورت دستی روی مقداری مانند https://XXX.sharefile.com تنظیم کرد.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_SHAREFILE_ENDPOINT
- •
- نوع: string
- •
- الزامی: false
--sharefile-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SHAREFILE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
--sharefile-description
شرح remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SHAREFILE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
توجه داشته باشید که ShareFile به حروف بزرگ و کوچک حساس نیست (case insensitive)، بنابراین نمیتوانید همزمان فایلی به نام "Hello.doc" و فایلی به نام "hello.doc" داشته باشید.
سامانه ShareFile تنها از نام فایلهایی با حداکثر ۲۵۶ نویسه طول پشتیبانی میکند.
دستور rclone about توسط backend سیتریکس ShareFile پشتیبانی نمیشود. پایگاههای پشتیبان بدون این قابلیت نمیتوانند فضای آزاد را برای rclone mount تعیین کنند یا از سیاست mfs (بیشترین فضای خالی) به عنوان عضوی از یک remote از نوع rclone union بهره ببرند.
فهرست backendهایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) را ببینید.
رمزنگاری (Crypt)
ریموتهای crypt در rclone سایر remoteها را رمزنگاری و رمزگشایی میکنند.
یک remote از نوع crypt مستقیماً به یک سامانه ذخیرهسازی (https://rclone.org/overview) دسترسی پیدا نمیکند، بلکه remote دیگری را پوشش میدهد که آن هم به نوبه خود به سامانه ذخیرهسازی دسترسی دارد. این سازوکار شبیه به نحوه کارکرد alias (https://rclone.org/alias)، union (https://rclone.org/union)، chunker (https://rclone.org/chunker) و چند مورد دیگر است. این امر کاربرد آن را بسیار انعطافپذیر میسازد، چرا که میتوانید یک لایه، در این مورد یک لایه رمزنگاری، بر روی هر backend دیگری، حتی در چندین لایه، اضافه کنید. قابلیتهای rclone مانند هر remote دیگری قابل استفاده هستند، برای نمونه میتوانید یک remote از نوع crypt را سوار (mount) کنید (https://rclone.org/commands/rclone_mount).
دسترسی به یک سامانه ذخیرهسازی از طریق یک remote از نوع crypt، رمزنگاری سمت کلاینت را محقق میسازد؛ این کار نگهداری دادهها را در مکانی که اطمینان ندارید به خطر نخواهد افتاد، امن میکند. هنگام کار با remote از نوع crypt، نرمافزار rclone به صورت خودکار در هنگام نیاز و در لحظه (on the fly)، دادهها را روی سامانه محلی شما (پیش از بارگذاری) رمزنگاری و (پس از بارگیری) رمزگشایی میکند و دادهها را در حالت سکون در remote بستهبندیشده به صورت رمزگذاریشده باقی میگذارد. اگر با استفاده از برنامهای به جز rclone به سامانه ذخیرهسازی دسترسی پیدا کنید، یا با استفاده مستقیم از rclone به remote پوششدادهشده متصل شوید، هیچگونه رمزنگاری/رمزگشایی انجام نخواهد شد: بارگیری محتوای موجود صرفاً قالب رمزشده (درهمریخته) را به شما تحویل میدهد، و هر آنچه بارگذاری کنید رمزنگاری نخواهد شد.
رمزنگاری با یک الگوریتم کلید مخفی (که رمزنگاری کلید متقارن نیز نامیده میشود) انجام میگیرد، که در آن از یک گذرواژه (یا عبارت عبور) برای تولید کلید رمزنگاری واقعی استفاده میشود. گذرواژه میتواند توسط کاربر وارد شود، یا میتوانید انتخاب کنید که rclone آن را ایجاد کند. این گذرواژه در فایل پیکربندی، به صورت اندکی مبهمشده ذخیره خواهد شد. اگر در محیطی هستید که نمیتوانید امنیت فایل پیکربندی خود را حفظ کنید، باید رمزنگاری پیکربندی (https://rclone.org/docs/#configuration-encryption) را به عنوان محافظ به کار ببرید. تا زمانی که این فایل پیکربندی را در اختیار دارید، قادر خواهید بود دادههای خود را رمزگشایی کنید. بدون فایل پیکربندی نیز، تا زمانی که گذرواژه را به خاطر داشته باشید (یا آن را در مکانی امن نگه دارید)، میتوانید پیکربندی را دوباره ایجاد کرده و به دادههای موجود دسترسی پیدا کنید. همچنین میتوانید برای دسترسی به همان دادهها، یک remote متناظر در یک سامانه دیگر پیکربندی کنید. برای راهنمایی درباره تغییر گذرواژه، بخش زیر را ببینید.
رمزنگاری از salt رمزشناختی (https://en.wikipedia.org/wiki/Salt_(cryptography)) برای جابهجایی کلید رمزنگاری استفاده میکند تا بتوان یک رشته یکسان را به روشهای گوناگون رمزگذاری کرد. هنگام پیکربندی remote از نوع crypt، وارد کردن salt یا واگذاری تولید یک salt یکتا به rclone اختیاری است. در صورت عدم تعیین، rclone از یک رشته یکتای داخلی استفاده میکند. معمولاً در علم رمزشناسی، salt همراه با محتوای رمزگذاریشده ذخیره میشود و کاربر نیازی به حفظ کردن آن ندارد. در rclone وضعیت بدین صورت نیست، چرا که rclone هیچگونه اطلاعات اضافی را بر روی remoteها ذخیره نمیکند. استفاده از salt سفارشی در واقع مانند گذرواژه دومی است که باید به خاطر سپرده شود.
رمزنگاری محتوای فایل با استفاده از NaCl SecretBox (https://godoc.org/golang.org/x/crypto/nacl/secretbox)، مبتنی بر رمزنگار XSalsa20 و الگوریتم Poly1305 برای تضمین یکپارچگی انجام میشود. نامها (نامهای فایل و دایرکتوری) نیز به صورت پیشفرض رمزگذاری میشوند، اما این کار پیامدهایی دارد و از این رو امکان غیرفعال کردن آن وجود دارد..SS "پیکربندی (Configuration)"
در اینجا مثالی از نحوهٔ ایجاد یک ریموت به نام secret آورده شده است.
برای استفاده از crypt، ابتدا ریموت زیرین را راهاندازی کنید. دستورالعملهای rclone config را برای backend مورد نظر دنبال کنید.
پیش از پیکربندی ریموت crypt، بررسی کنید که ریموت زیرین به درستی کار میکند. در این مثال، نام ریموت زیرین remote است. ما یک مسیر path را درون این ریموت برای نگهداری محتوای رمزنگاریشده پیکربندی خواهیم کرد. هر چیزی درون remote:path رمزنگاری خواهد شد و هر چیزی خارج از آن رمزنگاری نمیشود.
crypt را با استفاده از rclone config پیکربندی کنید. در این مثال، ریموت crypt به نام secret نامگذاری شده تا از remote زیرین متمایز باشد.
پس از پایان کار، میتوانید از ریموت crypt با نام secret دقیقاً مانند هر ریموت دیگری استفاده کنید؛ برای مثال: rclone copy D:\docs secret:\docs، و rclone در صورت نیاز، رمزنگاری و رمزگشایی را در لحظه انجام میدهد. اگر مستقیماً به ریموت پوششیافتهٔ remote:path دسترسی پیدا کنید، رمزنگاری را دور خواهید زد؛ هر آنچه بخوانید به شکل رمزنگاریشده خواهد بود و هر آنچه بنویسید بدون رمزنگاری ذخیره میشود. برای جلوگیری از مشکلات، بهتر است یک مسیر اختصاصی برای محتوای رمزنگاریشده پیکربندی کرده و منحصراً از طریق یک ریموت crypt به آن دسترسی داشته باشید.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> secret Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Encrypt/Decrypt a remote \ "crypt" [snip] Storage> crypt ** See help for crypt backend at: https://rclone.org/crypt ** Remote to encrypt/decrypt. Normally should contain a ':' and a path, eg "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not recommended). Enter a string value. Press Enter for the default (""). remote> remote:path How to encrypt the filenames. Enter a string value. Press Enter for the default ("standard"). Choose a number from below, or type in your own value. / Encrypt the filenames. 1 | See the docs for the details. \ "standard" 2 / Very simple filename obfuscation. \ "obfuscate" / Don't encrypt the file names. 3 | Adds a ".bin" extension only. \ "off" filename_encryption> Option to either encrypt directory names or leave them intact. NB If filename_encryption is "off" then this option will do nothing. Enter a boolean value (true or false). Press Enter for the default ("true"). Choose a number from below, or type in your own value 1 / Encrypt directory names. \ "true" 2 / Don't encrypt directory names, leave them intact. \ "false" directory_name_encryption> Password or pass phrase for encryption. y) Yes type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password: Password or pass phrase for salt. Optional but recommended. Should be different to the previous password. y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g/n> g Password strength in bits. 64 is just about memorable 128 is secure 1024 is the maximum Bits> 128 Your password is: JAsJvRcgR-_veXNfy_sGmQ Use this password? Please note that an obscured version of this password (and not the password itself) will be stored under your configuration file, so keep this generated password in a safe place. y) Yes (default) n) No y/n> Edit advanced config? (y/n) y) Yes n) No (default) y/n> Remote config -------------------- [secret] type = crypt remote = remote:path password = *** ENCRYPTED *** password2 = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d>
مهم گذرواژهٔ crypt ذخیرهشده در rclone.conf به صورت ساده مبهمسازی (obscured) شده است. این کار تنها آن را در برابر بررسیهای سطحی محافظت میکند. این مورد امن نیست، مگر اینکه رمزنگاری پیکربندی (https://rclone.org/docs/#configuration-encryption) برای rclone.conf تعیین شده باشد.
استفاده از یک عبارتعبور طولانی توصیه میشود، یا اینکه rclone config میتواند یک عبارت تصادفی تولید کند.
گذرواژهٔ مبهمسازیشده با استفاده از AES-CTR با یک کلید ایستا (static key) ساخته میشود. مقدار IV (nonce) عیناً در ابتدای گذرواژهٔ مبهمسازیشده ذخیره میشود. این کلید ایستا میان تمامی نسخههای rclone مشترک است.
اگر rclone را با همان گذرواژهها/عبارتهایعبور در جای دیگری مجدداً پیکربندی کنید سازگار خواهد بود، اما نسخهٔ مبهمسازیشده به دلیل salt متفاوت، تفاوت خواهد داشت.
ابزار rclone موارد زیر را رمزنگاری نمیکند:
- •
- طول فایل - این مقدار در محدودهٔ 16 بایت قابل محاسبه است
- •
- زمان تغییر - برای همگامسازی استفاده میشود.SS تعیین ریموت (Specifying the remote)
هنگام پیکربندی ریموت برای رمزنگاری/رمزگشایی، میتوانید هر رشتهای را که rclone به عنوان مبدأ/مقصد دستورهای دیگر میپذیرد، مشخص کنید.
مورد استفادهٔ اصلی، تعیین مسیر در یک ریموت از پیش پیکربندیشده است (مانند remote:path/to/dir یا remote:bucket)، بهگونهای که دادهها در یک مکان دوردست غیرقابلاعتماد به صورت رمزنگاریشده ذخیره شوند.
شما همچنین میتوانید یک مسیر فایلسیستم محلی را مشخص کنید، مانند /path/to/dir در لینوکس، یا C:\path\to\dir در ویندوز. با ایجاد یک ریموت crypt که به چنین مسیری در فایلسیستم محلی اشاره میکند، میتوانید از rclone به عنوان ابزاری صرفاً برای رمزنگاری محلی فایلها استفاده کنید، برای مثال جهت نگهداری فایلهای رمزنگاریشده روی یک درایو USB جداشدنی.
نکته: رشتهای که فاقد : باشد، توسط rclone به عنوان یک مسیر نسبی در فایلسیستم محلی در نظر گرفته خواهد شد. برای مثال، اگر نام remote را بدون : انتهایی وارد کنید، به عنوان یک زیردایرکتوری از دایرکتوری جاری با نام "remote" در نظر گرفته میشود.
اگر یک مسیر remote:path/to/dir مشخص شود، rclone فایلهای رمزنگاریشده را در path/to/dir روی ریموت ذخیره میکند. با فعال بودن رمزنگاری نام فایل، فایلهای ذخیرهشده در secret:subdir/subfile در مسیر رمزنگارینشدهٔ path/to/dir ذخیره میشوند، اما جزء subdir/subpath رمزنگاری میگردد.
مسیری که مشخص میکنید الزامی به وجود داشتن ندارد؛ rclone در صورت نیاز آن را ایجاد خواهد کرد.
اگر قصد دارید از ریموت پوششدادهشده (wrapped remote) هم مستقیماً برای نگهداری محتوای رمزنگارینشده و هم از طریق یک ریموت crypt برای محتوای رمزنگاریشده استفاده کنید، توصیه میشود ریموت crypt را به دایرکتوری مجزایی درون ریموت پوششدادهشده ارجاع دهید. اگر از یک سیستم ذخیرهسازی مبتنی بر باکت استفاده میکنید (مانند Swift، S3، Google Compute Storage، B2)، بهطور کلی توصیه میشود ریموت crypt را روی یک باکت خاص اعمال کنید (s3:bucket). در صورتی که آن را روی ریشهٔ کامل فضای ذخیرهسازی (s3:) اعمال کرده و از رمزنگاری اختیاری نام فایل استفاده کنید، rclone نام باکت را نیز رمزنگاری خواهد کرد.
تغییر گذرواژه (Changing password)
در صورتی که گذرواژه، یا فایل پیکربندی حاوی شکل اندکی مبهمشدهٔ گذرواژه، افشا شده یا به خطر بیفتد، باید دادههای خود را با یک گذرواژهٔ جدید مجدداً رمزنگاری کنید. از آنجا که rclone از رمزنگاری با کلید مخفی استفاده میکند، که در آن کلید رمزنگاری مستقیماً از گذرواژهٔ نگهداریشده روی کلاینت تولید میشود، امکان تغییر گذرواژه/کلید دادههایی که پیشتر رمزنگاری شدهاند وجود ندارد. صرفاً تغییر دادن گذرواژهٔ پیکربندیشده برای یک ریموت crypt موجود بدان معناست که دیگر قادر به رمزگشایی هیچیک از محتواهای قبلاً رمزنگاریشده نخواهید بود. تنها راهکار ممکن این است که همه چیز را از طریق یک ریموت crypt که با گذرواژهٔ جدیدتان پیکربندی شده است، مجدداً بارگذاری کنید.
بسته به حجم دادهها، پهنای باند، سهمیهٔ ذخیرهسازی و موارد دیگر، رویکردهای متفاوتی وجود دارد که میتوانید اتخاذ کنید:
- •
- اگر همه چیز را در مکانی دیگر دارید، برای مثال روی سیستم محلی خود، میتوانید تمامی فایلهای رمزنگاریشدهٔ پیشین را حذف کنید، گذرواژهٔ ریموت crypt پیکربندیشدهٔ خود را تغییر دهید (یا پیکربندی crypt را حذف کرده و مجدداً بسازید)، و سپس همه چیز را از آن مکان دیگر دوباره بارگذاری نمایید.
- •
- اگر فضای کافی روی سیستم ذخیرهسازی دارید، میتوانید یک ریموت crypt جدید بسازید که به دایرکتوری مجزایی روی همان backend اشاره کند، و سپس با استفاده از rclone همهچیز را از ریموت crypt اصلی به ریموت جدید کپی کنید؛ با این کار عملاً همه چیز در حین انتقال با گذرواژهٔ قدیمی رمزگشایی شده و با گذرواژهٔ جدید مجدداً رمزنگاری میشود. پس از پایان کار، دایرکتوری ریموت crypt اصلی و در نهایت پیکربندی rclone crypt مربوط به گذرواژهٔ پیشین را حذف کنید. همهٔ دادهها از سیستم ذخیرهسازی دریافت شده و مجدداً به آن ارسال میشوند، بنابراین پهنای باند شما نصف خواهد شد و اگر در سیستم ذخیرهسازی سهمیهٔ بارگذاری و بارگیری دارید، دو برابر محاسبه میشود.
نکته: یک مشکل امنیتی در رابطه با تولیدکنندهٔ تصادفی گذرواژه در نگارش 1.53.3 از rclone (منتشرشده در 2020-11-19) برطرف شده است. گذرواژههای تولیدشده توسط rclone config در نگارش 1.49.0 (منتشرشده در 2019-08-26) تا 1.53.2 (منتشرشده در 2020-10-26) امن در نظر گرفته نمیشوند و باید تغییر یابند. اگر گذرواژهتان را خودتان تعیین کردهاید، یا برای ایجاد آن از نگارشهای قدیمیتر از 1.49.0 یا جدیدتر از 1.53.2 از rclone استفاده کردهاید، شما تحت تأثیر این مشکل نیستید. برای جزئیات بیشتر و دریافت ابزاری جهت بررسی اینکه آیا تحت تأثیر قرار گرفتهاید یا خیر، گزارش شمارهٔ #4783 (https://github.com/rclone/rclone/issues/4783) را ببینید..SS "مثال (Example)"
ساختار فایل زیر را با استفاده از رمزنگاری نام فایل "standard" ایجاد کنید.
-
plaintext/ ├── file0.txt ├── file1.txt └── subdir ├── file2.txt ├── file3.txt └── subsubdir └── file4.txt
اینها را به ریموت کپی کرده و فهرست کنید
-
$ rclone -q copy plaintext secret: $ rclone -q ls secret: 7 file1.txt 6 file0.txt 8 subdir/file2.txt 10 subdir/subsubdir/file4.txt 9 subdir/file3.txt
ریموت crypt به این صورت دیده میشود
-
$ rclone -q ls remote:path 55 hagjclgavj2mbiqm6u6cnjjqcg 54 v05749mltvv1tf4onltun46gls 57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo 58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc 56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
ساختار دایرکتوری حفظ میشود
-
$ rclone -q ls secret:subdir 8 file2.txt 9 file3.txt 10 subsubdir/file4.txt
بدون رمزنگاری نام فایل، پسوندهای .bin به نامهای اصلی اضافه میشوند. این امر مانع از تلاش ارائهدهنده فضای ابری برای تفسیر محتوای فایل میشود.
-
$ rclone -q ls remote:path 54 file0.txt.bin 57 subdir/file3.txt.bin 56 subdir/file2.txt.bin 58 subdir/subsubdir/file4.txt.bin 55 file1.txt.bin
حالتهای رمزنگاری نام فایل (File name encryption modes)
Off
- •
- نامهای فایل یا ساختار دایرکتوری را پنهان نمیکند
- •
- امکان استفاده از نامهای فایل طولانیتر را فراهم میکند (~246 نویسه)
- •
- میتواند از زیرمسیرها استفاده کرده و تکفایلها را کپی کند
Standard
- •
- نامهای فایل رمزنگاری میشوند
- •
- نامهای فایل نمیتوانند خیلی طولانی باشند (~143 نویسه)
- •
- میتواند از زیرمسیرها استفاده کرده و تکفایلها را کپی کند
- •
- ساختار دایرکتوری نمایان است
- •
- نامهای فایل یکسان دارای نامهای بارگذاریشده یکسانی خواهند بود
- •
- میتواند از میانبرها برای کوتاهکردن بازگشت دایرکتوری استفاده کند
Obfuscation
این یک چرخش ("rotate") ساده روی نام فایل است که در آن هر فایل دارای یک فاصله rot بر اساس نام فایل است. Rclone این فاصله را در ابتدای نام فایل ذخیره میکند. فایلی با نام "hello" ممکن است تبدیل به "53.jgnnq" شود.
حالت Obfuscation (مبهمسازی) یک رمزنگاری قوی برای نام فایلها نیست، اما مانع از آن میشود که ابزارهای پویش خودکار متوجه الگوهای نام فایل شوند. این حالت یک حد واسط میان "off" و "standard" است که امکان استفاده از نامهای طولانیتر را در بخشهای مسیر فراهم میآورد.
در مورد برخی از نامهای فایل مبتنی بر یونیکد این احتمال وجود دارد که مبهمسازی ضعیف عمل کرده و نویسههای کوچک را به معادلهای بزرگ آنها نگاشت کند.
برای محافظت قوی نمیتوان به Obfuscation اتکا کرد.
- •
- نامهای فایل بسیار خفیف مبهمسازی میشوند
- •
- نامهای فایل میتوانند طولانیتر از رمزنگاری استاندارد باشند
- •
- میتواند از زیرمسیرها استفاده کرده و تکفایلها را کپی کند
- •
- ساختار دایرکتوری نمایان است
- •
- نامهای فایل یکسان دارای نامهای بارگذاریشده یکسانی خواهند بود
سیستمهای ذخیرهسازی ابری دارای محدودیتهایی در طول نام فایل و طول کل مسیر هستند که rclone در صورت استفاده از رمزنگاری نام فایل "Standard" با احتمال بیشتری از آنها فراتر میرود. در مواردی که طول نام فایلها ۱۴۳ نویسه یا کمتر باشد، بدون در نظر گرفتن ارائهدهنده فضای ابری، نباید مشکلی رخ دهد.
یک گزینه پیشرفته آزمایشی با نام filename_encoding اکنون برای برطرف کردن این مشکل تا حدی ارائه شده است. برای سامانههای ذخیرهسازی ابری با نامهای فایل حساس به حروف بزرگ و کوچک (مانند Google Drive)، میتوان از base64 برای کاهش طول نام فایل استفاده کرد. برای سیستمهای ذخیرهسازی ابری که به صورت داخلی از UTF-16 برای ذخیره نام فایلها استفاده میکنند (مانند OneDrive، Dropbox، Box)، میتوان از base32768 برای کاهش چشمگیر طول نام فایل استفاده نمود.
یک حالت رمزنگاری جایگزین برای نام فایل در آینده rclone ممکن است محدودیتهای طول مسیر ارائهدهنده پشتیبان (backend) را تاب بیاورد..SS رمزنگاری نام دایرکتوری (Directory name encryption)
ابزار Crypt گزینه رمزنگاری نامهای دایرکتوری یا دستنخورده باقی گذاشتن آنها را ارائه میدهد. دو گزینه وجود دارد:
True
کل مسیر فایل شامل نامهای دایرکتوری را رمزنگاری میکند. مثال: 1/12/123.txt به این صورت رمزنگاری میشود: p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
False
تنها نام فایلها را رمزنگاری کرده و از نام دایرکتوریها صرفنظر میکند. مثال: 1/12/123.txt به این صورت رمزنگاری میشود: 1/12/qgm4avr35m5loi1th53ato71v0
زمانهای تغییر و هشها (Modification times and hashes)
ابزار Crypt زمانهای تغییر را با استفاده از ریموت زیرین ذخیره میکند، بنابراین پشتیبانی از آن به ریموت وابسته است.
هشها برای crypt ذخیره نمیشوند. با این حال، یکپارچگی دادهها توسط یک اعتبارسنج رمزشناختی بسیار قوی محافظت میشود.
برای بررسی یکپارچگی یک ریموت رمزنگاریشده، به جای دستور rclone check که نمیتواند چِکسامها را بهدرستی بررسی کند، از دستور rclone cryptcheck استفاده کنید.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مخصوص به crypt (رمزنگاری/رمزگشایی یک ریموت) آورده شده است.
--crypt-remote
ریموت مورد نظر جهت رمزنگاری/رمزگشایی.
بهطور معمول باید شامل یک ':' و یک مسیر باشد، مانند "myremote:path/to/dir"، "myremote:bucket" یا احتمالاً "myremote:" (توصیه نمیشود).
ویژگیها:
- •
- پیکربندی: remote
- •
- متغیر محیطی: RCLONE_CRYPT_REMOTE
- •
- نوع: string
- •
- الزامی: true
--crypt-filename-encryption
نحوه رمزنگاری نام فایلها.
ویژگیها:
- •
- پیکربندی: filename_encryption
- •
- متغیر محیطی: RCLONE_CRYPT_FILENAME_ENCRYPTION
- •
- نوع: string
- •
- پیشفرض: "standard"
- •
- مثالها:
- •
- "standard"
- •
- رمزنگاری نام فایلها.
- •
- برای جزئیات بیشتر به مستندات مراجعه کنید.
- •
- "obfuscate"
- •
- مبهمسازی بسیار ساده نام فایل.
- •
- "off"
- •
- نام فایلها را رمزنگاری نمیکند.
- •
- تنها یک پسوند ".bin" یا "suffix" اضافه میکند.
گزینهای برای رمزگذاری نامهای دایرکتوری یا دستنخورده باقی گذاشتن آنها.
توجه: اگر filename_encryption برابر با "off" باشد، این گزینه هیچ کاری انجام نخواهد داد.
ویژگیها:
- •
- پیکربندی: directory_name_encryption
- •
- متغیر محیطی: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
- •
- نوع: bool
- •
- پیشفرض: true
- •
- مثالها:
- •
- "true"
- •
- رمزگذاری نامهای دایرکتوری.
- •
- "false"
- •
- نامهای دایرکتوری را رمزگذاری نکن، آنها را دستنخورده باقی بگذار.
--crypt-password
گذرواژه یا عبارت عبور برای رمزگذاری.
توجه: ورودی این گزینه باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_CRYPT_PASSWORD
- •
- نوع: string
- •
- الزامی: true
--crypt-password2
گذرواژه یا عبارت عبور برای سالت (salt).
اختیاری است اما توصیه میشود. باید با گذرواژه قبلی متفاوت باشد.
توجه: ورودی این گزینه باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: password2
- •
- متغیر محیطی: RCLONE_CRYPT_PASSWORD2
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص به crypt (رمزگذاری/رمزگشایی یک ریموت) آورده شده است.
--crypt-server-side-across-configs
منسوخشده: بهجای آن از --server-side-across-configs استفاده کنید.
به عملیاتهای سمت سرور (مانند copy) اجازه میدهد تا میان پیکربندیهای مختلف crypt عمل کنند.
معمولاً این گزینه چیزی نیست که بخواهید، اما اگر دو ریموت crypt دارید که به یک بکاند یکسان اشاره میکنند، میتوانید از آن استفاده کنید.
این گزینه میتواند برای نمونه برای تغییر نوع رمزگذاری نام فایل بدون بارگذاری مجدد تمام دادهها به کار رود. تنها کافی است دو بکاند crypt ایجاد کنید که با همان یک پارامتر تغییریافته به دو دایرکتوری مختلف اشاره کنند و از rclone move برای جابهجایی فایلها میان ریموتهای crypt استفاده نمایید.
ویژگیها:
- •
- پیکربندی: server_side_across_configs
- •
- متغیر محیطی: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS
- •
- نوع: bool
- •
- پیشفرض: false.SS --crypt-show-mapping
برای تمامی فایلهای فهرستشده، نحوه رمزگذاری نامها را نشان میدهد.
اگر این پرچم تنظیم شود، برای هر فایلی که از ریموت درخواست فهرست شدن آن داده میشود، یک خط (در سطح INFO) حاوی نام رمزگشاییشده و نام رمزگذاریشده فایل ثبت خواهد شد.
این قابلیت به شما امکان میدهد تشخیص دهید کدام نامهای رمزگذاریشده متعلق به چه نامهای رمزگشاییشدهای هستند؛ مناسب برای زمانهایی که نیاز است با نامهای رمزگذاریشده فایلها کاری انجام دهید یا جهت اهداف اشکالزدایی.
ویژگیها:
- •
- پیکربندی: show_mapping
- •
- متغیر محیطی: RCLONE_CRYPT_SHOW_MAPPING
- •
- نوع: bool
- •
- پیشفرض: false
--crypt-no-data-encryption
گزینهای برای رمزگذاری دادههای فایل یا باقی گذاشتن آنها به صورت رمزگذارینشده.
ویژگیها:
- •
- پیکربندی: no_data_encryption
- •
- متغیر محیطی: RCLONE_CRYPT_NO_DATA_ENCRYPTION
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "true"
- •
- دادههای فایل رمزگذاری نشوند و رمزگذارینشده باقی بمانند.
- •
- "false"
- •
- دادههای فایل رمزگذاری شوند.
--crypt-pass-bad-blocks
اگر تنظیم شود، بلوکهای خراب را تماماً بهصورت 0 رد میکند.
این گزینه نباید در شرایط عادی فعال باشد؛ بلکه تنها باید زمانی تنظیم شود که قصد بازیابی یک فایل رمزگذاریشده همراه با خطا را داشته باشید و بخواهید تا حد ممکن بخشهای بیشتری از فایل را نجات دهید.
ویژگیها:
- •
- پیکربندی: pass_bad_blocks
- •
- متغیر محیطی: RCLONE_CRYPT_PASS_BAD_BLOCKS
- •
- نوع: bool
- •
- پیشفرض: false
--crypt-strict-names
اگر تنظیم شود، هنگامی که crypt با نام فایلی برخورد کند که قابل رمزگشایی نیست، خطا ایجاد میکند.
(بهطور پیشفرض، rclone صرفاً یک پیام NOTICE در لاگ ثبت کرده و روال عادی را ادامه میدهد.) این وضعیت زمانی ممکن است پیش بیاید که فایلهای رمزگذاریشده و رمزگذارینشده در یک دایرکتوری نگهداری شوند (که توصیه نمیشود). همچنین ممکن است نشاندهنده مشکلی جدیتر باشد که نیاز به بررسی دارد.
ویژگیها:
- •
- پیکربندی: strict_names
- •
- متغیر محیطی: RCLONE_CRYPT_STRICT_NAMES
- •
- نوع: bool
- •
- پیشفرض: false.SS --crypt-filename-encoding
نحوه کدگذاری نام فایل رمزگذاریشده به یک رشته متنی.
این گزینه میتواند به کوتاهتر کردن نام فایل رمزگذاریشده کمک کند. گزینه مناسب به نحوه محاسبه طول نام فایل توسط ریموت شما و حساس بودن آن به حروف بزرگ و کوچک بستگی دارد.
ویژگیها:
- •
- پیکربندی: filename_encoding
- •
- متغیر محیطی: RCLONE_CRYPT_FILENAME_ENCODING
- •
- نوع: string
- •
- پیشفرض: "base32"
- •
- مثالها:
- •
- "base32"
- •
- کدگذاری با استفاده از base32. مناسب برای تمام ریموتها.
- •
- "base64"
- •
- کدگذاری با استفاده از base64. مناسب برای ریموتهای حساس به حروف بزرگ و کوچک.
- •
- "base32768"
- •
- کدگذاری با استفاده از base32768. مناسب در صورتی که ریموت شما UTF-16 یا
- •
- نقطه کد یونیکد را به جای طول بایتهای UTF-8 شمارش کند. (مانند Onedrive، Dropbox)
--crypt-suffix
در صورت تنظیم شدن، پسوند پیشفرض ".bin" را جایگزین خواهد کرد.
تنظیم پسوند روی "none" منجر به یک پسوند خالی خواهد شد. این مورد ممکن است زمانی که طول مسیر بحرانی است مفید باشد.
ویژگیها:
- •
- پیکربندی: suffix
- •
- متغیر محیطی: RCLONE_CRYPT_SUFFIX
- •
- نوع: string
- •
- پیشفرض: ".bin"
--crypt-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_CRYPT_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
فراداده (Metadata)
هر فرادادهای که توسط ریموت زیرین پشتیبانی شود، خوانده و نوشته میشود.
برای اطلاعات بیشتر مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید..SS دستورات backend
در اینجا دستورات مختص backend از نوع crypt آورده شده است.
آنها را بدین صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی میپذیرد.
برای اطلاعات بیشتر در مورد نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این موارد را میتوان بر روی یک backend در حال اجرا با استفاده از دستور rc به صورت backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
encode
کدگذاری نام فایل(های) دادهشده.
-
rclone backend encode remote: [options] [<arguments>+]
این دستور نام فایلهای دادهشده به عنوان آرگومان را کدگذاری کرده و فهرستی از رشتههای نتایج کدگذاریشده را بازمیگرداند.
مثالهای کاربرد:
-
rclone backend encode crypt: file1 [file2...] rclone rc backend/command command=encode fs=crypt: file1 [file2...]
decode
رمزگشایی نام فایل(های) دادهشده.
-
rclone backend decode remote: [options] [<arguments>+]
این دستور نام فایلهای دادهشده به عنوان آرگومان را رمزگشایی کرده و فهرستی از رشتههای نتایج رمزگشاییشده را بازمیگرداند. اگر هر یک از ورودیها نامعتبر باشد، خطایی بازگردانده خواهد شد.
مثالهای کاربرد:
-
rclone backend decode crypt: encryptedfile1 [encryptedfile2...] rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...]
پشتیبانگیری از یک remote رمزنگاریشده
اگر مایلید از یک remote رمزنگاریشده پشتیبان بگیرید، توصیه میشود که از rclone sync روی فایلهای رمزنگاریشده استفاده کنید و اطمینان حاصل کنید که گذرواژهها در remote رمزنگاریشده جدید یکسان هستند.
این کار مزایای زیر را در پی خواهد داشت:
- •
- دستور rclone sync در هنگام کپی کردن، چکسامها را بررسی خواهد کرد
- •
- میتوانید از rclone check بین remoteهای رمزنگاریشده استفاده کنید
- •
- فایلها را بدون ضرورت رمزگشایی و مجدداً رمزگذاری نمیکنید
برای مثال، فرض کنید remote اصلی شما در remote: قرار دارد و نسخه رمزنگاریشده آن در eremote: با مسیر remote:crypt است. سپس remote جدید remote2: و نسخه رمزنگاریشده eremote2: را با مسیر remote2:crypt و با استفاده از همان گذرواژههای eremote: تنظیم میکنید.
برای همگامسازی دو remote، این دستور را اجرا میکنید:
-
rclone sync --interactive remote:crypt remote2:crypt
و برای بررسی یکپارچگی، این دستور را اجرا میکنید:
-
rclone check remote:crypt remote2:crypt
رمزنگاری فایل
فایلها بهصورت ۱:۱ از فایل مبدأ به شیء مقصد رمزنگاری میشوند. فایل دارای یک سرایند است و به تکهها تقسیم میشود.
سرایند
- •
- ۸ بایت رشته جادویی RCLONE\x00\x00
- •
- ۲۴ بایت Nonce (IV)
نانس اولیه از تولیدکننده اعداد تصادفی امن از نظر رمزنگاری در سیستمعامل تولید میشود. این نانس برای هر تکهای که خوانده میشود افزایش مییابد تا اطمینان حاصل شود که هر نانس برای هر بلوک نوشتهشده یکتا است. احتمال استفاده مجدد از یک نانس بسیار ناچیز است. اگر یک اگزابایت داده (۱۰¹⁸ بایت) مینوشتید، احتمال استفاده مجدد از یک نانس تقریباً ۲×۱۰⁻³² میبود.
تکه (Chunk)
هر تکه شامل ۶۴ کیبیبایت داده خواهد بود، بهجز آخرین تکه که ممکن است داده کمتری داشته باشد. تکه داده در قالب استاندارد NaCl SecretBox است. ابزار SecretBox از XSalsa20 و Poly1305 برای رمزنگاری و اصالتسنجی پیامها استفاده میکند.
هر تکه شامل موارد زیر است:
- •
- ۱۶ بایت کد اصالتسنجی Poly1305
- •
- ۱ تا ۶۵۵۳۶ بایت داده رمزنگاریشده با XSalsa20
اندازه تکه ۶۴ کیلوبایتی بهعنوان بهترین اندازه از نظر کارایی انتخاب شد (کمتر از این مقدار زمان زیادی از اصالتسنج میگیرد و بیشتر از این مقدار به دلیل اثرات حافظه نهان (cache)، عملکرد افت میکند). توجه داشته باشید که این تکهها در حافظه بافر میشوند، بنابراین نمیتوانند بیش از حد بزرگ باشند.
این روش از یک کلید ۳۲ بایتی (کلید ۲۵۶ بیتی) مشتقشده از گذرواژه کاربر استفاده میکند.
مثالها
یک فایل ۱ بایتی به صورت زیر رمزنگاری میشود:
- •
- ۳۲ بایت سرایند
- •
- ۱۷ بایت تکه داده
در مجموع ۴۹ بایت
یک فایل ۱ مبیبایتی (۱۰۴۸۵۷۶ بایت) به صورت زیر رمزنگاری میشود:
- •
- ۳۲ بایت سرایند
- •
- ۱۶ تکه ۶۵۵۵۲ بایتی
در مجموع ۱۰۴۸۸۶۴ بایت (۰٫۰۳٪ سربار). این میزان سربار برای فایلهای بزرگ است.
رمزنگاری نام
نامهای فایل بخشبهبخش رمزنگاری میشوند - مسیر به رشتههایی که با / از هم جدا شدهاند تفکیک شده و این رشتهها بهصورت مجزا رمزنگاری میگردند.
بخشهای نام فایل پیش از رمزنگاری، با استفاده از PKCS#7 تا مضربی از ۱۶ بایت تکمیل (pad) میشوند.
سپس با EME و با استفاده از AES با کلید ۲۵۶ بیتی رمزنگاری میشوند. روش EME (ECB-Mix-ECB) یک حالت رمزنگاری بلوکبزرگ است که در مقاله سال ۲۰۰۳ با عنوان "A Parallelizable Enciphering Mode" توسط Halevi و Rogaway ارائه شد.
این امر منجر به یک رمزنگاری قطعی (deterministic) میشود که دقیقاً همان چیزی است که ما میخواهیم - یک نام فایل یکسان باید به مقداری یکسان رمزنگاری شود، در غیر این صورت نمیتوانیم آن را در سامانه ذخیرهسازی ابری پیدا کنیم.
این بدان معناست که:
- •
- نامهای فایلی که یکسان هستند، بهطور یکسان رمزنگاری میشوند
- •
- نامهای فایلی که شروع یکسانی دارند، پیشوند مشترکی نخواهند داشت
یک رشته نسخه به فرم -vYYYY-MM-DD-HHMMSS-NNN در انتهای نام فایل (همانطور که توسط --b2-versions / --s3-versions اضافه میشود) بهصورت متن خام باقی میماند تا فایلهای نسخهبندیشده قابل یافتن باشند. نام دایرکتوریها بهطور کامل رمزنگاری میشود. برنامه Rclone پیش از نسخه v1.76 چنین پسوندی را در نام دایرکتوریها نیز بهصورت متن خام باقی میگذاشت، بنابراین دایرکتوری با چنین نامی که توسط نسخههای قدیمیتر rclone ایجاد شده باشد در فهرستها با یک هشدار نمایش داده میشود، اما تا زمانی که در ریموتِ زیرین به نام ارائهشده در هشدار تغییر نام داده نشود، نمیتوان آن را باز کرد یا حذف نمود.
در اینجا از یک کلید ۳۲ بایتی (۲۵۶ بیت) و یک IV شانزده بایتی (۱۲۸ بیت) استفاده میشود که هر دو از گذرواژه کاربر مشتق شدهاند.
پس از رمزنگاری، آنها با استفاده از نسخه اصلاحشدهای از کدگذاری استاندارد base32 طبق شرح RFC4648 نوشته میشوند. کدگذاری استاندارد به دو شیوه تغییر یافته است:
- •
- به حروف کوچک تبدیل میشود (هیچکس نام فایل با حروف بزرگ را دوست ندارد!)
- •
- نویسه تکمیلکننده (padding) = حذف میشود
از base32 بهجای base64 (که کارآمدتر است) استفاده میشود تا rclone بتواند در ریموتهای غیرحساس به حروف کوچک و بزرگ (مانند Windows، Box، Dropbox، Onedrive و غیره) قابل استفاده باشد..SS "مشتقسازی کلید (Key derivation)"
برنامهٔ rclone از scrypt با پارامترهای N=16384, r=8, p=1 به همراه یک سالت (salt) اختیاری ارائهشده توسط کاربر (password2) برای مشتقسازی ۸۰ بایت (۳۲+۳۲+۱۶) مادهٔ کلید مورد نیاز استفاده میکند. اگر کاربر سالتی ارائه ندهد، rclone از یک سالت داخلی استفاده میکند.
الگوریتم scrypt اجرای حملهٔ واژهنامهای (dictionary attack) را روی دادههای رمزنگاریشدهٔ rclone عملاً ناممکن میسازد. برای محافظت کامل در برابر این موضوع، همیشه باید از یک سالت استفاده کنید.
همچنین ببینید (SEE ALSO)
- •
- rclone cryptdecode (https://rclone.org/commands/rclone_cryptdecode) - نمایش نگاشت مستقیم/معکوس نامهای فایل رمزنگاریشده.
فشردهسازی (Compress)
هشدار (Warning)
این ریموت در حال حاضر آزمایشی (experimental) است. ممکن است عملکرد آن با اختلال مواجه شده و دادهها از دست بروند. مسئولیت هرگونه اقدام با این ریموت بر عهدهٔ خودتان است. لطفاً خطرات مرتبط با استفاده از کدهای آزمایشی را مد نظر داشته باشید و از این ریموت در کاربردهای حیاتی استفاده نکنید.
ریموت Compress قابلیت فشردهسازی را به یک ریموت دیگر میافزاید. بهترین کاربرد آن برای ریموتهایی است که شامل تعداد زیادی فایل بزرگِ با قابلیت فشردهسازی هستند.
پیکربندی (Configuration)
برای استفاده از این ریموت، تنها کاری که باید انجام دهید مشخص کردن ریموت دیگر و یک حالت فشردهسازی برای استفاده است:
-
$ rclone config Current remotes: Name Type ==== ==== remote_to_press sometype e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n name> compress Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. ... 12 / Compress a remote \ (compress) ... Storage> compress Option remote. Remote to compress. Enter a value. remote> remote_to_press:subdir Option mode. Compression mode. Choose a number from below, or type in your own value of type string. Press Enter for the default (gzip). 1 / Standard gzip compression with fastest parameters. \ (gzip) 2 / Zstandard compression — fast modern algorithm offering adjustable speed-to-compression tradeoffs. \ (zstd) mode> gzip Option level. GZIP (levels -2 to 9): - -2 — Huffman encoding only. Only use if you know what you're doing. - -1 (default) — recommended; equivalent to level 5. - 0 — turns off compression. - 1–9 — increase compression at the cost of speed. Going past 6 generally offers very little return. ZSTD (levels 0 to 4): - 0 — turns off compression entirely. - 1 — fastest compression with the lowest ratio. - 2 (default) — good balance of speed and compression. - 3 — better compression, but uses about 2–3x more CPU than the default. - 4 — best possible compression ratio (highest CPU cost). Notes: - Choose GZIP for wide compatibility; ZSTD for better speed/ratio tradeoffs. - Negative gzip levels: -2 = Huffman-only, -1 = default (≈ level 5). Enter a value. level> -1 Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: compress - remote: remote_to_press:subdir - mode: gzip - level: -1 Keep this "compress" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
- •
-
GZIP – الگوریتمی شناختهشده و فراگیر که توازن مناسبی میان سرعت و نسبت فشردهسازی برقرار میکند. این الگوریتم از سطوح فشردهسازی -2 تا 9 پشتیبانی میکند که مقدار پیشفرض -1 (تقریباً معادل سطح 5) حد میانهٔ کارآمدی را برای بیشتر سناریوها فراهم میسازد.
- •
-
Zstandard (zstd) – الگوریتمی نوین و با کارایی بالا که کنترل دقیقی بر توازن میان سرعت و بازدهی فشردهسازی ارائه میدهد. سطوح فشردهسازی از 0 (بدون فشردهسازی) تا 4 (حداکثر فشردهسازی) متغیر است.
انواع فایل
اگر یک ریموت بستهبندیشده با compress را باز کنید، مشاهده خواهید کرد که فایلهای متعددی با پسوند متناظر با الگوریتم فشردهسازی انتخابی شما وجود دارند. این فایلها استانداردی هستند که میتوان با برنامههای مختلف آرشیو آنها را باز کرد، اما دارای فرادادههای پنهانی هستند که امکان استفاده از آنها توسط rclone را فراهم میسازد. گرچه میتوانید به دلخواه این فایلها را بارگیری کرده و از حالت فشرده خارج کنید، اما فایلها را به صورت دستی حذف نکنید یا نام آنها را تغییر ندهید. فایلهای فاقد فایلهای فرادادهٔ صحیح، توسط rclone شناسایی نخواهند شد.
نام فایلها
فایلهای فشردهشده به صورت *.###########.gz نامگذاری خواهند شد که در آن * فایل اصلی بوده و بخش # اندازهٔ کدگذاریشده به روش base64 از فایل غیرفشرده است. نام فایلها نباید توسط چیزی به جز بکاند فشردهسازی rclone تغییر یابد.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به compress (فشردهسازی یک ریموت) آمده است.
--compress-remote
ریموت مورد نظر برای فشردهسازی.
ویژگیها:
- •
- پیکربندی: remote
- •
- متغیر محیطی: RCLONE_COMPRESS_REMOTE
- •
- نوع: string
- •
- الزامی: true
--compress-mode
حالت فشردهسازی.
ویژگیها:
- •
- پیکربندی: mode
- •
- متغیر محیطی: RCLONE_COMPRESS_MODE
- •
- نوع: string
- •
- پیشفرض: "gzip"
- •
- مثالها:
- •
- "gzip"
- •
- فشردهسازی استاندارد gzip با سریعترین پارامترها.
- •
- "zstd"
- •
- فشردهسازی Zstandard — الگوریتمی سریع و نوین با امکان تنظیم توازن میان سرعت و فشردهسازی.
--compress-level
GZIP (سطوح -2 تا 9): - -2 — فقط کدگذاری هافمن (Huffman). تنها در صورتی استفاده کنید که میدانید چه کاری انجام میدهید. - -1 (پیشفرض) — توصیه میشود؛ معادل سطح 5. - 0 — فشردهسازی را خاموش میکند. - 1–9 — افزایش فشردهسازی به بهای کاهش سرعت. فراتر رفتن از سطح 6 عموماً بازدهی چندانی به همراه ندارد.
ZSTD (سطوح 0 تا 4): - 0 — فشردهسازی را به طور کامل غیرفعال میکند. - 1 — سریعترین فشردهسازی با کمترین نسبت تراکم. - 2 (پیشفرض) — توازن مناسب میان سرعت و فشردهسازی. - 3 — فشردهسازی بهتر، اما حدود 2–3 برابر CPU بیشتری نسبت به حالت پیشفرض مصرف میکند. - 4 — بهترین نسبت فشردهسازی ممکن (بالاترین بار پردازشی CPU).
نکات: - برای سازگاری گسترده، GZIP را انتخاب کنید؛ برای توازن بهتر سرعت/نسبت، ZSTD را برگزینید. - سطوح منفی gzip: مقدار -2 = فقط هافمن، مقدار -1 = پیشفرض (≈ سطح 5).
ویژگیها:
- •
- پیکربندی: level
- •
- متغیر محیطی: RCLONE_COMPRESS_LEVEL
- •
- نوع: string
- •
- الزامی: true.SS گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مخصوص compress (فشردهسازی یک ریموت) آورده شده است.
--compress-ram-cache-limit
برخی از ریموتها اجازه بارگذاری فایلها با اندازه نامشخص را نمیدهند. در این حالت برای تعیین اندازه فایل فشرده، نیاز است که آن فایل در حافظه موقت (کش) ذخیره شود.
فایلهای کوچکتر از این حد در RAM کش میشوند و فایلهای بزرگتر از این حد روی دیسک ذخیره خواهند شد.
ویژگیها:
- •
- پیکربندی: ram_cache_limit
- •
- متغیر محیطی: RCLONE_COMPRESS_RAM_CACHE_LIMIT
- •
- نوع: SizeSuffix
- •
- پیشفرض: 20Mi
--compress-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_COMPRESS_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
فراداده (Metadata)
هرگونه فرادادهای که توسط ریموت زیربنایی پشتیبانی شود، خوانده و نوشته میشود.
برای اطلاعات بیشتر مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید.
Combine
بکاند combine ریموتها را در یک درخت دایرکتوری واحد ادغام میکند.
برای نمونه ممکن است یک ریموت برای تصاویر روی یک ارائهدهنده داشته باشید:
-
$ rclone tree s3:imagesbucket / ├── image1.jpg └── image2.jpg
و ریموتی برای فایلها روی ارائهدهندهای دیگر:
-
$ rclone tree drive:important/files / ├── file1.txt └── file2.txt
بکاند combine میتواند اینها را در یک ساختار دایرکتوری ساختگی مانند این ترکیب کند:
-
$ rclone tree combined: / ├── files │ ├── file1.txt │ └── file2.txt └── images ├── image1.jpg └── image2.jpg
شما این کار را با مشخص کردن پارامتر upstreams در پیکربندی به این صورت انجام میدهید:
-
upstreams = images=s3:imagesbucket files=drive:important/files
در طول راهاندازی اولیه با rclone config شما ریموتهای upstream را به صورت یک فهرست جداشده با فاصله مشخص خواهید کرد. ریموتهای upstream میتوانند مسیرهای محلی یا ریموتهای دیگر باشند..SS "پیکربندی (Configuration)"
در اینجا مثالی از نحوه ساخت یک combine با نام remote برای نمونه بالا آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. ... XX / Combine several remotes into one \ (combine) ... Storage> combine Option upstreams. Upstreams for combining These should be in the form dir=remote:path dir2=remote2:path Where before the = is specified the root directory and after is the remote to put there. Embedded spaces can be added using quotes "dir=remote:path with space" "dir2=remote2:path with space" Enter a fs.SpaceSepList value. upstreams> images=s3:imagesbucket files=drive:important/files Configuration complete. Options: - type: combine - upstreams: images=s3:imagesbucket files=drive:important/files Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
پیکربندی برای درایوهای اشتراکی Google Drive
ابزار Rclone دارای یک قابلیت سودمند برای ساخت یک backend از نوع combine جهت دسترسی به تمامی درایوهای اشتراکی است که به آنها دسترسی دارید.
با فرض اینکه نام ریموت اصلی Google Drive شما (غیر از درایو اشتراکی) drive: باشد، دستور زیر را اجرا میکنید:
-
rclone backend -o config drives drive:
این دستور خروجیای شبیه به این تولید خواهد کرد:
-
[My Drive] type = alias remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=: [Test Drive] type = alias remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=: [AllDrives] type = combine upstreams = "My Drive=My Drive:" "Test Drive=Test Drive:"
اگر سپس این پیکربندی را به فایل پیکربندی خود اضافه کنید (آن را با rclone config file پیدا کنید)، آنگاه میتوانید در یک مکان و با ریموت AllDrives: به تمام درایوهای اشتراکی دسترسی داشته باشید.
برای اطلاعات کامل، مستندات Google Drive را در https://rclone.org/drive/#drives ببینید..SS گزینههای استاندارد
در اینجا گزینههای استاندارد مربوط به combine (ترکیب چند ریموت در یکی) آورده شده است.
--combine-upstreams
مبدأها (upstreams) برای ترکیب.
این مقادیر باید در این قالب باشند:
-
dir=remote:path dir2=remote2:path
به طوری که قبل از = دایرکتوری ریشه مشخص شده و بعد از آن ریموتی است که باید در آنجا قرار گیرد.
فاصلههای خالی درون نامها را میتوان با استفاده از نقلقول اضافه کرد:
-
"dir=remote:path with space" "dir2=remote2:path with space"
ویژگیها:
- •
- پیکربندی: upstreams
- •
- متغیر محیطی: RCLONE_COMBINE_UPSTREAMS
- •
- نوع: SpaceSepList
- •
- پیشفرض:
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مربوط به combine (ترکیب چند ریموت در یکی) آورده شده است.
--combine-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_COMBINE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
متادیتا (Metadata)
هرگونه متادیتای پشتیبانیشده توسط ریموت زیرین خوانده و نوشته میشود.
برای اطلاعات بیشتر به مستندات متادیتا (https://rclone.org/docs/#metadata) مراجعه کنید.
DOI
ریموت DOI یک ریموت فقطخواندنی برای خواندن فایلها از شناسههای اشیاء دیجیتال (DOI) است.
در حال حاضر، بکاند DOI از DOIهای میزبانیشده در موارد زیر پشتیبانی میکند:
- •
- InvenioRDM (https://inveniosoftware.org/products/rdm)
- •
- Zenodo (https://zenodo.org)
- •
- CaltechDATA (https://data.caltech.edu)
- •
- سایر مخازن InvenioRDM (https://inveniosoftware.org/showcase)
- •
- Dataverse (https://dataverse.org)
- •
- Harvard Dataverse (https://dataverse.harvard.edu)
- •
- سایر مخازن Dataverse (https://dataverse.org/installations)
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند تا هر عمقی که نیاز باشد مشخص شوند، مانند remote:directory/subdirectory..SS پیکربندی (Configuration)
در اینجا مثالی از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter name for new remote. name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / DOI datasets \ (doi) [snip] Storage> doi Option doi. The DOI or the doi.org URL. Enter a value. doi> 10.5281/zenodo.5876941 Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: doi - doi: 10.5281/zenodo.5876941 Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص doi (مجموعهدادههای DOI) آورده شده است.
--doi-doi
شناسه DOI یا نشانی وب doi.org.
ویژگیها:
- •
- پیکربندی: doi
- •
- متغیر محیطی: RCLONE_DOI_DOI
- •
- نوع: string
- •
- الزامی: true
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص doi (مجموعهدادههای DOI) آورده شده است.
--doi-provider
ارائهدهنده DOI.
ارائهدهنده DOI را میتوان زمانی تنظیم کرد که rclone یک ارائهدهنده پشتیبانیشده DOI را بهطور خودکار تشخیص ندهد.
ویژگیها:
- •
- پیکربندی: provider
- •
- متغیر محیطی: RCLONE_DOI_PROVIDER
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "auto"
- •
- تشخیص خودکار ارائهدهنده
- •
- "zenodo"
- •
- Zenodo
- •
- "dataverse"
- •
- Dataverse
- •
- "invenio"
- •
- Invenio
نشانی URL مربوط به API تفکیککننده DOI برای استفاده.
تفکیککننده DOI را میتوان برای آزمایش یا در مواردی که نمیتوان از API رسمی (canonical) تفکیککننده DOI استفاده کرد، تنظیم نمود.
به طور پیشفرض "https://doi.org/api" است.
ویژگیها:
- •
- پیکربندی: doi_resolver_api_url
- •
- متغیر محیطی: RCLONE_DOI_DOI_RESOLVER_API_URL
- •
- نوع: string
- •
- الزامی: false
--doi-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_DOI_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
دستورهای Backend
در اینجا دستورات مختص backend مربوط به doi آورده شده است.
آنها را به این صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر مشخص میکند که هر دستور چه آرگومانهایی دریافت میکند.
برای اطلاعات بیشتر درباره نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورات را میتوان با استفاده از دستور rc به شکل backend/command (https://rclone.org/rc/#backend-command) بر روی یک backend در حال اجرا، اجرا کرد.
metadata
نمایش فرادادههای مربوط به DOI.
-
rclone backend metadata remote: [options] [<arguments>+]
این دستور یک شیء JSON حاوی اطلاعاتی درباره DOI را برمیگرداند.
مثال کاربرد:
-
rclone backend metadata doi:
این دستور یک شیء JSON را برمیگرداند که نشاندهنده فرادادههای مربوط به DOI است.
set
دستور set برای بهروزرسانی پارامترهای پیکربندی.
-
rclone backend set remote: [options] [<arguments>+]
از این دستور set میتوان برای بهروزرسانی پارامترهای پیکربندی یک backend فعال doi استفاده کرد.
مثالهای کاربرد:
-
rclone backend set doi: [-o opt_name=opt_value] [-o opt_name2=opt_value2] rclone rc backend/command command=set fs=doi: [-o opt_name=opt_value] [-o opt_name2=opt_value2] rclone rc backend/command command=set fs=doi: -o doi=NEW_DOI
نام کلیدهای گزینهها دقیقاً همانند نام آنها در فایل پیکربندی است.
هنگام فراخوانی این دستور با پارامترهای جدید، اتصال به backend مربوط به doi بازسازی میشود. تنها نیاز است پارامترهای جدید ارسال شوند، چرا که مقادیر دیگر به طور پیشفرض همان مقادیر در حال استفاده خواهند بود.
این دستور چیزی برنمیگرداند..SH Drime
سرویس Drime (https://drime.cloud) یک سرویس ذخیرهسازی و انتقال ابری است که بر تحویل سریع و پایدار فایلها تمرکز دارد. این سرویس هم طرحهای رایگان و هم پولی را با تأکید بر بارگذاری پرسرعت و اشتراکگذاری پیوند ارائه میدهد.
برای راهاندازی Drime باید وارد حساب کاربری خود شوید، به بخش Settings و سپس Developer بروید و یک توکن به عنوان کلید دسترسی API ایجاد کنید. نام مناسبی به آن اختصاص دهید و توکن را برای استفاده در پیکربندی کپی کنید.
پیکربندی (Configuration)
در اینجا نحوه اجرای rclone config برای ایجاد یک ریموت به نام remote آورده شده است.
ابتدا اجرا کنید:
-
rclone config
سپس مراحل راهاندازی تعاملی را دنبال کنید:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter name for new remote. name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / Drime \ (drime) Storage> drime Option access_token. API Access token You can get this from the web control panel. Enter a value. Press Enter to leave empty. access_token> YOUR_API_ACCESS_TOKEN Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: drime - access_token: YOUR_API_ACCESS_TOKEN Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
پس از اتمام پیکربندی، میتوانید از rclone به صورت زیر استفاده کنید (مقدار remote را با نامی که به ریموت خود دادهاید جایگزین کنید):
فهرست کردن دایرکتوریها و فایلها در بالاترین سطح Drime شما:
-
rclone lsf remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در Drime:
-
rclone copy /home/source remote:backup
سرویس Drime از زمانهای تغییر یا هشها پشتیبانی نمیکند.
این بدان معناست که بهطور پیشفرض، همگامسازیها تنها از اندازه فایل برای تعیین اینکه آیا به بهروزرسانی نیاز است یا خیر استفاده خواهند کرد.
میتوانید از پرچم --update استفاده کنید که از زمان بارگذاری شیء استفاده میکند. برای بسیاری از عملیاتها، این مقدار برای تشخیص اینکه آیا تغییر کرده است یا خیر کافی خواهد بود. با این حال، در صورت استفاده از --update، فایلهایی که با برچسب زمانی در گذشته ایجاد شده باشند در همگامسازی نادیده گرفته خواهند شد.
نویسههای محدودشده در نام فایل (Restricted filename characters)
علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
نام فایلها همچنین نمیتواند با نویسههای زیر شروع شود یا پایان یابد. این موارد تنها در صورتی جایگزین میشوند که اولین یا آخرین نویسه در نام باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان استفاده از آنها در رشتههای JSON وجود ندارد.
شناسه پوشه ریشه (Root folder ID)
میتوانید مقدار root_folder_id را برای rclone تنظیم کنید. این همان دایرکتوری است (که با Folder ID مشخص میشود) که rclone آن را ریشه درایو Drime شما در نظر میگیرد.
در حالت عادی این مقدار را خالی میگذارید و rclone ریشه صحیح را برای استفاده خودش تعیین کرده و مقدار را در فایل پیکربندی وارد میکند.
با این حال میتوانید آن را تنظیم کنید تا rclone به یک سلسلهمراتب پوشه خاص محدود شود.
به منظور انجام این کار، باید Folder ID دایرکتوری مورد نظر برای نمایش در rclone را بیابید.
میتوانید این کار را با rclone انجام دهید:
-
$ rclone lsf -Fip --dirs-only remote: d6341f53-ee65-4f29-9f59-d11e8070b2a0;Files/ f4f5c9b8-6ece-478b-b03e-4538edfe5a1c;Photos/ d50e356c-29ca-4b27-a3a7-494d91026e04;Videos/
شناسهای که باید استفاده شود بخش قبل از ; است، بنابراین میتوانید مقدار زیر را تنظیم کنید:
-
root_folder_id = d6341f53-ee65-4f29-9f59-d11e8070b2a0
تا rclone به دایرکتوری Files محدود شود..SS "گزینههای استاندارد (Standard options)"
در اینجا گزینههای استاندارد مخصوص drime (Drime) آمده است.
--drime-access-token
توکن دسترسی API
میتوانید این مقدار را از کنترلپنل تحت وب دریافت کنید.
ویژگیها:
- •
- پیکربندی: access_token
- •
- متغیر محیطی: RCLONE_DRIME_ACCESS_TOKEN
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مخصوص drime (Drime) آمده است.
--drime-root-folder-id
شناسه (ID) پوشه ریشه
در حالت عادی این مقدار را خالی بگذارید؛ rclone آن را بهطور خودکار پر خواهد کرد.
اگر میخواهید rclone به پوشه خاصی محدود شود، میتوانید این مقدار را وارد کنید - برای اطلاعات بیشتر مستندات را ببینید.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_DRIME_ROOT_FOLDER_ID
- •
- نوع: string
- •
- الزامی: false
--drime-workspace-id
شناسه حساب کاربری (Account ID)
در حالت عادی این مقدار را خالی بگذارید، مگر اینکه بخواهید یک Workspace ID را مشخص کنید.
ویژگیها:
- •
- پیکربندی: workspace_id
- •
- متغیر محیطی: RCLONE_DRIME_WORKSPACE_ID
- •
- نوع: string
- •
- الزامی: false
--drime-list-chunk
تعداد مواردی که در هر فراخوانی فهرست میشوند
ویژگیها:
- •
- پیکربندی: list_chunk
- •
- متغیر محیطی: RCLONE_DRIME_LIST_CHUNK
- •
- نوع: int
- •
- پیشفرض: 1000
--drime-hard-delete
حذف دائمی فایلها به جای انتقال آنها به سطل زباله.
ویژگیها:
- •
- پیکربندی: hard_delete
- •
- متغیر محیطی: RCLONE_DRIME_HARD_DELETE
- •
- نوع: bool
- •
- پیشفرض: false.SS --drime-upload-cutoff
حد آستانه برای تغییر به بارگذاری تکهای (chunked).
هر فایلی بزرگتر از این مقدار، در تکههایی به اندازهٔ chunk_size بارگذاری خواهد شد. حداقل 0 و حداکثر 5 GiB است.
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_DRIME_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 5Mi
--drime-chunk-size
اندازهٔ تکه برای استفاده در بارگذاری.
هنگام بارگذاری فایلهای بزرگتر از upload_cutoff یا فایلهایی با اندازهٔ نامشخص (برای نمونه از طریق "rclone rcat" یا بارگذاریشده با "rclone mount" یا google photos یا google docs)، آنها به عنوان بارگذاریهای چندبخشی (multipart) با استفاده از این اندازهٔ تکه بارگذاری خواهند شد.
توجه داشته باشید که به ازای هر انتقال، به تعداد "--drime-upload-concurrency" تکه با این اندازه در حافظه بافر میشود.
اگر فایلهای حجیم را روی پیوندهای پرسرعت انتقال میدهید و حافظهٔ کافی در اختیار دارید، افزایش این مقدار سرعت انتقال را افزایش خواهد داد.
هنگام بارگذاری یک فایل بزرگ با اندازهٔ مشخص، Rclone به طور خودکار اندازهٔ تکه را افزایش میدهد تا تعداد تکهها زیر محدودیت 10,000 تکه باقی بماند.
فایلهای با اندازهٔ نامشخص با مقدار chunk_size پیکربندیشده بارگذاری میشوند. از آنجا که اندازهٔ پیشفرض هر تکه 5 MiB است و حداکثر میتواند 10,000 تکه وجود داشته باشد، این بدان معناست که به طور پیشفرض حداکثر اندازهٔ فایلی که میتوانید به صورت جریانی (stream) بارگذاری کنید 48 GiB است. اگر میخواهید فایلهای بزرگتری را به صورت جریانی بارگذاری کنید، باید chunk_size را افزایش دهید.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_DRIME_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 5Mi
--drime-upload-concurrency
میزان همزمانی برای بارگذاریها و رونوشتهای چندبخشی (multipart).
این مقدار، تعداد تکههایی از یک فایل است که به طور همزمان برای بارگذاریها و رونوشتهای چندبخشی آپلود میشوند.
اگر تعداد کمی فایل حجیم را روی پیوندهای پرسرعت بارگذاری میکنید و این بارگذاریها به طور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار ممکن است به بالا بردن سرعت انتقالها کمک کند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_DRIME_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 4
--drime-encoding
کدگذاری مورد استفاده برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری در بررسی کلی (https://rclone.org/overview/#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_DRIME_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot.SS --drime-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_DRIME_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها
سرویس Drime تنها از نامهای فایل با حداکثر طول ۲۵۵ بایت پشتیبانی میکند، که در آن نامهای فایل با کدگذاری UTF8 کدگذاری شدهاند.
Dropbox
مسیرها به صورت remote:path مشخص میشوند.
مسیرهای Dropbox میتوانند به هر عمق دلخواهی باشند، مانند remote:directory/subdirectory.
پیکربندی
راهاندازی اولیه Dropbox شامل دریافت یک توکن از Dropbox است که باید آن را در مرورگر خود انجام دهید. دستور rclone config شما را در این فرآیند راهنمایی میکند.
در اینجا نمونهای از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این کار شما را در یک فرآیند راهاندازی تعاملی راهنمایی میکند:
-
n) New remote d) Delete remote q) Quit config e/n/d/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Dropbox \ "dropbox" [snip] Storage> dropbox Dropbox App Key - leave blank normally. app_key> Dropbox App Secret - leave blank normally. app_secret> Remote config Please visit: https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX Configuration complete. Options: - type: dropbox - app_key: - app_secret: - token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای نحوه راهاندازی روی دستگاهی که مرورگر وب متصل به اینترنت در دسترس ندارد، به مستندات راهاندازی ریموت (https://rclone.org/remote_setup) مراجعه کنید.
توجه داشته باشید که rclone یک وبسرور را بر روی دستگاه محلی شما اجرا میکند تا توکن بازگردانده شده از Dropbox را دریافت کند. این وبسرور تنها از لحظه باز کردن مرورگر تا زمان دریافت کد تأیید اجرا میشود. این سرور روی http://127.0.0.1:53682 اجرا میشود و اگر فایروال میزبان را فعال کردهاید، ممکن است لازم باشد آن را موقتاً رفع مسدودی کنید، یا از حالت دستی (manual) استفاده نمایید.
سپس میتوانید به این شکل از آن استفاده کنید:
فهرست کردن دایرکتوریها در سطح بالای Dropbox شما:
-
rclone lsd remote:
فهرست کردن تمام فایلها در Dropbox شما:
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در Dropbox:
-
rclone copy /home/source remote:backup
برنامهٔ Rclone از Dropbox for business و پوشههای تیمی (Team Folders) پشتیبانی میکند.
هنگام استفاده از Dropbox for business، عبارتهای remote: و remote:path/to/file به پوشهٔ شخصی شما اشاره خواهند داشت.
اگر میخواهید Team Folders را مشاهده کنید، باید یک / در ابتدای مسیر قرار دهید؛ بنابراین rclone lsd remote:/ به ریشه اشاره خواهد کرد و همهٔ پوشههای تیمی و پوشهٔ کاربری شما را نمایش میدهد.
سپس میتوانید از پوشههای تیمی بدین صورت استفاده کنید: remote:/TeamFolder و remote:/TeamFolder/path/to/file.
وجود / ابتدایی برای یک حساب شخصی دراپباکس هیچ اثری نخواهد داشت، اما یک تراکنش HTTP اضافی مصرف میکند و بنابراین باید از آن خودداری کرد.
زمانهای تغییر و هشها (Modification times and hashes)
دراپباکس از زمانهای تغییر فایل پشتیبانی میکند، اما تنها راه تنظیم زمان تغییر، بارگذاری مجدد فایل است.
این بدان معناست که اگر دادههای خود را با نسخهٔ قدیمیتری از rclone بارگذاری کردهاید که از v2 API و زمانهای تغییر پشتیبانی نمیکرد، rclone تصمیم خواهد گرفت تمام دادههای قدیمی شما را برای تصحیح زمانهای تغییر دوباره بارگذاری کند. اگر نمیخواهید این اتفاق بیفتد، از گزینهٔ --size-only یا --checksum برای جلوگیری از آن استفاده کنید.
دراپباکس از نوع هش اختصاصی خود (https://www.dropbox.com/developers/reference/content-hash) پشتیبانی میکند که صحت آن برای همهٔ انتقالها بررسی میشود.
نویسههای غیرمجاز نام فایل (Restricted filename characters)
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| / | 0x2F | / |
| DEL | 0x7F | ␡ |
| \ | 0x5C | \ |
نام فایلها همچنین نمیتواند با نویسههای زیر خاتمه یابد. این موارد تنها در صورتی جایگزین میشوند که آخرین نویسه در نام باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد..SS "بارگذاریها در حالت دستهای (Batch mode uploads)"
استفاده از بارگذاری در حالت دستهای (batch mode) هنگام استفاده از API دراپباکس (Dropbox) برای کارایی بسیار حائز اهمیت است. برای اطلاعات بیشتر راهنمای کارایی Dropbox را ببینید (https://developers.dropbox.com/dbx-performance-guide).
۳ حالت وجود دارد که rclone میتواند برای بارگذاریها از آنها استفاده کند.
--dropbox-batch-mode off
در این حالت rclone از دستهبندی بارگذاریها استفاده نخواهد کرد. این حالت قبل از نگارش v1.55 برنامه rclone پیشفرض بود. این حالت این عیب را دارد که احتمال مواجهه با خطاهای too_many_requests مشابه این بسیار بالاست:
-
NOTICE: too_many_requests/.: Too many requests or write operations. Trying again in 15 seconds.
هنگامی که rclone این خطاها را دریافت میکند، باید قبل از ادامه دادن ۱۵ ثانیه یا گاهی اوقات ۳۰۰ ثانیه منتظر بماند که این امر سرعت انتقالها را بسیار کاهش میدهد.
این اتفاق بهویژه زمانی رخ میدهد که مقدار --transfers بزرگ باشد، بنابراین استفاده از این حالت به جز برای سازگاری یا بررسی مشکلات توصیه نمیشود.
--dropbox-batch-mode sync
در این حالت rclone بارگذاریها را تا اندازهای که توسط --dropbox-batch-size مشخص شده دستهبندی کرده و همه را با هم ثبت (commit) میکند.
استفاده از این حالت بدین معناست که میتوانید از پارامتر --transfers با مقادیر بسیار بالاتری (۳۲ یا ۶۴ به خوبی کار میکند) بدون دریافت خطاهای too_many_requests استفاده کنید.
این حالت یکپارچگی کامل دادهها را تضمین میکند.
توجه داشته باشید که ممکن است هنگام خروج از rclone، تا زمانی که در این حالت آخرین دسته را به پایان برساند، وقفهای ایجاد شود.
--dropbox-batch-mode async
در این حالت rclone بارگذاریها را تا اندازهای که توسط --dropbox-batch-size مشخص شده دستهبندی کرده و همه را با هم ثبت (commit) میکند.
با این حال، منتظر بازگردانده شدن وضعیت دسته به فراخواننده نمیماند. این به این معناست که rclone میتواند از اندازه دسته بسیار بزرگتری (بسیار بزرگتر از --transfers) استفاده کند، به قیمت عدم امکان بررسی وضعیت بارگذاری.
این حالت حداکثر سرعت بارگذاری ممکن را، بهویژه برای تعداد زیادی فایل کوچک، فراهم میکند؛ هرچند در این حالت rclone نمیتواند بررسی کند که فایل به درستی بارگذاری شده است یا خیر.
اگر از این حالت استفاده میکنید، اجرای "rclone check" پس از تکمیل انتقال توصیه میشود. یا میتوانید یک انتقال اولیه را با --dropbox-batch-mode async انجام دهید و سپس یک انتقال نهایی با --dropbox-batch-mode sync (پیشفرض) انجام دهید.
توجه داشته باشید که ممکن است هنگام خروج از rclone، تا زمانی که در این حالت آخرین دسته را به پایان برساند، وقفهای ایجاد شود.
برونبری فایلها (Exporting files)
برخی فایلها در Dropbox «قابل برونبری» ("exportable") هستند، مانند اسناد Dropbox Paper. این فایلها برای دانلود شدن باید به قالب دیگری تبدیل شوند. اغلب چندین قالب برای تبدیل در دسترس است.
هنگامی که rclone یک فایل قابل برونبری را دانلود میکند، قالب دانلود را بر اساس تنظیم --dropbox-export-formats انتخاب میکند. بهطور پیشفرض، قالبهای برونبری html,md هستند که مقادیر پیشفرض معقولی برای Dropbox Paper به شمار میروند.
برنامه rclone نخستین شناسه قالب موجود در فهرست قالبهای برونبری را که Dropbox برای فایل مربوطه پشتیبانی میکند، انتخاب میکند. اگر هیچ قالبی در این فهرست قابل استفاده نباشد، rclone قالب پیشفرضی را که Dropbox پیشنهاد میدهد انتخاب خواهد کرد.
برنامه rclone پسوند فایل را متناسب با قالب برونبری تغییر خواهد داد. در اینجا چند مثال از نحوه نگاشت پسوندها آورده شده است:
| نوع فایل | نام فایل در Dropbox | نام فایل در rclone |
| Paper | mydoc.paper | mydoc.html |
| الگوی Paper | mydoc.papert | mydoc.papert.html |
| سایر | mydoc | mydoc.html |
درونریزی فایلهای قابل برونبری هنوز توسط rclone پشتیبانی نمیشود.
در ادامه پسوندهای برونبری پشتیبانیشده و شناختهشده توسط rclone آمده است. توجه داشته باشید که rclone در حال حاضر از سایر قالبهایی که در این فهرست نیستند، حتی در صورتی که Dropbox از آنها پشتیبانی کند، پشتیبانی نمیکند. همچنین، Dropbox میتواند فهرست قالبهای پشتیبانیشده را در هر زمانی تغییر دهد.
| شناسه قالب | نام | توضیحات |
| html | HTML | سند HTML |
| md | Markdown | قالب متنی Markdown |
| در اینجا گزینههای استاندارد ویژهٔ dropbox (Dropbox) آورده شده است. | ||
| --dropbox-client-id | ||
| شناسه کلاینت OAuth (OAuth Client Id). | ||
| در حالت عادی خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: client_id | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_CLIENT_ID | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-client-secret | ||
| کلید مخفی کلاینت OAuth (OAuth Client Secret). | ||
| در حالت عادی خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: client_secret | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_CLIENT_SECRET | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| گزینههای پیشرفته (Advanced options) | ||
| در اینجا گزینههای پیشرفتهٔ ویژهٔ dropbox (Dropbox) آورده شده است. | ||
| --dropbox-token | ||
| توکن دسترسی OAuth بهصورت یک حباب JSON (JSON blob). | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: token | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_TOKEN | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-auth-url | ||
| نشانی URL سرور احراز هویت (Auth server). | ||
| برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: auth_url | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_AUTH_URL | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-token-url | ||
| نشانی URL سرور توکن (Token server). | ||
| برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: token_url | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_TOKEN_URL | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-client-credentials | ||
| استفاده از جریان اطلاعات کاربری کلاینت (Client Credentials Flow) در OAuth. | ||
| این گزینه از جریان OAUTH2 Client Credentials Flow همانطور که در RFC | ||
| 6749 توصیف شده است استفاده میکند. | ||
| توجه داشته باشید که این گزینه توسط همهٔ بکاندها پشتیبانی نمیشود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: client_credentials | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_CLIENT_CREDENTIALS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false.SS --dropbox-chunk-size | ||
| اندازه تکههای بارگذاری (< 150Mi). | ||
| هر فایلی بزرگتر از این مقدار، در تکههایی با این اندازه بارگذاری خواهد شد. | ||
| توجه داشته باشید که تکهها در حافظه بافر میشوند (هر بار یک تکه) تا rclone بتواند تلاشهای مجدد را مدیریت کند. | ||
| تنظیم این مقدار روی عددی بزرگتر، سرعت را اندکی افزایش میدهد (در آزمایشها حداکثر ۱۰٪ برای 128 MiB) که به بهای مصرف حافظهٔ بیشتر تمام میشود. | ||
| اگر با کمبود حافظه مواجه هستید، میتوان آن را روی مقدار کمتری تنظیم کرد. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: chunk_size | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_CHUNK_SIZE | ||
| • 2 | ||
| نوع: SizeSuffix | ||
| • 2 | ||
| پیشفرض: 48Mi | ||
| --dropbox-impersonate | ||
| جعل هویت این کاربر هنگام استفاده از یک حساب تجاری. | ||
| توجه داشته باشید که اگر میخواهید از impersonate استفاده کنید، باید مطمئن شوید که این پرچم هنگام اجرای "rclone config" تنظیم شده است، زیرا این امر باعث میشود rclone دامنهٔ مجوز "members.read" را درخواست کند که در حالت عادی انجام نمیدهد. | ||
| این مورد برای جستجوی آدرس ایمیل اعضا و تبدیل آن به شناسهٔ داخلی که Dropbox در API استفاده میکند، ضروری است. | ||
| استفاده از دامنهٔ "members.read" نیازمند تأیید یک مدیر تیم Dropbox در طول فرایند OAuth است. | ||
| برای استفاده از این گزینه باید از برنامهٔ اختصاصی خود استفاده کنید (با تنظیم client_id و client_secret خود)، زیرا در حال حاضر مجموعه دسترسیهای پیشفرض rclone شامل "members.read" نمیشود. | ||
| این مورد پس از اینکه نسخهٔ v1.55 یا جدیدتر در همهجا مورد استفاده قرار گیرد، میتواند افزوده شود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: impersonate | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_IMPERSONATE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-impersonate-admin | ||
| شناسهٔ مدیر تیم برای استفاده هنگام انجام اقدامات به عنوان مدیر تیم. | ||
| این گزینه هدر Dropbox-API-Select-Admin را با شناسهٔ عضو تیم ارائهشده (برای مثال "dbmid:...") تنظیم میکند. | ||
| این گزینه شناسهٔ عضو تیم را مستقیماً دریافت میکند، نه یک آدرس ایمیل را. | ||
| توجه داشته باشید که اگر میخواهید از impersonate_admin استفاده کنید، باید مطمئن شوید این پرچم هنگام اجرای "rclone config" تنظیم شده باشد؛ زیرا این کار باعث میشود rclone دامنهٔ مجوز "team_data.member" را درخواست کند که در حالت عادی درخواست نمیکند. | ||
| استفاده از دامنهٔ "team_data.member" نیازمند تأیید یک مدیر تیم Dropbox در طول فرایند OAuth خواهد بود. | ||
| برای استفاده از این گزینه باید از برنامهٔ اختصاصی خود استفاده کنید (با تنظیم client_id و client_secret خود)، زیرا در حال حاضر مجموعه دسترسیهای پیشفرض rclone شامل "team_data.member" نمیشود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: impersonate_admin | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_IMPERSONATE_ADMIN | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-shared-files | ||
| به rclone دستور میدهد که روی تکتک فایلهای همرسانیشده کار کند. | ||
| در این حالت، قابلیتهای rclone بهشدت محدود است - تنها عملیات فهرستگیری | ||
| (ls، lsl و غیره) | ||
| و عملیات خواندن (مانند بارگیری) در این حالت پشتیبانی میشوند. | ||
| تمام عملیات دیگر غیرفعال خواهند شد. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: shared_files | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_SHARED_FILES | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false.SS --dropbox-shared-folders | ||
| به rclone دستور میدهد تا روی پوشههای اشتراکگذاریشده کار کند. | ||
| هنگامی که این پرچم بدون مسیر مشخصی استفاده شود، تنها عملیات فهرستگیری (List) پشتیبانی میشود | ||
| و تمام پوشههای اشتراکگذاریشدهی در دسترس فهرست خواهند شد. | ||
| اگر مسیری را مشخص کنید، بخش اول مسیر به عنوان نام پوشه اشتراکگذاریشده | ||
| تفسیر میشود. | ||
| سپس rclone تلاش میکند تا این پوشه اشتراکی را به فضای نام ریشه (root namespace) متصل (mount) کند. | ||
| در صورت موفقیت، rclone به طور عادی روی پوشه اشتراکگذاریشده پیش میرود. | ||
| اکنون این پوشه اشتراکی تا حد زیادی شبیه به یک پوشه معمولی عمل کرده و تمام | ||
| عملیات استاندارد پشتیبانی میشوند. | ||
| توجه داشته باشید که پوشه اشتراکگذاریشده پس از آن از حالت اتصال خارج (unmount) نمیشود، | ||
| بنابراین پس از اولین استفاده از یک پوشه اشتراکی مشخص، میتوان گزینه | ||
| --dropbox-shared-folders را نادیده گرفت. | ||
| همچنین برای روشی جایگزین جهت کار با پوشههای اشتراکی، گزینه --dropbox-root-namespace را ببینید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: shared_folders | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_SHARED_FOLDERS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false | ||
| --dropbox-skip-shared-folders | ||
| به rclone دستور میدهد از تمام پوشههای اشتراکگذاریشده صرفنظر کند. | ||
| در صورت تنظیم، هر پوشهای که یک نقطه اتصال پوشه اشتراکی باشد، صرفنظر از مالکیت آن، | ||
| از فهرست پوشهها حذف خواهد شد. | ||
| این قابلیت زمانی مفید است که بخواهید از پوشههای اشتراکی به طور جداگانه و با استفاده از | ||
| یک ریموت مجزا که با فضای نام پوشه اشتراکی پیکربندی شده است، پشتیبان بگیرید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: skip_shared_folders | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_SKIP_SHARED_FOLDERS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false | ||
| --dropbox-skip-unowned-folders | ||
| به rclone دستور میدهد پوشههای اشتراکگذاریشدهای را که متعلق به کاربر فعلی نیستند نادیده بگیرد. | ||
| در صورت تنظیم، هر پوشهای که یک نقطه اتصال پوشه اشتراکی بوده و متعلق به کاربر فعلی نباشد، | ||
| از فهرست دایرکتوریها حذف خواهد شد. | ||
| این قابلیت هنگام پشتیبانگیری از چندین حساب کاربری Dropbox که پوشههای اشتراکی مشترکی دارند، | ||
| جهت جلوگیری از تکثیر دادههای تکراری میان حسابها بسیار مفید است. | ||
| نکته: در Dropbox Business، مالکیت «Team Folders» در اختیار تیم است. | ||
| برای اعضای معمولی تیم، این پوشهها به عنوان «بدون مالک» ('unowned') (دسترسی ویرایشگر/بیننده) | ||
| ارزیابی میشوند و با این پرچم حذف خواهند شد. | ||
| برای پشتیبانگیری از پوشههای Team Folders، از این پرچم استفاده نکنید یا عملیات پشتیبانگیری را با | ||
| یک حساب مدیر تیم (Team Admin) انجام دهید. | ||
| اگر گزینه --dropbox-skip-shared-folders نیز فعال باشد، این پرچم بیاثر خواهد بود. | ||
| این گزینه به ازای هر نقطه اتصال پوشه اشتراکی، یک فراخوانی API اضافی ایجاد میکند. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: skip_unowned_folders | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_SKIP_UNOWNED_FOLDERS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false | ||
| --dropbox-pacer-min-sleep | ||
| حداقل زمان انتظار (sleep) بین فراخوانیهای API. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: pacer_min_sleep | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_PACER_MIN_SLEEP | ||
| • 2 | ||
| نوع: Duration | ||
| • 2 | ||
| پیشفرض: 10ms.SS --dropbox-encoding | ||
| کدگذاری برای backend. | ||
| برای اطلاعات بیشتر، بخش encoding را در | ||
| نمای کلی (https://rclone.org/overview/#encoding) ببینید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: encoding | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_ENCODING | ||
| • 2 | ||
| نوع: Encoding | ||
| • 2 | ||
| پیشفرض: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot | ||
| --dropbox-root-namespace | ||
| مشخص کردن یک شناسه فضاینام (namespace ID) متفاوت Dropbox برای استفاده بهعنوان ریشه تمام | ||
| مسیرها. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: root_namespace | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_ROOT_NAMESPACE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --dropbox-export-formats | ||
| فهرست جداشده با کاما از قالبهای ترجیحی برای برونبری فایلها | ||
| دسترسی به برخی فایلهای خاص Dropbox تنها با برونبری آنها به قالبی دیگر | ||
| امکانپذیر است. | ||
| این موارد شامل اسناد Dropbox Paper میشوند. | ||
| برای هر یک از این فایلها، rclone نخستین قالب این فهرست را | ||
| که از نظر Dropbox معتبر باشد انتخاب خواهد کرد. | ||
| اگر هیچکدام معتبر نباشد، قالب پیشفرض Dropbox را انتخاب خواهد کرد. | ||
| قالبهای شناختهشده عبارتاند از: "html"، "md" (markdown) | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: export_formats | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_EXPORT_FORMATS | ||
| • 2 | ||
| نوع: CommaSepList | ||
| • 2 | ||
| پیشفرض: html,md | ||
| --dropbox-skip-exports | ||
| نادیده گرفتن فایلهای قابل برونبری در تمام فهرستها. | ||
| در صورت مشخص شدن، فایلهای قابل برونبری عملاً برای rclone نامرئی میشوند. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: skip_exports | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_SKIP_EXPORTS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false | ||
| --dropbox-show-all-exports | ||
| نمایش تمام فایلهای قابل برونبری در فهرستها. | ||
| افزودن این پرچم امکان کپی سمت سرور را برای تمام فایلهای قابل برونبری | ||
| فراهم میکند. | ||
| توجه داشته باشید که rclone در این حالت پسوندی به نام فایلهای قابل برونبری | ||
| اضافه نمیکند. | ||
| هنگام تلاش برای دانلود فایلهای قابل برونبری از این پرچم استفاده نکنید | ||
| - rclone در دانلود آنها ناموفق خواهد بود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: show_all_exports | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_SHOW_ALL_EXPORTS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false.SS --dropbox-batch-mode | ||
| دستهبندی بارگذاری فایل: sync|async|off. | ||
| این گزینه حالت دستهبندی (batch mode) مورد استفاده توسط rclone را تعیین میکند. | ||
| برای اطلاعات کامل، مستندات اصلی را ببینید: (https://rclone.org/dropbox/#batch-mode) | ||
| این گزینه ۳ مقدار ممکن دارد: | ||
| • 2 | ||
| off - بدون دستهبندی | ||
| • 2 | ||
| sync - بارگذاری دستهای و بررسی تکمیل فرآیند (پیشفرض) | ||
| • 2 | ||
| async - بارگذاری دستهای و عدم بررسی تکمیل فرآیند | ||
| برنامه rclone هنگام خروج، هرگونه دستهٔ باقیمانده را میبندد که ممکن است باعث ایجاد تاخیر در خروج شود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: batch_mode | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_BATCH_MODE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| پیشفرض: "sync" | ||
| --dropbox-batch-size | ||
| حداکثر تعداد فایلها در یک دستهٔ بارگذاری. | ||
| این گزینه اندازهٔ دسته فایلها را برای بارگذاری تعیین میکند. | ||
| این مقدار باید کمتر از ۱۰۰۰ باشد. | ||
| بهطور پیشفرض این مقدار 0 است، به این معنی که rclone اندازهٔ دسته را بسته به تنظیمات batch_mode محاسبه خواهد کرد. | ||
| • 2 | ||
| batch_mode: async - مقدار پیشفرض batch_size برابر 100 است | ||
| • 2 | ||
| batch_mode: sync - مقدار پیشفرض batch_size برابر با مقدار --transfers است | ||
| • 2 | ||
| batch_mode: off - استفاده نمیشود | ||
| برنامه rclone هنگام خروج، هرگونه دستهٔ باقیمانده را میبندد که ممکن است موجب تاخیر در هنگام خروج شود. | ||
| تنظیم این مقدار در صورتی که تعداد زیادی فایل کوچک را بارگذاری میکنید ایدهٔ بسیار خوبی است، زیرا سرعت کار را تا حد زیادی افزایش میدهد. | ||
| میتوانید برای به حداکثر رساندن توان عملیاتی از --transfers 32 استفاده کنید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: batch_size | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_BATCH_SIZE | ||
| • 2 | ||
| نوع: int | ||
| • 2 | ||
| پیشفرض: 0 | ||
| --dropbox-batch-timeout | ||
| حداکثر زمان مجاز برای بیکار ماندن یک دستهٔ بارگذاری پیش از شروع ارسال. | ||
| اگر یک دستهٔ بارگذاری بیش از این مدت بیکار بماند، بارگذاری خواهد شد. | ||
| مقدار پیشفرض این گزینه 0 است، بدین معنی که rclone بر اساس batch_mode مورد استفاده، یک مقدار پیشفرض معقول را انتخاب خواهد کرد. | ||
| • 2 | ||
| batch_mode: async - مقدار پیشفرض batch_timeout برابر 10s است | ||
| • 2 | ||
| batch_mode: sync - مقدار پیشفرض batch_timeout برابر 500ms است | ||
| • 2 | ||
| batch_mode: off - استفاده نمیشود | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: batch_timeout | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_BATCH_TIMEOUT | ||
| • 2 | ||
| نوع: Duration | ||
| • 2 | ||
| پیشفرض: 0s.SS --dropbox-description | ||
| توضیحات ریموت. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: description | ||
| • 2 | ||
| متغیر محیطی: RCLONE_DROPBOX_DESCRIPTION | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| محدودیتها (Limitations) | ||
| توجه داشته باشید که Dropbox به حروف کوچک و بزرگ حساس نیست (case-insensitive)، بنابراین نمیتوانید همزمان فایلی به نام "Hello.doc" و فایلی به نام "hello.doc" داشته باشید. | ||
| برخی نامهای فایل مانند thumbs.db وجود دارند که Dropbox قادر به ذخیره آنها نیست. | ||
| فهرست کاملی از آنها در بخش "Ignored Files" این سند (https://www.dropbox.com/en/help/145) آمده است. | ||
| در صورتی که rclone برای بارگذاری فایلی با یکی از این نامها تلاش کند، پیام خطای | ||
| File name disallowed - not uploading را صادر میکند، اما همگامسازی با شکست مواجه نخواهد شد. | ||
| اگر برای همگامسازی فایلهای دارای کپیرایت تلاش کنید، ممکن است خطاهایی رخ دهد؛ زیرا Dropbox سامانه تشخیص کپیرایت اختصاصی خود را دارد (https://techcrunch.com/2014/03/30/how-dropbox-knows-when-youre-sharing-copyrighted-stuff-without-actually-looking-at-your-stuff) که از دانلود اینگونه فایلها جلوگیری میکند. | ||
| این امر موجب بازگرداندن خطای | ||
| ERROR : /path/to/your/file: Failed to copy: failed to open source object: path/restricted_content/. | ||
| میشود. | ||
| اگر بیش از ۱۰٬۰۰۰ فایل در یک دایرکتوری داشته باشید، دستور | ||
| rclone purge dropbox:dir خطای | ||
| Failed to purge: There are too many files involved in this operation را برمیگرداند. | ||
| بهعنوان راهحل، ابتدا یک rclone delete dropbox:dir و در ادامه | ||
| یک rclone rmdir dropbox:dir اجرا کنید. | ||
| هنگام استفاده از rclone link، اگر از یک حساب غیرشخصی استفاده میکنید باید | ||
| --expire را تنظیم کنید، در غیر این صورت ممکن است وضعیت قابلیت مشاهده (visibility) درست نباشد. | ||
| (توجه داشته باشید که --expire در حسابهای شخصی پشتیبانی نمیشود). | ||
| گفتوگوی انجمن (https://forum.rclone.org/t/rclone-link-dropbox-permissions/23211) | ||
| و گزارش مشکل SDK در Dropbox | ||
| (https://github.com/dropbox/dropbox-sdk-go-unofficial/issues/75) را ببینید. | ||
| زمانهای تغییر برای اسناد Dropbox Paper دقیق نیستند و ممکن است تا مدتی پس از ویرایش سند تغییر نکنند. | ||
| برای اطمینان از دریافت تغییرات اخیر در همگامسازی، یا در حدود یک ساعت صبر کنید یا از --ignore-times برای تحمیل یک همگامسازی کامل استفاده نمایید. | ||
| دریافت App ID اختصاصی Dropbox (Get your own Dropbox App ID) | ||
| هنگامی که از rclone با Dropbox در پیکربندی پیشفرض استفاده میکنید، از App ID متعلق به rclone استفاده میکنید. | ||
| این شناسه بین تمام کاربران rclone به اشتراک گذاشته شده است. | ||
| روش ایجاد App ID اختصاصی Dropbox برای rclone به شرح زیر است: | ||
| "1." 3 | ||
| با حساب کاربری Dropbox خود وارد کنسول برنامه Dropbox شوید | ||
| (https://www.dropbox.com/developers/apps/create) (نیازی نیست همان حسابی باشد که میخواهید به آن دسترسی داشته باشید) | ||
| "2." 3 | ||
| یک API انتخاب کنید => این گزینه معمولاً باید Dropbox API باشد | ||
| "3." 3 | ||
| نوع دسترسی مورد نظر خود را انتخاب کنید => Full Dropbox یا | ||
| App Folder. | ||
| اگر میخواهید از Team Folders استفاده کنید، گزینه Full Dropbox الزامی است (اینجا را ببینید: | ||
| (https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/How-to-create-team-folder-inside-my-app-s-folder/m-p/601005/highlight/true#M27911)). | ||
| "4." 3 | ||
| برای برنامه خود نامی تعیین کنید. | ||
| نام برنامه در سطح سراسری (global) یکتا است، بنابراین برای مثال نمیتوانید از | ||
| rclone استفاده کنید | ||
| "5." 3 | ||
| روی دکمه Create App کلیک کنید | ||
| "6." 3 | ||
| به برگه Permissions بروید. | ||
| حداقل این مجوزها را فعال کنید: account_info.read، | ||
| files.metadata.write، files.content.write، | ||
| files.content.read، sharing.write. | ||
| کادرهای انتخاب files.metadata.read و sharing.read نیز | ||
| علامت خواهند خورد. | ||
| روی Submit کلیک کنید | ||
| "7." 3 | ||
| به برگه Settings بروید. | ||
| بخش OAuth2 - Redirect URIs را با | ||
| http://localhost:53682 پر کرده و روی Add کلیک کنید | ||
| "8." 3 | ||
| مقادیر App key و App secret را در برگه | ||
| Settings پیدا کنید. | ||
| از این مقادیر در rclone config برای افزودن یک ریموت جدید یا ویرایش یک | ||
| ریموت موجود استفاده کنید. | ||
| تنظیم App key متناظر با client_id در rclone config | ||
| است و App secret متناظر با client_secret میباشد.SH Enterprise File Fabric | ||
| این backend از Enterprise File Fabric™ متعلق به Storage Made Easy (https://storagemadeeasy.com/about) پشتیبانی میکند که یک راهکار نرمافزاری برای ادغام و یکپارچهسازی ذخیرهسازی فایل و شیء (File and Object Storage) فراهم کرده و از طریق یک فایلسیستم سراسری در دسترس است. | ||
| "پیکربندی (Configuration)" | ||
| راهاندازی اولیه برای backend مربوط به Enterprise File Fabric شامل دریافت یک توکن (token) از Enterprise File Fabric است که باید آن را از طریق مرورگر خود انجام دهید. | ||
| rclone config شما را در طول این مراحل هدایت میکند. | ||
| در اینجا نمونهای از نحوهٔ ایجاد یک ریموت به نام remote آورده شده است. | ||
| ابتدا اجرا کنید: | ||
| rclone config |
| این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> remote |
| Type of storage to configure. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Enterprise File Fabric |
| \ "filefabric" |
| [snip] |
| Storage> filefabric |
| ** See help for filefabric backend at: https://rclone.org/filefabric ** |
| URL of the Enterprise File Fabric to connect to |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Storage Made Easy US |
| \ "https://storagemadeeasy.com" |
| 2 / Storage Made Easy EU |
| \ "https://eu.storagemadeeasy.com" |
| 3 / Connect to your Enterprise File Fabric |
| \ "https://yourfabric.smestorage.com" |
| url> https://yourfabric.smestorage.com |
| ID of the root folder |
| Leave blank normally. |
| Fill in to make rclone start with directory of a given ID. |
| Enter a string value. Press Enter for the default (""). |
| root_folder_id> |
| Permanent Authentication Token |
| A Permanent Authentication Token can be created in the Enterprise File |
| Fabric, on the users Dashboard under Security, there is an entry |
| you'll see called "My Authentication Tokens". Click the Manage button |
| to create one. |
| These tokens are normally valid for several years. |
| For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens |
| Enter a string value. Press Enter for the default (""). |
| permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No (default) |
| y/n> n |
| Remote config |
| Configuration complete. |
| Options: |
| - type: filefabric |
| - url: https://yourfabric.smestorage.com |
| - permanent_token: xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx |
| Keep this "remote" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (نام ریموت خود را جایگزین remote کنید): |
| فهرست کردن دایرکتوریها در بالاترین سطح (top level) از Enterprise File Fabric شما |
| rclone lsd remote: |
| فهرست کردن تمام فایلها در Enterprise File Fabric شما |
| rclone ls remote: |
| برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در Enterprise File Fabric |
| rclone copy /home/source remote:backup |
| سرویس Enterprise File Fabric امکان تنظیم زمانهای تغییر فایلها را با دقت ۱ ثانیه |
| فراهم میکند. |
| از این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر استفاده خواهد شد. |
| در حال حاضر Enterprise File Fabric از هیچگونه هش دادهای پشتیبانی |
| نمیکند. |
| نویسههای محدودشده در نام فایل |
| مجموعه پیشفرض نویسههای محدودشده |
| (https://rclone.org/overview/#restricted-characters) جایگزین خواهد |
| شد. |
| بایتهای نامعتبر UTF-8 نیز جایگزین |
| خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان استفاده |
| از آنها در رشتههای JSON وجود ندارد. |
| فایلهای خالی |
| فایلهای خالی توسط Enterprise File Fabric پشتیبانی نمیشوند. |
| بنابراین rclone یک فایل خالی را به صورت یک نویسه فاصله منفرد با نوع mime |
| معادل application/vnd.rclone.empty.file بارگذاری میکند و با فایلهای دارای آن |
| نوع mime به عنوان فایل خالی رفتار میشود. |
| شناسه پوشه ریشه (Root folder ID) |
| شما میتوانید root_folder_id را برای rclone تنظیم کنید. |
| این همان دایرکتوری است (که با Folder ID خود مشخص میشود) که |
| rclone آن را به عنوان ریشه Enterprise File Fabric شما در نظر میگیرد. |
| در حالت عادی این مقدار را خالی میگذارید و خود rclone ریشه مناسب |
| را برای استفاده تعیین خواهد کرد. |
| با این حال میتوانید این مقدار را تنظیم کنید تا rclone به سلسلهمراتب پوشه |
| خاصی محدود شود. |
| برای انجام این کار باید Folder ID دایرکتوریای را که میخواهید |
| rclone نمایش دهد، پیدا کنید. |
| این شناسهها در رابط وب نمایش داده نمیشوند، اما میتوانید از |
| rclone lsf برای یافتن آنها استفاده کنید، برای مثال: |
| $ rclone lsf --dirs-only -Fip --csv filefabric: |
| 120673758,Burnt PDFs/ |
| 120673759,My Quick Uploads/ |
| 120673755,My Syncs/ |
| 120673756,My backups/ |
| 120673757,My contacts/ |
| 120673761,S3 Storage/ |
| شناسه مربوط به "S3 Storage" برابر با 120673761 خواهد بود. |
| گزینههای استاندارد |
| در ادامه گزینههای استاندارد مختص به filefabric (Enterprise File |
| Fabric) آمده است. |
| --filefabric-url |
| آدرس اینترنتی (URL) مربوط به Enterprise File Fabric برای اتصال به آن. |
| ویژگیها: |
| • 2 |
| پیکربندی: url |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_URL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "https://storagemadeeasy.com" |
| 2 |
| • 2 |
| Storage Made Easy ایالات متحده |
| • 2 |
| "https://eu.storagemadeeasy.com" |
| 2 |
| • 2 |
| Storage Made Easy اروپا |
| • 2 |
| "https://yourfabric.smestorage.com" |
| 2 |
| • 2 |
| اتصال به Enterprise File Fabric شما |
| شناسه پوشه ریشه. |
| در حالت عادی خالی بگذارید. |
| برای اینکه rclone با دایرکتوری با یک شناسه معین شروع به کار کند، این مقدار را پر کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: root_folder_id |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_ROOT_FOLDER_ID |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filefabric-permanent-token |
| توکن احراز هویت دائمی. |
| یک توکن احراز هویت دائمی را میتوان در Enterprise File Fabric ایجاد کرد؛ در پیشخوان کاربر (Dashboard) در بخش Security، مدخلی به نام "My Authentication Tokens" مشاهده خواهید کرد. |
| برای ساخت یکی روی دکمه Manage کلیک کنید. |
| این توکنها معمولاً برای چندین سال معتبر هستند. |
| برای اطلاعات بیشتر ببینید: |
| https://docs.storagemadeeasy.com/organisationcloud/api-tokens |
| ویژگیها: |
| • 2 |
| پیکربندی: permanent_token |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_PERMANENT_TOKEN |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| گزینههای پیشرفته (Advanced options) |
| در اینجا گزینههای پیشرفته مربوط به filefabric (Enterprise File Fabric) آورده شده است. |
| --filefabric-token |
| توکن نشست (Session Token). |
| این یک توکن نشست است که rclone آن را در فایل پیکربندی کش میکند. |
| این توکن معمولاً به مدت ۱ ساعت معتبر است. |
| این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد. |
| ویژگیها: |
| • 2 |
| پیکربندی: token |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_TOKEN |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filefabric-token-expiry |
| زمان انقضای توکن. |
| این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد. |
| ویژگیها: |
| • 2 |
| پیکربندی: token_expiry |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_TOKEN_EXPIRY |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filefabric-version |
| نسخه خواندهشده از file fabric. |
| این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد. |
| ویژگیها: |
| • 2 |
| پیکربندی: version |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_VERSION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --filefabric-encoding |
| کدگذاری برای backend. |
| برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: Slash,Del,Ctl,InvalidUtf8,Dot |
| --filefabric-description |
| توضیحات ریموت. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_FILEFABRIC_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| FileLu |
| سرویس FileLu (https://filelu.com) یک ارائهدهنده فضای ذخیرهسازی ابری قابل اعتماد است که امکاناتی مانند بارگذاری امن فایل، دانلود، گزینههای ذخیرهسازی منعطف و قابلیتهای اشتراکگذاری را ارائه میدهد. |
| با پشتیبانی از ظرفیتهای ذخیرهسازی بالا و یکپارچگی روان با rclone، سرویس FileLu مدیریت فایلها را در فضای ابری آسان میسازد. |
| خدمات پشتیبانگیری فایل چندسکویی آن به شما امکان میدهد از هر دستگاه متصل به اینترنت، فایلها را بارگذاری کرده و نسخه پشتیبان تهیه کنید. |
| نکته اکنون FileLu دارای یک backend کامل S3 به نام FileLu S5 است که یک ذخیرهساز شیء سازگار با استاندارد صنعتی S3 به شمار میرود. |
| پیکربندی (Configuration) |
| در اینجا مثالی از نحوه ایجاد یک ریموت به نام filelu آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> filelu |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| xx / FileLu Cloud Storage |
| \ "filelu" |
| [snip] |
| Storage> filelu |
| Enter your FileLu Rclone Key: |
| key> YOUR_FILELU_RCLONE_KEY RC_xxxxxxxxxxxxxxxxxxxxxxxx |
| Configuration complete. |
| Keep this "filelu" remote? |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| مسیری بدون / آغازین در دایرکتوری Rclone عمل خواهد کرد. |
| مسیری با / آغازین در ریشه عمل میکند؛ جایی که میتوانید دایرکتوری Rclone را مشاهده کنید. |
| $ rclone lsf TestFileLu:/ |
| CCTV/ |
| Camera/ |
| Documents/ |
| Music/ |
| Photos/ |
| Rclone/ |
| Vault/ |
| Videos/ |
| دستورهای نمونه (Example Commands) |
| ایجاد یک پوشهٔ جدید به نام foldername در دایرکتوری Rclone: |
| rclone mkdir filelu:foldername |
| حذف یک پوشه در FileLu: |
| rclone rmdir filelu:/folder/path/ |
| حذف یک فایل در FileLu: |
| rclone delete filelu:/hello.txt |
| فهرست کردن فایلها از حساب کاربری FileLu: |
| rclone ls filelu: |
| فهرست کردن تمام پوشهها: |
| rclone lsd filelu: |
| کپی کردن یک فایل مشخص در ریشهٔ FileLu: |
| rclone copy D:\hello.txt filelu: |
| کپی کردن فایلها از یک دایرکتوری محلی به یک دایرکتوری FileLu: |
| rclone copy D:/local-folder filelu:/remote-folder/path/ |
| بارگیری یک فایل از FileLu در یک دایرکتوری محلی: |
| rclone copy filelu:/file-path/hello.txt D:/local-folder |
| انتقال فایلها از یک دایرکتوری محلی به یک دایرکتوری FileLu: |
| rclone move D:\local-folder filelu:/remote-path/ |
| همگامسازی فایلها از یک دایرکتوری محلی با یک دایرکتوری FileLu: |
| rclone sync --interactive D:/local-folder filelu:/remote-path/ |
| سوار کردن (mount) ریموت بر روی لینوکس محلی: |
| rclone mount filelu: /root/mnt --vfs-cache-mode full |
| سوار کردن (mount) ریموت بر روی ویندوز محلی: |
| rclone mount filelu: D:/local_mnt --vfs-cache-mode full |
| دریافت اطلاعات فضای ذخیرهسازی حساب FileLu: |
| rclone about filelu: |
| تمام دستورهای دیگر rclone توسط این بکاند پشتیبانی میشوند..SS استفاده از FolderID به جای مسیر پوشه |
| ما برای جلوگیری از بروز خطا در مواردی که کاربران نامها یا مسیرهای پوشه یکسان دارند، به جای نام پوشه از FolderID استفاده میکنیم. |
| برای نمونه، اگر کاربری دو یا سه پوشه به نام |
| "test_folders" داشته باشد، سامانه ممکن است دچار سردرگمی شود و نداند |
| کدام پوشه را جابهجا کند. |
| در سامانههای ذخیرهسازی بزرگ که برخی کاربران صدها هزار |
| پوشه و چندین میلیون فایل دارند، نامها یا مسیرهای پوشه تکراری |
| بسیار رایج هستند. |
| زمانهای تغییر و هشها |
| سرویس FileLu هم از زمانهای ویرایش و هم از هشهای MD5 پشتیبانی میکند. |
| سرویس FileLu تنها از نامهای فایل و نامهای پوشه تا حداکثر ۲۵۵ نویسه |
| پشتیبانی میکند، که در آن هر نویسه یک نویسهٔ یونیکد (Unicode) است. |
| فایلهای تکراری |
| هنگام بارگذاری و همگامسازی از طریق Rclone، سرویس FileLu اجازهٔ بارگذاری |
| فایلهای تکراری در یک دایرکتوری یکسان را نمیدهد. |
| با این حال، شما میتوانید فایلهای تکراری را بارگذاری کنید، به شرطی که در دایرکتوریها |
| (پوشهها)ی متفاوتی قرار داشته باشند. |
| عدم موفقیت در ورود / اعتبارنامه یا کلید نامعتبر |
| اطمینان حاصل کنید که کلید Rclone صحیح را در اختیار دارید، که در بخش My |
| Account (https://filelu.com/account) قابل مشاهده است. |
| هر بار که در My Account گزینهٔ Rclone را خاموش و روشن (OFF و ON) کنید، یک کلید جدید |
| به صورت RC_xxxxxxxxxxxxxxxxxxxx تولید میشود. |
| حتماً پیکربندی Rclone خود را با کلید جدید بهروزرسانی کنید. |
| اگر برای نخستین بار به ریموت FileLu خود متصل میشوید و با خطایی |
| مانند خطای زیر مواجه میشوید: |
| Failed to create file system for "my-filelu-remote:": couldn't login: Invalid credentials |
| اطمینان حاصل کنید که Rclone Key شما درست است. |
| متوقفشدن فرایند (killed) |
| حسابهای دارای فایلهای حجیم یا کلاندادههای (متادیتای) گسترده ممکن است در طول |
| عملیات فهرستگیری/همگامسازی با مصرف حافظهٔ قابل توجهی مواجه شوند. |
| اطمینان حاصل کنید سامانهای که rclone را اجرا میکند، حافظه و پردازنده (CPU) کافی |
| برای مدیریت این عملیاتها را داشته باشد. |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مخصوص filelu (فضای ذخیرهسازی ابری FileLu) آورده شده است. |
| --filelu-key |
| کلید FileLu Rclone شما از بخش My Account |
| ویژگیها: |
| • 2 |
| پیکربندی: key |
| • 2 |
| متغیر محیطی: RCLONE_FILELU_KEY |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| گزینههای پیشرفته |
| در اینجا گزینههای پیشرفته مخصوص filelu (فضای ذخیرهسازی ابری FileLu) آورده شده است. |
| --filelu-upload-cutoff |
| آستانهٔ سوئیچ به بارگذاری تکهای (chunked). |
| هر فایلی بزرگتر از این مقدار، در قطعاتی به اندازهٔ chunk_size بارگذاری خواهد شد. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_cutoff |
| • 2 |
| متغیر محیطی: RCLONE_FILELU_UPLOAD_CUTOFF |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 500Mi |
| --filelu-chunk-size |
| اندازهٔ هر تکه برای استفاده در بارگذاری. |
| برای بارگذاریهای چندبخشی (multipart) استفاده میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: chunk_size |
| • 2 |
| متغیر محیطی: RCLONE_FILELU_CHUNK_SIZE |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 64Mi.SS --filelu-encoding |
| کدگذاری برای بکاند. |
| برای اطلاعات بیشتر، بخش کدگذاری را در |
| بررسی کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_FILELU_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: |
| Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,CrLf,Del,Ctl,LeftSpace,LeftPeriod,LeftTilde,LeftCrLfHtVt,RightSpace,RightPeriod,RightCrLfHtVt,InvalidUtf8,Dot,SquareBracket,Semicolon,Exclamation |
| --filelu-description |
| توضیحات ریموت. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_FILELU_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| "محدودیتها (Limitations)" |
| این بکاند از یک کتابخانهٔ سفارشی که API سرویس FileLu را پیادهسازی میکند، بهره میبرد. |
| اگرچه این بکاند از انتقال فایلها پشتیبانی میکند، اما ممکن است برخی از قابلیتهای پیشرفته هنوز در دسترس نباشند. |
| لطفاً برای عیبیابی و دریافت بهروزرسانیها، هرگونه مشکل را به انجمن rclone (https://forum.rclone.org) |
| گزارش دهید. |
| برای کسب اطلاعات بیشتر، به وبگاه FileLu |
| (https://filelu.com) مراجعه کنید. |
| Filen |
| "پیکربندی (Configuration)" |
| راهاندازی اولیه برای Filen مستلزم آن است که یک کلید API برای حساب خود دریافت کنید؛ در حال حاضر این کار تنها با استفاده از |
| Filen CLI (https://github.com/FilenCloudDienste/filen-cli) امکانپذیر است. |
| این بدان معناست که ابتدا باید CLI را دانلود کرده، وارد حساب خود شوید (login) و سپس دستور |
| export-api-key را اجرا کنید. |
| نکته: اگر گذرواژهٔ حساب Filen خود را تغییر دهید، باید پیکربندی rclone خود را با گذرواژهٔ جدید و یک کلید API صادر شدهٔ مجدد (از طریق export-api-key) بهروزرسانی کنید. |
| در اینجا نمونهای از نحوهٔ ایجاد یک ریموت با نام FilenRemote آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> FilenRemote |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Filen |
| \ "filen" |
| [snip] |
| Storage> filen |
| Option Email. |
| The email of your Filen account |
| Enter a value. |
| Email> youremail@provider.com |
| Option Password. |
| The password of your Filen account |
| Choose an alternative below. |
| y) Yes, type in my own password |
| g) Generate random password |
| y/g> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Option API Key. |
| An API Key for your Filen account |
| Get this using the Filen CLI export-api-key command |
| You can download the Filen CLI from https://github.com/FilenCloudDienste/filen-cli |
| Choose an alternative below. |
| y) Yes, type in my own password |
| g) Generate random password |
| y/g> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: filen |
| - Email: youremail@provider.com |
| - Password: *** ENCRYPTED *** |
| - API Key: *** ENCRYPTED *** |
| Keep this "FilenRemote" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| زمانهای تغییر برای فایلها بهطور کامل پشتیبانی میشوند؛ برای دایرکتوریها، تنها زمان ایجاد اهمیت دارد. |
| سرویس Filen از هشهای Blake3 پشتیبانی میکند. |
| نویسههای محدودشده برای نام فایل |
| بایتهای نامعتبر UTF-8 جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8) |
| کلید API |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مختص به filen (Filen) آورده شده است. |
| --filen-email |
| ایمیل حساب Filen شما |
| ویژگیها: |
| • 2 |
| پیکربندی: email |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_EMAIL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| --filen-password |
| رمز عبور حساب Filen شما |
| نکته: ورودی این مقدار باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: password |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_PASSWORD |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| --filen-api-key |
| کلید API برای حساب Filen شما |
| این مقدار را با استفاده از دستور export-api-key در Filen CLI دریافت کنید. میتوانید Filen CLI را از https://github.com/FilenCloudDienste/filen-cli بارگیری کنید. |
| نکته: ورودی این مقدار باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: api_key |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_API_KEY |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| گزینههای پیشرفته |
| در اینجا گزینههای پیشرفتهٔ مختص به filen (Filen) آورده شده است. |
| --filen-upload-concurrency |
| همزمانی برای بارگذاریهای چندبخشی (chunked). |
| این مقدار حد بالایی است برای اینکه چه تعداد انتقال بهصورت همروند برای یک فایل اجرا شوند. |
| تنظیم این گزینه روی مقداری کوچکتر از 1 باعث بنبست (deadlock) بارگذاریها خواهد شد. |
| اگر تعداد کمی از فایلهای حجیم را روی پیوندهای پرسرعت بارگذاری میکنید و این بارگذاریها از تمام پهنای باند شما استفاده نمیکنند، افزایش این مقدار میتواند به افزایش سرعت انتقالها کمک کند. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_concurrency |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_UPLOAD_CONCURRENCY |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 16.SS --filen-encoding |
| کدگذاری برای بکاند. |
| برای اطلاعات بیشتر، بخش کدگذاری در نمای کلی (https://rclone.org/overview/#encoding) را ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: Slash,Del,Ctl,InvalidUtf8,Dot |
| --filen-master-keys |
| کلیدهای اصلی (فقط برای استفاده داخلی) |
| ویژگیها: |
| • 2 |
| پیکربندی: master_keys |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_MASTER_KEYS |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filen-private-key |
| کلید خصوصی RSA (فقط برای استفاده داخلی) |
| ویژگیها: |
| • 2 |
| پیکربندی: private_key |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_PRIVATE_KEY |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filen-public-key |
| کلید عمومی RSA (فقط برای استفاده داخلی) |
| ویژگیها: |
| • 2 |
| پیکربندی: public_key |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_PUBLIC_KEY |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filen-auth-version |
| نسخه احراز هویت (فقط برای استفاده داخلی) |
| ویژگیها: |
| • 2 |
| پیکربندی: auth_version |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_AUTH_VERSION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filen-base-folder-uuid |
| شناسه UUID دایرکتوری ریشه حساب (فقط برای استفاده داخلی) |
| ویژگیها: |
| • 2 |
| پیکربندی: base_folder_uuid |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_BASE_FOLDER_UUID |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --filen-description |
| توضیحات ریموت. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_FILEN_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| Files.com |
| سرویس Files.com (https://www.files.com) یک سرویس ذخیرهسازی ابری است که |
| روشی امن و آسان را برای ذخیره و بهاشتراکگذاری فایلها فراهم میکند. |
| راهاندازی اولیه برای filescom نیازمند احراز هویت با حساب |
| Files.com شما است. |
| میتوانید این کار را با وارد کردن زیردامنهٔ سایت، نام کاربری و |
| گذرواژهٔ خود انجام دهید. |
| همچنین میتوانید با استفاده از یک کلید API از |
| Files.com (https://www.files.com/docs/sdk-and-apis/api-keys) احراز هویت کنید. |
| دستور rclone config مراحل آن را قدمبهقدم برای شما پیش میبرد. |
| پیکربندی (Configuration) |
| در اینجا نمونهای از نحوهٔ ساخت یک ریموت به نام remote آمده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این کار شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> remote |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Files.com |
| \ "filescom" |
| [snip] |
| Storage> filescom |
| Option site. |
| Your site subdomain (e.g. mysite) or custom domain (e.g. myfiles.customdomain.com) |
| Enter a value. Press Enter to leave empty. |
| site> mysite |
| Option username. |
| The username used to authenticate with Files.com. |
| Enter a value. Press Enter to leave empty. |
| username> user |
| Option password. |
| The password used to authenticate with Files.com. |
| Choose an alternative below. Press Enter for the default (n). |
| y) Yes, type in my own password |
| g) Generate random password |
| n) No, leave this optional password blank (default) |
| y/g/n> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: filescom |
| - site: mysite |
| - username: user |
| - password: *** ENCRYPTED *** |
| Keep this "remote" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| پس از پیکربندی میتوانید از rclone استفاده کنید. |
| مشاهدهٔ تمام فایلها در بالاترین سطح: |
| rclone lsf remote: |
| ایجاد یک دایرکتوری جدید در ریشه: |
| rclone mkdir remote:dir |
| فهرستکردن بازگشتی محتویات: |
| rclone ls remote: |
| همگامسازی /home/local/directory با دایرکتوری ریموت، و حذف |
| هرگونه فایل اضافی در دایرکتوری: |
| rclone sync --interactive /home/local/directory remote:dir |
| در دسامبر ۲۰۲۴ files.com پشتیبانی از چکسامهای بیشتری را آغاز کرد (https://www.files.com/blog/2024/11/01/new-modern-checksum-options-now-available-with-opt). |
| با این حال اگر به هشها نیاز دارید، باید با رفتن به بخش "File Integrity" در "Data Governance" آنها را در سایت خود فعال کنید تا تنظیمات پیکربندی شده و الگوریتمهای چکسامی که با نیازمندیهای شما مطابقت دارند انتخاب شوند. |
| در حال حاضر Rclone برای استفاده در همگامسازی تنها از CRC32 و MD5 پشتیبانی میکند، اما انتخاب چکسامهای بیشتر تأثیری بر عملیات rclone نخواهد داشت. |
| برای استفاده با rclone، انتخاب حداقل MD5 توصیه میشود تا rclone بتواند بررسی صحت سرتاسری را انجام دهد. |
| گزینههای استاندارد (Standard options) |
| در اینجا گزینههای استاندارد مختص به filescom (Files.com) آمده است. |
| --filescom-site |
| زیردامنه سایت شما (مانند mysite) یا دامنه سفارشی (مانند myfiles.customdomain.com). |
| ویژگیها: |
| • 2 |
| پیکربندی: site |
| • 2 |
| متغیر محیطی: RCLONE_FILESCOM_SITE |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filescom-username |
| نام کاربری مورد استفاده برای احراز هویت با Files.com. |
| ویژگیها: |
| • 2 |
| پیکربندی: username |
| • 2 |
| متغیر محیطی: RCLONE_FILESCOM_USERNAME |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filescom-password |
| گذرواژه مورد استفاده برای احراز هویت با Files.com. |
| نکته: ورودی این گزینه باید مبهمسازی شود - مستندات rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: password |
| • 2 |
| متغیر محیطی: RCLONE_FILESCOM_PASSWORD |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| گزینههای پیشرفته (Advanced options) |
| در اینجا گزینههای پیشرفته مختص به filescom (Files.com) آمده است. |
| --filescom-api-key |
| کلید API مورد استفاده برای احراز هویت با Files.com. |
| ویژگیها: |
| • 2 |
| پیکربندی: api_key |
| • 2 |
| متغیر محیطی: RCLONE_FILESCOM_API_KEY |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --filescom-encoding |
| کدگذاری برای backend. |
| برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_FILESCOM_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: |
| Slash,BackSlash,Del,Ctl,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot.SS --filescom-description |
| توضیحات مربوط به ریموت. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_FILESCOM_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| FTP |
| FTP همان پروتکل انتقال فایل (File Transfer Protocol) است. |
| پشتیبانی Rclone از FTP با استفاده از بسته |
| github.com/jlaffaye/ftp (https://godoc.org/github.com/jlaffaye/ftp) |
| ارائه میشود. |
| محدودیتهای بکاند FTP در Rclone |
| مسیرها به صورت remote:path مشخص میشوند. |
| اگر مسیر با / آغاز نشود، نسبت به دایرکتوری خانگی کاربر سنجیده میشود. |
| مسیر خالی remote: به دایرکتوری خانگی کاربر اشاره دارد. |
| "پیکربندی (Configuration)" |
| برای ایجاد یک پیکربندی FTP به نام remote، دستور زیر را اجرا کنید: |
| rclone config |
| دستور rclone config شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند. |
| تعریف حداقلی یک ریموت FTP در rclone تنها به host، نام کاربری (username) و گذرواژه (password) نیاز دارد. |
| برای سرور FTP ناشناس (anonymous)، بخش زیر را ببینید. |
| No remotes found, make a new one\? |
| n) New remote |
| r) Rename remote |
| c) Copy remote |
| s) Set configuration password |
| q) Quit config |
| n/r/c/s/q> n |
| name> remote |
| Type of storage to configure. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / FTP |
| \ "ftp" |
| [snip] |
| Storage> ftp |
| ** See help for ftp backend at: https://rclone.org/ftp ** |
| FTP host to connect to |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| 1 / Connect to ftp.example.com |
| \ "ftp.example.com" |
| host> ftp.example.com |
| FTP username |
| Enter a string value. Press Enter for the default ("$USER"). |
| user> |
| FTP port number |
| Enter a signed integer. Press Enter for the default (21). |
| port> |
| FTP password |
| y) Yes type in my own password |
| g) Generate random password |
| y/g> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Use FTP over TLS (Implicit) |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| tls> |
| Use FTP over TLS (Explicit) |
| Enter a boolean value (true or false). Press Enter for the default ("false"). |
| explicit_tls> |
| Remote config |
| Configuration complete. |
| Options: |
| - type: ftp |
| - host: ftp.example.com |
| - pass: *** ENCRYPTED *** |
| Keep this "remote" remote? |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| برای مشاهده همه دایرکتوریها در دایرکتوری خانگی remote: |
| rclone lsd remote: |
| ایجاد یک دایرکتوری جدید: |
| rclone mkdir remote:path/to/directory |
| فهرست کردن محتویات یک دایرکتوری: |
| rclone ls remote:path/to/directory |
| همگامسازی /home/local/directory با دایرکتوری ریموت و حذف فایلهای اضافی در دایرکتوری مقصد: |
| rclone sync --interactive /home/local/directory remote:directory |
| هنگام اتصال به یک کارساز FTP که ورود ناشناس (anonymous) را مجاز میداند، میتوانید از نام کاربری ویژهٔ "anonymous" استفاده کنید. |
| بهطور سنتی، این حساب کاربری هر رشتهای را به عنوان گذرواژه میپذیرد، هرچند استفاده از گذرواژههای "anonymous" یا "guest" رایج است. |
| برخی کارسازها وارد کردن یک نشانی ایمیل معتبر را به عنوان گذرواژه الزامی میدانند. |
| استفاده از ریموتهای آنی (on-the-fly) یا رشتهٔ اتصال (https://rclone.org/docs/#connection-strings) دسترسی به چنین کارسازهایی را بدون نیاز به هیچ پیکربندی اولیهای آسان میکند. |
| موارد زیر مثالهایی از این موضوع هستند: |
| rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=$(rclone obscure dummy) |
| rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=$(rclone obscure dummy): |
| مثالهای بالا در شلهای لینوکس و در PowerShell کار میکنند، اما در Command Prompt ویندوز کار نمیکنند. |
| آنها دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را برای ساخت یک رشتهٔ گذرواژه در قالب مورد نیاز گزینهٔ pass اجرا میکنند. |
| مثالهای زیر دقیقاً یکسان هستند، با این تفاوت که از نمای متنی از پیش مبهمشدهٔ (obscured) همان گذرواژهٔ "dummy" استفاده میکنند، و بنابراین حتی در Command Prompt ویندوز نیز کار میکنند: |
| rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM |
| rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM: |
| تیالاس ضمنی (Implicit TLS) |
| ابزار rclone FTP از کارسازهای FTP بر بستر TLS ضمنی (FTPS) پشتیبانی میکند. |
| این قابلیت باید در پیکربندی بکاند FTP برای ریموت یا با --ftp-tls فعال شود. |
| درگاه پیشفرض FTPS برابر با 990 است، نه 21، و میتواند با --ftp-port تنظیم شود. |
| گزینههای TLS (TLS Options) |
| گزینههای TLS برای TLS ضمنی و صریح را میتوان با استفاده از پرچمهای زیر که مختص بکاند FTP هستند تنظیم کرد: |
| --ftp-no-check-certificate عدم اعتبارسنجی گواهی TLS کارساز |
| --ftp-disable-tls13 غیرفعالسازی TLS 1.3 (راهکار دورزدن برای کارسازهای FTP با TLS معیوب) |
| --ftp-tls-cache-size int اندازهٔ حافظه موقت نشست TLS برای تمامی اتصالهای داده و کنترلی (پیشفرض 32) |
| با این حال، هر یک از پرچمهای عمومی TLS نیز میتوانند استفاده شوند؛ مانند: |
| --ca-cert stringArray گواهی CA مورد استفاده برای اعتبارسنجی کارسازها |
| --client-cert string گواهی SSL کلاینت (PEM) برای احراز هویت دوجانبهٔ TLS |
| --client-key string کلید خصوصی SSL کلاینت (PEM) برای احراز هویت دوجانبهٔ TLS |
| --no-check-certificate عدم اعتبارسنجی گواهی SSL کارساز (ناامن) |
| اگر لازم است این موارد در فایل پیکربندی قرار داده شوند تا فقط بر بکاند FTP اعمال شوند، از ساختار override استفاده کنید؛ به عنوان مثال: |
| override.ca_cert = XXX |
| override.client_cert = XXX |
| override.client_key = XXX |
| نویسههای محدودشده در نام فایل (Restricted filename characters) | ||
| علاوه بر مجموعه نویسههای محدودشدهٔ پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند: | ||
| نام فایلها نمیتوانند به نویسههای زیر ختم شوند. | ||
| جایگزینی تنها محدود به آخرین نویسه در نام فایل است: | ||
| tab( | ); | |
| l c c. | ||
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
همهٔ کارسازهای FTP قادر به پذیرش تمام نویسهها در نام فایلها نیستند؛ به عنوان مثال:
| کارساز FTP | نویسههای غیرمجاز |
| proftpd | * |
| pureftpd | \ [ ] |
راهنمای پیکربندی تعاملی این بکاند مجموعهای از تنظیمات کدگذاری منطقی را برای کارسازهای اصلی FTP ارائه میدهد: ProFTPd، PureFTPd، VsFTPd. کافی است هنگام درخواست، شمارهٔ گزینهٔ مورد نظر را وارد کنید..SS گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص ftp (FTP) آورده شده است.
--ftp-host
میزبان FTP جهت اتصال.
بهعنوان مثال: "ftp.example.com".
ویژگیها:
- •
- پیکربندی: host
- •
- متغیر محیطی: RCLONE_FTP_HOST
- •
- نوع: string
- •
- الزامی: true
--ftp-user
نام کاربری FTP.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_FTP_USER
- •
- نوع: string
- •
- پیشفرض: "$USER"
--ftp-port
شماره پورت FTP.
ویژگیها:
- •
- پیکربندی: port
- •
- متغیر محیطی: RCLONE_FTP_PORT
- •
- نوع: int
- •
- پیشفرض: 21
--ftp-pass
گذرواژه FTP.
توجه: ورودی این مقدار باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_FTP_PASS
- •
- نوع: string
- •
- الزامی: false
--ftp-tls
استفاده از FTPS ضمنی (FTP over TLS).
هنگام استفاده از FTP ضمنی بر بستر TLS، کلاینت درست از همان ابتدا با استفاده از TLS متصل میشود که سازگاری با سرورهای فاقد پشتیبانی از TLS را از بین میبرد. این مورد معمولاً روی پورت 990 بهجای پورت 21 ارائه میشود. نمیتوان آن را در ترکیب با FTPS صریح استفاده کرد.
ویژگیها:
- •
- پیکربندی: tls
- •
- متغیر محیطی: RCLONE_FTP_TLS
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-explicit-tls
استفاده از FTPS صریح (FTP over TLS).
هنگام استفاده از FTP صریح بر بستر TLS، کلاینت بهطور صریح امنیت را از سرور درخواست میکند تا اتصال متن ساده را به یک اتصال رمزنگاریشده ارتقا دهد. نمیتوان آن را در ترکیب با FTPS ضمنی استفاده کرد.
ویژگیها:
- •
- پیکربندی: explicit_tls
- •
- متغیر محیطی: RCLONE_FTP_EXPLICIT_TLS
- •
- نوع: bool
- •
- پیشفرض: false.SS گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته ویژه ftp (FTP) آورده شده است.
--ftp-concurrency
حداکثر تعداد اتصالهای همزمان FTP؛ مقدار 0 برای نامحدود.
توجه داشته باشید که تنظیم این مقدار به احتمال بسیار زیاد باعث ایجاد بنبست (deadlock) میشود، بنابراین باید با احتیاط استفاده شود.
اگر در حال انجام sync یا copy هستید، اطمینان حاصل کنید که مقدار همزمانی یکی بیشتر از مجموع --transfers و --checkers باشد.
اگر از --check-first استفاده میکنید، تنها کافی است یکی بیشتر از بیشینه بین --checkers و --transfers باشد.
بنابراین برای concurrency 3 باید از --checkers 2 --transfers 2 --check-first یا --checkers 1 --transfers 1 استفاده کنید.
ویژگیها:
- •
- پیکربندی: concurrency
- •
- متغیر محیطی: RCLONE_FTP_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 0
--ftp-no-check-certificate
عدم اعتبارسنجی گواهی TLS سرور.
ویژگیها:
- •
- پیکربندی: no_check_certificate
- •
- متغیر محیطی: RCLONE_FTP_NO_CHECK_CERTIFICATE
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-disable-epsv
غیرفعال کردن استفاده از EPSV حتی در صورتی که سرور اعلام پشتیبانی کند.
ویژگیها:
- •
- پیکربندی: disable_epsv
- •
- متغیر محیطی: RCLONE_FTP_DISABLE_EPSV
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-disable-mlsd
غیرفعال کردن استفاده از MLSD حتی در صورتی که سرور اعلام پشتیبانی کند.
ویژگیها:
- •
- پیکربندی: disable_mlsd
- •
- متغیر محیطی: RCLONE_FTP_DISABLE_MLSD
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-disable-utf8
غیرفعال کردن استفاده از UTF-8 حتی در صورتی که سرور اعلام پشتیبانی کند.
ویژگیها:
- •
- پیکربندی: disable_utf8
- •
- متغیر محیطی: RCLONE_FTP_DISABLE_UTF8
- •
- نوع: bool
- •
- پیشفرض: false.SS --ftp-writing-mdtm
استفاده از MDTM برای تنظیم زمان ویرایش (رفتار خاص VsFtpd)
ویژگیها:
- •
- پیکربندی: writing_mdtm
- •
- متغیر محیطی: RCLONE_FTP_WRITING_MDTM
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-force-list-hidden
استفاده از LIST -a برای اجبار به فهرستکردن فایلها و پوشههای مخفی. این کار استفاده از MLSD را غیرفعال خواهد کرد.
ویژگیها:
- •
- پیکربندی: force_list_hidden
- •
- متغیر محیطی: RCLONE_FTP_FORCE_LIST_HIDDEN
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-idle-timeout
حداکثر زمان قبل از بستن اتصالهای بیکار.
اگر در زمان تعیینشده هیچ اتصالی به استخر اتصال بازگردانده نشود، rclone استخر اتصال را خالی خواهد کرد.
برای باز نگهداشتن اتصالها به مدت نامحدود، مقدار را روی 0 تنظیم کنید.
ویژگیها:
- •
- پیکربندی: idle_timeout
- •
- متغیر محیطی: RCLONE_FTP_IDLE_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--ftp-close-timeout
حداکثر زمان انتظار برای دریافت پاسخ بستهشدن.
ویژگیها:
- •
- پیکربندی: close_timeout
- •
- متغیر محیطی: RCLONE_FTP_CLOSE_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--ftp-tls-cache-size
اندازه حافظه پنهان نشست TLS برای تمامی اتصالهای کنترل و داده.
حافظه پنهان TLS امکان ازسرگیری نشستهای TLS و استفاده مجدد از PSK را بین اتصالات فراهم میکند. اگر اندازه پیشفرض کافی نیست و باعث بروز خطاهای ازسرگیری TLS میشود، آن را افزایش دهید. بهطور پیشفرض فعال است. برای غیرفعال کردن از 0 استفاده کنید.
ویژگیها:
- •
- پیکربندی: tls_cache_size
- •
- متغیر محیطی: RCLONE_FTP_TLS_CACHE_SIZE
- •
- نوع: int
- •
- پیشفرض: 32
--ftp-disable-tls13
غیرفعالسازی TLS 1.3 (راهکاری برای سرورهای FTP با پیادهسازی معیوب TLS)
ویژگیها:
- •
- پیکربندی: disable_tls13
- •
- متغیر محیطی: RCLONE_FTP_DISABLE_TLS13
- •
- نوع: bool
- •
- پیشفرض: false.SS --ftp-allow-insecure-tls-ciphers
مجاز کردن سایفرهای ناامن TLS
تنظیم این گزینه، علاوه بر مقادیر پیشفرض امن، اجازه استفاده از سایفرهای TLS زیر را میدهد:
- •
- TLS_RSA_WITH_AES_128_GCM_SHA256
ویژگیها:
- •
- پیکربندی: allow_insecure_tls_ciphers
- •
- متغیر محیطی: RCLONE_FTP_ALLOW_INSECURE_TLS_CIPHERS
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-shut-timeout
حداکثر زمان انتظار برای وضعیت بستهشدن اتصال داده.
ویژگیها:
- •
- پیکربندی: shut_timeout
- •
- متغیر محیطی: RCLONE_FTP_SHUT_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--ftp-ask-password
اجازه درخواست گذرواژه FTP در صورت نیاز.
اگر این گزینه تنظیم شود و گذرواژهای ارائه نشده باشد، rclone درخواست گذرواژه خواهد کرد.
ویژگیها:
- •
- پیکربندی: ask_password
- •
- متغیر محیطی: RCLONE_FTP_ASK_PASSWORD
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-socks-proxy
میزبان پروکسی Socks 5.
از قالبهای user:pass@host:port، user@host:port و host:port پشتیبانی میکند.
مثال:
-
myUser:myPass@localhost:9005
ویژگیها:
- •
- پیکربندی: socks_proxy
- •
- متغیر محیطی: RCLONE_FTP_SOCKS_PROXY
- •
- نوع: string
- •
- الزامی: false
--ftp-http-proxy
نشانی اینترنتی (URL) برای پروکسی HTTP CONNECT
این گزینه را روی نشانی اینترنتی (URL) یک پروکسی HTTP تنظیم کنید که از فعل HTTP CONNECT پشتیبانی میکند.
از قالبهای http://user:pass@host:port، http://host:port و http://host پشتیبانی میکند.
مثال:
ویژگیها:
- •
- پیکربندی: http_proxy
- •
- متغیر محیطی: RCLONE_FTP_HTTP_PROXY
- •
- نوع: string
- •
- الزامی: false.SS --ftp-no-check-upload
عدم بررسی صحت بارگذاری
بهطور معمول rclone پس از بارگذاری یک فایل، وجود فایل بارگذاریشده را بررسی میکند تا مطمئن شود اندازه و زمان ویرایش آن مطابق انتظار است.
این پرچم مانع از انجام این بررسیها توسط rclone میشود. این کار امکان بارگذاری در پوشههای فقطنوشتنی (write only) را فراهم میکند.
اگر در یک پوشهٔ فقطنوشتنی بارگذاری میکنید، احتمالاً نیاز خواهید داشت از پرچم --inplace نیز استفاده کنید.
ویژگیها:
- •
- پیکربندی: no_check_upload
- •
- متغیر محیطی: RCLONE_FTP_NO_CHECK_UPLOAD
- •
- نوع: bool
- •
- پیشفرض: false
--ftp-encoding
کدگذاری برای پسانه (backend).
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_FTP_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Del,Ctl,RightSpace,Dot
- •
- مثالها:
- •
- "Asterisk,Ctl,Dot,Slash"
- •
- کارساز ProFTPd نمیتواند '*' را در نام فایلها مدیریت کند
- •
- "BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket"
- •
- کارساز PureFTPd نمیتواند '[]' یا '*' را در نام فایلها مدیریت کند
- •
- "Ctl,LeftPeriod,Slash"
- •
- کارساز VsFTPd نمیتواند نام فایلهایی که با نقطه آغاز میشوند را مدیریت کند
--ftp-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_FTP_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
کارگزارهای FTP که بهعنوان ریموتهای rclone عمل میکنند باید از حالت passive پشتیبانی کنند. این حالت قابل تغییر و پیکربندی نیست زیرا passive تنها حالت پشتیبانیشده است. پیادهسازی FTP در rclone با حالت active سازگار نیست، زیرا کتابخانهای که از آن استفاده میکند از این حالت پشتیبانی نمیکند (https://github.com/jlaffaye/ftp/issues/29). بهدلیل نگرانیهای امنیتی، این حالت احتمالاً هرگز پشتیبانی نخواهد شد.
پسانهٔ FTP در rclone از هیچ چِکسامی (checksum) پشتیبانی نمیکند، اما میتواند اندازهٔ فایلها را مقایسه کند.
دستور rclone about توسط پسانهٔ FTP پشتیبانی نمیشود. پسانههای بدون این قابلیت نمیتوانند فضای آزاد را برای یک mount در rclone تعیین کنند یا از خطمشی mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده کنند.
فهرست پسانههایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و مستندات rclone about (https://rclone.org/commands/rclone_about) را ببینید.
پیادهسازی: --dump headers، --dump bodies، --dump auth برای اشکالزدایی همانند پسانههای مبتنی بر HTTP در rclone نیست - سطح جزئیات و کنترل دقیق کمتری دارد.
گزینهٔ --timeout پشتیبانی نمیشود (اما --contimeout پشتیبانی میشود).
گزینهٔ --bind پشتیبانی نمیشود.
پسانهٔ FTP در rclone قابلیت پشتیبانی از جابهجایی در سمت سرور (server-side move) را دارد، اما در حال حاضر این کار انجام نمیشود.
متغیر محیطی ftp_proxy در حال حاضر پشتیبانی نمیشود..SS زمانهای تغییر (Modification times)
زمان تغییر فایل (برچسبهای زمان) با تفکیکپذیری ۱ ثانیه برای کارگزارهای اصلی FTP پشتیبانی میشود: ProFTPd، PureFTPd، VsFTPd و کارگزار FTP FileZilla. کارگزار VsFTPd دارای پیادهسازی غیراستانداردی از دستورات پروتکل مرتبط با زمان است و به یک تنظیم پیکربندی ویژه نیاز دارد: writing_mdtm = true.
پشتیبانی از زمان دقیق فایل در دیگر کارگزارهای FTP بسته به اینکه چه افزونههای پروتکلی را اعلان میکنند، متفاوت است. اگر تمام افزونههای MLSD، MDTM و MFTM موجود باشند، rclone از آنها در کنار یکدیگر برای ارائه زمان دقیق استفاده خواهد کرد. در غیر این صورت، زمانهایی که روی کارگزار FTP از طریق rclone مشاهده میکنید مربوط به زمان آخرین بارگذاری فایل خواهند بود.
میتوانید از دستور زیر برای بررسی اینکه آیا rclone میتواند با کارگزار FTP شما از زمان دقیق استفاده کند بهره ببرید: rclone backend features your_ftp_remote: (دونقطه انتهایی مهم است). به دنبال عددی در خط نشانهگذاریشده با Precision بگردید که مشخصکننده دقت زمان ریموت بر حسب نانوثانیه است. مقدار 1000000000 به این معنی است که دقت زمان فایل ۱ ثانیهای در دسترس است. مقدار 3153600000000000000 (یا یک عدد بزرگ دیگر) به معنی "پشتیبانینشده" است.
Gofile
پلتفرم Gofile (https://gofile.io) یک بستر ذخیرهسازی و توزیع محتوا است. هدف آن ارائه بیشترین خدمات ممکن بهصورت رایگان یا با هزینهای بسیار کم است.
راهاندازی اولیه Gofile شامل ورود به رابط وب و رفتن به بخش "My Profile" است. مقدار "Account API token" را برای استفاده در فایل پیکربندی کپی کنید.
توجه داشته باشید اگر مایلید rclone را به Gofile متصل کنید، به یک حساب پریمیوم نیاز خواهید داشت.
پیکربندی (Configuration)
در اینجا مثالی از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter name for new remote. name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / Gofile \ (gofile) Storage> gofile Option access_token. API Access token You can get this from the web control panel. Enter a value. Press Enter to leave empty. access_token> YOURACCESSTOKEN Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: gofile - access_token: YOURACCESSTOKEN Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (عبارت remote را با نامی که به ریموت خود اختصاص دادهاید جایگزین کنید):
فهرست کردن دایرکتوریها و فایلها در بالاترین سطح Gofile شما:
-
rclone lsf remote:
برای کپی کردن یک دایرکتوری محلی به یک دایرکتوری در Gofile به نام backup:
-
rclone copy /home/source remote:backup
Gofile از زمانهای تغییر با دقت ۱ ثانیه پشتیبانی میکند.
Gofile از هشهای MD5 پشتیبانی میکند، بنابراین میتوانید از پرچم --checksum استفاده کنید.
نویسههای محدودشده در نام فایل
علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| ! | 0x21 | ! |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ? |
| \ | 0x5C | \ |
| | | 0x7C | | |
همچنین نامهای فایل نمیتوانند با نویسههای زیر آغاز شوند یا پایان یابند. این نویسهها تنها در صورتی جایگزین میشوند که نویسه نخست یا پایانی در نام باشند:
| نویسه | مقدار | جایگزین |
| . | 0x2E | . |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد..SS پیوندهای عمومی (Public Links)
Gofile از rclone link برای ایجاد پیوندهای عمومی به فایلها یا دایرکتوریها پشتیبانی میکند. اگر یک دایرکتوری را مشخص کنید، به صورت یک فایل zip بارگیری خواهد شد. میتوانید از پرچم --expire برای تعیین مدت زمانی که پیوند باید معتبر باشد استفاده کنید. توجه داشته باشید که rclone link --unlink همه پیوندهای عمومی یک فایل را حذف میکند.
شناسه پوشه ریشه (Root folder ID)
میتوانید root_folder_id را برای rclone تنظیم کنید. این همان دایرکتوری است (که با Folder ID خود شناسایی میشود) که rclone آن را به عنوان ریشه درایو Gofile شما در نظر میگیرد.
در حالت عادی این مقدار را خالی میگذارید و خود rclone ریشه صحیح را برای استفاده تشخیص داده و مقدار آن را در فایل پیکربندی وارد میکند.
با این حال، میتوانید این مقدار را برای محدود کردن rclone به سلسلهمراتب یک پوشه خاص تنظیم کنید.
برای انجام این کار باید Folder ID دایرکتوری مورد نظری را که میخواهید rclone نمایش دهد، بیابید.
میتوانید این کار را با rclone انجام دهید:
-
$ rclone lsf -Fip --dirs-only remote: d6341f53-ee65-4f29-9f59-d11e8070b2a0;Files/ f4f5c9b8-6ece-478b-b03e-4538edfe5a1c;Photos/ d50e356c-29ca-4b27-a3a7-494d91026e04;Videos/
شناسهای که باید استفاده شود بخش قبل از ; است، بنابراین میتوانید مقدار زیر را تنظیم کنید:
-
root_folder_id = d6341f53-ee65-4f29-9f59-d11e8070b2a0
تا rclone به دایرکتوری Files محدود شود.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد ویژه gofile (Gofile) آورده شده است.
--gofile-access-token
توکن دسترسی API
میتوانید آن را از کنترلپنل وب دریافت کنید.
ویژگیها:
- •
- پیکربندی: access_token
- •
- متغیر محیطی: RCLONE_GOFILE_ACCESS_TOKEN
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته ویژه gofile (Gofile) آورده شده است.
--gofile-root-folder-id
شناسه پوشه ریشه
در حالت عادی این را خالی بگذارید؛ rclone آن را بهطور خودکار پر میکند.
اگر میخواهید rclone به یک پوشه خاص محدود شود میتوانید آن را پر کنید - برای اطلاعات بیشتر مستندات را ببینید.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_GOFILE_ROOT_FOLDER_ID
- •
- نوع: string
- •
- الزامی: false.SS --gofile-account-id
شناسه حساب کاربری
در حالت عادی این مقدار را خالی بگذارید؛ rclone آن را بهطور خودکار پر خواهد کرد.
ویژگیها:
- •
- پیکربندی: account_id
- •
- متغیر محیطی: RCLONE_GOFILE_ACCOUNT_ID
- •
- نوع: string
- •
- ضروری: false
--gofile-list-chunk
تعداد مواردی که در هر فراخوانی فهرست میشوند
ویژگیها:
- •
- پیکربندی: list_chunk
- •
- متغیر محیطی: RCLONE_GOFILE_LIST_CHUNK
- •
- نوع: int
- •
- پیشفرض: 1000
--gofile-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری را در بررسی کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_GOFILE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftPeriod,RightPeriod,InvalidUtf8,Dot,Exclamation
--gofile-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_GOFILE_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
محدودیتها (Limitations)
Gofile تنها از نامفایلهایی تا حداکثر ۲۵۵ نویسه پشتیبانی میکند، که هر نویسه یک نویسهٔ یونیکد است.
دایرکتوریها نباید برای بیش از 24h کَش شوند، در غیر این صورت ممکن است فایلهای درون دایرکتوری قابل دانلود نباشند. در عمل، این بدین معناست که هنگام استفاده از دستورات rclone مبتنی بر VFS مانند rclone mount باید اطمینان حاصل کنید که مقدار --dir-cache-time کمتر از 24h باشد.
توجه داشته باشید که Gofile در حال حاضر در مجموع به ۱۰۰٬۰۰۰ مورد محدود است. اگر تلاش کنید مواردی بیشتر از این مقدار را بارگذاری کنید، با error-limit-100000 مواجه خواهید شد. این محدودیت ممکن است در آینده برداشته شود.
فایلهای تکراری (Duplicated files)
Gofile قادر است فایلهایی با نامهای تکراری داشته باشد. برای نمونه، دو فایل با نام hello.txt در یک دایرکتوری یکسان.
برنامه rclone نمیتواند چنین مواردی را با یک سیستمفایل معمولی همگامسازی کند، اما این موضوع با دستور rclone dedupe قابل اصلاح است.
فایلهای تکراری در فرایند همگامسازی ایجاد مشکل میکنند و پیامهایی دربارهٔ فایلهای تکراری در گزارشها (log) مشاهده خواهید کرد.
برای اصلاح فایلهای تکراری از rclone dedupe استفاده کنید..SH "فضای ذخیرهسازی ابری گوگل (Google Cloud Storage)"
مسیرها بهصورت remote:bucket مشخص میشوند (یا remote: برای دستور lsd). همچنین میتوانید زیرپوشهها را نیز وارد کنید، مانند remote:bucket/path/to/dir.
پیکربندی (Configuration)
راهاندازی اولیه برای Google Cloud Storage شامل دریافت یک توکن از Google Cloud Storage است که باید آن را در مرورگر خود انجام دهید. دستور rclone config مراحل این کار را مرحلهبهمرحله به شما نشان میدهد.
در اینجا مثالی از نحوهٔ ایجاد یک ریموت به نام remote آورده شده است. ابتدا این دستور را اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
n) New remote d) Delete remote q) Quit config e/n/d/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Google Cloud Storage (this is not Google Drive) \ "google cloud storage" [snip] Storage> google cloud storage Google Application Client Id - leave blank normally. client_id> Google Application Client Secret - leave blank normally. client_secret> Project number optional - needed only for list/create/delete buckets - see your developer console. project_number> 12345678 Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login. service_account_file> Access Control List for new objects. Choose a number from below, or type in your own value 1 / Object owner gets OWNER access, and all Authenticated Users get READER access. \ "authenticatedRead" 2 / Object owner gets OWNER access, and project team owners get OWNER access. \ "bucketOwnerFullControl" 3 / Object owner gets OWNER access, and project team owners get READER access. \ "bucketOwnerRead" 4 / Object owner gets OWNER access [default if left blank]. \ "private" 5 / Object owner gets OWNER access, and project team members get access according to their roles. \ "projectPrivate" 6 / Object owner gets OWNER access, and all Users get READER access. \ "publicRead" object_acl> 4 Access Control List for new buckets. Choose a number from below, or type in your own value 1 / Project team owners get OWNER access, and all Authenticated Users get READER access. \ "authenticatedRead" 2 / Project team owners get OWNER access [default if left blank]. \ "private" 3 / Project team members get access according to their roles. \ "projectPrivate" 4 / Project team owners get OWNER access, and all Users get READER access. \ "publicRead" 5 / Project team owners get OWNER access, and all Users get WRITER access. \ "publicReadWrite" bucket_acl> 2 Location for the newly created buckets. Choose a number from below, or type in your own value 1 / Empty for default location (US). \ "" 2 / Multi-regional location for Asia. \ "asia" 3 / Multi-regional location for Europe. \ "eu" 4 / Multi-regional location for United States. \ "us" 5 / Taiwan. \ "asia-east1" 6 / Tokyo. \ "asia-northeast1" 7 / Singapore. \ "asia-southeast1" 8 / Sydney. \ "australia-southeast1" 9 / Belgium. \ "europe-west1" 10 / London. \ "europe-west2" 11 / Iowa. \ "us-central1" 12 / South Carolina. \ "us-east1" 13 / Northern Virginia. \ "us-east4" 14 / Ohio. \ "us-east5" 15 / Oregon. \ "us-west1" location> 12 The storage class to use when storing objects in Google Cloud Storage. Choose a number from below, or type in your own value 1 / Default \ "" 2 / Multi-regional storage class \ "MULTI_REGIONAL" 3 / Regional storage class \ "REGIONAL" 4 / Nearline storage class \ "NEARLINE" 5 / Coldline storage class \ "COLDLINE" 6 / Durable reduced availability storage class \ "DURABLE_REDUCED_AVAILABILITY" storage_class> 5 Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: google cloud storage - client_id: - client_secret: - token: {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null} - project_number: 12345678 - object_acl: private - bucket_acl: private Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای اطلاع از نحوهٔ راهاندازی روی دستگاهی که به مرورگر وب متصل به اینترنت دسترسی ندارد، مستندات راهاندازی ریموت را در (https://rclone.org/remote_setup) ببینید.
توجه داشته باشید که در صورت استفاده از مرورگر وب برای احراز هویت خودکار، rclone یک وبسرور روی سیستم محلی شما اجرا میکند تا توکن بازگرداندهشده از Google را دریافت کند. این سرور تنها از لحظهٔ باز شدن مرورگر تا زمان دریافت کد تأیید اجرا میشود. این سرویس روی http://127.0.0.1:53682/ اجرا میشود و در صورتی که فایروال روی میزبان فعال باشد، ممکن است نیاز به باز کردن موقت آن داشته باشید، یا اینکه از حالت دستی استفاده کنید.
این ریموت remote نامیده میشود و اکنون میتواند به این صورت استفاده شود:
مشاهدهٔ تمام باکتهای موجود در پروژه شما:
-
rclone lsd remote:
ایجاد یک باکت جدید:
-
rclone mkdir remote:bucket فهرست کردن محتویات یک باکت (bucket)
-
rclone ls remote:bucket
همگامسازی /home/local/directory با باکت دوردست، همراه با حذف فایلهای اضافی موجود در باکت.
-
rclone sync --interactive /home/local/directory remote:bucket
پشتیبانی از حساب سرویس (Service Account)
شما میتوانید rclone را با Google Cloud Storage در حالت خودکار و بدون نظارت (unattended) پیکربندی کنید؛ یعنی بدون وابستگی به یک حساب کاربری نهایی خاص در گوگل. این ویژگی زمانی مفید است که بخواهید فایلها را روی ماشینهایی همگامسازی کنید که کاربری در آنها وارد نشده است، مانند ماشینهای ساخت و کامپایل (build machines).
جهت دریافت اعتبارنامهها برای Service Accountهای IAM در Google Cloud Platform (https://cloud.google.com/iam/docs/service-accounts)، لطفاً به بخش Service Account (https://console.cloud.google.com/permissions/serviceaccounts) در Google Developer Console مراجعه کنید. حسابهای سرویس رفتاری دقیقاً مشابه مجوزهای عادی User در ACLهای Google Cloud Storage (https://cloud.google.com/storage/docs/access-control) دارند، بنابراین میتوانید دسترسی آنها را محدود کنید (مثلاً آنها را فقطخواندنی کنید). پس از ایجاد حساب، یک فایل JSON شامل اعتبارنامههای Service Account روی ماشین شما بارگیری خواهد شد. این اعتبارنامهها همان مواردی هستند که rclone برای احراز هویت از آنها استفاده خواهد کرد.
جهت استفاده از Service Account به جای گردش توکن OAuth2، مسیر مربوط به اعتبارنامههای حساب سرویس خود را در اعلان service_account_file وارد کنید تا rclone از گردش احراز هویت مبتنی بر مرورگر استفاده نکند. چنانچه ترجیح میدهید محتویات فایل اعتبارنامه را مستقیماً درون فایل پیکربندی rclone قرار دهید، میتوانید گزینه service_account_credentials را با محتوای واقعی فایل مقداردهی کنید، یا متغیر محیطی معادل آن را تنظیم نمایید.
احراز هویت حساب سرویس با توکنهای دسترسی (Access Tokens)
یکی دیگر از گزینهها برای احراز هویت حساب سرویس، استفاده از توکنهای دسترسی از طریق دستور gcloud impersonate-service-account است. توکنهای دسترسی با اجتناب از کاربرد فایل کلید JSON (که ممکن است لو برود یا به مخاطره بیفتد)، امنیت را حفظ میکنند. آنها همچنین گردش ورود با oauth را دور میزنند، که این کار در ماشینهای مجازی (VM) دوردست فاقد مرورگر وب سادهتر است.
چنانچه از قبل یک حساب سرویس فعال دارید، به مرحله ۳ بروید.
۱. ایجاد یک حساب سرویس با استفاده از
-
gcloud iam service-accounts create gcs-read-only
همچنین میتوانید از یک حساب سرویس موجود نیز مجدداً استفاده کنید (مانند موردی که در بالا ایجاد شد).
۲. الصاق یک نقش Viewer (فقطخواندنی) یا User (خواندنی-نوشتنی) به حساب سرویس
-
$ PROJECT_ID=my-project $ gcloud --verbose iam service-accounts add-iam-policy-binding \ gcs-read-only@${PROJECT_ID}.iam.gserviceaccount.com \ --member=serviceAccount:gcs-read-only@${PROJECT_ID}.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
از کنسول Google Cloud برای تعیین یک نقش محدودتر استفاده کنید. برخی نقشهای از پیش تعریفشده مرتبط:
- •
- roles/storage.objectUser -- دسترسی خواندنی-نوشتنی اما بدون امتیازات مدیریتی
- •
- roles/storage.objectViewer -- دسترسی فقطخواندنی به اشیاء (objects)
- •
- roles/storage.admin -- ایجاد باکتها و نقشهای مدیریتی.SS ۳. دریافت یک کلید دسترسی موقت برای حساب سرویس
-
$ gcloud auth application-default print-access-token \ --impersonate-service-account \ gcs-read-only@${PROJECT_ID}.iam.gserviceaccount.com ya29.c.c0ASRK0GbAFEewXD [truncated]
۴. بهروزرسانی تنظیمات access_token
هنگامی که عبارت waiting for code را مشاهده کردید، کلیدهای CTRL-C را فشار دهید. این کار پیکربندی را بدون اجرای فرایند oauth ذخیره میکند.
-
rclone config update ${REMOTE_NAME} access_token ya29.c.c0Axxxx
۵. اجرای rclone طبق روال معمول
-
rclone ls dev-gcs:${MY_BUCKET}/
اطلاعات بیشتر درباره حسابهای سرویس (Service Accounts)
- •
- مستندات رسمی GCS (https://cloud.google.com/compute/docs/access/service-accounts)
- •
- راهنمای حسابهای سرویس با استفاده از Key Files (امنیت کمتر، اما مفاهیم مشابه) (https://forum.rclone.org/t/access-using-google-service-account/24822/2)
دسترسی ناشناس (Anonymous Access)
برای بارگیری اشیایی که دسترسی عمومی را مجاز میدانند، میتوانید rclone را با تنظیم anonymous بر روی true برای استفاده از دسترسی ناشناس پیکربندی کنید. با دسترسی غیرمجاز نمیتوانید فایلها را بنویسید یا ایجاد کنید، بلکه تنها میتوانید آن دسته از باکتها و اشیایی را که دسترسی خواندن عمومی دارند بخوانید یا فهرست کنید.
گواهیهای پیشفرض برنامه (Application Default Credentials)
اگر هیچ منبع گواهی دیگری ارائه نشود، rclone به Application Default Credentials (https://cloud.google.com/video-intelligence/docs/common/auth#authenticating_with_application_default_credentials) بازمیگردد. این قابلیت هم زمانی که از قبل احراز هویت را برای حساب توسعهدهنده خود پیکربندی کردهاید و هم در محیط عملیاتی هنگام اجرا روی میزبان google compute مفید است. توجه داشته باشید که در صورت اجرا در docker، ممکن است لازم باشد دستورهای بیشتری را روی ماشین google compute خود اجرا کنید - این صفحه (https://cloud.google.com/container-registry/docs/advanced-authentication#gcloud_as_a_docker_credential_helper) را ببینید.
توجه داشته باشید که در صورت استفاده از Application Default Credentials، نیازی به پیکربندی صریح شماره پروژه نیست.
--fast-list
این ریموت از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظه بیشتر، از تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone (https://rclone.org/docs/#fast-list) مراجعه کنید.
سرآیندهای آپلود سفارشی
میتوانید با استفاده از پرچم --header-upload سرآیندهای آپلود سفارشی را تنظیم کنید. Google Cloud Storage همانطور که در مستندات کار با فراداده (https://cloud.google.com/storage/docs/gsutil/addlhelp/WorkingWithObjectMetadata) توضیح داده شده است، از سرآیندهای زیر پشتیبانی میکند:
- •
- Cache-Control
- •
- Content-Disposition
- •
- Content-Encoding
- •
- Content-Language
- •
- Content-Type
- •
- X-Goog-Storage-Class
- •
- X-Goog-Meta-
بهعنوان مثال: --header-upload "Content-Type text/potato"
توجه داشته باشید که آخرین مورد برای تنظیم فرادادههای سفارشی به فرمت --header-upload "x-goog-meta-key: value" است..SS زمانهای تغییر
سرویس Google Cloud Storage بهطور بومی md5sum را ذخیره میکند. ابزار gsutil شرکت گوگل (https://cloud.google.com/storage/docs/gsutil) زمان تغییر را با دقت یک ثانیه بهصورت goog-reserved-file-mtime در فرادادهی فایل ذخیره میکند.
برای اطمینان از سازگاری با gsutil، ابزار rclone زمان تغییر را در ۲ مدخل فرادادهی جداگانه ذخیره میکند. mtime از قالب RFC3339 با دقت یک نانوثانیه استفاده میکند. goog-reserved-file-mtime از قالب برچسب زمانی یونیکس (Unix timestamp) با دقت یک ثانیه استفاده میکند. جهت خواندن زمان تغییر از فرادادهی شیء، rclone فرادادهها را به ترتیب زیر میخواند: mtime، goog-reserved-file-mtime، زمان بهروزرسانی شیء (object updated time).
توجه داشته باشید که پنجرهی تغییرات (modify window) پیشفرض rclone برابر با 1ns است. فایلهای بارگذاریشده توسط gsutil تنها دارای برچسبهای زمانی با دقت یک ثانیه هستند. اگر از rclone برای همگامسازی فایلهایی استفاده کنید که پیشتر با gsutil بارگذاری شدهاند، rclone تلاش خواهد کرد زمان تغییر را برای همهی این فایلها بهروزرسانی کند. برای جلوگیری از این بهروزرسانیهای احتمالاً غیرضروری، از --modify-window 1s استفاده کنید.
نویسههای محدودشده در نام فایل
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| LF | 0x0A | ␊ |
| CR | 0x0D | ␍ |
| / | 0x2F | / |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که استفاده از آنها در رشتههای JSON امکانپذیر نیست.
گزینههای استاندارد
در اینجا گزینههای استاندارد ویژهی google cloud storage (سرویس Google Cloud Storage؛ توجه داشته باشید که این سرویس Google Drive نیست) آورده شده است.
--gcs-client-id
شناسه کلاینت OAuth (OAuth Client Id).
در حالت عادی این مقدار را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_GCS_CLIENT_ID
- •
- نوع: string
- •
- ضروری: false.SS --gcs-client-secret
کلید مخفی کلاینت OAuth (OAuth Client Secret).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_GCS_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
--gcs-project-number
شماره پروژه.
اختیاری - تنها برای فهرست/ایجاد/حذف باکتها نیاز است - کنسول توسعهدهنده خود را بررسی کنید.
ویژگیها:
- •
- پیکربندی: project_number
- •
- متغیر محیطی: RCLONE_GCS_PROJECT_NUMBER
- •
- نوع: string
- •
- الزامی: false
--gcs-user-project
پروژه کاربر.
اختیاری - تنها برای پرداخت توسط درخواستدهنده (requester pays) نیاز است.
ویژگیها:
- •
- پیکربندی: user_project
- •
- متغیر محیطی: RCLONE_GCS_USER_PROJECT
- •
- نوع: string
- •
- الزامی: false
--gcs-service-account-file
مسیر فایل JSON اطلاعات هویتی حساب خدماتی (Service Account).
در حالت عادی خالی بگذارید. تنها در صورتی نیاز است که بخواهید به جای ورود تعاملی از SA استفاده کنید.
علامت ~ در ابتدای نام فایل همانند متغیرهای محیطی نظیر ${RCLONE_CONFIG_DIR} بسط داده خواهد شد.
ویژگیها:
- •
- پیکربندی: service_account_file
- •
- متغیر محیطی: RCLONE_GCS_SERVICE_ACCOUNT_FILE
- •
- نوع: string
- •
- الزامی: false
--gcs-anonymous
دسترسی به باکتها و اشیاء عمومی بدون نیاز به اطلاعات احراز هویت.
اگر صرفاً قصد بارگیری فایلها را دارید و اطلاعات هویتی را پیکربندی نمیکنید، آن را روی 'true' تنظیم کنید.
ویژگیها:
- •
- پیکربندی: anonymous
- •
- متغیر محیطی: RCLONE_GCS_ANONYMOUS
- •
- نوع: bool
- •
- پیشفرض: false.SS --gcs-object-acl
فهرست کنترل دسترسی برای اشیاء جدید.
ویژگیها:
- •
- پیکربندی: object_acl
- •
- متغیر محیطی: RCLONE_GCS_OBJECT_ACL
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "authenticatedRead"
- •
- مالک شیء دسترسی OWNER دریافت میکند.
- •
- تمام کاربران احراز هویتشده دسترسی READER دریافت میکنند.
- •
- "bucketOwnerFullControl"
- •
- مالک شیء دسترسی OWNER دریافت میکند.
- •
- مالکان تیم پروژه دسترسی OWNER دریافت میکنند.
- •
- "bucketOwnerRead"
- •
- مالک شیء دسترسی OWNER دریافت میکند.
- •
- مالکان تیم پروژه دسترسی READER دریافت میکنند.
- •
- "private"
- •
- مالک شیء دسترسی OWNER دریافت میکند.
- •
- در صورت خالی بودن، مقدار پیشفرض است.
- •
- "projectPrivate"
- •
- مالک شیء دسترسی OWNER دریافت میکند.
- •
- اعضای تیم پروژه بر اساس نقشهای خود دسترسی دریافت میکنند.
- •
- "publicRead"
- •
- مالک شیء دسترسی OWNER دریافت میکند.
- •
- تمام کاربران دسترسی READER دریافت میکنند.
--gcs-bucket-acl
فهرست کنترل دسترسی برای باکتهای جدید.
ویژگیها:
- •
- پیکربندی: bucket_acl
- •
- متغیر محیطی: RCLONE_GCS_BUCKET_ACL
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "authenticatedRead"
- •
- مالکان تیم پروژه دسترسی OWNER دریافت میکنند.
- •
- تمام کاربران احراز هویتشده دسترسی READER دریافت میکنند.
- •
- "private"
- •
- مالکان تیم پروژه دسترسی OWNER دریافت میکنند.
- •
- در صورت خالی بودن، مقدار پیشفرض است.
- •
- "projectPrivate"
- •
- اعضای تیم پروژه بر اساس نقشهای خود دسترسی دریافت میکنند.
- •
- "publicRead"
- •
- مالکان تیم پروژه دسترسی OWNER دریافت میکنند.
- •
- تمام کاربران دسترسی READER دریافت میکنند.
- •
- "publicReadWrite"
- •
- مالکان تیم پروژه دسترسی OWNER دریافت میکنند.
- •
- تمام کاربران دسترسی WRITER دریافت میکنند.
بررسیهای دسترسی باید از خطمشیهای IAM در سطح باکت استفاده کنند.
اگر میخواهید اشیاء را در باکتی بارگذاری کنید که Bucket Policy Only برای آن تنظیم شده است، باید این گزینه را تنظیم کنید.
هنگامی که این گزینه تنظیم شده باشد، rclone:
- •
- ACLهای تنظیمشده روی باکتها را نادیده میگیرد
- •
- ACLهای تنظیمشده روی اشیاء را نادیده میگیرد
- •
- باکتها را با تنظیم فعال Bucket Policy Only ایجاد میکند
مستندات: https://cloud.google.com/storage/docs/bucket-policy-only
ویژگیها:
- •
- پیکربندی: bucket_policy_only
- •
- متغیر محیطی: RCLONE_GCS_BUCKET_POLICY_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
--gcs-location
موقعیت مکانی برای باکتهای تازهساختهشده.
ویژگیها:
- •
- پیکربندی: location
- •
- متغیر محیطی: RCLONE_GCS_LOCATION
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- خالی برای مکان پیشفرض (US)
- •
- "asia"
- •
- مکان چندمنطقهای برای آسیا
- •
- "eu"
- •
- مکان چندمنطقهای برای اروپا
- •
- "us"
- •
- مکان چندمنطقهای برای ایالات متحده
- •
- "asia-east1"
- •
- تایوان
- •
- "asia-east2"
- •
- هنگکنگ
- •
- "asia-northeast1"
- •
- توکیو
- •
- "asia-northeast2"
- •
- اوساکا
- •
- "asia-northeast3"
- •
- سئول
- •
- "asia-south1"
- •
- بمبئی
- •
- "asia-south2"
- •
- دهلی
- •
- "asia-southeast1"
- •
- سنگاپور
- •
- "asia-southeast2"
- •
- جاکارتا
- •
- "australia-southeast1"
- •
- سیدنی
- •
- "australia-southeast2"
- •
- ملبورن
- •
- "europe-north1"
- •
- فنلاند
- •
- "europe-west1"
- •
- بلژیک
- •
- "europe-west2"
- •
- لندن
- •
- "europe-west3"
- •
- فرانکفورت
- •
- "europe-west4"
- •
- هلند
- •
- "europe-west6"
- •
- زوریخ
- •
- "europe-central2"
- •
- ورشو
- •
- "us-central1"
- •
- آیووا "us-east1"
- •
- کارولینای جنوبی
- •
- "us-east4"
- •
- ویرجینیای شمالی
- •
- "us-east5"
- •
- اوهایو
- •
- "us-west1"
- •
- اورگن
- •
- "us-west2"
- •
- کالیفرنیا
- •
- "us-west3"
- •
- سالتلیکسیتی
- •
- "us-west4"
- •
- لاسوگاس
- •
- "northamerica-northeast1"
- •
- مونترآل
- •
- "northamerica-northeast2"
- •
- تورنتو
- •
- "southamerica-east1"
- •
- سائوپائولو
- •
- "southamerica-west1"
- •
- سانتیاگو
- •
- "asia1"
- •
- ناحیه دوگانه: asia-northeast1 و asia-northeast2.
- •
- "eur4"
- •
- ناحیه دوگانه: europe-north1 و europe-west4.
- •
- "nam4"
- •
- ناحیه دوگانه: us-central1 و us-east1.
کلاس ذخیرهسازی مورد استفاده هنگام ذخیره اشیاء در Google Cloud Storage.
ویژگیها:
- •
- پیکربندی: storage_class
- •
- متغیر محیطی: RCLONE_GCS_STORAGE_CLASS
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- پیشفرض
- •
- "MULTI_REGIONAL"
- •
- کلاس ذخیرهسازی چندمنطقهای (Multi-regional)
- •
- "REGIONAL"
- •
- کلاس ذخیرهسازی منطقهای (Regional)
- •
- "NEARLINE"
- •
- کلاس ذخیرهسازی Nearline
- •
- "COLDLINE"
- •
- کلاس ذخیرهسازی Coldline
- •
- "ARCHIVE"
- •
- کلاس ذخیرهسازی آرشیو (Archive)
- •
- "DURABLE_REDUCED_AVAILABILITY"
- •
- کلاس ذخیرهسازی با دسترسی کاهشیافته و بادوام (Durable reduced availability)
--gcs-env-auth
دریافت اعتبارنامههای GCP IAM در زمان اجرا (متغیرهای محیطی یا فراداده نمونه در صورت نبود متغیرهای محیطی).
تنها در صورتی اعمال میشود که service_account_file و service_account_credentials خالی باشند.
ویژگیها:
- •
- پیکربندی: env_auth
- •
- متغیر محیطی: RCLONE_GCS_ENV_AUTH
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "false"
- •
- اعتبارنامهها را در مرحله بعد وارد کنید.
- •
- "true"
- •
- دریافت اعتبارنامههای GCP IAM از محیط (متغیرهای محیطی یا IAM).
در اینجا گزینههای پیشرفته مختص google cloud storage (فضای ذخیرهسازی ابری گوگل (این سرویس Google Drive نیست)) آمده است.
--gcs-token
توکن دسترسی OAuth در قالب یک JSON blob.
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_GCS_TOKEN
- •
- نوع: string
- •
- الزامی: false
--gcs-auth-url
نشانی URL سرور احراز هویت.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_GCS_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--gcs-token-url
نشانی URL سرور توکن.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_GCS_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--gcs-client-credentials
استفاده از جریان OAuth اطلاعات اعتباری کلاینت (client credentials).
این گزینه از جریان Client Credentials در OAUTH2 به صورتی که در RFC 6749 توصیف شده است استفاده میکند.
توجه داشته باشید که این گزینه توسط همه پیشرانهها (backends) پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_GCS_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--gcs-access-token
توکن دسترسی کوتاهمدت.
در حالت عادی خالی بگذارید. تنها در صورتی نیاز است که بخواهید بهجای ورود تعاملی، از توکن دسترسی کوتاهمدت استفاده کنید.
ویژگیها:
- •
- پیکربندی: access_token
- •
- متغیر محیطی: RCLONE_GCS_ACCESS_TOKEN
- •
- نوع: string
- •
- الزامی: false.SS --gcs-directory-markers
بارگذاری یک شیء خالی با اسلش در انتها هنگام ایجاد یک دایرکتوری جدید
پوشههای خالی در ریموتهای مبتنی بر باکت (bucket) پشتیبانی نمیشوند؛ این گزینه یک شیء خالی که به "/" ختم میشود ایجاد میکند تا پوشه ماندگار شود.
ویژگیها:
- •
- پیکربندی: directory_markers
- •
- متغیر محیطی: RCLONE_GCS_DIRECTORY_MARKERS
- •
- نوع: bool
- •
- پیشفرض: false
--gcs-no-check-bucket
در صورت تنظیم، برای بررسی وجود باکت یا ایجاد آن تلاشی نمیشود.
این گزینه در صورتی که از قبل بدانید باکت وجود دارد، برای به حداقل رساندن تعداد تراکنشهای انجامشده توسط rclone میتواند مفید باشد.
ویژگیها:
- •
- پیکربندی: no_check_bucket
- •
- متغیر محیطی: RCLONE_GCS_NO_CHECK_BUCKET
- •
- نوع: bool
- •
- پیشفرض: false
--gcs-decompress
در صورت تنظیم، اشیاء کدگذاریشده با gzip را از حالت فشرده خارج میکند.
بارگذاری اشیاء در GCS با تنظیم "Content-Encoding: gzip" امکانپذیر است. به طور معمول rclone این فایلها را به عنوان اشیاء فشرده بارگیری میکند.
اگر این پرچم تنظیم شده باشد، rclone این فایلهای دارای "Content-Encoding: gzip" را به محض دریافت از حالت فشرده خارج میکند. این بدان معناست که rclone نمیتواند اندازه و هش را بررسی کند، اما محتوای فایل از حالت فشرده خارج خواهد شد.
ویژگیها:
- •
- پیکربندی: decompress
- •
- متغیر محیطی: RCLONE_GCS_DECOMPRESS
- •
- نوع: bool
- •
- پیشفرض: false
--gcs-endpoint
نقطه پایانی (endpoint) سفارشی برای API ذخیرهسازی. برای استفاده از پیشفرض ارائهدهنده، این مقدار را خالی بگذارید.
هنگام استفاده از یک endpoint سفارشی که شامل یک زیرمسیر است (مانند example.org/custom/endpoint)، به دلیل محدودیتی در کتابخانه کلاینت Google API Go زیرین، این زیرمسیر در طول عملیات بارگذاری نادیده گرفته خواهد شد. عملیات بارگیری و فهرستگیری با مسیر کامل endpoint به درستی کار خواهند کرد. اگر برای بارگذاریها به پشتیبانی از زیرمسیر نیاز دارید، از بهکارگیری زیرمسیرها در پیکربندی endpoint سفارشی خود خودداری کنید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_GCS_ENDPOINT
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "storage.example.org"
- •
- تعیین یک endpoint سفارشی
- •
- "storage.example.org:4443"
- •
- تعیین یک endpoint سفارشی همراه با درگاه (port)
- •
- "storage.example.org:4443/gcs/api"
- •
- تعیین یک زیرمسیر؛ یادداشت را ببینید، بارگذاریها از مسیر سفارشی استفاده نخواهند کرد!
کدگذاری برای بکاند.
برای اطلاعات بیشتر بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_GCS_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,CrLf,InvalidUtf8,Dot
--gcs-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_GCS_DESCRIPTION
- •
- نوع: string
- •
- الزامی: خیر
محدودیتها (Limitations)
دستور rclone about توسط بکاند Google Cloud Storage پشتیبانی نمیشود. بکاندهایی که فاقد این قابلیت هستند نمیتوانند فضای خالی را برای یک rclone mount مشخص کنند یا از خطمشی mfs (بیشترین فضای خالی) به عنوان عضوی از یک ریموت رپوشانی/ترکیبی (union remote) در rclone استفاده کنند.
بخش «فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند» (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) را ببینید.
گوگل درایو (Google Drive)
مسیرها به صورت drive:path مشخص میشوند.
مسیرهای Drive میتوانند تا هر عمقی که نیاز است ادامه یابند، مانند drive:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه برای drive شامل دریافت یک توکن از Google Drive است که باید آن را در مرورگر وب خود انجام دهید. دستور rclone config شما را مرحله به مرحله راهنمایی میکند.
در اینجا نمونهای از نحوه ساخت یک ریموت با نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config n/r/c/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Google Drive \ "drive" [snip] Storage> drive Google Application Client Id Leave blank to use rclone's shared client_id, or if you are using a service account. The shared client_id is being retired and will stop working during 2026, so creating your own is now strongly recommended. See https://rclone.org/drive/#making-your-own-client-id for how to create your own. client_id> Google Application Client Secret Leave blank to use rclone's shared client_id, or if you are using a service account. If you created your own client_id then enter its client secret here. client_secret> Scope that rclone should use when requesting access from drive. Choose a number from below, or type in your own value 1 / Full access all files, excluding Application Data Folder. \ "drive" 2 / Read-only access to file metadata and file contents. \ "drive.readonly" / Access to files created by rclone only. 3 | These are visible in the drive website. | File authorization is revoked when the user deauthorizes the app. \ "drive.file" / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website. \ "drive.appfolder" / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content. \ "drive.metadata.readonly" scope> 1 Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login. service_account_file> Remote config rclone's shared Google Drive client_id is being retired and will stop working during 2026. Create your own to avoid interruption: https://rclone.org/drive/#making-your-own-client-id Continue using the shared client_id anyway? y) Yes n) No (default) y/n> n Google Application Client Id client_id> 1234567890-abcdefghijklmnop.apps.googleusercontent.com Google Application Client Secret client_secret> GOCSPX-your-client-secret Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Configure this as a Shared Drive (Team Drive)? y) Yes n) No y/n> n Configuration complete. Options: type: drive - client_id: 1234567890-abcdefghijklmnop.apps.googleusercontent.com - client_secret: GOCSPX-your-client-secret - scope: drive - root_folder_id: - service_account_file: - token: {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای نحوه راهاندازی روی دستگاهی که مرورگر وب متصل به اینترنت در دسترس ندارد، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید.
توجه داشته باشید که rclone در صورت استفاده از مرورگر وب برای احراز هویت خودکار، یک وبسرور روی دستگاه محلی شما اجرا میکند تا توکن بازگردانده شده از Google را دریافت کند. این وبسرور تنها از لحظه باز شدن مرورگر شما تا زمان دریافت کد تأیید اجرا میشود. این سرویس روی http://127.0.0.1:53682 فعال است و چنانچه فایروال میزبان را اجرا کردهاید، ممکن است لازم باشد آن را موقتاً رفع مسدودیت کنید، یا از حالت دستی استفاده نمایید.
سپس میتوانید مانند زیر از آن استفاده کنید،
فهرست کردن دایرکتوریها در بالاترین سطح Drive خود
-
rclone lsd remote:
فهرست کردن تمام فایلها در Drive خود
-
rclone ls remote: برای رونوشت کردن یک دایرکتوری محلی به یک دایرکتوری در drive به نام backup:
-
rclone copy /home/source remote:backup
حوزههای دسترسی (Scopes)
ابزار Rclone به شما امکان میدهد حوزه دسترسی (scope) مد نظر خود را برای استفاده توسط rclone مشخص کنید. این کار نوع توکن اعطاشده به rclone را تغییر میدهد. حوزههای دسترسی در اینجا (https://developers.google.com/drive/v3/web/about-auth) تعریف شدهاند.
استفاده از فهرستی جداشده با کاما مجاز است؛ به عنوان مثال: drive.readonly,drive.file.
حوزههای دسترسی عبارتند از:
drive
این حوزه پیشفرض است و دسترسی کامل به تمامی فایلها را ممکن میسازد، بهجز پوشه دادههای برنامه (Application Data Folder؛ به بخش زیر مراجعه کنید).
اگر مطمئن نیستید، این گزینه را انتخاب کنید.
drive.readonly
این حوزه دسترسی فقطخواندنی به تمام فایلها را فراهم میکند. فایلها قابل فهرستبندی و بارگیری هستند، اما امکان بارگذاری، تغییر نام یا حذف آنها وجود ندارد.
drive.file
با این حوزه دسترسی، rclone تنها میتواند فایلها و پوشههایی را که خودش ایجاد کرده است بخواند/مشاهده کند/تغییر دهد.
بنابراین اگر فایلهایی را از طریق رابط کاربری وب drive (یا هر روش دیگری) بارگذاری کرده باشید، برای rclone قابل مشاهده نخواهند بود.
این ویژگی زمانی مفید است که از rclone برای پشتیبانگیری از دادهها استفاده میکنید و میخواهید مطمئن شوید اطلاعات محرمانه موجود در drive شما برای rclone نمایان نیست.
فایلهای ایجادشده با این حوزه در رابط وب قابل مشاهده هستند.
drive.appfolder
این گزینه یک فضای اختصاصی و خصوصی جهت ذخیره فایلها به rclone اختصاص میدهد. Rclone قادر به مشاهده سایر فایلهای موجود در drive شما نخواهد بود و شما نیز نمیتوانید فایلهای rclone را از طریق رابط وب مشاهده کنید.
drive.metadata.readonly
این حوزه تنها دسترسی فقطخواندنی به نام فایلها را فراهم میکند. این گزینه به rclone اجازه بارگیری یا بارگذاری دادهها، یا تغییر نام یا حذف فایلها و دایرکتوریها را نمیدهد.
شناسه پوشه ریشه (Root folder ID)
این گزینه به بخش تنظیمات پیشرفته منتقل شده است. شما میتوانید root_folder_id را برای rclone تعیین کنید. این دایرکتوری (که توسط Folder ID آن شناسایی میشود) همان مسیری است که rclone آن را ریشه drive شما در نظر میگیرد.
در حالت معمول این فیلد را خالی بگذارید تا rclone ریشه مناسب را خودش شناسایی کند.
با این حال، میتوانید این مقدار را تنظیم کنید تا دسترسی rclone را به یک سلسلهمراتب پوشهای خاص محدود کنید، یا به دادههای موجود در زبانه "Computers" در رابط وب drive (جایی که فایلهای برنامه دسکتاپ Backup and Sync گوگل ذخیره میشوند) دسترسی یابید. با این وجود، این روش آسانترین راه نیست. به جای آن، میتوانید یک میانبر (shortcut) به پوشهای در "Computers" ایجاد کرده و آن را در "My Drive" قرار دهید. برای این منظور، روی پوشه کلیک راست کرده، گزینه "Organize" و سپس "Add shortcut" را در رابط وب Google Drive انتخاب کنید. بهمحض اضافه شدن میانبر به "My Drive"، ابزار rclone آن پوشه را نمایش داده و امکان کار با آن را فراهم میسازد. بخش میانبرها (Shortcuts) را نیز ببینید.
اگر تصمیم گرفتید پوشه ریشه خود را تغییر دهید، باید Folder ID دایرکتوریای را که میخواهید rclone نمایش دهد پیدا کنید. این شناسه، آخرین بخش از آدرس اینترنتی (URL) هنگام باز کردن پوشه مربوطه در رابط وب drive است.
بنابراین اگر پوشهای که میخواهید rclone استفاده کند در مرورگر آدرسی شبیه به https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh داشته باشد، مقدار 1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh را به عنوان root_folder_id در پیکربندی قرار دهید.
نکته: به نظر میرسد پوشههای موجود در زبانه "Computers" هنگام استفاده از rclone فقطخواندنی هستند (drive خطای 500 میدهد)؛ البته آنها در رابط وب Google Drive نیز فقطخواندنی میباشند، احتمالاً به این دلیل که این پوشهها توسط ابزار دسکتاپ Google Drive مدیریت میشوند. پوشههای سطح بالا در "Computers" فقطخواندنی هستند، اما میتوانید با استفاده از rclone با پوشههای درون آنها تعامل داشته باشید. اینها همان پوشههایی هستند که همانند توضیحات بالا میتوانید برایشان میانبر نیز بسازید.
به نظر نمیرسد رابط برنامهنویسی (API) برای یافتن شناسه پوشههای زبانه "Computers" وجود داشته باشد - اگر اطلاعات دیگری در این زمینه دارید لطفاً با ما تماس بگیرید!
همچنین توجه داشته باشید که rclone هنوز نمیتواند به دادههای موجود در زیر زبانه "Backups" در رابط وب Google Drive دسترسی داشته باشد..SS پشتیبانی از Service Account
شما میتوانید rclone را با Google Drive در حالت بدون نظارت (unattended)، یعنی بدون وابستگی به یک حساب Google کاربر نهایی خاص، راهاندازی کنید. این قابلیت زمانی مفید است که بخواهید فایلها را روی ماشینهایی همگامسازی کنید که کاربر فعال واردشدهای ندارند؛ برای نمونه ماشینهای ساخت (build machines).
برای استفاده از یک Service Account بهجای جریان توکن OAuth2، در هنگام اجرای rclone config مسیر اعتبارنامههای Service Account خود را در اعلان service_account_file وارد کنید؛ در این صورت rclone از جریان احراز هویت مبتنی بر مرورگر استفاده نخواهد کرد. اگر ترجیح میدهید محتویات فایل اعتبارنامه را مستقیماً درون فایل پیکربندی rclone قرار دهید، میتوانید بهجای آن، service_account_credentials را با محتوای واقعی فایل مقداردهی کنید، یا متغیر محیطی معادل آن را تنظیم نمایید.
مورد کاربرد - حساب Google Workspace و Drive اختصاصی
فرض کنید شما مدیر (administrator) یک Google Workspace هستید. هدف، خواندن یا نوشتن دادهها روی حساب Drive یک فرد است که عضوی از این دامنه است. ما دامنه را <example.com> و کاربر را <foo@example.com> مینامیم.
برای انجام این کار باید چند مرحله را طی کنیم:
۱. ساخت یک service account برای example.com
- •
- برای ساخت یک service account و دریافت اعتبارنامههای آن، به Google Developer Console (https://console.developers.google.com) بروید.
- •
- شما باید یک پروژه داشته باشید - اگر ندارید یکی بسازید و مطمئن شوید که روی پروژهٔ انتخابی قرار دارید.
- •
- سپس به "IAM & admin" -> "Service Accounts" بروید.
- •
- از دکمهٔ "Create Service Account" استفاده کنید. بخشهای "Service account name" و "Service account ID" را با مقداری که کلاینت شما را مشخص کند، پر کنید.
- •
- گزینهٔ "Create And Continue" را انتخاب کنید. مراحل ۲ و ۳ اختیاری هستند.
- •
- روی service account تازهساختهشده کلیک کنید.
- •
- روی "Keys" و سپس "Add Key" و بعد از آن روی "Create new key" کلیک کنید.
- •
- نوع "JSON" را انتخاب کرده و روی create کلیک کنید.
- •
- با این کار یک فایل JSON کوچک دانلود میشود که rclone از آن برای احراز هویت استفاده خواهد کرد.
اگر زمانی به حذف این دسترسی نیاز پیدا کردید، دکمهٔ "Delete service account key" را فشار دهید.
۲. مجاز کردن دسترسی API به Google Drive دامنهٔ example.com
- •
- به کنسول مدیریتی Workspace دامنهٔ example.com به نشانی (https://admin.google.com) بروید.
- •
- وارد بخش "Security" شوید (یا از نوار جستجو استفاده کنید).
- •
- گزینهٔ "Access and data control" و سپس "API controls" را انتخاب کنید.
- •
- روی "Manage domain-wide delegation" کلیک کنید.
- •
- روی "Add new" کلیک کنید.
- •
- در فیلد "Client ID"، شناسهٔ "Client ID" مربوط به service account را وارد کنید - این مقدار در Developer Console زیر بخش "IAM & Admin" -> "Service Accounts"، و سپس "View Client ID" برای service account تازهساختهشده قابل مشاهده است. این مقدار یک رشتهٔ عددی ~21 کاراکتری است.
- •
- در فیلد بعدی، "OAuth Scopes"، مقدار https://www.googleapis.com/auth/drive را برای اعطای دسترسی خواندن/نوشتن بهطور خاص به Google Drive وارد کنید. همچنین میتوانید از https://www.googleapis.com/auth/drive.readonly برای دسترسی فقطخواندنی همراه با --drive-scope=drive.readonly استفاده کنید.
- •
- روی "Authorise" کلیک کنید.
۳. پیکربندی rclone با فرض یک نصب جدید
-
rclone config n/s/q> n # New name>gdrive # Gdrive is an example name Storage> # Type drive client_id> # Can be left blank client_secret> # Can be left blank scope> # Select the scope use used in step 2 root_folder_id> # Can be left blank service_account_file> /home/foo/myJSONfile.json # Path to the JSON file you downloaded in step 1. y/n> # Auto config, n
- •
-
rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
- •
-
عملکرد آرگومانها به این شرح است:
- •
-
-v - گزارشدهی پرجزئیات (verbose)
- •
-
--drive-impersonate foo@example.com - بخشی که کار اصلی را انجام میدهد، با جا زدن خود به جای کاربر foo.
- •
-
lsf - فهرست کردن فایلها به روشی مناسب برای تجزیه (parsing)
- •
-
gdrive:backup - استفاده از ریموت به نام gdrive و کار در پوشهای با نام backup.
نکته: در صورتی که پوشه ریشه (root) مشخصی را روی gdrive پیکربندی کردهاید و rclone هنگام استفاده از --drive-impersonate نمیتواند به محتویات آن پوشه دسترسی پیدا کند، در عوض این کار را انجام دهید:
- •
-
در رابط تحت وب gdrive، پوشه ریشه خود را با کاربر/ایمیل Service Account جدیدی که در مرحله ۱ ساختید/انتخاب کردید به اشتراک بگذارید
- •
-
از rclone بدون تعیین گزینه --drive-impersonate استفاده کنید، به این صورت: rclone -v lsf gdrive:backup
درایوهای اشتراکی (Shared drives / team drives)
اگر میخواهید ریموت را طوری پیکربندی کنید که به یک Google Shared Drive (که پیشتر با نام Team Drives شناخته میشد) اشاره کند، به پرسش Configure this as a Shared Drive (Team Drive)? پاسخ y دهید.
این کار فهرست Shared Driveها را از google دریافت کرده و به شما امکان میدهد مشخص کنید میخواهید از کدامیک استفاده کنید. همچنین در صورت تمایل میتوانید شناسه (ID) یک Shared Drive را وارد نمایید.
برای مثال:
-
Configure this as a Shared Drive (Team Drive)? y) Yes n) No y/n> y Fetching Shared Drive list... Choose a number from below, or type in your own value 1 / Rclone Test \ "xxxxxxxxxxxxxxxxxxxx" 2 / Rclone Test 2 \ "yyyyyyyyyyyyyyyyyyyy" 3 / Rclone Test 3 \ "zzzzzzzzzzzzzzzzzzzz" Enter a Shared Drive ID> 1 Configuration complete. Options: - type: drive - client_id: - client_secret: - token: {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null} - team_drive: xxxxxxxxxxxxxxxxxxxx Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
--fast-list
این ریموت از --fast-list پشتیبانی میکند که به شما اجازه میدهد در ازای مصرف حافظه بیشتر، از تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone در https://rclone.org/docs/#fast-list مراجعه کنید.
این کار با ترکیب چندین فراخوانی list در یک درخواست API واحد انجام میشود.
نحوه کارکرد آن از طریق ترکیب چندین فیلترِ '%s' in parents در یک عبارت واحد است. برای فهرست کردن محتویات دایرکتوریهای a و b و c، درخواستهای زیر توسط تابع معمولی List ارسال خواهند شد:
-
trashed=false and 'a' in parents trashed=false and 'b' in parents trashed=false and 'c' in parents
این درخواستها اکنون میتوانند در قالب یک درخواست واحد ادغام شوند:
-
trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
پیادهسازی ListR تا سقف ۵۰ فیلتر parents را در یک درخواست قرار میدهد. این تابع از مقدار --checkers برای تعیین تعداد درخواستهای موازیِ در حال اجرا استفاده میکند.
در آزمایشها، این درخواستهای دستهای تا ۲۰ برابر سریعتر از روش عادی بودند. اجرای دستور زیر بر روی پوشههایی با اندازههای مختلف نتایج زیر را نشان میدهد:
-
rclone lsjson -vv -R --checkers=6 gdrive:folder
پوشه کوچک (۲۲۰ دایرکتوری، ۷۰۰ فایل):
- •
- بدون --fast-list: ۳۸ ثانیه
- •
- با --fast-list: ۱۰ ثانیه
پوشه بزرگ (۱۰۶۰۰ دایرکتوری، ۳۹۰۰۰ فایل):
- •
- بدون --fast-list: ۲۲:۰۵ دقیقه
- •
- با --fast-list: ۵۸ ثانیه.SS زمانهای تغییر و هشها (Modification times and hashes)
Google drive زمانهای تغییر را با دقت ۱ میلیثانیه ذخیره میکند.
الگوریتمهای هش MD5، SHA1 و SHA256 پشتیبانی میشوند. با این حال، توجه داشته باشید که بخش کوچکی از فایلهای بارگذاریشده ممکن است فاقد هشهای SHA1 یا SHA256 باشند، بهویژه اگر پیش از سال ۲۰۱۸ بارگذاری شده باشند.
نویسههای محدودشده در نام فایل (Restricted filename characters)
تنها بایتهای نامعتبر UTF-8 جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
برخلاف سایر بکاندها، / نیز میتواند در نامها استفاده شود و . یا .. نامهای معتبری هستند.
ویرایشها (Revisions)
Google drive ویرایشهای فایلها را ذخیره میکند. هنگامی که با استفاده از rclone تغییری را در یک فایل موجود در google drive بارگذاری میکنید، یک ویرایش جدید از آن فایل ایجاد خواهد شد.
ویرایشها از خطمشی استاندارد گوگل پیروی میکنند که در زمان نگارش به شرح زیر بود:
- •
- پس از ۳۰ روز یا ۱۰۰ ویرایش (هرکدام زودتر برسد) حذف میشوند.
- •
- در سهمیه فضای ذخیرهسازی کاربر محاسبه نمیشوند.
حذف فایلها (Deleting files)
بهطور پیشفرض rclone هنگام حذف فایلها، همه آنها را به سطل زباله منتقل میکند. اگر حذف دائمی آنها مورد نیاز است، از پرچم --drive-use-trash=false استفاده کنید، یا متغیر محیطی معادل آن را تنظیم نمایید.
میانبرها (Shortcuts)
در مارس ۲۰۲۰، Google قابلیت جدیدی را در Google Drive به نام میانبرهای درایو معرفی کرد (https://support.google.com/drive/answer/9700156) (رابط برنامهنویسی (https://developers.google.com/drive/api/v3/shortcuts)). این میانبرها (تا سپتامبر ۲۰۲۰) جایگزین امکان قرارگیری همزمان فایلها یا پوشهها در چندین پوشه میشوند (https://cloud.google.com/blog/products/g-suite/simplifying-google-drives-folder-structure-and-sharing-models).
میانبرها فایلهایی هستند که به فایلهای دیگر در Google Drive پیوند دارند، تا حدودی شبیه یک symlink در یونیکس، با این تفاوت که به دادههای زیرین فایل اشاره میکنند (برای نمونه inode در اصطلاحات یونیکس)، بنابراین در صورت تغییر نام یا جابهجایی مبدأ خراب نمیشوند.
بهطور پیشفرض rclone با این موارد به شرح زیر برخورد میکند:
برای میانبرهایی که به فایلها اشاره دارند:
- •
- هنگام فهرستگیری، میانبرِ فایل بهصورت فایل مقصد ظاهر میشود.
- •
- هنگام بارگیری، محتوای فایل مقصد بارگیری میشود.
- •
- هنگام بهروزرسانی فایل میانبر با یک فایل غیرمیانبر، میانبر حذف شده و سپس فایل جدید در جای میانبر بارگذاری میشود.
- •
- هنگام جابهجایی سمت سرور (تغییر نام)، نام میانبر تغییر میکند، نه فایل مقصد.
- •
- هنگام رونوشت سمت سرور، خود میانبر رونوشت میشود، نه محتوای آن. (مگر اینکه --drive-copy-shortcut-content در حال استفاده باشد که در این صورت محتوای میانبر رونوشت میشود).
- •
- هنگام حذف، میانبر حذف میشود نه فایل پیونددادهشده.
- •
- هنگام تنظیم زمان تغییر، زمان تغییر فایل پیونددادهشده تنظیم خواهد شد.
برای میانبرهایی که به پوشهها اشاره دارند:
- •
- هنگام فهرستگیری، میانبر بهصورت یک پوشه ظاهر میشود و آن پوشه شامل محتویات پوشه پیونددادهشده خواهد بود (شامل تمام زیرپوشهها).
- •
- هنگام بارگیری، محتوای پوشه پیونددادهشده و زیرمحتواهای آن بارگیری میشوند.
- •
- هنگام بارگذاری در یک پوشه میانبر، فایل در پوشه پیونددادهشده قرار خواهد گرفت.
- •
- هنگام جابهجایی سمت سرور (تغییر نام)، نام میانبر تغییر میکند، نه پوشه مقصد.
- •
- هنگام رونوشت سمت سرور، محتوای پوشه پیونددادهشده رونوشت میشود، نه میانبر.
- •
- هنگام حذف با rclone rmdir یا rclone purge، میانبر حذف میشود نه پوشه پیونددادهشده.
- •
- توجه هنگام حذف با rclone remove یا rclone mount، محتویات پوشه پیونددادهشده حذف خواهند شد.
دستور rclone backend (https://rclone.org/commands/rclone_backend) میتواند برای ایجاد میانبرها استفاده شود.
میانبرها را میتوان با پرچم --drive-skip-shortcuts یا تنظیم پیکربندی متناظر skip_shortcuts بهطور کامل نادیده گرفت.
هنگامی که rclone lsf --format i یک میانبر فایل را فهرست میکند، فیلد ID شامل شناسه فایل هدف و به دنبال آن شناسه میانبر است که با یک نویسه برگه (tab) از هم جدا شدهاند. این تب داخلی با --separator تغییر نمیکند.
اگر میانبر پوشهای داشته باشید که به یکی از پوشههای والد خود اشاره کند، منجر به یک فراخوانی بازگشتی بیپایان خواهد شد. Rclone این مورد را تشخیص داده، میانبر مشکلساز را از فهرستگیری کنار میگذارد و یک ERROR ثبت میکند، تا مابقی درایو همچنان قابل رونوشت باشد..SS "خالی کردن سطل زباله (Emptying trash)"
اگر مایلید سطل زباله خود را خالی کنید، میتوانید از دستور rclone cleanup remote: استفاده کنید که تمام فایلهای درون سطل زباله شما را برای همیشه حذف خواهد کرد. این دستور هیچ آرگومان مسیری نمیپذیرد.
توجه داشته باشید که حتی با وجود اینکه دستور ظرف چند ثانیه به پایان میرسد، خالی شدن سطل زباله توسط Google Drive مدتی زمان میبرد (از چند دقیقه تا چند روز). هیچ خروجیای چاپ نمیشود، بنابراین حتی با استفاده از -v یا -vv نیز هیچ تأییدیهای نمایش داده نخواهد شد.
اطلاعات سهمیه (Quota information)
برای مشاهده سهمیه فعلی خود میتوانید از دستور rclone about remote: استفاده کنید که محدودیت استفاده (سهمیه)، میزان فضای استفادهشده در Google Drive، اندازه تمام فایلهای موجود در سطل زباله (Trash) و فضای اشغالشده توسط سایر سرویسهای Google مانند Gmail را نمایش میدهد. این دستور هیچ آرگومان مسیری نمیپذیرد.
درونریزی/برونریزی اسناد گوگل (Import/Export of google documents)
اسناد Google documents را میتوان از Google Drive برونریزی کرد و در آن بارگذاری نمود.
هنگامی که rclone یک سند Google doc را دانلود میکند، قالبی را بر اساس تنظیمات --drive-export-formats برای دریافت انتخاب میکند. به طور پیشفرض، قالبهای برونریزی docx,xlsx,pptx,svg هستند که یک پیشفرض منطقی برای اسناد قابل ویرایش محسوب میشوند.
هنگام انتخاب یک قالب، rclone فهرست ارائهشده را به ترتیب بررسی میکند و اولین قالب فایلی را از فهرست انتخاب میکند که سند قابلیت برونریزی به آن را داشته باشد. اگر فایل نتواند به هیچیک از قالبهای موجود در فهرست قالبها صادر شود، آنگاه rclone قالبی را از فهرست پیشفرض برمیگزیند.
اگر یک نسخه بایگانی را ترجیح میدهید، میتوانید از --drive-export-formats pdf استفاده کنید، یا اگر قالبهای openoffice/libreoffice را ترجیح میدهید، میتوانید از --drive-export-formats ods,odt,odp استفاده نمایید.
توجه داشته باشید که rclone پسوند را به سند Google doc اضافه میکند؛ بنابراین اگر نام آن در google docs برابر با My Spreadsheet باشد، به صورت My Spreadsheet.xlsx یا My Spreadsheet.pdf و غیره برونریزی خواهد شد.
هنگام درونریزی فایلها به Google Drive، rclone تمام فایلهای دارای پسوندی که در --drive-import-formats آمده باشد را به نوع سند مرتبط با آنها تبدیل میکند. rclone به طور پیشفرض هیچ فایلی را تبدیل نمیکند، زیرا تبدیل یک فرآیند همراه با اتلاف (lossy) است.
تبدیل باید به فایلی با همان پسوند منجر شود، هنگامی که قوانین --drive-export-formats بر روی سند بارگذاریشده اعمال میشوند.
در اینجا چند مثال از تبدیلهای مجاز و غیرمجاز آورده شده است.
| export-formats | import-formats | پسوند بارگذاری | پسوند سند | مجاز |
| odt | odt | odt | odt | بله |
| odt | docx,odt | odt | odt | بله |
| docx | docx | docx | بله | |
| odt | odt | docx | خیر | |
| odt,docx | docx,odt | docx | odt | خیر |
| docx,odt | docx,odt | docx | docx | بله |
| docx,odt | docx,odt | odt | docx | خیر |
این محدودیت را میتوان با مشخص کردن گزینه --drive-allow-import-name-change غیرفعال کرد. هنگام استفاده از این پرچم، rclone میتواند چندین نوع فایل مختلف را که در نهایت به همان نوع سند تبدیل میشوند به طور همزمان تبدیل کند؛ برای مثال با --drive-import-formats docx,odt,txt، تمام فایلهای دارای این پسوندها به سندی تبدیل میشوند که به صورت یک فایل docx نمایش داده میشود. در صورتی که چندین فایل دارای نام پایه (stem) یکسانی باشند، این کار خطر مضاعف رونویسی شدن یک سند را در پی دارد. بسیاری از عملیاتهای rclone این تغییر نام را به هیچ وجه مدیریت نمیکنند. آنها هنگام کپی کردن فایلها فرض را بر یکسان بودن نام میگذارند و در صورت تغییر نام ممکن است فایل را دوباره کپی کنند یا آنها را حذف نمایند.
در اینجا پسوندهای ممکن برای برونریزی به همراه انواع MIME متناظر با آنها آورده شده است. بیشتر این موارد را میتوان برای درونریزی نیز به کار برد، اما موارد بیشتری هم وجود دارند که در اینجا فهرست نشدهاند. برخی از این موارد اضافی ممکن است تنها زمانی در دسترس باشند که سیستمعامل مدخلهای صحیح نوع MIME را فراهم کرده باشد.
این فهرست در هر زمان ممکن است توسط Google Drive تغییر کند و شاید نمایانگر تبدیلات موجود در زمان حاضر نباشد.
| پسوند | نوع MIME | توضیحات |
| bmp | image/bmp | قالب Bitmap ویندوز |
| csv | text/csv | قالب استاندارد CSV برای صفحات گسترده |
| doc | application/msword | فایل کلاسیک Word |
| docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | سند Microsoft Office |
| epub | application/epub+zip | قالب کتاب الکترونیکی (E-book) |
| html | text/html | یک سند HTML |
| jpg | image/jpeg | یک فایل تصویر JPEG |
| json | application/vnd.google-apps.script+json | قالب متنی JSON برای اسکریپتهای Google Apps |
| md | text/markdown | قالب متنی Markdown |
| odp | application/vnd.oasis.opendocument.presentation | ارائه Openoffice |
| ods | application/vnd.oasis.opendocument.spreadsheet | صفحه گسترده Openoffice |
| ods | application/x-vnd.oasis.opendocument.spreadsheet | صفحه گسترده Openoffice |
| odt | application/vnd.oasis.opendocument.text | سند Openoffice |
| application/pdf | قالب Adobe PDF | |
| pjpeg | image/pjpeg | تصویر JPEG تدریجی (Progressive) |
| png | image/png | قالب تصویر PNG |
| pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation | Microsoft Office Powerpoint |
| rtf | application/rtf | قالب متن غنی (Rich Text Format) |
| svg | image/svg+xml | قالب گرافیک برداری مقیاسپذیر (SVG) |
| tsv | text/tab-separated-values | قالب استاندارد TSV برای صفحات گسترده |
| txt | text/plain | متن ساده (Plain Text) |
| wmf | application/x-msmetafile | فایل تصویر برداری ویندوز (Windows Meta File) |
| xls | application/vnd.ms-excel | فایل کلاسیک Excel |
| xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | صفحه گسترده Microsoft Office |
| zip | application/zip | یک فایل ZIP حاوی HTML، تصاویر و CSS |
| اسناد Google همچنین میتوانند به عنوان فایلهای پیوند برونبری شوند. | ||
| این فایلها در صورت باز شدن، پنجرهای از مرورگر را برای وبسایت Google Docs مربوط به آن سند باز میکنند. | ||
| پسوند فایل پیوند باید به عنوان یک پارامتر برای | ||
| --drive-export-formats مشخص شود. | ||
| آنها با تمام Google Documents موجود مطابقت خواهند داشت. | ||
| tab( | ); | |
| l l l. | ||
| پسوند | توضیحات | پشتیبانی سیستمعامل |
| desktop | مدخل دسکتاپ مشخصشده توسط freedesktop.org | Linux |
| link.html | یک سند HTML دارای تغییر مسیر | همه |
| url | فایل پیوند به سبک INI | macOS, Windows |
| webloc | قالب XML ویژهٔ macOS | macOS |
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص به drive (Google Drive) آورده شده است.
--drive-client-id
شناسهٔ کلاینت برنامهٔ گوگل (Google Application Client Id). در صورت استفاده از یک service account یا برای استفاده از client_id مشترک rclone، این مقدار را خالی بگذارید. شناسهٔ مشترک client_id در حال از رده خارج شدن است و در طول سال ۲۰۲۶ از کار خواهد افتاد، بنابراین اکنون ایجاد شناسهٔ اختصاصی خودتان اکیداً توصیه میشود. برای مشاهدهٔ نحوهٔ ایجاد شناسهٔ خود، https://rclone.org/drive/#making-your-own-client-id را ببینید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_DRIVE_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--drive-client-secret
رمز کلاینت برنامهٔ گوگل (Google Application Client Secret). در صورت استفاده از یک service account یا برای استفاده از client_id مشترک rclone، این مقدار را خالی بگذارید. اگر client_id اختصاصی خود را ساختهاید، client secret آن را در اینجا وارد کنید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_DRIVE_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false.SS --drive-scope
فهرستی جداشده با کاما از دامنههای دسترسی (scopes) که rclone باید هنگام درخواست دسترسی از drive استفاده کند.
ویژگیها:
- •
- پیکربندی: scope
- •
- متغیر محیطی: RCLONE_DRIVE_SCOPE
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "drive"
- •
- دسترسی کامل به همه فایلها، به استثنای پوشه Application Data.
- •
- "drive.readonly"
- •
- دسترسی فقطخواندنی به فرادادهها و محتوای فایلها.
- •
- "drive.file"
- •
- دسترسی تنها به فایلهای ایجادشده توسط rclone.
- •
- این فایلها در وبسایت drive قابل مشاهده هستند.
- •
- مجوز فایل با لغو دسترسی برنامه توسط کاربر باطل میشود.
- •
- "drive.appfolder"
- •
- امکان دسترسی خواندن و نوشتن به پوشه Application Data را فراهم میکند.
- •
- این پوشه در وبسایت drive قابل مشاهده نیست.
- •
- "drive.metadata.readonly"
- •
- امکان دسترسی فقطخواندنی به فراداده فایلها را فراهم میکند اما
- •
- هیچ دسترسی برای خواندن یا بارگیری محتوای فایل نمیدهد.
--drive-service-account-file
مسیر فایل JSON اعتبارنامههای Service Account.
در حالت عادی خالی بگذارید. تنها در صورتی مورد نیاز است که بخواهید به جای ورود تعاملی از SA استفاده کنید.
علامت ~ در ابتدای نام فایل و همچنین متغیرهای محیطی نظیر ${RCLONE_CONFIG_DIR} بسط داده خواهند شد.
ویژگیها:
- •
- پیکربندی: service_account_file
- •
- متغیر محیطی: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مخصوص drive (Google Drive) آورده شده است.
--drive-token
توکن دسترسی OAuth در قالب یک JSON blob.
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_DRIVE_TOKEN
- •
- نوع: string
- •
- الزامی: false.SS --drive-auth-url
نشانی اینترنتی (URL) سرور احراز هویت.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_DRIVE_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--drive-token-url
نشانی اینترنتی (URL) سرور توکن.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_DRIVE_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--drive-client-credentials
استفاده از جریان اعتبارسنجی client credentials در OAuth.
این گزینه از جریان Client Credentials در OAUTH2 همانطور که در RFC 6749 توصیف شده است، استفاده خواهد کرد.
توجه داشته باشید که این گزینه توسط همهٔ بکاندها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_DRIVE_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--drive-root-folder-id
شناسهٔ پوشهٔ ریشه. در حالت عادی خالی بگذارید.
برای دسترسی به پوشههای "Computers" (مستندات را ببینید)، یا برای اینکه rclone از یک پوشهٔ غیر ریشه به عنوان نقطهٔ شروع خود استفاده کند، این فیلد را پر کنید.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_DRIVE_ROOT_FOLDER_ID
- •
- نوع: string
- •
- الزامی: false
--drive-service-account-credentials
دادهٔ JSON اعتبارنامههای Service Account.
در حالت عادی خالی بگذارید. تنها در صورتی نیاز است که بخواهید بهجای ورود تعاملی از SA استفاده کنید.
ویژگیها:
- •
- پیکربندی: service_account_credentials
- •
- متغیر محیطی: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
- •
- نوع: string
- •
- الزامی: false.SS --drive-team-drive
شناسه درایو مشترک (Shared Drive یا همان Team Drive).
ویژگیها:
- •
- پیکربندی: team_drive
- •
- متغیر محیطی: RCLONE_DRIVE_TEAM_DRIVE
- •
- نوع: string
- •
- اجباری: false
--drive-auth-owner-only
فقط فایلهایی که در مالکیت کاربر احراز هویتشده هستند در نظر گرفته شوند.
ویژگیها:
- •
- پیکربندی: auth_owner_only
- •
- متغیر محیطی: RCLONE_DRIVE_AUTH_OWNER_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
--drive-use-trash
انتقال فایلها به سطل زباله بهجای حذف دائمی آنها.
پیشفرض برابر با true است، به این معنی که فایلها به سطل زباله فرستاده میشوند. بهجای آن برای حذف دائمی فایلها از --drive-use-trash=false استفاده کنید.
ویژگیها:
- •
- پیکربندی: use_trash
- •
- متغیر محیطی: RCLONE_DRIVE_USE_TRASH
- •
- نوع: bool
- •
- پیشفرض: true
--drive-copy-shortcut-content
کپی سمت سرور محتویات میانبرها بهجای خود میانبر.
هنگام انجام کپی سمت سرور، rclone در حالت عادی میانبرها را بهصورت میانبر کپی میکند.
اگر این پرچم استفاده شود، rclone هنگام انجام کپیهای سمت سرور بهجای خود میانبرها، محتویات میانبرها را کپی خواهد کرد.
ویژگیها:
- •
- پیکربندی: copy_shortcut_content
- •
- متغیر محیطی: RCLONE_DRIVE_COPY_SHORTCUT_CONTENT
- •
- نوع: bool
- •
- پیشفرض: false
--drive-skip-gdocs
نادیده گرفتن اسناد گوگل (Google Docs) در تمام فهرستها.
در صورت تعیین، اسناد گوگل عملاً برای rclone نامرئی میشوند.
ویژگیها:
- •
- پیکربندی: skip_gdocs
- •
- متغیر محیطی: RCLONE_DRIVE_SKIP_GDOCS
- •
- نوع: bool
- •
- پیشفرض: false
--drive-show-all-gdocs
نمایش تمام اسناد گوگل در فهرستها، از جمله مواردی که قابل خروجیگرفتن نیستند.
اگر بدون این پرچم یک کپی سمت سرور را روی Google Form امتحان کنید، با این خطا مواجه خواهید شد:
-
No export formats found for "application/vnd.google-apps.form"
با این حال، افزودن این پرچم امکان کپی سمت سرور فُرم را فراهم میکند.
توجه داشته باشید که rclone در این حالت پسوندی به نام فایلهای اسناد گوگل اضافه نمیکند.
هنگام تلاش برای دانلود اسناد گوگل از این پرچم استفاده نکنید - دانلود آنها توسط rclone با شکست مواجه خواهد شد.
ویژگیها:
- •
- پیکربندی: show_all_gdocs
- •
- متغیر محیطی: RCLONE_DRIVE_SHOW_ALL_GDOCS
- •
- نوع: bool
- •
- پیشفرض: false.SS --drive-skip-checksum-gphotos
صرفنظر کردن از مجموع وارسی (checksum) تنها برای عکسها و ویدیوهای Google.
اگر هنگام انتقال عکسها یا ویدیوهای Google با خطاهای مجموع وارسی مواجه میشوید، از این گزینه استفاده کنید.
تنظیم این پرچم باعث میشود که عکسها و ویدیوهای Google مجموع وارسی خالی برگردانند.
عکسهای Google با قرار داشتن در فضای "photos" شناسایی میشوند.
خرابی مجموعهای وارسی به این دلیل است که Google تصویر/ویدیو را تغییر میدهد اما مجموع وارسی آن را بهروزرسانی نمیکند.
ویژگیها:
- •
- پیکربندی: skip_checksum_gphotos
- •
- متغیر محیطی: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
- •
- نوع: bool
- •
- پیشفرض: false
--drive-shared-with-me
فقط نمایش فایلهایی که با من به اشتراک گذاشته شدهاند.
به rclone دستور میدهد که روی پوشه "Shared with me" شما عمل کند (جایی که Google Drive امکان دسترسی به فایلها و پوشههایی را میدهد که دیگران با شما به اشتراک گذاشتهاند).
این گزینه هم با دستورهای "list" (مانند lsd، lsl و غیره) و هم با دستورهای "copy" (مانند copy، sync و غیره)، و همچنین با تمامی دستورهای دیگر کار میکند.
ویژگیها:
- •
- پیکربندی: shared_with_me
- •
- متغیر محیطی: RCLONE_DRIVE_SHARED_WITH_ME
- •
- نوع: bool
- •
- پیشفرض: false
--drive-trashed-only
فقط نمایش فایلهایی که در سطل زباله قرار دارند.
این گزینه فایلهای درون سطل زباله را در ساختار دایرکتوری اصلی آنها نمایش میدهد.
ویژگیها:
- •
- پیکربندی: trashed_only
- •
- متغیر محیطی: RCLONE_DRIVE_TRASHED_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
--drive-starred-only
فقط نمایش فایلهایی که ستارهدار هستند.
ویژگیها:
- •
- پیکربندی: starred_only
- •
- متغیر محیطی: RCLONE_DRIVE_STARRED_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
--drive-formats
منسوخشده: به export_formats مراجعه کنید.
ویژگیها:
- •
- پیکربندی: formats
- •
- متغیر محیطی: RCLONE_DRIVE_FORMATS
- •
- نوع: string
- •
- الزامی: false.SS --drive-export-formats
فهرستی جداشده با کاما از قالبهای ترجیحی برای بارگیری اسناد Google Docs.
ویژگیها:
- •
- پیکربندی: export_formats
- •
- متغیر محیطی: RCLONE_DRIVE_EXPORT_FORMATS
- •
- نوع: string
- •
- پیشفرض: "docx,xlsx,pptx,svg"
--drive-import-formats
فهرستی جداشده با کاما از قالبهای ترجیحی برای بارگذاری اسناد Google Docs.
ویژگیها:
- •
- پیکربندی: import_formats
- •
- متغیر محیطی: RCLONE_DRIVE_IMPORT_FORMATS
- •
- نوع: string
- •
- الزامی: false
--drive-allow-import-name-change
اجازه تغییر نوع فایل هنگام بارگذاری اسناد Google Docs.
بهعنوان مثال، file.doc به file.docx. این امر باعث سردرگمی ابزار sync شده و هر بار فایل مجدداً بارگذاری میشود.
ویژگیها:
- •
- پیکربندی: allow_import_name_change
- •
- متغیر محیطی: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
- •
- نوع: bool
- •
- پیشفرض: false
--drive-use-created-date
استفاده از تاریخ ایجاد فایل به جای تاریخ تغییر.
زمانی کاربرد دارد که دادهها را بارگیری میکنید و میخواهید به جای تاریخ آخرین تغییر، از تاریخ ایجاد فایل استفاده شود.
هشدار: این پرچم ممکن است پیامدهای غیرمنتظرهای در بر داشته باشد.
هنگام بارگذاری در درایو شما، تمام فایلها بازنویسی خواهند شد مگر اینکه از زمان ایجادشان تغییری نکرده باشند؛ و عکس این حالت هنگام بارگیری رخ خواهد داد. با استفاده از پرچم "--checksum" میتوان از این اثر جانبی جلوگیری کرد.
این قابلیت برای حفظ تاریخ ثبت عکسها بهصورت ثبتشده در Google Photos پیادهسازی شده است. ابتدا باید گزینه "Create a Google Photos folder" را در تنظیمات Google Drive خود علامت بزنید. سپس میتوانید عکسها را بهصورت محلی کپی کرده یا انتقال دهید و تاریخ گرفتهشدن (ایجاد) تصویر را به عنوان تاریخ تغییر فایل تنظیم کنید.
ویژگیها:
- •
- پیکربندی: use_created_date
- •
- متغیر محیطی: RCLONE_DRIVE_USE_CREATED_DATE
- •
- نوع: bool
- •
- پیشفرض: false
--drive-use-shared-date
استفاده از تاریخ بهاشتراکگذاری فایل به جای تاریخ تغییر.
توجه داشته باشید که همانند "--drive-use-created-date"، این پرچم نیز ممکن است هنگام بارگذاری یا بارگیری فایلها پیامدهای غیرمنتظرهای داشته باشد.
اگر هر دو پرچم و "--drive-use-created-date" تنظیم شده باشند، از تاریخ ایجاد استفاده خواهد شد.
ویژگیها:
- •
- پیکربندی: use_shared_date
- •
- متغیر محیطی: RCLONE_DRIVE_USE_SHARED_DATE
- •
- نوع: bool
- •
- پیشفرض: false.SS --drive-list-chunk
اندازه تکههای فهرستبندی بین ۱۰۰ تا ۱۰۰۰، مقدار ۰ برای غیرفعال کردن.
ویژگیها:
- •
- پیکربندی: list_chunk
- •
- متغیر محیطی: RCLONE_DRIVE_LIST_CHUNK
- •
- نوع: int
- •
- پیشفرض: 1000
--drive-impersonate
جعل هویت این کاربر هنگام استفاده از یک service account.
ویژگیها:
- •
- پیکربندی: impersonate
- •
- متغیر محیطی: RCLONE_DRIVE_IMPERSONATE
- •
- نوع: string
- •
- الزامی: false
--drive-upload-cutoff
حد آستانه برای تغییر وضعیت به بارگذاری تکهای (chunked upload).
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_DRIVE_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 8Mi
--drive-chunk-size
اندازه تکه بارگذاری.
باید توانی از ۲ و بزرگتر یا مساوی با 256k باشد.
بزرگتر کردن این مقدار کارایی را بهبود میبخشد، اما توجه داشته باشید که هر تکه به ازای هر انتقال در حافظه بافر میشود.
کاهش این مقدار مصرف حافظه را کم میکند اما کارایی را کاهش خواهد داد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_DRIVE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 8Mi
--drive-acknowledge-abuse
برای مجاز کردن بارگیری فایلهایی تنظیم میشود که خطای cannotDownloadAbusiveFile را برمیگردانند.
اگر بارگیری یک فایل خطای "This file has been identified as malware or spam and cannot be downloaded" را با کد خطای "cannotDownloadAbusiveFile" برگرداند، این گزینه را به rclone بدهید تا مشخص شود خطرات بارگیری فایل را پذیرفتهاید و rclone فایل را در هر صورت بارگیری خواهد کرد.
توجه داشته باشید که اگر از service account استفاده میکنید، برای کارکرد این گزینه به دسترسی Manager (و نه Content Manager) نیاز خواهد بود. اگر SA دسترسی لازم را نداشته باشد، Google صرفاً این پرچم را نادیده میگیرد.
ویژگیها:
- •
- پیکربندی: acknowledge_abuse
- •
- متغیر محیطی: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
- •
- نوع: bool
- •
- پیشفرض: false.SS --drive-keep-revision-forever
نگهداری بازبینی اصلی (head revision) جدید هر فایل برای همیشه.
ویژگیها:
- •
- پیکربندی: keep_revision_forever
- •
- متغیر محیطی: RCLONE_DRIVE_KEEP_REVISION_FOREVER
- •
- نوع: bool
- •
- پیشفرض: false
--drive-size-as-quota
نمایش اندازهها بر مبنای میزان مصرف سهمیه ذخیرهسازی، نه اندازه واقعی.
نمایش اندازه یک فایل بر مبنای سهمیه ذخیرهسازی مصرفشده. این مقدار برابر با نسخه فعلی بهعلاوه هر نسخه قدیمیتری است که روی نگهداری همیشگی تنظیم شده باشد.
هشدار: این پرچم ممکن است پیامدهای غیرمنتظرهای در پی داشته باشد.
تنظیم این پرچم در پیکربندی شما توصیه نمیشود - کاربرد پیشنهادی، استفاده از شکل پرچم --drive-size-as-quota تنها هنگام اجرای rclone ls/lsl/lsf/lsjson/etc است.
اگر از این پرچم برای همگامسازی استفاده میکنید (که توصیه نمیشود)، در این صورت باید از --ignore size نیز استفاده کنید.
ویژگیها:
- •
- پیکربندی: size_as_quota
- •
- متغیر محیطی: RCLONE_DRIVE_SIZE_AS_QUOTA
- •
- نوع: bool
- •
- پیشفرض: false
--drive-v2-download-min-size
در صورتی که حجم اشیاء بیشتر باشد، از drive v2 API برای بارگیری استفاده میکند.
ویژگیها:
- •
- پیکربندی: v2_download_min_size
- •
- متغیر محیطی: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: off
--drive-pacer-min-sleep
حداقل زمان توقف (sleep) بین فراخوانیهای API.
ویژگیها:
- •
- پیکربندی: pacer_min_sleep
- •
- متغیر محیطی: RCLONE_DRIVE_PACER_MIN_SLEEP
- •
- نوع: Duration
- •
- پیشفرض: 100ms
--drive-pacer-burst
تعداد فراخوانیهای مجاز API بدون ایجاد توقف.
ویژگیها:
- •
- پیکربندی: pacer_burst
- •
- متغیر محیطی: RCLONE_DRIVE_PACER_BURST
- •
- نوع: int
- •
- پیشفرض: 100
--drive-server-side-across-configs
منسوخ شده: بهجای آن از --server-side-across-configs استفاده کنید.
اجازه به عملیاتهای سمت سرور (مانند copy) برای کار میان پیکربندیهای مختلف drive.
این ویژگی میتواند زمانی که مایل به انجام یک کپی سمت سرور بین دو Google Drive مختلف هستید مفید باشد. توجه داشته باشید که این گزینه بهطور پیشفرض فعال نیست، زیرا بهسادگی نمیتوان تشخیص داد که آیا میان هر دو پیکربندی دلخواهی کار خواهد کرد یا خیر.
ویژگیها:
- •
- پیکربندی: server_side_across_configs
- •
- متغیر محیطی: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
- •
- نوع: bool
- •
- پیشفرض: false.SS --drive-disable-http2
غیرفعال کردن استفاده drive از http2.
در حال حاضر یک مشکل حلنشده میان بکاند Google Drive و HTTP/2 وجود دارد. از این رو HTTP/2 بهطور پیشفرض برای بکاند drive غیرفعال است اما میتواند از اینجا دوباره فعال شود. هنگامی که این مشکل برطرف شود، این پرچم حذف خواهد شد.
ببینید: https://github.com/rclone/rclone/issues/3631
ویژگیها:
- •
- پیکربندی: disable_http2
- •
- متغیر محیطی: RCLONE_DRIVE_DISABLE_HTTP2
- •
- نوع: bool
- •
- پیشفرض: true
--drive-stop-on-upload-limit
مهلک تلقی کردن خطاهای مربوط به سقف بارگذاری.
در زمان نگارش این متن، تنها امکان بارگذاری ۷۵۰ GiB داده در روز در Google Drive وجود دارد (این یک محدودیت مستند نشده است). هنگامی که به این سقف رسیده شود، Google Drive پیام خطای کمی متفاوت تولید میکند. هنگامی که این پرچم تنظیم شود، باعث میشود این خطاها مهلک در نظر گرفته شوند. این خطاها همگامسازی در حال انجام را متوقف خواهند کرد.
توجه داشته باشید که این تشخیص به رشتههای پیام خطا متکی است که Google آنها را مستند نمیکند؛ بنابراین ممکن است در آینده با مشکل مواجه شود.
ببینید: https://github.com/rclone/rclone/issues/3857
ویژگیها:
- •
- پیکربندی: stop_on_upload_limit
- •
- متغیر محیطی: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
- •
- نوع: bool
- •
- پیشفرض: false
--drive-stop-on-download-limit
مهلک تلقی کردن خطاهای مربوط به سقف بارگیری.
در زمان نگارش این متن، تنها امکان بارگیری ۱۰ TiB داده در روز از Google Drive وجود دارد (این یک محدودیت مستند نشده است). هنگامی که به این سقف رسیده شود، Google Drive پیام خطای کمی متفاوت تولید میکند. هنگامی که این پرچم تنظیم شود، باعث میشود این خطاها مهلک در نظر گرفته شوند. این خطاها همگامسازی در حال انجام را متوقف خواهند کرد.
توجه داشته باشید که این تشخیص به رشتههای پیام خطا متکی است که Google آنها را مستند نمیکند؛ بنابراین ممکن است در آینده با مشکل مواجه شود.
ویژگیها:
- •
- پیکربندی: stop_on_download_limit
- •
- متغیر محیطی: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT
- •
- نوع: bool
- •
- پیشفرض: false
--drive-skip-shortcuts
در صورت تنظیم، صرفنظر کردن از فایلهای میانبر (shortcut).
در حالت عادی rclone ارجاع فایلهای میانبر را دنبال میکند (dereference) و باعث میشود بهگونهای بهنظر برسند که گویی فایل اصلی هستند (بخش shortcuts را ببینید). اگر این پرچم تنظیم شود، rclone فایلهای میانبر را کاملاً نادیده خواهد گرفت.
ویژگیها:
- •
- پیکربندی: skip_shortcuts
- •
- متغیر محیطی: RCLONE_DRIVE_SKIP_SHORTCUTS
- •
- نوع: bool
- •
- پیشفرض: false.SS --drive-skip-dangling-shortcuts
اگر تنظیم شود، فایلهای میانبر معلق (dangling shortcut) نادیده گرفته میشوند.
اگر این گزینه تنظیم شود، rclone هیچ میانبر معلقی را در فهرستبندیها نمایش نخواهد داد.
ویژگیها:
- •
- پیکربندی: skip_dangling_shortcuts
- •
- متغیر محیطی: RCLONE_DRIVE_SKIP_DANGLING_SHORTCUTS
- •
- نوع: bool
- •
- پیشفرض: false
--drive-resource-key
کلید منبع (Resource key) برای دسترسی به فایلی که با پیوند به اشتراک گذاشته شده است.
اگر نیاز به دسترسی به فایلهای به اشتراک گذاشتهشده با پیوندی مانند این دارید:
-
https://drive.google.com/drive/folders/XXX?resourcekey=YYY&usp=sharing
آنگاه باید از بخش نخست یعنی "XXX" به عنوان "root_folder_id" و از بخش دوم یعنی "YYY" به عنوان "resource_key" استفاده کنید؛ در غیر این صورت هنگام تلاش برای دسترسی به پوشه با خطای 404 not found مواجه خواهید شد.
ببینید: https://developers.google.com/drive/api/guides/resource-keys
این الزامِ کلید منبع تنها برای زیرمجموعهای از فایلهای قدیمی اعمال میشود.
همچنین توجه داشته باشید به نظر میرسد یکبار باز کردن پوشه در رابط تحت وب (با همان کاربری که rclone را با آن احراز هویت کردهاید) کافی است تا دیگر نیازی به کلید منبع نباشد.
ویژگیها:
- •
- پیکربندی: resource_key
- •
- متغیر محیطی: RCLONE_DRIVE_RESOURCE_KEY
- •
- نوع: string
- •
- ضروری: false
--drive-fast-list-bug-fix
دور زدن یک اشکال در فهرستبندی Google Drive.
بهطور معمول rclone هنگام استفاده از --fast-list (ListR) اشکالی را در Google Drive دور میزند که در آن گاهی اوقات جستجوی "(A in parents) or (B in parents)" هیچ نتیجهای برنمیگرداند. شمارههای #3114، #4289 و https://issuetracker.google.com/issues/149522397 را ببینید.
برنامه rclone این مورد را از طریق نیافتن هیچ موردی در بیش از یک پوشه هنگام فهرستبندی تشخیص میدهد و آنها را به صورت فهرستهایی از پوشههای مجزا دوباره امتحان میکند.
این بدان معناست که اگر تعداد زیادی پوشه خالی داشته باشید، rclone در نهایت همه آنها را به صورت تکتک فهرست میکند و این امر میتواند فراخوانیهای API بسیار بیشتری مصرف کند.
این پرچم امکان غیرفعال کردن راهکار دور زدن را فراهم میکند. استفاده از آن در حالت عادی توصیه نمیشود - مگر در موارد خاصی که با مشکل مواجه شدهاید، مانند وجود تعداد زیادی پوشه خالی.
ویژگیها:
- •
- پیکربندی: fast_list_bug_fix
- •
- متغیر محیطی: RCLONE_DRIVE_FAST_LIST_BUG_FIX
- •
- نوع: bool
- •
- پیشفرض: true
--drive-metadata-owner
کنترل این که آیا مالک (owner) باید در متادیتا خوانده یا نوشته شود.
مالک بخشی استاندارد از متادیتای فایل است، بنابراین خواندن آن آسان است. اما همیشه تعیین مالک از طریق متادیتا مطلوب نیست.
توجه داشته باشید که نمیتوانید مالک را در Shared Drives تنظیم کنید، و تعیین مالکیت باعث ارسال یک رایانامه به مالک جدید میشود (این مورد قابل غیرفعالسازی نیست)، و همچنین نمیتوانید مالکیت را به فردی خارج از سازمان خود منتقل کنید.
ویژگیها:
- •
- پیکربندی: metadata_owner
- •
- متغیر محیطی: RCLONE_DRIVE_METADATA_OWNER
- •
- نوع: Bits
- •
- پیشفرض: read
- •
- مثالها:
- •
- "off"
- •
- مقدار نه خوانده شود و نه نوشته شود
- •
- "read"
- •
- فقط مقدار خوانده شود
- •
- "write"
- •
- فقط مقدار نوشته شود
- •
- "failok"
- •
- اگر نوشتن با شکست مواجه شد، فقط خطاها ثبت شوند، فرآیند انتقال ناموفق نشود
- •
- "read,write"
- •
- مقدار هم خوانده و هم نوشته شود.
کنترل اینکه آیا مجوزها باید در فراداده خوانده یا نوشته شوند.
خواندن فرادادهٔ مجوزها از فایلها سریع انجام میشود، اما تنظیم مجوزها از روی فراداده همیشه مطلوب نیست.
توجه داشته باشید که rclone هرگونه مجوز موروثی در Shared Drives و هرگونه مجوز مالک در My Drives را نادیده میگیرد، زیرا این موارد در فرادادهٔ مالک تکرار شدهاند.
ویژگیها:
- •
- پیکربندی: metadata_permissions
- •
- متغیر محیطی: RCLONE_DRIVE_METADATA_PERMISSIONS
- •
- نوع: Bits
- •
- پیشفرض: off
- •
- مثالها:
- •
- "off"
- •
- مقدار خوانده یا نوشته نشود
- •
- "read"
- •
- فقط مقدار خوانده شود
- •
- "write"
- •
- فقط مقدار نوشته شود
- •
- "failok"
- •
- در صورت شکست در نوشتن، تنها خطاها ثبت شوند و فرایند انتقال با شکست مواجه نشود
- •
- "read,write"
- •
- مقدار خوانده و نوشته شود.
--drive-metadata-labels
کنترل اینکه آیا برچسبها باید در فراداده خوانده یا نوشته شوند.
خواندن فرادادهٔ برچسبها از فایلها نیازمند یک تراکنش API اضافی است و سرعت فهرستکردن را کاهش میدهد. همچنین تنظیم برچسبها از روی فراداده همیشه مطلوب نیست.
قالب برچسبها در مستندات API درایو در نشانی https://developers.google.com/drive/api/reference/rest/v3/Label مستند شده است - rclone صرفاً یک خروجی JSON از این قالب ارائه میدهد.
هنگام تنظیم برچسبها، برچسب و فیلدها باید از قبل وجود داشته باشند - rclone آنها را ایجاد نخواهد کرد. این بدان معناست که اگر برچسبها را بین دو حساب کاربری مختلف منتقل میکنید، باید برچسبها را از قبل ایجاد کرده و از نگاشتکنندهٔ فراداده (metadata mapper) برای تبدیل شناسهها بین دو حساب استفاده نمایید.
ویژگیها:
- •
- پیکربندی: metadata_labels
- •
- متغیر محیطی: RCLONE_DRIVE_METADATA_LABELS
- •
- نوع: Bits
- •
- پیشفرض: off
- •
- مثالها:
- •
- "off"
- •
- مقدار خوانده یا نوشته نشود
- •
- "read"
- •
- فقط مقدار خوانده شود
- •
- "write"
- •
- فقط مقدار نوشته شود
- •
- "failok"
- •
- در صورت شکست در نوشتن، تنها خطاها ثبت شوند و فرایند انتقال با شکست مواجه نشود
- •
- "read,write"
- •
- مقدار خوانده و نوشته شود.
تعیین اینکه آیا درخواست باید قوانین دسترسی گسترده (expansive access) را اعمال کند یا خیر.
از فوریه ۲۰۲۶ این پرچم بهطور پیشفرض فعال خواهد بود، بنابراین میتوان از آن پیش از موعد برای آزمایش استفاده کرد.
مشاهده کنید: https://developers.google.com/workspace/drive/api/guides/limited-expansive-access
ویژگیها:
- •
- پیکربندی: metadata_enforce_expansive_access
- •
- متغیر محیطی: RCLONE_DRIVE_METADATA_ENFORCE_EXPANSIVE_ACCESS
- •
- نوع: bool
- •
- پیشفرض: false
--drive-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) مشاهده کنید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_DRIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: InvalidUtf8
--drive-env-auth
دریافت اعتبارنامههای IAM از زمان اجرا (متغیرهای محیطی یا در صورت نبود آنها، فرادادههای نمونه).
تنها در صورتی اعمال میشود که service_account_file و service_account_credentials خالی باشند.
ویژگیها:
- •
- پیکربندی: env_auth
- •
- متغیر محیطی: RCLONE_DRIVE_ENV_AUTH
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "false"
- •
- وارد کردن اعتبارنامهها در مرحله بعد.
- •
- "true"
- •
- دریافت اعتبارنامههای GCP IAM از محیط (متغیرهای محیطی یا IAM).
--drive-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_DRIVE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false.SS متاداده (Metadata)
متاداده کاربر در فیلد properties شیء drive ذخیره میشود.
متاداده روی فایلها و دایرکتوریها پشتیبانی میشود.
در اینجا موارد ممکن متاداده سیستم برای بکاند drive آورده شده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| btime | زمان ایجاد (تولد) فایل با دقت میلیثانیه. توجه داشته باشید که این مورد تنها در بارگذاریهای تازه قابل نوشتن است - برای بهروزرسانیها قابل نوشتن نیست. | RFC 3339 | 2006-01-02T15:04:05.999Z07:00 | N |
| content-type | نوع MIME فایل. | string | text/plain | N |
| copy-requires-writer-permission | اینکه آیا گزینههای کپی، چاپ یا بارگیری این فایل باید برای خوانندگان و نظردهندگان غیرفعال شوند یا خیر. | boolean | true | N |
| description | توضیح کوتاهی درباره فایل. | string | Contract for signing | N |
| folder-color-rgb | رنگ یک پوشه یا میانبر پوشه بهصورت یک رشته هگز RGB. | string | 881133 | N |
| labels | برچسبهای ضمیمهشده به این فایل در خروجی JSON از قالب Google Drive. فعالسازی با --drive-metadata-labels. | JSON | [] | N |
| mtime | زمان آخرین تغییر با دقت میلیثانیه. | RFC 3339 | 2006-01-02T15:04:05.999Z07:00 | N |
| owner | مالک فایل. معمولاً یک نشانی ایمیل. فعالسازی با --drive-metadata-owner. | string | user@example.com | N |
| permissions | مجوزها در خروجی JSON از قالب Google Drive. در درایوهای اشتراکی، این موارد تنها در صورتی وجود خواهند داشت که بهارثرسیده نباشند. فعالسازی با --drive-metadata-permissions. | JSON | {} | N |
| starred | اینکه آیا کاربر فایل را ستارهدار کرده است یا خیر. | boolean | false | N |
| viewed-by-me | اینکه آیا فایل توسط این کاربر مشاهده شده است یا خیر. | boolean | true | Y |
| writers-can-share | اینکه آیا کاربرانی که فقط مجوز نوشتن دارند میتوانند مجوزهای فایل را تغییر دهند یا خیر. برای موارد موجود در درایوهای اشتراکی مقداردهی نمیشود و نادیده گرفته میشود. | boolean | false | N |
برای اطلاعات بیشتر مستندات متاداده (https://rclone.org/docs/#metadata) را ببینید..SS دستورهای backend
در اینجا دستورهای مخصوص backend درایو (drive) آورده شده است.
اجرای آنها با:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی دریافت میکند.
برای اطلاعات بیشتر درباره نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این موارد را میتوان روی یک backend در حال اجرا با استفاده از دستور rc به نام backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
get
دستور get برای واکشی پارامترهای پیکربندی drive.
-
rclone backend get remote: [options] [<arguments>+]
این یک دستور get است که برای واکشی پارامترهای مختلف پیکربندی drive استفاده میشود.
مثالهای کاربرد:
-
rclone backend get drive: [-o service_account_file] [-o chunk_size] rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size]
گزینهها:
- •
- "chunk_size": نمایش اندازه فعلی قطعه بارگذاری (chunk size).
- •
- "service_account_file": نمایش فایل حساب سرویس (service account) فعلی.
set
دستور set برای بهروزرسانی پارامترهای پیکربندی drive.
-
rclone backend set remote: [options] [<arguments>+]
این یک دستور set است که برای بهروزرسانی پارامترهای مختلف پیکربندی drive استفاده میشود.
مثالهای کاربرد:
-
rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864] rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
گزینهها:
- •
- "chunk_size": بهروزرسانی اندازه فعلی قطعه بارگذاری (chunk size).
- •
- "service_account_file": بهروزرسانی فایل حساب سرویس (service account) فعلی.
shortcut
ایجاد میانبر از فایلها یا دایرکتوریها.
-
rclone backend shortcut remote: [options] [<arguments>+]
این دستور میانبرهایی از فایلها یا دایرکتوریها ایجاد میکند.
مثالهای کاربرد:
-
rclone backend shortcut drive: source_item destination_shortcut rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut
در مثال اول، یک میانبر از "source_item" (که میتواند یک فایل یا یک دایرکتوری باشد) به "destination_shortcut" ایجاد میشود. مسیرهای "source_item" و "destination_shortcut" باید مسیرهای نسبی از "drive:" باشند.
در مثال دوم، یک میانبر از "source_item" به صورت نسبی به "drive:" به "destination_shortcut" به صورت نسبی به "drive2:" ایجاد میشود. اگر کاربری که با "drive2:" احراز هویت شده اجازه خواندن فایلها از "drive:" را نداشته باشد، این دستور ممکن است با خطای دسترسی شکست بخورد.
گزینهها:
- •
- "target": ریموت مقصد اختیاری برای ایجاد میانبر در آن..SS drives
فهرست کردن درایوهای اشتراکی (Shared Drives) موجود برای این حساب کاربری.
-
rclone backend drives remote: [options] [<arguments>+]
این دستور درایوهای اشتراکی (Team Drives) موجود برای این حساب کاربری را فهرست میکند.
مثال استفاده:
-
rclone backend [-o config] drives drive:
این دستور فهرستی از اشیاء به قالب JSON شبیه به این بازمیگرداند:
-
[ { "id": "0ABCDEF-01234567890", "kind": "drive#teamDrive", "name": "My Drive" }, { "id": "0ABCDEFabcdefghijkl", "kind": "drive#teamDrive", "name": "Test Drive" } ]
با پارامتر -o config، خروجی به قالبی مناسب برای افزودن به یک فایل پیکربندی تولید میشود تا برای تمام درایوهای پیداشده نامهای مستعار (alias) و یک درایو ترکیبی بسازد.
-
[My Drive] type = alias remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=: [Test Drive] type = alias remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=: [AllDrives] type = combine upstreams = "My Drive=My Drive:" "Test Drive=Test Drive:"
افزودن این موارد به فایل پیکربندی rclone باعث میشود درایوهای تیمی ذکرشده با نامهای مستعار نمایشدادهشده قابل دسترس باشند. هر نویسه غیرمجاز با "_" جایگزین میشود و به نامهای تکراری شماره پسوند اضافه خواهد شد. این کار همچنین یک ریموت به نام AllDrives اضافه میکند که تمام درایوهای اشتراکی را به صورت ترکیبشده در یک درخت دایرکتوری نمایش میدهد.
untrash
بازیابی فایلها و دایرکتوریها از سطل زباله.
-
rclone backend untrash remote: [options] [<arguments>+]
این دستور تمام فایلها و دایرکتوریهای موجود در دایرکتوری ارائهشده را به صورت بازگشتی از سطل زباله بازیابی میکند.
مثال استفاده:
-
rclone backend untrash drive:directory rclone backend --interactive untrash drive:directory subdir
این دستور یک دایرکتوری اختیاری برای بازیابی دریافت میکند که استفاده از آن را از طریق API آسانتر میسازد.
از پرچمهای --interactive/-i یا --dry-run برای مشاهده آنچه بازیابی خواهد شد، پیش از اجرای واقعی، استفاده کنید.
نتیجه:
-
{ "Untrashed": 17, "Errors": 0 }
کپی فایلها بر اساس شناسه (ID).
-
rclone backend copyid remote: [options] [<arguments>+]
این دستور فایلها را بر اساس شناسه (ID) کپی میکند.
مثالهای کاربرد:
-
rclone backend copyid drive: ID path rclone backend copyid drive: ID1 path1 ID2 path2
این دستور، فایل drive با شناسه ارائهشده را به مسیر مشخصشده (یک مسیر rclone که درون برنامه به rclone copyto فرستاده میشود) کپی میکند. جفتهای شناسه (ID) و مسیر میتوانند تکرار شوند.
مسیر باید به یک / ختم شود تا نشان دهد فایل با همان نام فعلی در این دایرکتوری کپی شود. اگر به / ختم نشود، آخرین بخش مسیر به عنوان نام فایل استفاده خواهد شد.
اگر مقصد یک backend از نوع drive باشد، در صورت امکان کپی سمت سرور (server-side copying) انجام خواهد شد.
پیش از اقدام به کپی، از پرچمهای --interactive/-i یا --dry-run برای مشاهده آنچه کپی خواهد شد استفاده کنید.
moveid
انتقال فایلها بر اساس شناسه (ID).
-
rclone backend moveid remote: [options] [<arguments>+]
این دستور فایلها را بر اساس شناسه (ID) منتقل میکند.
مثالهای کاربرد:
-
rclone backend moveid drive: ID path rclone backend moveid drive: ID1 path1 ID2 path2
این دستور، فایل drive با شناسه ارائهشده را به مسیر مشخصشده (یک مسیر rclone که درون برنامه به rclone moveto فرستاده میشود) منتقل میکند.
مسیر باید به یک / ختم شود تا نشان دهد فایل با همان نام فعلی به این دایرکتوری منتقل شود. اگر به / ختم نشود، آخرین بخش مسیر به عنوان نام فایل استفاده خواهد شد.
اگر مقصد یک backend از نوع drive باشد، در صورت امکان انتقال سمت سرور (server-side moving) انجام خواهد شد.
پیش از انتقال، از پرچمهای --interactive/-i یا --dry-run برای مشاهده آنچه جابهجا خواهد شد استفاده کنید.
exportformats
تخلیه (dump) قالبهای صادرات (export) برای مقاصد اشکالزدایی.
-
rclone backend exportformats remote: [options] [<arguments>+]
importformats
تخلیه (dump) قالبهای واردات (import) برای مقاصد اشکالزدایی.
-
rclone backend importformats remote: [options] [<arguments>+]
فهرست کردن فایلها با استفاده از زبان پرسوجوی Google Drive.
-
rclone backend query remote: [options] [<arguments>+]
این دستور فایلها را بر اساس یک پرسوجو فهرست میکند.
مثال کاربرد:
-
rclone backend query drive: query
نحو پرسوجو در Google Drive Search query terms and operators (https://developers.google.com/drive/api/guides/ref-search-terms) مستند شده است.
برای مثال:
-
rclone backend query drive: "'0ABc9DEFGHIJKLMNop0QRatUVW3X' in parents and name contains 'foo'"
اگر پرسوجو شامل نویسههای لفظی ' یا باشد، این نویسهها باید با نویسههای گریز داده (escape) شوند. "'" به "'" و "" به "\" تبدیل میشود؛ برای مثال برای مطابقت با فایلی با نام "foo ' .txt":
-
rclone backend query drive: "name = 'foo \' \\\.txt'"
نتیجه یک آرایهٔ JSON از موارد منطبق است؛ برای مثال:
-
[ { "createdTime": "2017-06-29T19:58:28.537Z", "id": "0AxBe_CDEF4zkGHI4d0FjYko2QkD", "md5Checksum": "68518d16be0c6fbfab918be61d658032", "mimeType": "text/plain", "modifiedTime": "2024-02-02T10:40:02.874Z", "name": "foo ' \\.txt", "parents": [ "0BxAe_BCDE4zkFGZpcWJGek0xbzC" ], "resourceKey": "0-ABCDEFGHIXJQpIGqBJq3MC", "sha1Checksum": "8f284fa768bfb4e45d076a579ab3905ab6bfa893", "size": "311", "webViewLink": "https://drive.google.com/file/d/0AxBe_CDEF4zkGHI4d0FjYko2QkD/view?usp=drivesdk\u0026resourcekey=0-ABCDEFGHIXJQpIGqBJq3MC" } ] ```console ### rescue Rescue or delete any orphaned files. ```console rclone backend rescue remote: [options] [<arguments>+]
این دستور هرگونه فایل یا دایرکتوری یتیم (orphaned) را نجات داده یا حذف میکند.
گاهی ممکن است فایلها در Google Drive یتیم شوند. این بدان معناست که آنها دیگر در هیچ پوشهای در Google Drive قرار ندارند.
این دستور آن فایلها را یافته و یا به دایرکتوری مشخصشده توسط شما نجات میدهد (منتقل میکند) یا آنها را حذف مینماید.
این دستور به ۳ روش قابل استفاده است.
نخست، فهرست کردن تمام فایلهای یتیم:
-
rclone backend rescue drive:
دوم، نجات دادن تمام فایلهای یتیم به دایرکتوری مشخصشده:
-
rclone backend rescue drive: "relative/path/to/rescue/directory"
برای مثال، جهت نجات تمام فایلهای یتیم به دایرکتوریای به نام "Orphans" در بالاترین سطح:
-
rclone backend rescue drive: Orphans
سوم، حذف تمام فایلهای یتیم و فرستادن به سطل زباله:
-
rclone backend rescue drive: -o delete
سرویس Drive دارای محدودیتهای نرخ تبادل (rate limiting) نسبتاً زیادی است. این امر باعث میشود rclone تنها به انتقال حدود ۲ فایل در هر ثانیه محدود شود. فایلهای تکی ممکن است بسیار سریعتر و با سرعتهای صدها مگابایت بر ثانیه (MiB/s) انتقال یابند، اما انتقال تعداد زیادی فایل کوچک ممکن است زمان زیادی ببرد.
کپیهای سمت سرور (Server-side copies) نیز مشمول محدودیت نرخ جداگانهای هستند. اگر با خطاهای «User rate limit exceeded» مواجه شدید، دستکم ۲۴ ساعت صبر کرده و دوباره تلاش کنید. اگر ترجیح میدهید، میتوانید با استفاده از --disable copy کپیهای سمت سرور را غیرفعال کنید تا فایلها به جای کپی مستقیم، دانلود و سپس آپلود شوند.
محدودیتهای Google Docs
اسناد Google Docs در دستوراتی مانند rclone ls، rclone ncdu و غیره با اندازهٔ -1 و در هر ابزاری که از لایهٔ VFS استفاده میکند، مانند rclone mount و rclone serve، با اندازهٔ 0 نمایش داده میشوند. هنگام محاسبهٔ مجموع مقادیر دایرکتوری، برای نمونه در rclone size و rclone ncdu، آنها به عنوان فایلهای خالی به شمار میآیند.
این موضوع به این دلیل است که rclone نمیتواند اندازهٔ اسناد Google Docs را بدون دانلود کردن آنها تشخیص دهد.
اسناد Google Docs با دستورات rclone sync، rclone copy و غیره به درستی انتقال مییابند، چرا که rclone میداند هنگام انتقال باید اندازهٔ آنها را نادیده بگیرد.
با این حال یک پیامد نامطلوب این امر آن است که ممکن است نتوانید اسناد Google Docs را با استفاده از rclone mount دانلود کنید. اگر این کار ناموفق باشد، فایلی با اندازهٔ 0 دریافت خواهید کرد. اگر دوباره تلاش کنید، ممکن است سند اندازهٔ صحیح خود را به دست آورده و قابل دانلود شود. اینکه این فرایند کار کند یا خیر، به برنامهای که به نقطهٔ اتصال (mount) دسترسی پیدا میکند و سیستمعامل در حال اجرای شما بستگی دارد - آزمایش کنید تا ببینید آیا برای شما کار میکند یا خیر!
فایلهای تکراری
گاهی اوقات، بدون دلیلی که تاکنون قابل ردیابی باشد، Drive فایلی را که rclone آپلود میکند تکراری میکند. برخلاف سایر ریموتها، Drive میتواند فایلهای تکراری با نام یکسان داشته باشد.
فایلهای تکراری در فرایند همگامسازی اختلال ایجاد میکنند و پیامهایی دربارهٔ موارد تکراری در لاگ مشاهده خواهید کرد.
برای برطرف کردن فایلهای تکراری از دستور rclone dedupe استفاده کنید.
توجه داشته باشید که این مشکل صرفاً مربوط به rclone نیست؛ حتی Google Photos در Android نیز گاهی اوقات فایلها را در Drive تکراری میسازد.
به نظر میرسد rclone در حال کپی مجدد فایلهایی است که نباید کپی شوند
محتملترین علت این مسئله، مشکل فایلهای تکراری ذکر شده در بالا است - دستور rclone dedupe را اجرا کرده و لاگهای خود را برای یافتن پیامهای مربوط به اشیاء یا دایرکتوریهای تکراری بررسی کنید.
این مورد همچنین میتواند ناشی از تأخیر یا کش شدن دادهها در سمت Google Drive هنگام مقایسهٔ فهرست دایرکتوریها باشد؛ بهویژه در درایوهای تیمی (Team Drives) که در ترکیب با گزینهٔ --fast-list استفاده میشوند. فایلهایی که اخیراً آپلود شدهاند ممکن است هنگام استفاده از --fast-list در فهرست دایرکتوری ارسالی به rclone ظاهر نشوند.
صبر کردن به مدت زمانی معقول بین تلاشها (تقریباً حدود ۱ ساعت برآورد میشود) و/یا عدم استفاده از گزینهٔ --fast-list، هر دو در پیشگیری از بروز این مشکل مؤثر خواهند بود.
احتمال در دسترس نبودن درهمسازهای SHA1 یا SHA256
تمام فایلها دارای درهمسازهای MD5 هستند، اما بخش کوچکی از فایلهای آپلود شده ممکن است فاقد درهمسازهای SHA1 یا SHA256 باشند، بهویژه اگر پیش از سال ۲۰۱۸ آپلود شده باشند.
ساخت client_id اختصاصی خود
هنگامی که از rclone با Google Drive در پیکربندی پیشفرض استفاده میکنید، در واقع از client_id برنامهٔ rclone بهره میبرید. این شناسه میان تمام کاربران rclone به اشتراک گذاشته شده است.
این client_id اشتراکی در حال کنار گذاشته شدن است و در طول سال ۲۰۲۶ از کار خواهد افتاد. برای جلوگیری از اختلال در دسترسی، باید client_id اختصاصی خود را بسازید و استفاده کنید؛ بنابراین ایجاد آن اکنون اجباری است و صرفاً یک پیشنهاد محسوب نمیشود. ریموتهای جدیدی که با rclone config ساخته میشوند، در صورت خالی گذاشتن client_id به شما هشدار خواهند داد.
استفاده از client_id اختصاصی مزایای دیگری نیز دارد. یک محدودیت سراسری برای تعداد پرسوجوهای مجاز در هر ثانیه برای هر client_id از سوی گوگل تعیین شده است. اگر چندین سرویس فعال دارید، توصیه میشود برای هر سرویس از یک کلید API مجزا استفاده کنید. سهمیهٔ پیشفرض گوگل ۱۰ تراکنش در ثانیه است؛ بنابراین توصیه میشود زیر این حد باقی بمانید، زیرا درخواستهای بیشتر باعث اعمال محدودیت نرخ روی rclone و در نتیجه کندی عملکرد خواهد شد.
دستورالعمل ساخت Google Drive client ID برای rclone:
- 1.
- با حساب گوگل خود وارد Google API Console (https://console.developers.google.com) شوید. فرقی نمیکند از چه حساب گوگلی استفاده میکنید. (نیازی نیست حتماً همان حسابی باشد که قصد دسترسی به Google Drive آن را دارید)
- 2.
- یک پروژه را انتخاب کرده یا پروژهای جدید بسازید.
- 3.
- در بخش "ENABLE APIS AND SERVICES" عبارت "Drive" را جستجو کرده و "Google Drive API" را فعال (enable) کنید.
- 4.
- روی "Credentials" در پنل سمت چپ کلیک کنید (نه روی "Create credentials" که ویزارد را باز میکند).
- 5.
- اگر از قبل یک "Oauth Consent Screen" پیکربندی کردهاید، به مرحلهٔ بعد بروید؛ در غیر این صورت، روی دکمهٔ "CONFIGURE CONSENT SCREEN" (نزدیک گوشهٔ بالا سمت راست در پنل سمت راست) کلیک کرده و سپس روی "Get started" کلیک کنید. در صفحهٔ بعد، یک "Application name" وارد کنید (وارد کردن "rclone" کافی است)؛ یک "User Support Email" وارد نمایید (ایمیل شخصی خودتان مناسب است)؛ سپس در بخش Audience گزینهٔ "External" را انتخاب کنید. در ادامه اطلاعات تماس خود را وارد کرده، شرایط را بپذیرید و روی "Create" کلیک کنید. اکنون باید rclone (یا نام پروژهٔ خود) را در کادری در بالا سمت چپ صفحه ببینید.
(نکته: اگر کاربر GSuite هستید، میتوانید در مرحلهٔ بالا به جای "External" گزینهٔ "Internal" را انتخاب کنید، اما این کار دسترسی API را صرفاً به کاربران Google Workspace در سازمان شما محدود میکند).
همچنین باید دامنههای دسترسی (scopes) مورد نیاز را اضافه کنید (https://developers.google.com/drive/api/guides/api-specific-auth)، شامل:
- •
- https://www.googleapis.com/auth/docs
- •
- https://www.googleapis.com/auth/drive به منظور امکان ویرایش، ساخت و حذف فایلها با rclone.
- •
- https://www.googleapis.com/auth/drive.metadata.readonly که ممکن است افزودن آن نیز لازم باشد.
برای انجام این کار، روی Data Access در پنل سمت چپ کلیک کنید، روی "add or remove scopes" کلیک نموده، سه مورد فوق را برگزینید و update را بزنید؛ یا به کادر متنی "Manually add scopes" (در پایین صفحه) مراجعه کرده و عبارت "https://www.googleapis.com/auth/docs,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.metadata.readonly" را وارد کنید، روی add to table و سپس update کلیک نمایید.
اکنون باید هر سه دامنهٔ دسترسی (scope) را در صفحهٔ Data access مشاهده کنید. حال روی save در پایین صفحه کلیک کنید!
- 6.
- پس از افزودن scopeها، روی Audience کلیک کنید. به پایین صفحه رفته و روی "+ Add users" کلیک کنید. خود را به عنوان یک کاربر آزمایشی (test user) اضافه کرده و save را بزنید.
- 7.
- به بخش Overview در پنل سمت چپ بروید و روی "Create OAuth client" کلیک کنید. نوع برنامه (application type) را "Desktop app" انتخاب کرده و روی "Create" کلیک کنید. (نام پیشفرض انتخابی مناسب است)
- 8.
- شناسهٔ client ID و رمز client secret به شما نشان داده خواهد شد. این مقادیر را یادداشت کنید. (اگر در مرحلهٔ ۵ گزینهٔ "External" را انتخاب کردید، به مرحلهٔ ۹ بروید. اگر گزینهٔ "Internal" را انتخاب کردید نیازی به انتشار نیست و میتوانید مستقیماً به مرحلهٔ ۱۰ بروید، اما درایو مقصد شما باید عضوی از همان Google Workspace باشد.)
- 9.
- به بخش "Audience" رفته و سپس روی دکمهٔ "PUBLISH APP" کلیک کرده و آن را تأیید کنید. اگر تاکنون خود را به عنوان کاربر آزمایشی اضافه نکردهاید، اکنون این کار را انجام دهید.
- 10.
- شناسههای client ID و client secret یادداشتشده را به rclone ارائه دهید.
- 11.
- فرآیند احراز هویت تحت وب را از داخل دستور rclone config اجرا کنید؛ هنگامی که پیام "Token already configured - replace it?" نمایش داده شد، با وارد کردن "Y" آن را تأیید نمایید.
توجه داشته باشید که به دلیل اقدامات اخیر گوگل در خصوص «ارتقای امنیت» (enhanced security)، از نظر تئوری ملزم به ثبت برنامه برای بررسی ("submit your app for verification") و انتظار چند هفتهای(!) برای تأیید آنها هستید؛ در عمل، میتوانید مستقیماً ادامه داده و از client ID و client secret در rclone استفاده کنید. تنها نکته، نمایش یک صفحهٔ هشدار امنیتی هنگام اتصال از طریق مرورگر خواهد بود تا rclone بتواند token-id خود را دریافت کند (اما چون این مرحله فقط یک بار در زمان پیکربندی ریموت انجام میشود، چندان نگرانکننده نیست). نگهداشتن برنامه در وضعیت آزمایشی ("Testing") نیز کارساز است، اما محدودیت آن این است که دسترسیهای اعطا شده پس از یک هفته منقضی میشوند و نیاز مداوم به تمدید آنها ممکن است خستهکننده باشد. اگر به هر دلیلی انقضای هفتگی برای شما مشکلی به وجود نمیآورد، نگهداشتن برنامه در حالت testing نیز کاملاً کافی خواهد بود..PP در بیشتر موارد اعتبارسنجی در واقع الزامی نیست. Google تعدادی از دستهبندیهای برنامه (https://support.google.com/cloud/answer/13464323) را از اعتبارسنجی اجباری معاف میکند، از جمله:
- •
- برنامههای استفاده شخصی (Personal Use apps): اگر برنامه برای استفاده شخصی شما باشد (کمتر از ۱۰۰ کاربر)، شما و تعداد محدود کاربرانتان میتوانید بدون نیاز به اعتبارسنجی به استفاده از آن ادامه دهید - فقط کافیست در هنگام ورود، از صفحه هشدار "unverified app" عبور کنید. اعتبارسنجی تنها در صورتی لازم است که بخواهید تعداد کاربران خود را به بیش از ۱۰۰ کاربر افزایش دهید.
- •
- برنامههای توسعه/آزمایش/مرحلهبندی (Development/Testing/Staging apps): برنامهها در حالت توسعه، آزمایش یا مرحلهبندی مشمول اعتبارسنجی نمیشوند (اما تا زمان تأیید، به سقف ۱۰۰ کاربر و نمایش هشدار برنامه تأییدنشده محدود هستند).
بنابراین برای استفاده معمول و شخصی rclone، میتوانید برنامه را تأییدنشده باقی بگذارید، صفحه هشدار را بپذیرید، و آن را منتشر (publish) کنید (بهجای رها کردن آن در وضعیت "Testing") تا از انقضای هفتگی مجوز که در بالا توضیح داده شد جلوگیری شود.
(با تشکر از @balazer در github برای این دستورالعملها.)
گاهی اوقات، ایجاد رضایتنامه OAuth در Google API Console با خطای "The request failed because changes to one of the field of the resource is not supported" مواجه میشود. بهعنوان یک راهکار جایگزین و آسان، کلید Google Drive API مورد نیاز میتواند در صفحه Python Quickstart (https://developers.google.com/drive/api/v3/quickstart/python) ایجاد شود. تنها کافی است دکمه Enable the Drive API را فشار دهید تا Client ID و Secret را دریافت کنید. توجه داشته باشید که این کار بهطور خودکار یک پروژه جدید در API Console ایجاد میکند.
Google Photos
بکاند rclone برای Google Photos (https://www.google.com/photos/about) یک بکاند تخصصی برای انتقال عکسها و ویدیوها به و از Google Photos است.
توجه: رابط برنامهنویسی کاربردی Google Photos API که rclone از آن استفاده میکند، دارای محدودیتهای متعددی است، بنابراین لطفاً بخش محدودیتها را به دقت مطالعه کنید تا مطمئن شوید برای استفاده شما مناسب است.
توجه: از ۳۱ مارس ۲۰۲۵، rclone تنها میتواند عکسهایی را دانلود کند که خودش بارگذاری کرده باشد. این محدودیت به دلیل تغییرات خطمشیهای Google است. ممکن است لازم باشد پس از ارتقا به rclone v1.70، دستور rclone config reconnect remote: را اجرا کنید تا rclone مجدداً به درستی کار کند.
پیکربندی (Configuration)
راهاندازی اولیه برای Google Cloud Storage شامل دریافت یک توکن از Google Photos است که باید آن را در مرورگر وب خود انجام دهید. دستور rclone config شما را در این مراحل راهنمایی میکند.
در اینجا یک مثال از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این کار شما را در یک فرآیند راهاندازی تعاملی راهنمایی خواهد کرد:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Google Photos \ "google photos" [snip] Storage> google photos ** See help for google photos backend at: https://rclone.org/googlephotos ** OAuth Client Id. Creating your own is now strongly recommended. If you leave this blank rclone uses a shared client_id which is being retired and will stop working during 2026. See https://rclone.org/googlephotos/#making-your-own-client-id for how to create your own. Enter a string value. Press Enter for the default (""). client_id> OAuth Client Secret. Leave blank to use rclone's shared client_id. If you created your own client_id then enter its client secret here. Enter a string value. Press Enter for the default (""). client_secret> Set to make the Google Photos backend read only. If you choose read only then rclone will only request read only access to your photos, otherwise rclone will request full access. Enter a boolean value (true or false). Press Enter for the default ("false"). read_only> Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config rclone's shared Google Photos client_id is being retired and will stop working during 2026. Create your own to avoid interruption: https://rclone.org/googlephotos/#making-your-own-client-id Continue using the shared client_id anyway? y) Yes n) No (default) y/n> n OAuth Client Id. client_id> 1234567890-abcdefghijklmnop.apps.googleusercontent.com OAuth Client Secret. client_secret> GOCSPX-your-client-secret Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code *** IMPORTANT: All media items uploaded to Google Photos with rclone *** are stored in full resolution at original quality. These uploads *** will count towards storage in your Google Account. Configuration complete. Options: - type: google photos - token: {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-06-28T17:38:04.644930156+01:00"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای اطلاع از نحوه راهاندازی روی دستگاهی که فاقد مرورگر وب متصل به اینترنت است، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را مشاهده کنید.
توجه داشته باشید در صورت استفاده از مرورگر وب برای احراز هویت خودکار، rclone یک وبسرور روی ماشین محلی شما اجرا میکند تا توکن بازگردانده شده از Google را دریافت کند. این وبسرور تنها از لحظه باز کردن مرورگر تا لحظه دریافت کد اعتبارسنجی اجرا میشود. این سرویس روی http://127.0.0.1:53682 فعال است و در صورتی که فایروال میزبان فعال باشد ممکن است نیاز به رفع انسداد موقت آن داشته باشید، یا از حالت دستی استفاده کنید.
این ریموت remote نامیده میشود و اکنون میتواند به این صورت مورد استفاده قرار گیرد
مشاهده تمام آلبومها در تصاویر شما
-
rclone lsd remote:album
ساخت یک آلبوم جدید
-
rclone mkdir remote:album/newAlbum
فهرست کردن محتویات یک آلبوم
-
rclone ls remote:album/newAlbum همگامسازی /home/local/images با Google Photos، همراه با حذف هرگونه فایل اضافی در آلبوم.
-
rclone sync --interactive /home/local/image remote:album/newAlbum
ساختار (Layout)
از آنجا که Google Photos یک سامانه ذخیرهسازی ابری همهمنظوره نیست، پشتانه (backend) بهگونهای سازماندهی شده است که به پیمایش آن توسط شما کمک کند.
پوشههای زیر media روشهای متفاوتی برای دستهبندی رسانهها را نشان میدهند. هر فایل چندین بار ظاهر خواهد شد. بنابراین اگر میخواهید از Google Photos خود نسخه پشتیبان تهیه کنید، میتوانید از remote:media/by-month پشتیبان بگیرید. (نکته: remote:media/by-day در حال حاضر بسیار کُند است، بنابراین از آن برای همگامسازی اجتناب کنید.)
توجه داشته باشید که تمام عکسها و ویدیوهای شما در جایی زیر media ظاهر میشوند، اما ممکن است زیر album نمایش داده نشوند مگر اینکه آنها را در آلبومها قرار داده باشید.
-
/ - upload - file1.jpg - file2.jpg - ... - media - all - file1.jpg - file2.jpg - ... - by-year - 2000 - file1.jpg - ... - 2001 - file2.jpg - ... - ... - by-month - 2000 - 2000-01 - file1.jpg - ... - 2000-02 - file2.jpg - ... - ... - by-day - 2000 - 2000-01-01 - file1.jpg - ... - 2000-01-02 - file2.jpg - ... - ... - album - album name - album name/sub - shared-album - album name - album name/sub - feature - favorites - file1.jpg - file2.jpg
دو بخش قابلنوشتن در این درخت وجود دارد: پوشه upload و زیرپوشههای پوشه album.
پوشه upload برای بارگذاری فایلهایی است که نمیخواهید در آلبومها قرار گیرند. این پوشه در ابتدا خالی خواهد بود و فایلهایی را که بارگذاری کردهاید تنها برای یک نشست rclone نگه میدارد، و با راهاندازی دوباره rclone مجدداً خالی میشود. کاربرد این بخش برای زمانی است که حجم زیادی از فایلها را در اختیار دارید و فقط میخواهید یکبار آنها را به Google Photos منتقل کنید. برای همگامسازی مکرر، بارگذاری در album عملکرد بهتری خواهد داشت.
پوشههای درون پوشه album نیز قابلنوشتن هستند و میتوانید پوشههای (آلبومهای) جدیدی زیر album ایجاد کنید. اگر فایلها را به همراه یک سلسلهمراتب پوشهای در آن کپی کنید، rclone آلبومهایی حاوی نویسه / در نامشان ایجاد خواهد کرد. به عنوان مثال اگر دستور زیر را اجرا کنید:
-
rclone copy /path/to/images remote:album/images
و پوشه images شامل موارد زیر باشد:
-
images - file1.jpg dir file2.jpg dir2 dir3 file3.jpg
آنگاه rclone آلبومهای زیر را به همراه فایلهای مربوطه ایجاد خواهد کرد:
- •
- images
- •
- file1.jpg
- •
- images/dir
- •
- file2.jpg
- •
- images/dir2/dir3
- •
- file3.jpg
این بدان معناست که میتوانید از مسیر album تقریباً مانند یک سامانه فایل عادی استفاده کنید و این مسیر مقصد مناسبی برای همگامسازی مکرر است.
پوشه shared-album آلبومهای بهاشتراکگذاشتهشده با شما یا توسط شما را نشان میدهد. این بخش مشابه برگه Sharing در رابط کاربری وب Google Photos است..SS گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به google photos (Google Photos) آورده شده است.
--gphotos-client-id
شناسه کلاینت OAuth (OAuth Client Id).
ساخت شناسه اختصاصی اکنون اکیداً توصیه میشود. اگر این فیلد را خالی بگذارید، rclone از یک client_id اشتراکی استفاده میکند که در حال بازنشستگی است و در طول سال ۲۰۲۶ از کار خواهد افتاد. برای نحوه ساخت شناسه اختصاصی خود، به https://rclone.org/googlephotos/#making-your-own-client-id مراجعه کنید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_GPHOTOS_CLIENT_ID
- •
- نوع: string
- •
- ضروری: false
--gphotos-client-secret
رمز کلاینت OAuth (OAuth Client Secret).
برای استفاده از client_id اشتراکی rclone، این مقدار را خالی بگذارید. اگر client_id اختصاصی خود را ساختهاید، رمز کلاینت (client secret) آن را در اینجا وارد کنید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_GPHOTOS_CLIENT_SECRET
- •
- نوع: string
- •
- ضروری: false
--gphotos-read-only
تنظیم برای فقطخواندنی کردن backend مربوط به Google Photos.
اگر حالت فقطخواندنی را انتخاب کنید، rclone فقط دسترسی فقطخواندنی به عکسهای شما را درخواست میکند؛ در غیر این صورت، rclone درخواست دسترسی کامل خواهد داشت.
ویژگیها:
- •
- پیکربندی: read_only
- •
- متغیر محیطی: RCLONE_GPHOTOS_READ_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص به google photos (Google Photos) آورده شده است.
--gphotos-token
توکن دسترسی OAuth بهصورت یک JSON blob.
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_GPHOTOS_TOKEN
- •
- نوع: string
- •
- ضروری: false
--gphotos-auth-url
نشانی URL سرور احراز هویت (Auth server).
برای استفاده از مقادیر پیشفرض ارائهدهنده، این فیلد را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_GPHOTOS_AUTH_URL
- •
- نوع: string
- •
- ضروری: false.SS --gphotos-token-url
آدرس URL سرور توکن (Token).
برای استفاده از مقادیر پیشفرض ارائهدهنده، این مقدار را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_GPHOTOS_TOKEN_URL
- •
- نوع: string
- •
- اجباری: false
--gphotos-client-credentials
استفاده از جریان OAuth اعتبارسنجی کلاینت (Client Credentials).
این گزینه از جریان Client Credentials در OAUTH2 همانطور که در RFC 6749 توصیف شده است، استفاده میکند.
توجه داشته باشید که این گزینه توسط همهٔ backendها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_GPHOTOS_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--gphotos-read-size
تنظیم برای خواندن اندازهٔ آیتمهای رسانهای.
بهطور معمول rclone اندازهٔ آیتمهای رسانهای را نمیخواند زیرا این کار نیازمند یک تراکنش اضافی است. این مورد برای همگامسازی (syncing) ضروری نیست. با این حال rclone mount نیاز دارد که پیش از خواندن فایلها از اندازهٔ آنها مطلع باشد، بنابراین در صورتی که قصد خواندن رسانهها را دارید، تنظیم این پرچم هنگام استفاده از rclone mount توصیه میشود.
ویژگیها:
- •
- پیکربندی: read_size
- •
- متغیر محیطی: RCLONE_GPHOTOS_READ_SIZE
- •
- نوع: bool
- •
- پیشفرض: false
--gphotos-start-year
سال؛ دانلود عکسها را به مواردی محدود میکند که پس از سال تعیینشده بارگذاری شده باشند.
ویژگیها:
- •
- پیکربندی: start_year
- •
- متغیر محیطی: RCLONE_GPHOTOS_START_YEAR
- •
- نوع: int
- •
- پیشفرض: 2000
--gphotos-include-archived
مشاهده و بارگیری رسانههای بایگانیشده نیز انجام شود.
بهطور پیشفرض، rclone رسانههای بایگانیشده را درخواست نمیکند. بنابراین هنگام همگامسازی، رسانههای بایگانیشده در فهرستهای دایرکتوری دیده نشده و منتقل نمیشوند.
توجه داشته باشید که رسانههای موجود در آلبومها صرفنظر از وضعیت بایگانیشان، همواره قابل مشاهده و همگامسازی هستند.
با فعال کردن این پرچم، رسانههای بایگانیشده همیشه در فهرستهای دایرکتوری دیده شده و منتقل میشوند.
بدون این پرچم، رسانههای بایگانیشده در فهرستهای دایرکتوری نشان داده نخواهند شد و منتقل نمیشوند.
ویژگیها:
- •
- پیکربندی: include_archived
- •
- متغیر محیطی: RCLONE_GPHOTOS_INCLUDE_ARCHIVED
- •
- نوع: bool
- •
- پیشفرض: false.SS --gphotos-proxy
استفاده از پراکسی gphotosdl برای بارگیری تصاویر با وضوح کامل.
رابط کاربری برنامهنویسی گوگل (Google API) تصاویری و ویدیوهایی را ارائه میدهد که دارای وضوح کامل نیستند، و/یا دادههای EXIF آنها وجود ندارد.
با این حال، در صورت استفاده از پراکسی gphotosdl میتوانید تصاویر اصلی و دستنخورده را بارگیری کنید.
این ابزار یک مرورگر بدون رابط کاربری گرافیکی (headless) را در پسزمینه اجرا میکند.
نرمافزار را از gphotosdl (https://github.com/rclone/gphotosdl) بارگیری کنید.
ابتدا با دستور زیر اجرا کنید:
-
gphotosdl -login
سپس هنگامی که وارد google photos شدید، پنجره مرورگر را ببندید و دستور زیر را اجرا کنید:
-
gphotosdl
سپس پارامتر --gphotos-proxy "http://localhost:8282" را مشخص کنید تا rclone از این پراکسی استفاده کند.
ویژگیها:
- •
- پیکربندی: proxy
- •
- متغیر محیطی: RCLONE_GPHOTOS_PROXY
- •
- نوع: string
- •
- الزامی: false
--gphotos-encoding
کدگذاری برای بکاند (backend).
برای اطلاعات بیشتر بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_GPHOTOS_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,CrLf,InvalidUtf8,Dot
--gphotos-batch-mode
دستهبندی بارگذاری فایل sync|async|off.
این گزینه حالت دستهای استفادهشده توسط rclone را تنظیم میکند.
این گزینه ۳ مقدار ممکن دارد:
- •
- off - بدون دستهبندی
- •
- sync - دستهبندی بارگذاریها و بررسی تکمیل فرایند (پیشفرض)
- •
- async - بارگذاری دستهای بدون بررسی وضعیت تکمیل فرایند
ابزار rclone هنگام خروج، تمام دستههای باقیمانده و معلق را خواهد بست که ممکن است باعث ایجاد تأخیر در هنگام خروج شود.
ویژگیها:
- •
- پیکربندی: batch_mode
- •
- متغیر محیطی: RCLONE_GPHOTOS_BATCH_MODE
- •
- نوع: string
- •
- پیشفرض: "sync".SS --gphotos-batch-size
حداکثر تعداد فایلها در یک دسته بارگذاری.
این گزینه اندازه دسته فایلها را برای بارگذاری تعیین میکند. این مقدار باید کمتر از ۵۰ باشد.
بهطور پیشفرض این مقدار 0 است، به این معنی که rclone اندازه دسته را بسته به تنظیمات batch_mode محاسبه خواهد کرد.
- •
- batch_mode: async - اندازه پیشفرض batch_size برابر ۵۰ است
- •
- batch_mode: sync - اندازه پیشفرض batch_size مشابه مقدار --transfers است
- •
- batch_mode: off - استفاده نمیشود
ابزار rclone هنگام خروج، تمام دستههای باقیمانده را خواهد بست که ممکن است باعث تاخیری در هنگام خروج شود.
اگر فایلهای کوچک زیادی را بارگذاری میکنید، تنظیم این گزینه ایده بسیار خوبی است زیرا سرعت بارگذاری آنها را بسیار بیشتر میکند. میتوانید برای بیشینهسازی توان عملیاتی از --transfers 32 استفاده کنید.
ویژگیها:
- •
- پیکربندی: batch_size
- •
- متغیر محیطی: RCLONE_GPHOTOS_BATCH_SIZE
- •
- نوع: int
- •
- پیشفرض: 0
--gphotos-batch-timeout
حداکثر زمان مجاز برای بیکار ماندن یک دسته بارگذاری پیش از ارسال.
اگر یک دسته بارگذاری بیش از این مدت بیکار بماند، بارگذاری خواهد شد.
مقدار پیشفرض 0 است، به این معنی که rclone یک مقدار پیشفرض مناسب را بر اساس batch_mode مورد استفاده انتخاب میکند.
- •
- batch_mode: async - مقدار پیشفرض batch_timeout برابر 10s است
- •
- batch_mode: sync - مقدار پیشفرض batch_timeout برابر 1s است
- •
- batch_mode: off - استفاده نمیشود
ویژگیها:
- •
- پیکربندی: batch_timeout
- •
- متغیر محیطی: RCLONE_GPHOTOS_BATCH_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 0s
--gphotos-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_GPHOTOS_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
تنها تصاویر و ویدیوها قابل بارگذاری هستند. اگر اقدام به بارگذاری مواردی غیر از ویدیو یا تصویر، یا فرمتهایی کنید که Google Photos قادر به شناسایی آنها نیست، rclone فایل را بارگذاری خواهد کرد، اما Google Photos هنگام تبدیل آن به یک آیتم رسانهای خطا میدهد.
توجه: از ۳۱ مارس ۲۰۲۵، rclone تنها میتواند عکسهایی را که خودش بارگذاری کرده است دانلود کند. این محدودیت به دلیل تغییرات در خطمشی Google اعمال شده است. ممکن است پس از ارتقا به rclone نسخه v1.70 برای عملکرد دوباره rclone نیاز باشد دستور rclone config reconnect remote: را اجرا کنید.
توجه داشته باشید که تمامی آیتمهای رسانهای بارگذاریشده در Google Photos از طریق API با وضوح کامل و با "کیفیت اصلی" (original quality) ذخیره میشوند و جزو سهمیه ذخیرهسازی در حساب Google شما محاسبه خواهند شد. این API روشی برای بارگذاری در حالت "کیفیت بالا" (high quality) ارائه نمیدهد..
دستور rclone about توسط بکاند Google Photos پشتیبانی نمیشود. بکاندهای فاقد این قابلیت نمیتوانند فضای خالی را برای یک نقطه متصلشده (mount) در rclone تعیین کنند یا از سیاست mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند را ببینید (https://rclone.org/overview/#optional-features) همچنین rclone about را ببینید (https://rclone.org/commands/rclone_about).SS بارگیری تصاویر
هنگامی که تصاویر بارگیری میشوند، موقعیت مکانی EXIF حذف میگردد (مطابق با مستندات و آزمایشهای من). این یک محدودیت در Google Photos API است و ذیل باگ #112096115 (https://issuetracker.google.com/issues/112096115) پوشش داده شده است.
در حال حاضر Google API اجازه نمیدهد عکسها با وضوح اصلی بارگیری شوند. این نکته بسیار حائز اهمیت است اگر برای نمونه، به "Google Photos" بهعنوان نسخه پشتیبان عکسهایتان تکیه کردهاید. شما قادر نخواهید بود از rclone برای بارگیری مجدد تصاویر اصلی استفاده کنید. بهعنوان آخرین راهکار میتوانید از 'google takeout' برای بازیابی عکسهای اصلی استفاده نمایید.
توجه: شما میتوانید از پرچم --gphotos-proxy برای استفاده از یک مرورگر headless جهت بارگیری تصاویر با وضوح کامل استفاده کنید.
بارگیری ویدیوها
هنگامی که ویدیوها بارگیری میشوند، در مقایسه با بارگیری از طریق رابط وب Google Photos، در قالب نسخهای بسیار فشردهشده از ویدیو دریافت میگردند. این مورد ذیل باگ #113672044 (https://issuetracker.google.com/issues/113672044) پوشش داده شده است.
توجه: شما میتوانید از پرچم --gphotos-proxy برای استفاده از یک مرورگر headless جهت بارگیری تصاویر با وضوح کامل استفاده کنید.
موارد تکراری
اگر نام فایلی در یک دایرکتوری تکراری باشد، rclone شناسه فایل (file ID) را به نام آن اضافه میکند. بنابراین دو فایل با نام file.jpg بهصورت file {123456}.jpg و file {ABCDEF}.jpg ظاهر خواهند شد (متأسفانه شناسههای واقعی بسیار طولانیتر هستند!).
اگر یک تصویر مشابه (با دادههای باینری یکسان) را دو بار بارگذاری کنید، Google Photos نسخه تکراری آن را حذف میکند (deduplicate). با این حال، نام فایل حاصل از بارگذاری نخست را حفظ خواهد کرد که ممکن است rclone را سردرگم کند. برای مثال، اگر تصویری را در upload بارگذاری کنید و سپس همان تصویر را در album/my_album آپلود نمایید، نام فایل تصویر در album/my_album همان نامی خواهد بود که در ابتدا با آن بارگذاری شده بود، نه نامی که با آن در album بارگذاری کردید. در عمل این موضوع نباید مشکلات چندانی ایجاد کند.
زمانهای تغییر
تاریخ نمایش داده شده برای رسانه در Google Photos، تاریخ ایجاد آن است که بر اساس اطلاعات EXIF تعیین میشود، یا در صورتی که این اطلاعات مشخص نباشد، تاریخ بارگذاری خواهد بود.
این مورد توسط rclone قابل تغییر نیست و برابر با تاریخ تغییر رسانه روی دیسک محلی نمیباشد. این بدان معناست که rclone نمیتواند از تاریخهای Google Photos برای مقاصد همگامسازی استفاده کند.
اندازه
در Google Photos API، اندازه رسانه بازگردانده نمیشود. این بدان معناست که هنگام همگامسازی با Google Photos، برنامه rclone تنها میتواند بررسی وجود فایل را انجام دهد.
خواندن اندازه رسانه امکانپذیر است، اما این کار نیازمند یک درخواست HTTP HEAD اضافی بهازای هر قلم رسانه است و بنابراین بسیار کند بوده و تعداد زیادی تراکنش مصرف میکند. این قابلیت را میتوان با گزینه --gphotos-read-size یا پارامتر پیکربندی read_size = true فعال کرد.
اگر میخواهید از این backend همراه با rclone mount استفاده کنید، ممکن است لازم باشد این پرچم را فعال کنید (بسته به سیستمعامل شما و برنامهای که از عکسها استفاده میکند)، در غیر این صورت ممکن است نتوانید رسانه را از mount بخوانید. باید آزمایش کنید تا ببینید آیا بدون این پرچم برای شما کار میکند یا خیر.
آلبومها
برنامه rclone فقط میتواند فایلها را در آلبومهایی که خودش ایجاد کرده بارگذاری کند. این یک محدودیت در Google Photos API (https://developers.google.com/photos/library/guides/manage-albums) است.
برنامه rclone تنها میتواند فایلهایی را که خودش بارگذاری کرده از آلبومهایی که خودش ایجاد کرده حذف نماید.
حذف فایلها
برنامه rclone میتواند فایلها را از آلبومهایی که خودش ایجاد کرده حذف کند، اما توجه داشته باشید که Google Photos API اجازه حذف دائمی رسانهها را نمیدهد، بنابراین این رسانهها همچنان باقی خواهند ماند. باگ شماره #109759781 (https://issuetracker.google.com/issues/109759781) را ببینید.
برنامه rclone نمیتواند فایلها را در هیچ کجایی به جز زیرمسیر album حذف کند..SS "حذف آلبومها"
رابط برنامهنویسی Google Photos API از حذف آلبومها پشتیبانی نمیکند - گزارش باگ #135714733 (https://issuetracker.google.com/issues/135714733) را ببینید.
ساخت client_id اختصاصی خودتان
هنگامی که از rclone با Google photos در پیکربندی پیشفرض آن استفاده میکنید، از client_id متعلق به rclone بهره میبرید. این شناسه بین تمام کاربران rclone به اشتراک گذاشته شده است.
این client_id اشتراکی در حال بازنشستگی است و در طول سال ۲۰۲۶ از کار خواهد افتاد. برای جلوگیری از اختلال در سرویس، باید client_id اختصاصی خود را ایجاد کرده و از آن استفاده کنید؛ بنابراین ساخت آن اکنون بهجای اختیاری بودن، الزامی است. ریموتهای جدید ایجادشده با rclone config در صورت خالی گذاشتن client_id به شما هشدار خواهند داد.
لطفاً مراحل موجود در مستندات google drive (https://rclone.org/drive/#making-your-own-client-id) را با اعمال تفاوتهای زیر دنبال کنید:
- •
- در مرحلهی ۳، بهجای فعالسازی "Google Drive API"، عبارت "Photos Library API" را جستجو و فعال کنید.
- •
- در مرحلهی ۵، باید دامنههای دسترسی (scopes) متفاوتی را اضافه کنید. بهجای موارد مربوط به drive، از این دامنهها استفاده کنید:
-
https://www.googleapis.com/auth/photoslibrary.appendonly https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata
Hasher
بکاند Hasher یک بکاند لایهای (overlay) ویژه برای ساخت ریموتهایی است که چکسامها (checksums) را برای سایر ریموتها مدیریت میکنند. عملکردهای اصلی آن عبارتند از:
- •
- شبیهسازی انواع هشهایی که توسط بکاندها پیادهسازی نشدهاند
- •
- کَش کردن چکسامها برای کمک به هشکردن کندِ فایلهای محلی بزرگ یا فایلهای (S)FTP
- •
- پیشبارگذاری (Warm up) کَش چکسامها از فایلهای SUM خارجی
شروع به کار
برای استفاده از Hasher، ابتدا ریموت زیرین را طبق دستورالعملهای پیکربندی همان ریموت راهاندازی کنید. همچنین میتوانید بهجای یک ریموت، از یک مسیر محلی استفاده کنید. بررسی کنید که ریموت پایهی شما بهدرستی کار میکند.
در اینجا فرض میکنیم ریموت پایه را myRemote:path مینامیم. توجه داشته باشید که هر چیزی درون myRemote:path باشد توسط hasher مدیریت خواهد شد و هر چه خارج از آن باشد نخواهد شد. این بدان معناست که اگر از یک ریموت مبتنی بر باکت (S3، B2، Swift) استفاده میکنید، باید باکت را در مشخصات ریموت قرار دهید: s3:bucket.
اکنون میتوانید پیکربندی را بهصورت تعاملی یا دستی ادامه دهید.
پیکربندی تعاملی
دستور rclone config را اجرا کنید:
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> Hasher1 Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Handle checksums for other remotes \ "hasher" [snip] Storage> hasher Remote to cache checksums for, like myremote:mypath. Enter a string value. Press Enter for the default (""). remote> myRemote:path Comma separated list of supported checksum types. Enter a string value. Press Enter for the default ("md5,sha1"). hashsums> md5 Maximum time to keep checksums in cache. 0 = no cache, off = cache forever. max_age> off Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config -------------------- [Hasher1] type = hasher remote = myRemote:path hashsums = md5 max_age = off -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای دیدن مسیر فایل پیکربندی فعال فعلی، دستور rclone config path را اجرا کنید؛ این مسیر معمولاً YOURHOME/.config/rclone/rclone.conf است. آن را در ویرایشگر متن دلخواه خود باز کرده، بخش مربوط به ریموت پایه را پیدا کنید و همانند مثالهای زیر، بخش جدیدی برای hasher بسازید:
-
[Hasher1] type = hasher remote = myRemote:path hashes = md5 max_age = off [Hasher2] type = hasher remote = /local/path hashes = dropbox,sha1 max_age = 24h
ابزار Hasher اساساً پارامترهای زیر را میگیرد:
- •
- پارامتر remote الزامی است
- •
- پارامتر hashes فهرستی جداشده با کاما از چِکسامهای پشتیبانیشده است (بهطور پیشفرض md5,sha1)
- •
- پارامتر max_age - حداکثر زمان نگهداری مقدار یک چِکسام در حافظهٔ پنهان؛ مقدار 0 حافظهٔ پنهان را بهطور کامل غیرفعال میکند و off آن را "برای همیشه" (یعنی تا زمانی که فایلها تغییر کنند) ذخیره خواهد کرد
مطمئن شوید که remote دارای علامت دونقطه (:) باشد. اگر ریموت را بدون دونقطه مشخص کنید، rclone از یک دایرکتوری محلی با همان نام استفاده خواهد کرد. بنابراین اگر از ریموتی مانند /local/path استفاده کنید، rclone هشها را برای آن دایرکتوری مدیریت خواهد کرد. اگر عیناً از remote = name استفاده کنید، rclone فایلها را در دایرکتوریای به نام name واقع در دایرکتوری جاری قرار میدهد.
کاربرد
عملیات پایه
اکنون میتوانید بهجای ریموت پایه از آن بهصورت Hasher2:subdir/file استفاده کنید. هنگامی که یک فایل بهطور کامل خوانده یا بازنویسی شود، Hasher حافظهٔ پنهان را بهطور شفاف با چِکسامهای جدید بهروزرسانی میکند؛ مانند:
-
rclone copy External:path/file Hasher:dest/path rclone cat Hasher:path/to/file > /dev/null
روش تازهسازی تمام چِکسامهای ذخیرهشده در حافظهٔ پنهان (حتی موارد پشتیبانینشده توسط backend پایه) برای یک زیردرخت، دانلود مجدد تمامی فایلهای آن زیردرخت است. برای مثال، از hashsum --download با استفاده از هر هشسام پشتیبانیشدهای در خط فرمان استفاده کنید (هدف ما صرفاً خواندن دوباره است):
-
rclone hashsum MD5 --download Hasher:path/to/subtree > /dev/null rclone backend dump Hasher:path/to/subtree
میتوانید با استفاده از دستورهای سفارشی backend، حافظهٔ پنهان hashsum را چاپ کرده یا پاک کنید (drop):
-
rclone backend dump Hasher:dir/subdir rclone backend drop Hasher:
پیشمقداردهی از یک فایل SUM
ابزار Hasher از دو دستور backend پشتیبانی میکند: دستور عمومی import برای فایل SUM و دستور سریعتر اما کمتر سازگارِ stickyimport.
-
rclone backend import Hasher:dir/subdir SHA1 /path/to/SHA1SUM [--checkers 4]
بهجای SHA1 میتواند هر هشی باشد که توسط ریموت پشتیبانی میشود. آرگومان آخر میتواند به یک فایل متنی در قالب SUM، چه محلی و چه در other-remote:path، اشاره کند. دستور فایل SUM را تجزیه کرده، سپس مسیر مشخصشده در آرگومان نخست را پیمایش میکند، از اثرانگشتهای فعلی تصویر لحظهای (snapshot) میگیرد و مدخلهای حافظهٔ پنهان را متناسب با آن پر میکند.
- •
- مسیرها در فایل SUM بهصورت نسبی نسبت به hasher:dir/subdir در نظر گرفته میشوند.
- •
- این دستور صحت مقادیر ارائهشده را بررسی نخواهد کرد. شما باید بدانید چه کاری انجام میدهید.
- •
- این یک عملیات یکباره است. فایل SUM به ریموت "پیوست" نخواهد شد. اگر اثرانگشت شیء تغییر کند، مدخلهای حافظهٔ پنهان همچنان بعداً میتوانند بازنویسی شوند.
- •
- پیمایش درخت بسته به اندازهٔ آن میتواند زمان زیادی ببرد. میتوانید برای سریعتر شدن، مقدار --checkers را افزایش دهید؛ یا اگر اثرانگشتها و سازگاری دادهها برایتان مهم نیست، از stickyimport استفاده کنید.
-
rclone backend stickyimport hasher:path/to/data sha1 remote:/path/to/sum.sha1
دستور stickyimport شبیه به import است اما بسیار سریعتر عمل میکند زیرا نیازی به اجرای stat روی فایلهای موجود ندارد و از پیمایش اولیهٔ درخت صرفنظر میکند. بهجای مقید کردن مدخلهای حافظهٔ پنهان به اثرانگشت فایل، مدخلهای چسبنده (sticky) ایجاد میکند که صرفاً به نام فایل مقید هستند و اندازه، زمان تغییر و غیره را نادیده میگیرند. چنین مدخلهای هشی را تنها میتوان با purge، delete، backend drop یا خواندن/بازنویسی کامل دوبارهٔ فایلها جایگزین کرد..SS مرجع پیکربندی (Configuration reference)
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص hasher (چکسامهای بهتر برای ریموتهای دیگر) آورده شده است.
--hasher-remote
ریموت مورد نظر برای کش کردن چکسامها (به عنوان مثال myRemote:path).
ویژگیها:
- •
- پیکربندی: remote
- •
- متغیر محیطی: RCLONE_HASHER_REMOTE
- •
- نوع: string
- •
- ضروری: true
--hasher-hashes
فهرست جداشده با کاما از انواع چکسامهای پشتیبانیشده.
ویژگیها:
- •
- پیکربندی: hashes
- •
- متغیر محیطی: RCLONE_HASHER_HASHES
- •
- نوع: CommaSepList
- •
- پیشفرض: md5,sha1
--hasher-max-age
حداکثر زمان نگهداری چکسامها در کش (0 = بدون کش، off = کش برای همیشه).
ویژگیها:
- •
- پیکربندی: max_age
- •
- متغیر محیطی: RCLONE_HASHER_MAX_AGE
- •
- نوع: Duration
- •
- پیشفرض: off
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص hasher (چکسامهای بهتر برای ریموتهای دیگر) آورده شده است.
--hasher-auto-size
بهروزرسانی خودکار چکسام برای فایلهای کوچکتر از این اندازه (بهطور پیشفرض غیرفعال است).
ویژگیها:
- •
- پیکربندی: auto_size
- •
- متغیر محیطی: RCLONE_HASHER_AUTO_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 0
--hasher-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_HASHER_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
متاداده (Metadata)
هرگونه متادادهای که توسط ریموت زیربنایی پشتیبانی شود، خوانده و نوشته میشود.
برای اطلاعات بیشتر مستندات متاداده (https://rclone.org/docs/#metadata) را ببینید..SS دستورهای backend
در اینجا دستورهای ویژهٔ backend مربوط به hasher آمده است.
آنها را بدین صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی میپذیرد.
برای اطلاعات بیشتر در مورد چگونگی ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورها را میتوان بر روی یک backend در حال اجرا با استفاده از دستور rc به نام backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
drop
دور ریختن حافظهٔ موقت (کَش).
-
rclone backend drop remote: [options] [<arguments>+]
پاکسازی و دور ریختن کامل حافظهٔ موقت مربوط به چِکسام (checksum).
مثال کاربرد:
-
rclone backend drop hasher:
dump
تخلیهٔ (Dump) پایگاهداده.
-
rclone backend dump remote: [options] [<arguments>+]
تخلیهٔ رکوردهای حافظهٔ موقت تحت پوشش remote جاری.
fulldump
تخلیهٔ کامل پایگاهداده.
-
rclone backend fulldump remote: [options] [<arguments>+]
تخلیهٔ تمام رکوردهای حافظهٔ موقت در پایگاهداده.
import
وارد کردن یک فایل SUM.
-
rclone backend import remote: [options] [<arguments>+]
اصلاح و بهروزرسانی حافظهٔ موقت هش از روی یک فایل SUM و پیوند دادن چِکسامها به فایلها بر پایهٔ اندازه/زمان.
مثال کاربرد:
-
rclone backend import hasher:subdir md5 /path/to/sum.md5
انجام درونریزی سریع یک فایل SUM.
-
rclone backend stickyimport remote: [options] [<arguments>+]
پر کردن حافظهٔ موقت (کَش) هش از یک فایل SUM بدون اعتبارسنجی اثرانگشتهای فایل.
مثال کاربرد:
-
rclone backend stickyimport hasher:subdir md5 remote:path/to/sum.md5
جزئیات پیادهسازی (پیشرفته)
این بخش نحوهٔ عملکرد عملیات مختلف rclone بر روی یک ریموت hasher را توضیح میدهد.
سلب مسئولیت. این بخش پیادهسازی فعلی را توصیف میکند که ممکن است در نسخههای آیندهٔ rclone تغییر کند!.
دستور Hashsum
دستور rclone hashsum (یا md5sum یا sha1sum):
- 1.
- اگر هش درخواستی توسط سطح پایینتر پشتیبانی شود، صرفاً آن را عبور میدهد.
- 2.
- اگر اندازهٔ شیء کمتر از auto_size باشد، شیء را بارگیری کرده و هشهای درخواستی را در لحظه محاسبه میکند.
- 3.
- اگر پشتیبانی نشود و اندازهٔ آن به حد کافی بزرگ باشد، اثرانگشت شیء (fingerprint) را ایجاد میکند (شامل اندازه، زمان تغییر یا modtime در صورت پشتیبانی، و اولین هشِ دیگری که یافت شود).
- 4.
- اگر تطابق دقیق در حافظهٔ موقت برای ریموت درخواستی یافت شود، هش ذخیرهشده را بازمیگرداند.
- 5.
- اگر ریموت یافت شود اما اثرانگشت مطابقت نداشته باشد، ورودی را پاکسازی (purge) کرده و به مرحلهٔ ۶ میرود.
- 6.
- اگر ریموت یافت نشود یا نوع هش درخواستی را نداشته باشد، یا پس از مرحلهٔ ۵: شیء را بارگیری کرده، تمام هشهای پشتیبانیشده را در لحظه محاسبه نموده و در حافظهٔ موقت ذخیره میکند؛ سپس هش درخواستی را بازمیگرداند.
سایر عملیات
- •
- هر زمان که هشی درخواست شود، از منطق مراحل ۱ تا ۴ از دستور hashsum در بالا پیروی میشود
- •
- هرگاه فایلی بهطور کامل بارگذاری یا بارگیری شود، جریان داده ضبط شده تا تمام هشهای پشتیبانیشده در لحظه محاسبه شوند و پایگاه داده بهروزرسانی گردد
- •
- دستور move سمت سرور کلیدهای ورودیهای موجود در حافظهٔ موقت را بهروزرسانی میکند
- •
- دستور deletefile یک ورودی منفرد را از حافظهٔ موقت حذف میکند
- •
- دستور purge تمام ورودیهای حافظهٔ موقت را در زیر مسیر پاکسازیشده حذف خواهد کرد
توجه داشته باشید که تنظیم max_age = 0 کَش کردن چکسام را کاملاً غیرفعال میکند.
اگر max_age = off را تنظیم کنید، چکسامهای موجود در حافظهٔ موقت هرگز منقضی نمیشوند، مگر اینکه فایل را بهطور کامل بازنویسی یا حذف کنید.
فضای ذخیرهسازی کَش
چکسامهای کَششده بهعنوان فایلهای پایگاه دادهٔ bolt در پوشهٔ کَش rclone ذخیره میشوند که معمولاً ~/.cache/rclone/kv/ است. پایگاههای داده به ازای هر بکاند پایه (base) به صورت مجزا نگهداری میشوند و نامگذاری آنها مانند BaseRemote~hasher.bolt است. چکسامها برای چندین alias متصل به یک بکاند پایهٔ یکسان، در یک پایگاه دادهٔ واحد ذخیره خواهند شد. تمام مسیرهای محلی به عنوان نامهای مستعار (alias) به بکاند local در نظر گرفته میشوند (مگر اینکه رمزگذاری یا تکهتکه شده باشند) و در ~/.cache/rclone/kv/local~hasher.bolt ذخیره میگردند. پایگاههای داده میتوانند بین چندین فرایند rclone به اشتراک گذاشته شوند..SH "هوآوی درایو (Huawei Drive)"
مسیرها به صورت huaweidrive:path مشخص میشوند.
مسیرهای Huawei Drive میتوانند تا هر عمقی که نیاز است ادامه یابند، مانند huaweidrive:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه برای Huawei Drive شامل دریافت یک توکن از Huawei Drive است که باید آن را در مرورگر وب خود انجام دهید. rclone config شما را در این مراحل راهنمایی میکند.
در اینجا نمونهای از نحوهٔ ساخت یک ریموت به نام remote آمده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرآیند راهاندازی تعاملی راهنمایی خواهد کرد:
-
No remotes found, make a new one? n) New remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config n/r/c/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Huawei Drive \ "huaweidrive" [snip] Storage> huaweidrive OAuth Client Id - leave blank to use rclone's default. client_id> OAuth Client Secret - leave blank to use rclone's default. client_secret> Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: huaweidrive - client_id: - client_secret: - token: {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2024-03-16T13:57:58.955387075Z"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای چگونگی راهاندازی بر روی ماشینی که به مرورگر وب با دسترسی اینترنت مجهز نیست، مستندات راهاندازی ریموت را در https://rclone.org/remote_setup ببینید.
توجه داشته باشید که اگر از مرورگر وب برای احراز هویت خودکار استفاده میکنید، rclone یک وبسرور بر روی ماشین محلی شما اجرا میکند تا توکن بازگردانده شده از سوی Huawei را جمعآوری کند. این سرور تنها از لحظهٔ باز شدن مرورگر تا زمان دریافت کد تأیید اجرا خواهد بود. این سرویس روی http://127.0.0.1:53682 قرار دارد و در صورتی که فایروال میزبان فعال باشد، ممکن است نیاز به رفع انسداد موقت آن داشته باشید یا از حالت دستی استفاده کنید.
سپس میتوانید به این شکل از آن استفاده کنید:
فهرست کردن دایرکتوریها در بالاترین سطح درایو:
-
rclone lsd remote:
فهرست کردن تمامی فایلها در درایو شما:
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در درایو:
-
rclone copy /home/source remote:backup
هنگامی که از rclone با Huawei Drive در پیکربندی پیشفرض استفاده میکنید، از client_id متعلق به rclone استفاده میشود. این شناسه بین تمامی کاربران rclone مشترک است. از سوی Huawei یک محدودیت نرخ سراسری (global rate limit) بر روی تعداد پرسوجوهای بر ثانیه برای هر client_id اعمال شده است.
اکیداً توصیه میشود از Client ID اختصاصی خود استفاده کنید، زیرا شناسه پیشفرض rclone به شدت مورد استفاده قرار میگیرد. اگر چندین سرویس در حال اجرا دارید، توصیه میشود برای هر سرویس از یک Client ID جداگانه استفاده کنید تا از بروز مشکلات محدودیت نرخ جلوگیری شود.
نحوه ایجاد Client ID اختصاصی Huawei Drive برای rclone به شرح زیر است:
برای دستورالعملهای راهاندازی کامل، راهنماهای جامع زیر را دنبال کنید:
- •
-
مقدمات برنامه تحت وب Huawei HMS Core (https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/web-preparations-0000001050050891)
- •
-
مقدمات سرور Huawei HMS Core (https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/server-preparations-0000001050185577#section194911701377)
ابزار rclone برای اتصال به Huawei Drive از روش دسترسی برنامه تحت وب (web application) استفاده میکند. پیش از شروع، باید مجوز ورود سریع را از طریق Huawei Account Open Service پیادهسازی کنید. با در دست داشتن اطلاعات مجوز کاربر، rclone میتواند APIهای سرویس Huawei Cloud Drive را فراخوانی کند.
ایجاد برنامه سرور (Server Application)
پیش از دسترسی به سرویس Drive، توسعهدهندگان باید ابتدا یک برنامه سرور ایجاد کنند. برای جزئیات بیشتر، لطفاً به بخش WEB Application Access Development Preparation در "Huawei Account Service Development Guide" مراجعه کنید.
فعالسازی کلید برنامه Drive
- 1.
- به وبسایت AppGallery Connect وارد شوید و روی "My Projects" کلیک کنید.
- 2.
- پروژه خود را در فهرست پروژهها پیدا کنید، برنامهای را که نیازمند دسترسی به Drive است انتخاب کرده و روی "API Management" کلیک کنید.
- 3.
- در بخش "API Management" از صفحه "Project Settings"، روی کلید سمت راست Drive Kit کلیک کنید تا مطمئن شوید در وضعیت فعال (open) قرار دارد.
امضای اعلامیه حریم خصوصی و توافقنامه کاربری Huawei Cloud Drive
به نشانی https://cloud.huawei.com مراجعه کنید. کاربرانی که برای اولین بار وارد میشوند، باید پیش از استفاده از Huawei Cloud Drive Service این توافقنامه را امضا (تأیید) کنند.
دسترسی برنامه برای دریافت توکن احراز هویت (Access Token)
برنامههایی که به Drive دسترسی پیدا میکنند باید از توکن احراز هویت Access Token استفاده کنند. برای روشهای خاص دریافت آن، لطفاً به بخش WEB Application Access Development Guide در "Huawei Account Service Development Guide" مراجعه نمایید.
خلاصه گامهای کلیدی:
- 1.
- با حساب کاربری Huawei خود وارد Huawei Developer Console (https://developer.huawei.com/consumer/en/console) شوید.
- 2.
- یک پروژه جدید ایجاد کرده یا یکی از پروژههای موجود را انتخاب کنید.
- 3.
- به بخش "Manage APIs" رفته و API مربوط به "Drive Kit" را فعال کنید.
- 4.
- در پنل سمت چپ روی "Credentials" کلیک کنید.
- 5.
- روی "Create Credentials" کلیک کرده و "OAuth client ID" را انتخاب نمایید.
- 6.
- گزینه "Web application" را به عنوان نوع برنامه انتخاب کنید.
- 7.
- نشانی http://localhost:53682/ را به "Authorized redirect URIs" اضافه کنید.
- 8.
- روی "Create" کلیک کرده و Client ID و Client Secret را یادداشت نمایید.
- 9.
- هنگام پیکربندی rclone، مقادیر Client ID و Client Secret یادداشتشده را ارائه دهید..SS محدودهها (Scopes)
ابزار rclone هنگام دسترسی به Huawei Drive از محدودههای OAuth2 زیر استفاده میکند:
- •
- https://www.huawei.com/auth/drive - دسترسی کامل به فایلهای Huawei Drive (بهجز پوشه دادههای برنامه)
- •
- https://www.huawei.com/auth/drive.file - دسترسی به فایلهای ایجادشده توسط برنامه
- •
- openid - احراز هویت OpenID Connect
- •
- profile - دسترسی به اطلاعات پایهای نمایه
محدوده drive.file در مجموعه پیشفرضی که توسط rclone استفاده میشود گنجانده شده است.
محدودههای جایگزین موجود (که بهصورت پیشفرض توسط rclone استفاده نمیشوند):
- •
- https://www.huawei.com/auth/drive.appdata - دسترسی به پوشه دادههای برنامه
- •
- https://www.huawei.com/auth/drive.readonly - دسترسی فقطخواندنی به فراداده و محتوای فایل
- •
- https://www.huawei.com/auth/drive.metadata - دسترسی خواندن/نوشتن فقط به فراداده فایل
- •
- https://www.huawei.com/auth/drive.metadata.readonly - دسترسی فقطخواندنی فقط به فراداده فایل
محدودههای پیشفرض، دسترسی خواندن/نوشتن را به تمامی فایلهای موجود در Huawei Drive شما فراهم میکنند.
زمانهای تغییر و هشها (Modification times and hashes)
سرویس Huawei Drive از تنظیم زمانهای تغییر پشتیبانی نمیکند. این API همواره از برچسبهای زمانی سمت سرور استفاده میکند، بنابراین زمانهای تغییر فایل از مبدأ در طول بارگذاری حفظ نمیشوند. زمانهای تغییر بهصورت فراداده فقطخواندنی (mtime، btime) در دسترس هستند.
الگوریتم هش SHA256 برای تأیید یکپارچگی فایل پشتیبانی میشود.
نویسههای محدودشده در نام فایل (Restricted filename characters)
سرویس Huawei Drive محدودیتهای سختگیرانهای برای نامهای فایل و دایرکتوری دارد:
- •
- نمیتواند شامل این موارد باشد: < > | : " * ? / \ یا نویسههای ایموجی
- •
- نمیتواند دقیقاً . .. باشد
- •
- حداکثر طول: 250 بایت
- •
- نقلقولهای تکی باید در فراخوانیهای API با \' گریز داده شوند
این محدودیتها توسط کدگذاری rclone مدیریت میشوند:
- •
- بکاسلشها \ کدگذاری میشوند
- •
- توالیهای نامعتبر UTF-8 کدگذاری میشوند
- •
- فاصلههای سمت راست کدگذاری میشوند
نویسههای نامعتبر با توجه به تنظیمات کدگذاری جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8).
بارگذاریهای ادامهپذیر (Resumable uploads)
سرویس Huawei Drive از بارگذاری ادامهپذیر برای فایلهای بزرگتر از حد آستانه بارگذاری (پیشفرض 20MB) پشتیبانی میکند. فایلها بهصورت تکهتکه بارگذاری میشوند که امکان بازیابی در صورت قطعی شبکه را فراهم میسازد.
محدودیتهای اندازه فایل (File size limits)
حداکثر اندازه فایل برای Huawei Drive برابر با 50 GiB است.
اطلاعات سهمیه (Quota information)
برای مشاهده سهمیه فعلی خود میتوانید از دستور rclone about remote: استفاده کنید که اطلاعات مصرف و سهمیه شما را نمایش میدهد..SS گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به huaweidrive (Huawei Drive) آورده شده است.
--huaweidrive-client-id
شناسه کلاینت OAuth.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--huaweidrive-client-secret
کلید مخفی کلاینت OAuth.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص به huaweidrive (Huawei Drive) آورده شده است.
--huaweidrive-token
توکن دسترسی OAuth بهصورت یک شیء JSON (JSON blob).
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_TOKEN
- •
- نوع: string
- •
- الزامی: false
--huaweidrive-auth-url
نشانی اینترنتی (URL) سرور احراز هویت.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--huaweidrive-token-url
نشانی اینترنتی (URL) سرور توکن.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--huaweidrive-client-credentials
استفاده از جریان اعتبارسنجی کلاینت (client credentials) در OAuth.
این مورد از جریان Client Credentials در OAUTH2 طبق آنچه در RFC 6749 شرح داده شده است استفاده خواهد کرد.
توجه داشته باشید که این گزینه توسط همه backendها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false.SS --huaweidrive-root-folder-id
شناسه پوشه ریشه (root).
معمولاً این مقدار بهطور خودکار شناسایی میشود، اما در صورت عدم موفقیت یا برای افزایش سرعت راهاندازی، میتوانید آن را بهصورت دستی تنظیم کنید.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_ROOT_FOLDER_ID
- •
- نوع: string
- •
- الزامی: false
--huaweidrive-chunk-size
اندازه قطعه (chunk) بارگذاری.
باید توانی از ۲ و >= 256k و <= 64MB باشد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 8Mi
--huaweidrive-list-chunk
اندازه قطعه فهرستبندی بین ۱ تا ۱۰۰۰.
ویژگیها:
- •
- پیکربندی: list_chunk
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_LIST_CHUNK
- •
- نوع: int
- •
- پیشفرض: 1000
--huaweidrive-upload-cutoff
آستانه تغییر وضعیت به بارگذاری قابلازسرگیری (resumable upload).
هر فایلی بزرگتر از این مقدار، با استفاده از بارگذاری قابلازسرگیری بارگذاری خواهد شد. حداقل مقدار 0 و حداکثر آن 20 MiB است (محدودیت Huawei Drive API برای بارگذاریهای تکدرخواستی).
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 20Mi
--huaweidrive-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftPeriod,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot.SS --huaweidrive-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_HUAWEIDRIVE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
فراداده (Metadata)
سرویس Huawei Drive از خواندن و نوشتن فرادادههای سفارشی پشتیبانی میکند.
فراداده کاربر را میتوان با استفاده از فیلد "properties" در API تنظیم کرد. فراداده سیستم شامل اطلاعات استاندارد فایل است، از قبیل: - content-type: نوع MIME شیء - description: توضیحات ارائهشده توسط کاربر - favorite: وضعیت علامتگذاری فایل به عنوان مورد علاقه - btime/mtime/utime: برچسبهای زمانی گوناگون - sha256: هش فایل - recycled/has-thumbnail: پرچمهای وضعیت فایل
کلیدهای فراداده سفارشی میتوانند هر رشتهای باشند و در ویژگیهای (properties) فایل ذخیره میشوند.
در اینجا موارد ممکن فراداده سیستم برای backend مربوط به huaweidrive آورده شده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| btime | زمان ایجاد فایل (RFC 3339) | RFC 3339 | Y | |
| content-type | نوع MIME شیء | string | Y | |
| description | توضیحات فایل | string | N | |
| favorite | آیا فایل به عنوان مورد علاقه علامتگذاری شده است (true/false) | string | N | |
| has-thumbnail | آیا فایل دارای تصویر بندانگشتی است (true/false) | string | Y | |
| mtime | زمان آخرین تغییر محتوای فایل (RFC 3339) | RFC 3339 | Y | |
| recycled | آیا فایل در سطل بازیافت قرار دارد (true/false) | string | Y | |
| sha256 | هش SHA256 فایل | string | Y | |
| utime | زمان آخرین ویرایش فایل توسط کاربر فعلی (RFC 3339) | RFC 3339 | Y |
برای اطلاعات بیشتر مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید..SS محدودیتها
سرویس Huawei Drive دارای محدودیت نرخ درخواست (rate limiting) است که ممکن است باعث شود rclone به منظور جلوگیری از برخورد با محدودیتها، سرعت انتقالها را کاهش دهد.
محدودیتهای نام فایل
- •
- نام فایلها نمیتواند شامل این نویسهها باشد: < > | : " * ? / \
- •
- نام فایلها نمیتواند دقیقاً . .. باشد
- •
- حداکثر طول نام فایل ۲۵۰ بایت است
- •
- برخی نویسههای یونیکد از جمله ایموجیها پشتیبانی نمیشوند
محدودیتهای نرخ API
سرویس Huawei Drive محدودیتهای نرخ درخواست API اعمال میکند. rclone با عقبنشینی زمانی (back-off) هنگام برخورد با این محدودیتها، آنها را بهطور خودکار مدیریت میکند.
انقضای توکن OAuth2
- •
- توکنهای دسترسی (Access tokens) پس از ۱ ساعت منقضی میشوند
- •
- توکنهای نوسازی (Refresh tokens) پس از ۱۸۰ روز منقضی میشوند
- •
- rclone در صورت نیاز بهطور خودکار توکنها را نوسازی خواهد کرد
محدودیتهای اندازه فایل
- •
- حداکثر اندازه فایل ۵۰ گیبیبایت (GiB) است
- •
- فایلهای بزرگتر از این مقدار قابل بارگذاری نیستند
رفتار بارگذاری
- •
- فایلهای کوچکتر از upload_cutoff (پیشفرض 20MB) در یک درخواست تکی با استفاده از روش محتوا یا چندبخشی (multipart) بارگذاری میشوند
- •
- فایلهای بزرگتر با استفاده از بارگذاریهای قابل ازسرگیری (resumable) با اندازه قطعه (chunk size) قابل تنظیم بارگذاری میشوند
- •
- حداکثر اندازه یک قطعه تکی برای بارگذاریهای قابل ازسرگیری 64MB است
- •
- بارگذاریهای قابل ازسرگیری از تلاش مجدد خودکار در صورت بروز خطاهای شبکه پشتیبانی میکنند
- •
- تأیید هش SHA256 برای فایلهای بارگذاریشده پشتیبانی میشود
عملیات سمت سرور
- •
- کپی سمت سرور: فایلها را میتوان بدون نیاز به بارگیری و بارگذاری مجدد، درون Huawei Drive کپی کرد
- •
- انتقال سمت سرور: فایلها و دایرکتوریها را میتوان در سمت سرور منتقل کرد یا تغییر نام داد
- •
- انتقال دایرکتوری: کل دایرکتوریها را میتوان با یک فراخوانی واحد API جابهجا کرد
عملیات دایرکتوری
- •
- سرویس Huawei Drive از ایجاد دایرکتوریهای خالی پشتیبانی میکند
- •
- فهرستگیری بازگشتی از طریق --fast-list برای پیمایش کارآمد دایرکتوری پشتیبانی میشود
- •
- سرویس Huawei Drive دارای یک پوشه ویژه "applicationData" برای دادههای اختصاصی برنامه است (از طریق پیکربندی پیشفرض rclone قابل دسترسی نیست)
مدیریت خطا
خطاهای رایج و معانی آنها:
- •
- 401 Unauthorized: اعتبارنامههای نامعتبر یا توکن منقضیشده
- •
- 403 Forbidden: معمولاً نشاندهنده مجوزهای ناکافی یا فراتر رفتن از سهمیه API است
- •
- 404 Not Found: فایل یا دایرکتوری وجود ندارد
- •
- 409 Conflict: دایرکتوری از قبل وجود دارد
- •
- 429 Too Many Requests: از محدودیت نرخ API فراتر رفته است، rclone بهطور خودکار دوباره تلاش خواهد کرد
بهینهسازی کارایی
برای کارایی بهتر:
- •
- افزایش مقدار --transfers برای عملیاتهای همزمان (پیشفرض ۴ است)
- •
- تنظیم chunk_size بر اساس سرعت شبکه و اندازههای فایل شما
- •
- استفاده از --fast-list برای عملیات روی دایرکتوریهای حاوی فایلهای پرتعداد جهت کاهش فراخوانیهای API.SS پشتیبانگیری
سرویس Huawei Drive با در نظر گرفتن نکاتی برای پشتیبانگیری مناسب است:
- •
- برای حفظ ساختار دقیق دایرکتوری، بهجای rclone copy از rclone sync استفاده کنید
- •
- استفاده از --backup-dir را برای نگهداری فایلهای حذفشده در نظر بگیرید
- •
- برای دادههای حیاتی، انتقالها را با پرچم --checksum راستیآزمایی کنید
- •
- محدودیت اندازه فایل 50 GiB برای هر فایل مجزا را مد نظر داشته باشید
قابلیتهای پشتیبانیشده
سرویس Huawei Drive از قابلیتهای زیر در rclone پشتیبانی میکند:
- •
- Copy - کپی سمت سرور فایلها
- •
- Move - انتقال/تغییر نام سمت سرور فایلها
- •
- DirMove - انتقال سمت سرور دایرکتوریها
- •
- ListR - فهرستبندی بازگشتی برای --fast-list
- •
- About - اطلاعات سهمیه فضای ذخیرهسازی
- •
- Purge - حذف دایرکتوری و تمام محتویات آن
- •
- CleanUp - خالی کردن سطل زباله
- •
- UserInfo - دریافت اطلاعات حساب کاربری
- •
- Metadata - خواندن و نوشتن فراداده/ویژگیهای فایل
- •
- ChangeNotify - بررسی دورهای برای تغییرات در ریموت (استفادهشده توسط rclone mount و rclone rc vfs/poll-interval)
ادغام با سایر سرویسها
میتوان از Huawei Drive بهعنوان بکاند برای عملیات مختلف rclone استفاده کرد:
- •
- سوار کردن (Mount) بهعنوان سیستمفایل محلی با استفاده از rclone mount
- •
- ارائه از طریق HTTP با استفاده از rclone serve http
- •
- ارائه از طریق FTP با استفاده از rclone serve ftp
- •
- ارائه از طریق WebDAV با استفاده از rclone serve webdav
توجه داشته باشید که ممکن است برخی عملیات به دلیل محدودیتهای API و تأخیر شبکه، کندتر از فضای ذخیرهسازی محلی باشند.
HDFS
سامانه HDFS (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) یک سیستمفایل توزیعشده و بخشی از چارچوب Apache Hadoop (https://hadoop.apache.org) است.
مسیرها بهصورت remote: یا remote:path/to/dir مشخص میشوند.
پیکربندی
در اینجا نمونهای از نحوه ساخت یک ریموت با نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این کار شما را در فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [skip] XX / Hadoop distributed file system \ "hdfs" [skip] Storage> hdfs ** See help for hdfs backend at: https://rclone.org/hdfs ** hadoop name node and port Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Connect to host namenode at port 8020 \ "namenode:8020" namenode> namenode.hadoop:8020 hadoop user name Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Connect to hdfs as root \ "root" username> root Edit advanced config? (y/n) y) Yes n) No (default) y/n> n Remote config Configuration complete. Options: - type: hdfs - namenode: namenode.hadoop:8020 - username: root Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== hadoop hdfs e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
این ریموت remote نام دارد و اکنون میتوان به این شکل از آن استفاده کرد
مشاهده تمام دایرکتوریهای سطح بالا
-
rclone lsd remote:
فهرست کردن محتویات یک دایرکتوری
-
rclone ls remote:directory
همگامسازی directory ریموت با /home/local/directory، همراه با حذف هرگونه فایل اضافه.
-
rclone sync --interactive remote:directory /home/local/directory
میتوانید با یک راهاندازی دستی (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html) شروع کنید یا از ایمیج docker مربوط به آزمونها استفاده نمایید:
اگر میخواهید ایمیج docker را بسازید:
-
git clone https://github.com/rclone/rclone.git cd rclone/fstest/testserver/images/test-hdfs docker build --rm -t rclone/test-hdfs .
یا میتوانید تنها از آخرین نسخه ارسالشده استفاده کنید:
-
docker run --rm --name "rclone-hdfs" -p 127.0.0.1:9866:9866 -p 127.0.0.1:8020:8020 --hostname "rclone-hdfs" rclone/test-hdfs
نکته: برای راهاندازی به چند ثانیه زمان نیاز دارد.
برای این ایمیج docker، ریموت (remote) باید به این صورت پیکربندی شود:
-
[remote] type = hdfs namenode = 127.0.0.1:8020 username = root
میتوانید این ایمیج را با docker kill rclone-hdfs متوقف کنید (نکته: این ایمیج از volumeها استفاده نمیکند، بنابراین تمام دادههای بارگذاریشده از دست خواهند رفت.)
زمانهای تغییر
زمان با دقت ۱ ثانیه ذخیره میشود.
مجموع بررسی (Checksum)
هیچ مجموع بررسی پیادهسازی نشده است.
اطلاعات میزان استفاده
میتوانید از دستور rclone about remote: استفاده کنید که اندازه سامانه فایل و میزان استفاده فعلی را نمایش میدهد.
نویسههای غیرمجاز در نام فایل
علاوه بر مجموعه پیشفرض نویسههای غیرمجاز (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| : | 0x3A | : |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8).
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به hdfs (سامانه فایل توزیعشده Hadoop) آورده شدهاند..SS --hdfs-namenode
گرههای نام (name nodes) و درگاههای Hadoop.
برای مثال "namenode-1:8020,namenode-2:8020,..." برای اتصال به namenodeهای میزبان روی درگاه 8020.
ویژگیها:
- •
- پیکربندی: namenode
- •
- متغیر محیطی: RCLONE_HDFS_NAMENODE
- •
- نوع: CommaSepList
- •
- پیشفرض:
--hdfs-username
نام کاربری Hadoop.
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_HDFS_USERNAME
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "root"
- •
- اتصال به hdfs با کاربر root.
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مخصوص hdfs (سیستم فایل توزیعشده Hadoop) آمده است.
--hdfs-service-principal-name
نام Service Principal مربوط به Kerberos برای namenode.
احراز هویت KERBEROS را فعال میکند. مشخصکننده Service Principal Name (به صورت SERVICE/FQDN) برای namenode است. برای مثال "hdfs/namenode.hadoop.docker" برای namenode در حال اجرا به عنوان سرویس 'hdfs' با FQDN معادل 'namenode.hadoop.docker'.
ویژگیها:
- •
- پیکربندی: service_principal_name
- •
- متغیر محیطی: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME
- •
- نوع: string
- •
- الزامی: false
--hdfs-data-transfer-protection
حفاظت از انتقال داده در Kerberos: شامل authentication|integrity|privacy.
مشخص میکند که آیا احراز هویت، بررسی یکپارچگی امضای داده و رمزنگاری دادههای در حال انتقال هنگام ارتباط با datanodeها الزامی است یا خیر. مقادیر مجاز عبارتند از 'authentication'، 'integrity' و 'privacy'. تنها در صورت فعال بودن KERBEROS استفاده میشود.
ویژگیها:
- •
- پیکربندی: data_transfer_protection
- •
- متغیر محیطی: RCLONE_HDFS_DATA_TRANSFER_PROTECTION
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "privacy"
- •
- اطمینان از فعال بودن احراز هویت، یکپارچگی و رمزنگاری.
کدگذاری برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری در بررسی اجمالی (https://rclone.org/overview/#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_HDFS_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
--hdfs-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_HDFS_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
محدودیتها (Limitations)
- •
- از Erasure coding پشتیبانی نمیشود، گزارش شماره #8808 (https://github.com/rclone/rclone/issues/8808) را ببینید.
- •
- عملیات Move یا DirMove سمت سرور وجود ندارد.
- •
- چکسامها پیادهسازی نشدهاند.
HiDrive
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق مورد نیازی باشند، مانند remote:directory/subdirectory.
راهاندازی اولیه HiDrive شامل دریافت یک توکن از HiDrive است که باید آن را در مرورگر خود انجام دهید. فرمان rclone config شما را مرحله به مرحله راهنمایی میکند.
پیکربندی (Configuration)
در اینجا نمونهای از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این فرمان شما را در فرآیند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / HiDrive \ "hidrive" [snip] Storage> hidrive OAuth Client Id - Leave blank normally. client_id> OAuth Client Secret - Leave blank normally. client_secret> Access permissions that rclone should use when requesting access from HiDrive. Leave blank normally. scope_access> Edit advanced config? y/n> n Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: hidrive - token: {"access_token":"xxxxxxxxxxxxxxxxxxxx","token_type":"Bearer","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxx","expiry":"xxxxxxxxxxxxxxxxxxxxxxx"} Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
باید توجه داشته باشید که از توکنهای OAuth میتوان برای دسترسی به حساب شما استفاده کرد و بنابراین نباید با افراد دیگر به اشتراک گذاشته شوند. برای اطلاعات بیشتر بخش زیر را ببینید.
برای نحوه راهاندازی روی دستگاهی که مرورگر وب متصل به اینترنت در دسترس ندارد، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید.
توجه داشته باشید که rclone یک وبسرور را روی دستگاه محلی شما اجرا میکند تا توکن بازگردانده شده از HiDrive را دریافت کند. این سرور تنها از لحظه باز شدن مرورگر تا زمان دریافت کد تأیید اجرا میشود. وبسرور روی http://127.0.0.1:53682 اجرا میشود. اگر پورت محلی 53682 توسط فایروال محافظت شده است، ممکن است برای تکمیل اعتبارسنجی نیاز باشد فایروال را موقتاً باز کنید.
پس از پیکربندی میتوانید از rclone به این صورت استفاده کنید (remote را با نامی که به ریموت خود دادهاید جایگزین کنید):
فهرست کردن دایرکتوریها در بالاترین سطح از پوشه ریشه HiDrive شما
-
rclone lsd remote:
فهرست کردن تمام فایلها در سیستم فایل HiDrive شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوری HiDrive به نام backup
-
rclone copy /home/source remote:backup
تمام توکنهای OAuth توسط rclone به صورت متن رمزنگارینشده در فایل پیکربندی ریموت ذخیره میشوند. هر فردی میتواند با داشتن یک refresh-token معتبر، بدون نیاز به دانستن گذرواژهٔ شما به سیستمفایل HiDrive دسترسی پیدا کند. بنابراین باید اطمینان حاصل کنید که هیچکس دیگری به پیکربندی شما دسترسی ندارد.
رمزنگاری فایل پیکربندی rclone امکانپذیر است. میتوانید با مشاهدهٔ مستندات رمزنگاری پیکربندی (https://rclone.org/docs/#configuration-encryption) اطلاعات لازم را برای امنسازی فایل پیکربندی خود به دست آورید.
نامعتبر بودن توکن تازهسازی (refresh token)
همانطور که در راهنمای OAuth مربوط به HiDrive (https://developer.hidrive.com/basics-flows) مشخص شده است، هر refresh_token (برای Native Applications) به مدت ۶۰ روز اعتبار دارد. در صورت استفاده برای دسترسی به HiDrive، اعتبار آن به صورت خودکار تمدید خواهد شد.
این بدان معناست که اگر:
- •
- به مدت ۶۰ روز از ریموت HiDrive استفاده نکنید
آنگاه rclone خطایی بازمیگرداند که نشان میدهد توکن تازهسازی (refresh token) نامعتبر (invalid) یا منقضی (expired) شده است.
برای رفع این مشکل، باید دوباره به rclone اجازهٔ دسترسی به حساب HiDrive خود را بدهید.
با اجرای:
-
rclone config reconnect remote:
این فرآیند بسیار شبیه به فرآیند راهاندازی اولیه است که پیشتر نمونهٔ آن آورده شد.
زمانهای تغییر و هشها
سرویس HiDrive اجازه میدهد زمان تغییر اشیاء با دقت ۱ ثانیه تنظیم شود.
سرویس HiDrive از نوع هش اختصاصی خود (https://static.hidrive.com/dev/0001) پشتیبانی میکند که برای بررسی صحت و یکپارچگی محتوای فایلها پس از انتقال موفق استفاده میشود.
نویسههای محدودشده در نام فایل
سرویس HiDrive نمیتواند فایلها یا پوشههایی را که در نام خود شامل / (0x2F) یا بایت تهی (0x00) هستند ذخیره کند. استفاده از سایر نویسهها در نام فایلها یا پوشهها مجاز است. علاوه بر این، فایلها یا پوشهها نمیتوانند با هیچیک از این موارد نامگذاری شوند: . یا ..
بنابراین، اگر فایلها یا پوشهها با چنین نامهایی ذخیره یا فراخوانی شوند، rclone به صورت خودکار این نویسهها را جایگزین خواهد کرد.
برای آگاهی از نحوهٔ عملکرد کلی این کدگذاری نام فایل، میتوانید به مستندات اصلی (https://rclone.org/overview/#restricted-filenames) مراجعه کنید.
به یاد داشته باشید که HiDrive تنها از نام فایلها یا پوشههایی با طول ۲۵۵ نویسه یا کمتر پشتیبانی میکند.
انتقالها
سرویس HiDrive اندازهٔ فایل را در هر درخواست منفرد به حداکثر 2 GiB محدود میکند. جهت امکانپذیر ساختن ذخیرهسازی فایلهای بزرگتر و دستیابی به عملکرد بهتر در بارگذاری، بکاند hidrive برای فایلهای بزرگتر از 96 MiB از روش انتقال تکهتکه (chunked transfer) استفاده خواهد کرد. دستور rclone چندین بخش/تکه از فایل را به طور همزمان بارگذاری میکند. تکههایی که در حال بارگذاری هستند در حافظه موقت (buffer) قرار میگیرند، بنابراین ممکن است بخواهید در سیستمهایی با منابع محدود این رفتار را مهار کنید.
میتوانید این رفتار را با استفاده از گزینههای زیر سفارشیسازی کنید:
- •
- chunk_size: اندازهٔ قطعات فایل
- •
- upload_cutoff: فایلهایی با اندازهٔ بزرگتر یا برابر با این مقدار از انتقال تکهتکه استفاده خواهند کرد
- •
- upload_concurrency: تعداد قطعات فایل که به طور همزمان بارگذاری میشوند
برای جزئیات بیشتر، بخش زیر دربارهٔ گزینههای پیکربندی را ببینید..SS پوشه ریشه (Root folder)
شما میتوانید پوشه ریشه را برای rclone تنظیم کنید. این دایرکتوری همان دایرکتوریای است که rclone آن را به عنوان ریشه HiDrive شما در نظر میگیرد.
معمولاً این مقدار را خالی میگذارید و rclone از ریشه حساب کاربری استفاده میکند.
با این حال، میتوانید این مقدار را تنظیم کنید تا rclone به یک سلسلهمراتب پوشهای خاص محدود شود.
روش کار به این صورت است که مقدار گزینه root_prefix به ابتدای هر مسیری که توسط rclone مورد دسترسی قرار میگیرد افزوده میشود. برای نمونه، دو روش زیر برای دسترسی به دایرکتوری خانگی معادل یکدیگر هستند:
-
rclone lsd --hidrive-root-prefix="/users/test/" remote:path rclone lsd remote:/users/test/path
برای جزئیات بیشتر، به بخش زیر درباره گزینههای پیکربندی مراجعه کنید.
تعداد اعضای دایرکتوری (Directory member count)
بهطور پیشفرض، rclone تعداد اعضای موجود در یک دایرکتوری را دریافت میکند. برای نمونه، دستور rclone lsd از این اطلاعات استفاده میکند.
دریافت این اطلاعات هزینههای زمانی مضاعفی را به API سرویس HiDrive تحمیل میکند. هنگام کار با ساختارهای دایرکتوری بزرگ، ممکن است دور زدن این هزینه زمانی مطلوب باشد، بهویژه زمانی که این اطلاعات صراحتاً مورد نیاز نباشد. بدین منظور، میتوان از گزینه disable_fetching_member_count استفاده کرد.
برای جزئیات بیشتر، به بخش زیر درباره گزینههای پیکربندی مراجعه کنید.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص hidrive (HiDrive) آورده شده است.
--hidrive-client-id
شناسه کلاینت OAuth (OAuth Client Id).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_HIDRIVE_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--hidrive-client-secret
کلید مخفی کلاینت OAuth (OAuth Client Secret).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_HIDRIVE_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
--hidrive-scope-access
مجوزهای دسترسی که rclone هنگام درخواست دسترسی از HiDrive باید استفاده کند.
ویژگیها:
- •
- پیکربندی: scope_access
- •
- متغیر محیطی: RCLONE_HIDRIVE_SCOPE_ACCESS
- •
- نوع: string
- •
- پیشفرض: "rw"
- •
- مثالها:
- •
- "rw"
- •
- دسترسی خواندن و نوشتن به منابع.
- •
- "ro"
- •
- دسترسی فقطخواندنی به منابع.
در اینجا گزینههای پیشرفته مخصوص hidrive (HiDrive) آورده شده است.
--hidrive-token
توکن دسترسی OAuth در قالب داده JSON (JSON blob).
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_HIDRIVE_TOKEN
- •
- نوع: string
- •
- الزامی: false
--hidrive-auth-url
نشانی اینترنتی (URL) سرور احراز هویت.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_HIDRIVE_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--hidrive-token-url
نشانی اینترنتی (URL) سرور توکن.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_HIDRIVE_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--hidrive-client-credentials
استفاده از جریان OAuth مبتنی بر Client Credentials.
این گزینه از OAUTH2 client Credentials Flow همانطور که در RFC 6749 شرح داده شده است استفاده خواهد کرد.
توجه داشته باشید که این گزینه توسط همه بکاندها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_HIDRIVE_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--hidrive-scope-role
سطح کاربری که rclone هنگام درخواست دسترسی از HiDrive باید استفاده کند.
ویژگیها:
- •
- پیکربندی: scope_role
- •
- متغیر محیطی: RCLONE_HIDRIVE_SCOPE_ROLE
- •
- نوع: string
- •
- پیشفرض: "user"
- •
- مثالها:
- •
- "user"
- •
- دسترسی در سطح کاربر به مجوزهای مدیریتی.
- •
- این گزینه در بیشتر موارد کافی خواهد بود.
- •
- "admin"
- •
- دسترسی گسترده به مجوزهای مدیریتی.
- •
- "owner"
- •
- دسترسی کامل به مجوزهای مدیریتی.
پوشه ریشه/والد برای تمام مسیرها.
این گزینه را پر کنید تا از پوشه مشخصشده بهعنوان والد تمام مسیرهای ارائهشده به ریموت استفاده شود. به این ترتیب rclone میتواند از هر پوشهای بهعنوان نقطه شروع خود استفاده کند.
ویژگیها:
- •
- پیکربندی: root_prefix
- •
- متغیر محیطی: RCLONE_HIDRIVE_ROOT_PREFIX
- •
- نوع: string
- •
- پیشفرض: "/"
- •
- مثالها:
- •
- "/"
- •
- بالاترین دایرکتوری در دسترس برای rclone.
- •
- اگر rclone از یک حساب کاربری عادی HiDrive استفاده کند، این مقدار معادل با "root" خواهد بود.
- •
- "root"
- •
- بالاترین دایرکتوری حساب کاربری HiDrive
- •
- ""
- •
- مشخص میکند که هیچ پیشوند ریشهای (root-prefix) برای مسیرهای شما وجود ندارد.
- •
- هنگام استفاده از این مقدار، همواره باید مسیرهای این ریموت را با یک والد معتبر مشخص کنید، مانند "remote:/path/to/dir" یا "remote:root/path/to/dir".
--hidrive-endpoint
نقطه پایانی (Endpoint) برای سرویس.
این نشانی اینترنتی (URL) است که فراخوانیهای API به آن فرستاده خواهد شد.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_HIDRIVE_ENDPOINT
- •
- نوع: string
- •
- پیشفرض: "https://api.hidrive.strato.com/2.1"
--hidrive-disable-fetching-member-count
تعداد اشیاء درون دایرکتوریها را دریافت نکن، مگر آنکه کاملاً ضروری باشد.
اگر تعداد اشیاء موجود در زیردایرکتوریها واکشی نشود، ممکن است درخواستها سریعتر انجام گیرند.
ویژگیها:
- •
- پیکربندی: disable_fetching_member_count
- •
- متغیر محیطی: RCLONE_HIDRIVE_DISABLE_FETCHING_MEMBER_COUNT
- •
- نوع: bool
- •
- پیشفرض: false
--hidrive-chunk-size
اندازه تکه برای بارگذاریهای تکهتکه (chunked).
هر فایلی بزرگتر از حد آستانه (cutoff) پیکربندیشده (یا فایلهایی با اندازه نامشخص) در تکههایی با این اندازه بارگذاری خواهد شد.
حد بالای این مقدار 2147483647 بایت (حدود 2.000Gi) است. این حداکثر میزان بایتی است که یک عملیات بارگذاری منفرد پشتیبانی میکند. تنظیم این مقدار فراتر از حد مجاز یا بر روی یک مقدار منفی، موجب شکست بارگذاریها خواهد شد.
تنظیم این گزینه روی مقادیر بزرگتر ممکن است سرعت بارگذاری را به بهای مصرف حافظه بیشتر افزایش دهد. برای صرفهجویی در مصرف حافظه میتوان آن را بر روی مقادیر کوچکتر تنظیم نمود.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_HIDRIVE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 48Mi.SS --hidrive-upload-cutoff
حد آستانه/قطع برای بارگذاریهای تکهای (chunked).
هر فایلی بزرگتر از این مقدار باشد، در تکههایی با اندازهٔ تنظیمشده در chunksize بارگذاری خواهد شد.
حد بالای این مقدار 2147483647 بایت (حدود 2.000Gi) است. این حداکثر میزان بایتی است که یک عملیات بارگذاری منفرد پشتیبانی میکند. تنظیم مقداری بالاتر از این حد بالا، باعث شکست بارگذاریها خواهد شد.
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_HIDRIVE_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 96Mi
--hidrive-upload-concurrency
همزمانی برای بارگذاریهای تکهای (chunked).
این حد بالا برای تعداد انتقالهایی است که میتوانند برای یک فایل بهصورت همزمان اجرا شوند. تنظیم این مقدار روی عددی کوچکتر از 1 باعث ایجاد بنبست (deadlock) در بارگذاریها خواهد شد.
اگر تعداد کمی از فایلهای حجیم را از طریق اتصالهای پرسرعت بارگذاری میکنید و این بارگذاریها بهطور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار میتواند به تسریع انتقالها کمک کند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_HIDRIVE_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 4
--hidrive-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_HIDRIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Dot
--hidrive-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_HIDRIVE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
پیوندهای نمادین (Symbolic links)
سرویس HiDrive بر اساس طراحی خود قادر به ذخیرهٔ پیوندهای نمادین (symlinks) است؛ برای نمونه، هنگامی که از یک بایگانی zip استخراج میشوند.
هیچ سازوکار مستقیمی برای مدیریت پیوندهای نمادین بومی (native) در ریموتها وجود ندارد. به همین دلیل، این پیادهسازی تصمیم گرفته است که هرگونه پیوند نمادین بومی موجود در ریموت را نادیده بگیرد. ابزار rclone قادر به دسترسی یا نمایش پیوندهای نمادین ذخیرهشده در ریموت hidrive نخواهد بود. این بدان معناست که پیوندهای نمادین را نمیتوان بهصورت جداگانه حذف کرد، کپی نمود یا انتقال داد، مگر هنگام حذف، کپی یا انتقال پوشهٔ والد آنها.
این مورد روی فایلهای .rclonelink که rclone برای کدگذاری و ذخیرهٔ پیوندهای نمادین استفاده میکند، تأثیری ندارد..SS فایلهای تنک (Sparse files)
امکان ذخیره کردن فایلهای تنک (sparse files) در HiDrive وجود دارد.
توجه داشته باشید که کپی کردن یک فایل تنک باعث گسترش حفرهها به نواحی بایتهای تهی (null-byte یا 0x00) خواهد شد که به نوبه خود فضای دیسک را اشغال میکنند. به همین ترتیب، هنگام بارگیری یک فایل تنک، فایل حاصل به جای حفرههای فایل، دارای نواحی بایتهای تهی خواهد بود.
HTTP
ریموت HTTP یک ریموت فقطخواندنی برای خواندن فایلهای یک وبسرور است. وبسرور باید فهرست فایلها را ارائه دهد تا rclone بتواند آنها را خوانده و به یک ریموت تبدیل کند. این قابلیت با وبسرورهای متداول مانند Apache/Nginx/Caddy آزمایش شده است و به احتمال زیاد با فهرست فایلهای اکثر وبسرورها کار خواهد کرد. (اگر کار نکرد، لطفاً یک issue ثبت کنید یا یک pull request ارسال نمایید!)
مسیرها به صورت remote: یا remote:path مشخص میشوند.
عبارت remote: نشاندهنده url پیکربندیشده است، و هر مسیری که پس از آن بیاید، طبق استاندارد URL نسبت به این url حلوفصل خواهد شد. بدین معنا که با url ریموت https://beta.rclone.org/branch و مسیر fix، نشانی حلشده برابر با https://beta.rclone.org/branch/fix خواهد بود، در حالی که با مسیر /fix نشانی نهایی https://beta.rclone.org/fix خواهد بود، زیرا مسیر مطلق از ریشه دامنه حلوفصل میشود.
اگر مسیری که پس از remote: میآید به / ختم شود، فرض میشود که به یک دایرکتوری اشاره دارد. اگر مسیر به / ختم نشود، یک درخواست HEAD ارسال شده و از پاسخ آن برای تصمیمگیری درباره فایل یا دایرکتوری بودن آن استفاده میشود (برای مشاهده جزئیات با -vv اجرا کنید). هنگامی که --http-no-head مشخص شده باشد، مسیری بدون / پایانی همیشه به عنوان فایل در نظر گرفته میشود. اگر rclone به اشتباه مسیر را یک فایل فرض کند، راهحل این است که مسیر را با / در انتها مشخص کنید. وقتی میدانید که مسیر یک دایرکتوری است، پایان دادن به آن با / همیشه بهتر است زیرا از درخواست اولیه HEAD جلوگیری میکند.
برای دانلود صرفاً یک فایل تکی، استفاده از copyurl (https://rclone.org/commands/rclone_copyurl) سادهتر است.
پیکربندی (Configuration)
در اینجا نمونهای از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در مراحل یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / HTTP \ "http" [snip] Storage> http URL of http host to connect to Choose a number from below, or type in your own value 1 / Connect to example.com \ "https://example.com" url> https://beta.rclone.org Remote config Configuration complete. Options: - type: http - url: https://beta.rclone.org Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== remote http e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
این ریموت remote نامیده میشود و اکنون میتوان به این صورت از آن استفاده کرد:
مشاهده تمام دایرکتوریهای سطح بالا:
-
rclone lsd remote:
فهرست کردن محتویات یک دایرکتوری:
-
rclone ls remote:directory
همگامسازی دایرکتوری ریموت directory با /home/local/directory، همراه با حذف فایلهای اضافی:
-
rclone sync --interactive remote:directory /home/local/directory
این ریموت فقطخواندنی است - شما نمیتوانید فایلها را در یک سرور HTTP بارگذاری کنید.
سرورهای بدون فهرستبندی دایرکتوری
معمولاً rclone برای یافتن فایلها نیاز دارد که سرور HTTP یک فهرست دایرکتوری قابل تجزیه بازگرداند. اما اگر مسیر مستقیماً به یک تک فایل اشاره کند (یعنی به / ختم نشود و درخواست اولیه HEAD آن را به عنوان یک فایل گزارش دهد)، rclone فهرستبندی دایرکتوری والد را کاملاً نادیده گرفته و مستقیماً به فایل دسترسی پیدا میکند.
این بدان معناست که تا زمانی که نشانی URL دقیق هر فایل را بدانید، میتوانید از rclone برای بارگیری فایلهای مجزا در سرورهای HTTP که فهرستبندی دایرکتوری در آنها غیرفعال است استفاده کنید. برای مثال، سروری را در نظر بگیرید که https://example.com/path/file.txt را ارائه میدهد اما برای https://example.com/path/ یک خطا یا پاسخی غیرقابل تجزیه بازمیگرداند:
-
rclone copy --http-url https://example.com :http:path/file.txt /tmp/
همچنین میتوانید از این به عنوان یک ریموت در سایر دستورات rclone نیز استفاده کنید:
-
rclone hashsum crc32 --http-url "https://getsamplefiles.com" :archive::http:download/zip/sample-1.zip
اگر صرفاً میخواهید یک یا چند فایل را از طریق URL بارگیری کنید، استفاده از copyurl (https://rclone.org/commands/rclone_copyurl) کارآمدتر است.
زمانهای تغییر
بیشتر سرورهای HTTP زمان را با دقت ۱ ثانیه ذخیره میکنند.
چکسام (Checksum)
هیچ چکسامی ذخیره نمیشود.
استفاده بدون فایل پیکربندی
از آنجا که ریموت http تنها یک پارامتر پیکربندی دارد، استفاده از آن بدون فایل پیکربندی آسان است:
-
rclone lsd --http-url https://beta.rclone.org :http:
یا:
-
rclone lsd :http,url='https://beta.rclone.org':
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص http (HTTP) آورده شده است.
--http-url
نشانی URL میزبان HTTP برای اتصال به آن.
برای مثال "https://example.com"، یا "https://user:pass@example.com" برای استفاده از یک نام کاربری و گذرواژه.
ویژگیها:
- •
- پیکربندی: url
- •
- متغیر محیطی: RCLONE_HTTP_URL
- •
- نوع: string
- •
- الزامی: true.SS --http-no-escape
نویسههای متای URL در نامهای مسیر اسکیپ (escape) نشوند.
ویژگیها:
- •
- پیکربندی: no_escape
- •
- متغیر محیطی: RCLONE_HTTP_NO_ESCAPE
- •
- نوع: bool
- •
- پیشفرض: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفتهٔ ویژهٔ http (HTTP) آورده شده است.
--http-headers
تنظیم سرآیندهای HTTP برای تمامی تراکنشها.
از این گزینه برای تنظیم سرآیندهای اضافی HTTP در تمام تراکنشها استفاده کنید.
قالب ورودی، فهرستی جداشده با کاما از جفتهای کلید,مقدار (key,value) است. کدگذاری استاندارد CSV (https://godoc.org/encoding/csv) میتواند استفاده شود.
برای نمونه، جهت تنظیم Cookie از 'Cookie,name=value' یا '"Cookie","name=value"' استفاده کنید.
میتوانید چندین سرآیند را تنظیم کنید، مثلاً: '"Cookie","name=value","Authorization","xxx"'.
این سرآیندها تنها به میزبان مشخصشده در URL پیکربندیشده ارسال میشوند. اگر کارساز به میزبان دیگری (شامل یک زیردامنه یا یک درگاه متفاوت) هدایت مجدد (redirect) انجام دهد، سرآیندها به آن، یا به هر جهش دیگری در آن زنجیرهٔ هدایت مجدد ارسال نمیشوند. هنگامی که سرآیندها تنظیم شده باشند، هدایت مجدد از https به http رد میشود زیرا آنها را در قالب متنی آشکار (cleartext) ارسال خواهد کرد.
ویژگیها:
- •
- پیکربندی: headers
- •
- متغیر محیطی: RCLONE_HTTP_HEADERS
- •
- نوع: CommaSepList
- •
- پیشفرض:
--http-no-slash
اگر وبگاه نام دایرکتوریها را با / پایان نمیدهد، این گزینه را تنظیم کنید.
اگر وبگاه مقصد شما در انتهای نام دایرکتوریها از / استفاده نمیکند، این گزینه را به کار ببرید.
علامت / در انتهای یک مسیر، روشی است که rclone بهطور معمول به کمک آن تفاوت میان فایلها و دایرکتوریها را تشخیص میدهد. اگر این پرچم تنظیم شود، rclone با تمامی فایلهای دارای Content-Type: text/html به عنوان دایرکتوری رفتار کرده و به جای بارگیری، URLها را از درون آنها میخواند.
توجه داشته باشید که این کار ممکن است سبب شود rclone فایلهای HTML واقعی را با دایرکتوریها اشتباه بگیرد.
ویژگیها:
- •
- پیکربندی: no_slash
- •
- متغیر محیطی: RCLONE_HTTP_NO_SLASH
- •
- نوع: bool
- •
- پیشفرض: false
--http-no-head
عدم استفاده از درخواستهای HEAD.
درخواستهای HEAD عمدتاً برای یافتن اندازهٔ فایلها در فهرست دایرکتوری استفاده میشوند. اگر بارگذاری وبگاه شما بسیار کند است، میتوانید این گزینه را امتحان کنید. در حالت عادی rclone برای هر فایل بالقوه در فهرست دایرکتوری یک درخواست HEAD ارسال میکند تا:
- •
- اندازهٔ آن را بیابد
- •
- واقعی بودن و وجود آن را بررسی کند
- •
- بررسی کند که آیا یک دایرکتوری است یا خیر
اگر این گزینه را تنظیم کنید، rclone درخواست HEAD را انجام نخواهد داد. این کار باعث میشود فهرست کردن دایرکتوری بسیار سریعتر انجام گیرد، اما rclone زمانها یا اندازههای هیچ فایلی را نخواهد داشت، و ممکن است برخی فایلها که وجود خارجی ندارند نیز در فهرست ظاهر شوند.
ویژگیها:
- •
- پیکربندی: no_head
- •
- متغیر محیطی: RCLONE_HTTP_NO_HEAD
- •
- نوع: bool
- •
- پیشفرض: false.SS --http-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_HTTP_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
متاداده (Metadata)
کلیدهای متادادهٔ HTTP به حروف بزرگ و کوچک حساس نیستند و همواره با حروف کوچک بازگردانده میشوند.
در اینجا موارد متادادهٔ سیستمی ممکن برای backend مربوط به http آورده شده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| cache-control | سرآیند Cache-Control | string | no-cache | N |
| content-disposition | سرآیند Content-Disposition | string | inline | N |
| content-disposition-filename | نام فایل دریافتشده از سرآیند Content-Disposition | string | file.txt | N |
| content-encoding | سرآیند Content-Encoding | string | gzip | N |
| content-language | سرآیند Content-Language | string | en-US | N |
| content-type | سرآیند Content-Type | string | text/plain | N |
برای اطلاعات بیشتر مستندات متاداده (https://rclone.org/docs/#metadata) را ببینید..SS دستورات بکاند (Backend commands)
در اینجا دستورات مخصوص بکاند http آمده است.
آنها را با این دستور اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی میپذیرد.
برای اطلاعات بیشتر در مورد نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورات را میتوان روی یک بکاندِ در حال اجرا با استفاده از دستور rc به صورت backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
set
دستور set برای بهروزرسانی پارامترهای پیکربندی (config).
-
rclone backend set remote: [options] [<arguments>+]
از این دستور set میتوان برای بهروزرسانی پارامترهای پیکربندی یک بکاند http در حال اجرا استفاده کرد.
مثالهای کاربرد:
-
rclone backend set remote: [-o opt_name=opt_value] [-o opt_name2=opt_value2] rclone rc backend/command command=set fs=remote: [-o opt_name=opt_value] [-o opt_name2=opt_value2] rclone rc backend/command command=set fs=remote: -o url=https://example.com
کلیدهای گزینهها دقیقاً همانند فایل پیکربندی نامگذاری شدهاند.
این دستور هنگام فراخوانی با پارامترهای جدید، اتصال به بکاند http را بازسازی میکند. تنها نیاز است پارامترهای جدید ارسال شوند، زیرا مقادیر دیگر بهطور پیشفرض همان مقادیرِ در حال استفاده خواهند بود.
این دستور چیزی برنمیگرداند.
محدودیتها (Limitations)
دستور rclone about توسط بکاند HTTP پشتیبانی نمیشود. بکاندهایی که این قابلیت را ندارند نمیتوانند فضای خالی را برای یک rclone mount مشخص کنند یا از خطمشی mfs (بیشترین فضای خالی یا most free space) به عنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) را ببینید.
ImageKit
این یک بکاند برای سرویس ذخیرهسازی ImageKit.io (https://imagekit.io) است.
سرویس ImageKit.io (https://imagekit.io) بهینهسازی، تبدیل و تحویل CDN تصاویر و ویدیوها را به صورت آنی (real-time) فراهم میکند. بیش از ۱٬۰۰۰ کسبوکار و ۷۰٬۰۰۰ توسعهدهنده برای تصاویر و ویدیوهای خود در وب به ImageKit اعتماد دارند.
برای استفاده از این بکاند، لازم است یک حساب کاربری (https://imagekit.io/registration) در ImageKit بسازید. میتوانید کار را با یک پلن رایگان با محدودیتهای سخاوتمندانه آغاز کنید. سپس، همگام با رشد نیازهایتان، به طرحی که بیشترین تطابق را با نیاز شما دارد ارتقا دهید. جزئیات قیمتگذاری (https://imagekit.io/plans) را مشاهده کنید.
پیکربندی (Configuration)
در اینجا مثالی از انجام پیکربندی imagekit آورده شده است.
ابتدا یک حساب کاربری در ImageKit.io (https://imagekit.io) ایجاد کرده و یک طرح انتخاب کنید.
باید وارد حساب خود شوید و مقادیر publicKey و privateKey را برای حساب کاربریتان از بخش توسعهدهندگان (developer section) دریافت کنید.
اکنون اجرا کنید:
-
rclone config
این دستور شما را در مراحل یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter the name for the new remote. name> imagekit-media-library Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [snip] XX / ImageKit.io \ (imagekit) [snip] Storage> imagekit Option endpoint. You can find your ImageKit.io URL endpoint in your [dashboard](https://imagekit.io/dashboard/developer/api-keys) Enter a value. endpoint> https://ik.imagekit.io/imagekit_id Option public_key. You can find your ImageKit.io public key in your [dashboard](https://imagekit.io/dashboard/developer/api-keys) Enter a value. public_key> public_**************************** Option private_key. You can find your ImageKit.io private key in your [dashboard](https://imagekit.io/dashboard/developer/api-keys) Enter a value. private_key> private_**************************** Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: imagekit - endpoint: https://ik.imagekit.io/imagekit_id - public_key: public_**************************** - private_key: private_**************************** Keep this "imagekit-media-library" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
فهرست کردن دایرکتوریها در بالاترین سطح Media Library:
-
rclone lsd imagekit-media-library:
ساختن یک دایرکتوری جدید:
-
rclone mkdir imagekit-media-library:directory
فهرست کردن محتویات یک دایرکتوری:
-
rclone ls imagekit-media-library:directory
ImageKit هنوز از زمانهای تغییر یا هشها پشتیبانی نمیکند.
چکسامها
هیچ چکسامی پشتیبانی نمیشود.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به imagekit (ImageKit.io) آورده شدهاند.
--imagekit-endpoint
میتوانید نشانی پایانی (URL endpoint) ImageKit.io خود را در داشبورد خود بیابید (https://imagekit.io/dashboard/developer/api-keys)
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_IMAGEKIT_ENDPOINT
- •
- نوع: string
- •
- الزامی: true
--imagekit-public-key
میتوانید کلید عمومی ImageKit.io خود را در داشبورد خود بیابید (https://imagekit.io/dashboard/developer/api-keys)
ویژگیها:
- •
- پیکربندی: public_key
- •
- متغیر محیطی: RCLONE_IMAGEKIT_PUBLIC_KEY
- •
- نوع: string
- •
- الزامی: true
--imagekit-private-key
میتوانید کلید خصوصی ImageKit.io خود را در داشبورد خود بیابید (https://imagekit.io/dashboard/developer/api-keys)
ویژگیها:
- •
- پیکربندی: private_key
- •
- متغیر محیطی: RCLONE_IMAGEKIT_PRIVATE_KEY
- •
- نوع: string
- •
- الزامی: true
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص به imagekit (ImageKit.io) آورده شدهاند.
--imagekit-only-signed
اگر Restrict unsigned image URLs را در تنظیمات داشبورد خود پیکربندی کردهاید، این مقدار را روی true تنظیم کنید.
ویژگیها:
- •
- پیکربندی: only_signed
- •
- متغیر محیطی: RCLONE_IMAGEKIT_ONLY_SIGNED
- •
- نوع: bool
- •
- پیشفرض: false
--imagekit-versions
گنجاندن نسخههای قدیمی در فهرست دایرکتوریها.
ویژگیها:
- •
- پیکربندی: versions
- •
- متغیر محیطی: RCLONE_IMAGEKIT_VERSIONS
- •
- نوع: bool
- •
- پیشفرض: false.SS --imagekit-upload-tags
برچسبهایی که باید به فایلهای بارگذاریشده اضافه شوند، مانند "tag1,tag2".
ویژگیها:
- •
- پیکربندی: upload_tags
- •
- متغیر محیطی: RCLONE_IMAGEKIT_UPLOAD_TAGS
- •
- نوع: string
- •
- الزامی: false
--imagekit-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_IMAGEKIT_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Dollar,Question,Hash,Percent,BackSlash,Del,Ctl,InvalidUtf8,Dot,SquareBracket
--imagekit-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_IMAGEKIT_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
متاداده (Metadata)
هر متادادهای که توسط remote زیرین پشتیبانی شود خوانده و نوشته میشود.
در ادامه موارد متاداده سیستمی ممکن برای backend مربوط به imagekit آورده شده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| aws-tags | برچسبهای تولیدشده توسط هوش مصنوعی با AWS Rekognition مرتبط با تصویر | string | tag1,tag2 | Y |
| btime | زمان ایجاد فایل خواندهشده از سرآیند Last-Modified | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | Y |
| custom-coordinates | مختصات سفارشی فایل | string | 0,0,100,100 | Y |
| file-type | نوع فایل | string | image | Y |
| google-tags | برچسبهای تولیدشده توسط هوش مصنوعی با Google Cloud Vision مرتبط با تصویر | string | tag1,tag2 | Y |
| has-alpha | آیا تصویر دارای کانال آلفا است یا خیر | bool | Y | |
| height | ارتفاع تصویر یا ویدیو به پیکسل | int | Y | |
| is-private-file | آیا فایل خصوصی است یا خیر | bool | Y | |
| mtime | زمان آخرین تغییر، خواندهشده از فیلد updatedAt فایل | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | Y |
| size | اندازه شیء به بایت | int64 | Y | |
| tags | برچسبهای مرتبط با فایل | string | tag1,tag2 | Y |
| width | پهنای تصویر یا ویدیو به پیکسل | int | Y | |
| برای اطلاعات بیشتر، مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید. | ||||
| "iCloud Drive و Photos" | ||||
| "پیکربندی (Configuration)" | ||||
| راهاندازی اولیه برای یک backend مربوط به iCloud، شامل دریافت یک توکن/نشست معتمد (trust token/session) است. | ||||
| در این فرایند از گذرواژه معمول Apple ID شما به همراه احراز هویت دو مرحلهای (2FA) استفاده میشود که از طریق اعلان در دستگاه مورد اعتماد یا کد پیامکشده به شماره تلفن مورد اعتماد تأیید میگردد. | ||||
| مهم: گذرواژههای ویژه برنامه (App-specific passwords) پذیرفته نمیشوند. | ||||
| تنها از گذرواژه معمول Apple ID خود و 2FA استفاده کنید. | ||||
| این backend برای دو سرویس شرکت Apple به کار میرود: | ||||
| • 2 | ||||
| drive - سرویس iCloud Drive (پیشفرض) | ||||
| • 2 | ||||
| photos - سرویس iCloud Photos | ||||
| دستور rclone config شما را در مراحل ایجاد توکن راهنمایی میکند. | ||||
| توکن معتمد به مدت ۳۰ روز معتبر است. | ||||
| پس از این مدت باید با استفاده از rclone reconnect یا rclone config مجدداً احراز هویت کنید. | ||||
| "احراز هویت (Authentication)" | ||||
| ابزار rclone با استفاده از پروتکل SRP (گذرواژه امن از راه دور / Secure Remote Password) (https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol) با Apple احراز هویت میکند؛ همان پروتکلی که توسط رابط وب iCloud استفاده میشود. | ||||
| گذرواژه شما هرگز به کارسازهای Apple ارسال نمیشود -- در عوض، یک اثبات رمزنگاری مبادله میشود که بدون افشای گذرواژه، دانستن آن را تأیید میکند. | ||||
| مراحل احراز هویت عبارت است از: | ||||
| "1." 3 | ||||
| ابزار rclone نشستی را با سرویس هویت سنجی Apple آغاز میکند | ||||
| "2." 3 | ||||
| تبادل کلید SRP انجام میشود (گذرواژه شما بهصورت محلی برای تولید کلید به کار میرود) | ||||
| "3." 3 | ||||
| شرکت Apple اعلانی برای 2FA به دستگاههای مورد اعتماد شما ارسال میکند، یا امکان درخواست کد از طریق پیامک را فراهم میسازد | ||||
| "4." 3 | ||||
| پس از ورود کد 2FA، ابزار rclone یک توکن معتمد برای نشستهای بعدی دریافت میکند | ||||
| در اینجا نمونهای از نحوه ایجاد یک ریموت Photos به نام | ||||
| icloudphotos آورده شده است. | ||||
| برای iCloud Drive، مقدار service را روی مقدار پیشفرض آن یعنی | ||||
| drive باقی بگذارید. | ||||
| ابتدا اجرا کنید: | ||||
| rclone config |
| این دستور شما را در فرایند راهاندازی تعاملی هدایت میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> icloudphotos |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / iCloud Drive |
| \ (iclouddrive) |
| [snip] |
| Storage> iclouddrive |
| Option service. |
| iCloud service to use. |
| Choose a number from below, or type in your own value of type string. |
| Press Enter for the default (drive). |
| 1 / iCloud Drive |
| \ (drive) |
| 2 / iCloud Photos |
| \ (photos) |
| service> 2 |
| Option apple_id. |
| Apple ID. |
| Enter a value. |
| apple_id> APPLEID |
| Option password. |
| Password. |
| Choose an alternative below. |
| y) Yes, type in my own password |
| g) Generate random password |
| y/g> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Option config_2fa. |
| Two-factor authentication: enter your 2FA code or type 'sms' for a text message |
| Enter a value. |
| config_2fa> 2FACODE |
| Remote config |
| -------------------- |
| [icloudphotos] |
| - type: iclouddrive |
| - service: photos |
| - apple_id: APPLEID |
| - password: *** ENCRYPTED *** |
| - cookies: **************************** |
| - trust_token: **************************** |
| -------------------- |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| بکاند iCloud Drive همچنین از دسترسی به iCloud Photos با |
| تنظیم گزینهٔ service روی photos پشتیبانی میکند: |
| rclone lsd iclouddrive: --iclouddrive-service photos |
| این پیکربندی یک سلسلهمراتب فقطخواندنی با ریشه در کتابخانههای عکس را نمایش میدهد: |
| • 2 |
| سطح ۱: کتابخانههای عکس — کتابخانهٔ شخصی شما |
| (PrimarySync) و هرگونه کتابخانهٔ عکس اشتراکی |
| (SharedSync-XXXX) |
| • 2 |
| سطح ۲+: آلبومها و پوشههای درون یک کتابخانه، بهصورت |
| تودرتو و بازگشتی همانند Apple Photos |
| • 2 |
| سطح برگ: عکسها/ویدیوهای درون یک آلبوم، شامل فایلهای همراه |
| .MOV برای Live Photo |
| مثالها: |
| # فهرست کتابخانهها |
| rclone lsd iclouddrive: --iclouddrive-service photos |
| # فهرست آلبومها در کتابخانه اصلی شما |
| rclone lsd iclouddrive:PrimarySync/ --iclouddrive-service photos |
| # فهرست عکسها در یک آلبوم |
| rclone ls iclouddrive:PrimarySync/All\ Photos/ --iclouddrive-service photos |
| # بارگیری یک عکس |
| rclone copy iclouddrive:PrimarySync/Favorites/IMG_0001.HEIC /tmp/ --iclouddrive-service photos |
| شما میتوانید یکی از این دو کار را انجام دهید: |
| • 2 |
| تنظیم service = photos در rclone config برای یک |
| ریموت اختصاصی Photos |
| • 2 |
| نگهداشتن service = drive و ارسال |
| --iclouddrive-service photos در هنگام نیاز |
| متاداده (Metadata) |
| با گزینهٔ --metadata، مدخلهای Photos این کلیدهای |
| متادادهٔ فقطخواندنی را ارائه میدهند: |
| • 2 |
| width |
| • 2 |
| height |
| • 2 |
| added-time |
| • 2 |
| favorite |
| • 2 |
| hidden |
| این کلیدهای متاداده تنها زمانی در دسترس هستند که service = photos باشد. |
| حافظه پنهان (Caching) |
| سرویس iCloud Photos فهرست آلبومها را برای دسترسی سریعتر بعدی در دیسک ذخیره میکند. |
| در نخستین اجرا، فهرستکردن یک آلبوم بزرگ از افرازهای موازی |
| startRank برای واکشی همزمان صفحهها استفاده میکند. |
| پس از آن، یک بررسی سبک تغییرات (~200ms) مشخص میکند که آیا |
| حافظه پنهان همچنان معتبر است یا خیر. |
| محل حافظه پنهان: |
| ~/.cache/rclone/iclouddrive-photos/<remote>/<zone>/ |
| برای پاککردن حافظه پنهان: آن دایرکتوری را حذف کنید یا دستور |
| rclone config reconnect را اجرا نمایید. |
| سوار کردن با FUSE (FUSE mounts) |
| برای سوار کردن iCloud Photos از طریق rclone mount، پرچمهای |
| زیر توصیه میشوند: |
| rclone mount remote: /mnt/photos \ |
| --iclouddrive-service photos \ |
| --vfs-refresh \ |
| --dir-cache-time 1h \ |
| --vfs-cache-mode full \ |
| --attr-timeout 1m \ |
| --read-only |
| • 2 | ||||
| --vfs-refresh حافظه پنهان دایرکتوریها را در زمان آغاز سوار شدن | ||||
| در پسزمینه از پیش آماده میکند تا آلبومها هنگام مرور آماده باشند | ||||
| • 2 | ||||
| --dir-cache-time 1h مدتزمان ماندگاری حافظه پنهان در حافظه | ||||
| (in-memory) را فراتر از مقدار پیشفرض ۵ دقیقه افزایش میدهد (تشخیص تغییرات سریع است، بنابراین این کار ایمن است) | ||||
| • 2 | ||||
| --vfs-cache-mode full عکسها و ویدیوهای بارگیریشده را برای | ||||
| دسترسی مکرر سریع روی دیسک محلی ذخیره میکند | ||||
| • 2 | ||||
| --attr-timeout 1m درخواستهای بررسی مشخصههای هسته را کاهش میدهد | ||||
| (ایمن است زیرا بکاند فقطخواندنی است) | ||||
| • 2 | ||||
| --read-only از خطاهای گیجکنندهٔ نوشتن جلوگیری میکند | ||||
| اولین فهرستکردن یک آلبوم بسیار بزرگ (مانند | ||||
| ۷۵٬۰۰۰ مورد در "All Photos") به دلیل محدودیتهای صفحهبندی API میتواند چند دقیقه طول بکشد. | ||||
| این اتفاق فقط یکبار رخ میدهد — فهرستکردنهای بعدی از حافظه پنهان روی دیسک استفاده میکنند..SS محدودیتها | ||||
| سرویس iCloud Photos فقطخواندنی است. | ||||
| عملیاتهای بارگذاری، حذف، تغییر نام و جابهجایی پشتیبانی نمیشوند. | ||||
| حفاظت پیشرفته از دادهها (Advanced Data Protection) | ||||
| قابلیت حفاظت پیشرفته از دادهها (Advanced Data Protection) پشتیبانی میشود. | ||||
| در iPhone، مسیر Settings > Apple Account > iCloud | ||||
| > 'Access iCloud Data on the Web' باید روشن (ON) باشد. | ||||
| اگر ADP روی حساب شما فعال باشد، rclone پس از اعتبارسنجی دومرحلهای (2FA) کوکیهای PCS را درخواست میکند. | ||||
| Apple ممکن است پیش از صدور این کوکیها، به تأیید در یک دستگاه مورد اعتماد نیاز داشته باشد. | ||||
| عیبیابی | ||||
| خطاهای کوکی PCS با ADP | ||||
| اگر پیام Missing PCS cookies from the request یا خطای | ||||
| requestPCS: را مشاهده کردید، فرایند تأیید ADP با موفقیت | ||||
| انجام نشده است. | ||||
| بررسی کنید که 'Access iCloud Data on the Web' فعال باشد و | ||||
| هرگونه درخواست تأیید را در دستگاه مورد اعتماد خود بپذیرید. | ||||
| سپس rclone reconnect remote: را اجرا کنید. | ||||
| اگر ریموت همچنان وضعیت احراز هویت قدیمی دارد، فیلدهای cookies | ||||
| و trust_token را در پیکربندی پاک کنید، یا ریموت را حذف کرده و دوباره | ||||
| آن را بسازید. | ||||
| گزینههای استاندارد | ||||
| در اینجا گزینههای استاندارد اختصاصی iclouddrive (شامل iCloud Drive و | ||||
| Photos) آمده است. | ||||
| --iclouddrive-service | ||||
| سرویس iCloud مورد استفاده. | ||||
| ویژگیها: | ||||
| • 2 | ||||
| پیکربندی: service | ||||
| • 2 | ||||
| متغیر محیطی: RCLONE_ICLOUDDRIVE_SERVICE | ||||
| • 2 | ||||
| نوع: string | ||||
| • 2 | ||||
| پیشفرض: "drive" | ||||
| • 2 | ||||
| مثالها: | ||||
| 2 | ||||
| • 2 | ||||
| "drive" | ||||
| 2 | ||||
| • 2 | ||||
| iCloud Drive | ||||
| • 2 | ||||
| "photos" | ||||
| 2 | ||||
| • 2 | ||||
| iCloud Photos | ||||
| --iclouddrive-apple-id | ||||
| شناسه Apple ID. | ||||
| ویژگیها: | ||||
| • 2 | ||||
| پیکربندی: apple_id | ||||
| • 2 | ||||
| متغیر محیطی: RCLONE_ICLOUDDRIVE_APPLE_ID | ||||
| • 2 | ||||
| نوع: string | ||||
| • 2 | ||||
| الزامی: true | ||||
| --iclouddrive-password | ||||
| گذرواژه. | ||||
| نکته: ورودی این گزینه باید مبهمسازی شود - به rclone | ||||
| obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید. | ||||
| ویژگیها: | ||||
| • 2 | ||||
| پیکربندی: password | ||||
| • 2 | ||||
| متغیر محیطی: RCLONE_ICLOUDDRIVE_PASSWORD | ||||
| • 2 | ||||
| نوع: string | ||||
| • 2 | ||||
| الزامی: true.SS گزینههای پیشرفته (Advanced options) | ||||
| در اینجا گزینههای پیشرفته مربوط به iclouddrive (شامل iCloud Drive و | ||||
| Photos) آمده است. | ||||
| --iclouddrive-client-id | ||||
| شناسه کلاینت (Client ID) برای دسترسی به API سرویس iCloud. | ||||
| ویژگیها: | ||||
| • 2 | ||||
| پیکربندی: client_id | ||||
| • 2 | ||||
| متغیر محیطی: RCLONE_ICLOUDDRIVE_CLIENT_ID | ||||
| • 2 | ||||
| نوع: string | ||||
| • 2 | ||||
| پیشفرض: | ||||
| "d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d" | ||||
| --iclouddrive-encoding | ||||
| کدگذاری برای پسبخش (backend). | ||||
| برای اطلاعات بیشتر بخش کدگذاری را در | ||||
| نمای کلی (https://rclone.org/overview/#encoding) ببینید. | ||||
| ویژگیها: | ||||
| • 2 | ||||
| پیکربندی: encoding | ||||
| • 2 | ||||
| متغیر محیطی: RCLONE_ICLOUDDRIVE_ENCODING | ||||
| • 2 | ||||
| نوع: Encoding | ||||
| • 2 | ||||
| پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot | ||||
| --iclouddrive-description | ||||
| توضیحات ریموت. | ||||
| ویژگیها: | ||||
| • 2 | ||||
| پیکربندی: description | ||||
| • 2 | ||||
| متغیر محیطی: RCLONE_ICLOUDDRIVE_DESCRIPTION | ||||
| • 2 | ||||
| نوع: string | ||||
| • 2 | ||||
| الزامی: false | ||||
| فراداده (Metadata) | ||||
| فراداده فقطخواندنی است و تنها برای سرویس Photos در دسترس میباشد. | ||||
| در اینجا موارد فراداده سیستمی ممکن برای پسبخش iclouddrive آمده است. | ||||
| tab( | ); | |||
| lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n). | ||||
| نام | راهنما | نوع | مثال | فقطخواندنی |
| added-time | زمان افزودهشدن مورد به کتابخانه iCloud | RFC 3339 | 2006-01-02T15:04:05Z | Y |
| favorite | مشخص میکند که آیا مورد به عنوان موردعلاقه علامتگذاری شده است یا خیر | bool | Y | |
| height | ارتفاع تصویر به پیکسل | int | Y | |
| hidden | مشخص میکند که آیا مورد پنهان است یا خیر | bool | Y | |
| width | عرض تصویر به پیکسل | int | Y |
برای اطلاعات بیشتر مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید..SH "اینترنت آرشیو (Internet Archive)"
بکاند Internet Archive از آیتمهای روی archive.org (https://archive.org) استفاده میکند.
برای API مورد استفاده این بکاند، به مستندات IAS3 API (https://archive.org/services/docs/api/ias3.html) مراجعه کنید.
مسیرها به صورت remote:bucket (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید زیرشاخهها را نیز درج کنید، به عنوان مثال remote:item/path/to/dir.
برخلاف S3، فهرست کردن تمام آیتمهای بارگذاریشده توسط شما پشتیبانی نمیشود.
پس از ساخت یک ریموت، میتوانید به این شکل از آن استفاده کنید:
ایجاد یک آیتم جدید
-
rclone mkdir remote:item
فهرست کردن محتویات یک آیتم
-
rclone ls remote:item
همگامسازی /home/local/directory با آیتم ریموت، و حذف هرگونه فایل اضافی در آیتم.
-
rclone sync --interactive /home/local/directory remote:item
نکات (Notes)
به دلیل معماری Internet Archive، این سرویس عملیاتهای نوشتن (و پردازشهای پسین اضافی) را در یک صف به ازای هر آیتم قرار میدهد. میتوانید صف آیتم را در https://catalogd.archive.org/history/item-name-here بررسی کنید. به همین دلیل، همه بارگذاریها/حذفها بلافاصله نمایش داده نمیشوند و در دسترس قرار گرفتن آنها مدتی زمان میبرد. صف هر آیتم در صف دیگری به نام Item Deriver Queue قرار میگیرد. میتوانید وضعیت صف Item Deriver Queue را در اینجا (https://catalogd.archive.org/catalog.php?whereami=1) بررسی کنید. این صف دارای محدودیت است و ممکن است مانع از بارگذاری یا حتی حذف توسط شما شود. برای عملکرد بهتر، باید از بارگذاری تعداد زیادی فایل کوچک خودداری کنید.
میتوانید با تنظیم مقداری غیرصفر برای کلید wait_archive، به صورت اختیاری منتظر بمانید تا پردازش سرور به پایان برسد. با منتظر نگه داشتن آن، rclone میتواند مقایسه عادی فایلها را انجام دهد. اطمینان حاصل کنید که مقدار به اندازه کافی بزرگی (مثلاً 30m0s برای فایلهای کوچکتر) تنظیم کرده باشید، زیرا بسته به صف سرور ممکن است زمان زیادی طول بکشد.
درباره فراداده (About metadata)
این بکاند از تنظیم، بهروزرسانی و خواندن فراداده (metadata) هر فایل پشتیبانی میکند. این فراداده به صورت فراداده فایل در Internet Archive نمایش داده خواهد شد. با این حال، برخی فیلدها توسط هر دو سرویس Internet Archive و rclone رزرو شدهاند.
موارد زیر توسط Internet Archive رزرو شدهاند:
- •
- name
- •
- source
- •
- size
- •
- md5
- •
- crc32
- •
- sha1
- •
- format
- •
- old_version
- •
- viruscheck
- •
- summation
تلاش برای مقداردهی این کلیدها با یک هشدار نادیده گرفته میشود. تنها تنظیم mtime یک استثنا است. انجام این کار رفتاری یکسان با تنظیم ModTime خواهد داشت.
ابزار rclone تمام کلیدهایی را که با rclone- شروع میشوند رزرو میکند. مقداردهی به این کلیدها هشدارهایی در پی خواهد داشت، اما مقادیر طبق درخواست تنظیم میشوند.
اگر چندین مقدار برای یک کلید وجود داشته باشد، فقط مقدار اول برگردانده میشود. این یک محدودیت در rclone است که تنها از یک مقدار برای هر کلید پشتیبانی میکند. این وضعیت ممکن است در زمان انجام کپی سمت سرور فعال شود.
خواندن فراداده همچنین مقادیر سفارشی (که غیراستاندارد بوده و رزرو نشدهاند) را نیز فراهم میکند..SS فیلتر کردن فایلهای تولیدشده بهصورت خودکار
سرویس Internet Archive پس از بارگذاری بهطور خودکار فایلهای متادیتا ایجاد میکند. این امر میتواند هنگام اجرای rclone sync مشکلاتی ایجاد کند، چرا که rclone برای حذف آنها تلاش میکند و ناموفق میماند. این فایلهای متادیتا تغییرپذیر نیستند، زیرا بهصورت خودکار توسط Internet Archive ایجاد میشوند.
این فایلهای ایجادشده خودکار را میتوان با استفاده از فیلتر کردن متادیتا (https://rclone.org/filtering/#metadata) از همگامسازی مستثنی کرد.
-
rclone sync ... --metadata-exclude "source=metadata" --metadata-exclude "format=Metadata"
این دستور تمام فایلهایی را که دارای پرچمهای source=metadata یا format=Metadata هستند (که به فایلهای خودکار تولیدشده Internet Archive اضافه میشوند)، از همگامسازی خارج میکند.
پیکربندی
در اینجا نمونهای از ایجاد یک پیکربندی internetarchive آورده شده است. بخش عمده آن برای سایر ارائهدهندگان نیز صدق میکند و هرگونه تفاوت در ادامه شرح داده شده است.
ابتدا دستور زیر را اجرا کنید:
-
rclone config
این دستور شما را در یک فرآیند راهاندازی تعاملی راهنمایی خواهد کرد.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / InternetArchive Items \ (internetarchive) Storage> internetarchive Option access_key_id. IAS3 Access Key. Leave blank for anonymous access. You can find one here: https://archive.org/account/s3.php Enter a value. Press Enter to leave empty. access_key_id> XXXX Option secret_access_key. IAS3 Secret Key (password). Leave blank for anonymous access. Enter a value. Press Enter to leave empty. secret_access_key> XXXX Edit advanced config? y) Yes n) No (default) y/n> y Option endpoint. IAS3 Endpoint. Leave blank for default value. Enter a string value. Press Enter for the default (https://s3.us.archive.org). endpoint> Option front_endpoint. Host of InternetArchive Frontend. Leave blank for default value. Enter a string value. Press Enter for the default (https://archive.org). front_endpoint> Option disable_checksum. Don't store MD5 checksum with object metadata. Normally rclone will calculate the MD5 checksum of the input before uploading it so it can ask the server to check the object against checksum. This is great for data integrity checking but can cause long delays for large files to start uploading. Enter a boolean value (true or false). Press Enter for the default (true). disable_checksum> true Option encoding. The encoding for the backend. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info. Enter a encoder.MultiEncoder value. Press Enter for the default (Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot). encoding> Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: internetarchive - access_key_id: XXXX - secret_access_key: XXXX Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
در اینجا گزینههای استاندارد مختص internetarchive (Internet Archive) آورده شده است.
--internetarchive-access-key-id
کلید دسترسی IAS3.
برای دسترسی ناشناس، خالی بگذارید. میتوانید یکی را از اینجا دریافت کنید: https://archive.org/account/s3.php
ویژگیها:
- •
- پیکربندی: access_key_id
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_ACCESS_KEY_ID
- •
- نوع: string
- •
- اجباری: false
--internetarchive-secret-access-key
کلید مخفی IAS3 (گذرواژه).
برای دسترسی ناشناس، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: secret_access_key
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_SECRET_ACCESS_KEY
- •
- نوع: string
- •
- اجباری: false
--internetarchive-item-derive
اینکه آیا فرایند اشتقاق (derive) روی آیتم IA اجرا شود یا خیر. اگر روی false تنظیم شود، آیتم پس از بارگذاری توسط IA مشتق (derive) نخواهد شد. فرایند اشتقاق، تعدادی فایل ثانویه از بارگذاری ایجاد میکند تا استفاده از آن در وب کاربردیتر شود. تنظیم این گزینه روی false برای بارگذاری فایلهایی مفید است که از قبل در قالبی هستند که IA میتواند آنها را نمایش دهد، یا برای کاهش بار روی زیرساخت IA مفید است.
ویژگیها:
- •
- پیکربندی: item_derive
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_ITEM_DERIVE
- •
- نوع: bool
- •
- پیشفرض: true
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص internetarchive (Internet Archive) آورده شده است.
--internetarchive-endpoint
نقطه پایانی IAS3.
برای مقدار پیشفرض، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_ENDPOINT
- •
- نوع: string
- •
- پیشفرض: "https://s3.us.archive.org"
--internetarchive-front-endpoint
میزبان بخش کاربری (Frontend) متعلق به InternetArchive.
برای مقدار پیشفرض، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: front_endpoint
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_FRONT_ENDPOINT
- •
- نوع: string
- •
- پیشفرض: "https://archive.org".SS --internetarchive-item-metadata
متادادهای که باید روی آیتم IA تنظیم شود؛ این با متاداده در سطح فایل که با استفاده از --metadata-set تنظیم میشود، متفاوت است. قالب به صورت key=value است و پیشوند 'x-archive-meta-' بهطور خودکار اضافه میشود.
ویژگیها:
- •
- پیکربندی: item_metadata
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_ITEM_METADATA
- •
- نوع: stringArray
- •
- پیشفرض: []
--internetarchive-disable-checksum
از سرور درخواست نشود که داده را در برابر چکسام MD5 محاسبهشده توسط rclone بررسی کند. بهطور معمول rclone پیش از بارگذاری ورودی، چکسام MD5 آن را محاسبه میکند تا بتواند از سرور بخواهد شیء را در برابر چکسام ارزیابی کند. این قابلیت برای بررسی یکپارچگی دادهها عالی است اما میتواند باعث ایجاد تأخیرهای طولانی در آغاز بارگذاری فایلهای بزرگ شود.
ویژگیها:
- •
- پیکربندی: disable_checksum
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_DISABLE_CHECKSUM
- •
- نوع: bool
- •
- پیشفرض: true
--internetarchive-wait-archive
مهلت زمانی برای انتظار جهت اتمام وظایف پردازشی سرور (بهویژه archive و book_op). تنها در صورتی فعال کنید که لازم باشد اعمال قطعی تغییرات پس از عملیات نوشتن تضمین شود. 0 برای غیرفعال کردن انتظار. در صورت به پایان رسیدن مهلت زمانی، هیچ خطایی ایجاد نمیشود.
ویژگیها:
- •
- پیکربندی: wait_archive
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_WAIT_ARCHIVE
- •
- نوع: Duration
- •
- پیشفرض: 0s
--internetarchive-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot
--internetarchive-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_INTERNETARCHIVE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false.SS "متادیتا (Metadata)"
فیلدهای متادیتای ارائهشده توسط Internet Archive. اگر برای یک کلید چندین مقدار وجود داشته باشد، فقط نخستین مقدار بازگردانده میشود. این محدودیت Rclone است که برای هر کلید تنها از یک مقدار پشتیبانی میکند.
مالک میتواند کلیدهای سفارشی اضافه کند. قابلیت متادیتا تمامی کلیدها از جمله این موارد را دریافت میکند.
در اینجا موارد متادیتای سیستمی ممکن برای بکاند internetarchive آمده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| crc32 | مقدار CRC32 محاسبهشده توسط Internet Archive | string | 01234567 | Y |
| format | نام قالب شناساییشده توسط Internet Archive | string | Comma-Separated Values | Y |
| md5 | هش MD5 محاسبهشده توسط Internet Archive | string | 01234567012345670123456701234567 | Y |
| mtime | زمان آخرین تغییر، مدیریتشده توسط Rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z | Y |
| name | مسیر کامل فایل، بدون بخش bucket | filename | backend/internetarchive/internetarchive.go | Y |
| old_version | اینکه آیا فایل توسط پرچم keep-old-version جایگزین و منتقل شده است یا خیر | boolean | true | Y |
| rclone-ia-mtime | زمان آخرین تغییر، مدیریتشده توسط Internet Archive | RFC 3339 | 2006-01-02T15:04:05.999999999Z | N |
| rclone-mtime | زمان آخرین تغییر، مدیریتشده توسط Rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z | N |
| rclone-update-track | مقدار تصادفی استفادهشده توسط Rclone برای ردیابی تغییرات در Internet Archive | string | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | N |
| sha1 | هش SHA1 محاسبهشده توسط Internet Archive | string | 0123456701234567012345670123456701234567 | Y |
| size | اندازه فایل بر حسب بایت | decimal number | 123456 | Y |
| source | منبع فایل | string | original | Y |
| summation | برای نحوه استفاده به https://forum.rclone.org/t/31922 مراجعه کنید | string | md5 | Y |
| viruscheck | آخرین باری که فرایند viruscheck برای فایل اجرا شد (؟) | unixtime | 1654191352 | Y |
| برای اطلاعات بیشتر، مستندات متاداده (https://rclone.org/docs/#metadata) را ببینید. | ||||
| "درایو Internxt (Internxt Drive)" | ||||
| سرویس Internxt Drive (https://internxt.com) یک سرویس ذخیرهسازی ابری با رمزنگاری دانشصفر (zero-knowledge) است. | ||||
| مسیرها بهصورت remote:path مشخص میشوند. | ||||
| مسیرها میتوانند تا هر اندازه که نیاز است عمیق باشند، برای مثال | ||||
| remote:directory/subdirectory. | ||||
| "محدودیتها (Limitations)" | ||||
| نکته: بکاِند Internxt ممکن است با همهٔ انواع حسابهای کاربری کار نکند. | ||||
| لطفاً برای بررسی سازگاری rclone با اشتراک خود، به جزئیات پلنهای Internxt (https://internxt.com/pricing) مراجعه کرده یا | ||||
| با پشتیبانی Internxt (https://help.internxt.com) تماس بگیرید. | ||||
| "پیکربندی (Configuration)" | ||||
| در اینجا مثالی از نحوهٔ ساخت یک ریموت به نام internxt آورده شده است. | ||||
| دستور rclone config را اجرا کرده و اعلانها را دنبال کنید: | ||||
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> internxt |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Internxt Drive |
| \ "internxt" |
| [snip] |
| Storage> internxt |
| Option email. |
| Email of your Internxt account. |
| Enter a value. |
| email> user@example.com |
| Option pass. |
| Password. |
| Enter a value. |
| password> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: internxt |
| - email: user@example.com |
| - pass: *** ENCRYPTED *** |
| Keep this "internxt" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| اگر احراز هویت دو مرحلهای را روی حساب Internxt خود فعال کرده باشید، |
| در هنگام ورود از شما خواسته میشود که کد را وارد کنید. |
| "ملاحظات امنیتی (Security Considerations)" |
| فرایند احراز هویت، گذرواژه و عبارت یادآور (mnemonic) شما را در فایل |
| پیکربندی rclone ذخیره میکند. |
| اکیداً توصیه میشود برای محافظت از این اطلاعات حساس، |
| پیکربندی rclone خود را رمزنگاری کنید: |
| rclone config password |
| این دستور از شما میخواهد گذرواژهای تعیین کنید که کل فایل |
| پیکربندی شما را رمزنگاری میکند..SS مثالهای کاربردی |
| # فهرست کردن فایلها |
| rclone ls internxt: |
| # کپی کردن فایلها به Internxt |
| rclone copy /local/path internxt:remote/path |
| # همگامسازی دایرکتوری محلی با Internxt |
| rclone sync /local/path internxt:remote/path |
| # سوار کردن Internxt Drive به عنوان یک فایلسیستم محلی |
| rclone mount internxt: /path/to/mountpoint |
| # بررسی میزان مصرف فضای ذخیرهسازی |
| rclone about internxt: |
| زمانهای تغییر و هشها |
| بکاند Internxt از هشها پشتیبانی نمیکند. |
| زمانهای تغییر از سرور خوانده میشوند اما نمیتوان آنها را تنظیم کرد. |
| این بکاند دقت ModTimeNotSupported را گزارش میدهد، بنابراین |
| از زمانهای تغییر برای مقایسههای همگامسازی استفاده نخواهد شد. |
| نویسههای محدودشده در نام فایل |
| بکاند Internxt مجموعهنویسههای محدودشده پیشفرض را جایگزین میکند |
| (https://rclone.org/overview/#restricted-characters). |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مربوط به internxt (Internxt Drive) آورده شده است. |
| --internxt-email |
| ایمیل حساب Internxt شما. |
| ویژگیها: |
| • 2 |
| پیکربندی: email |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_EMAIL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| --internxt-pass |
| گذرواژه. |
| نکته: ورودی این گزینه باید مبهمسازی شود - rclone |
| obscure (https://rclone.org/commands/rclone_obscure) را ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: pass |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_PASS |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| گزینههای پیشرفته |
| در اینجا گزینههای پیشرفته مربوط به internxt (Internxt Drive) آورده شده است. |
| --internxt-skip-hash-validation |
| صرفنظر کردن از اعتبارسنجی هش هنگام دانلود فایلها. |
| بهطور پیشفرض، اعتبارسنجی هش غیرفعال است. |
| برای فعالسازی اعتبارسنجی، مقدار این گزینه را برابر false قرار دهید. |
| ویژگیها: |
| • 2 |
| پیکربندی: skip_hash_validation |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_SKIP_HASH_VALIDATION |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: true.SS --internxt-upload-concurrency |
| همزمانی برای بارگذاریهای چندبخشی (multipart). |
| این مقدار بیانگر تعداد تکههای یک فایل است که بهصورت همزمان بارگذاری |
| میشوند. |
| توجه داشته باشید که هر تکه در حافظه میانگیر (buffer) میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_concurrency |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_UPLOAD_CONCURRENCY |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 4 |
| --internxt-upload-cutoff |
| حد آستانه برای تغییر حالت به بارگذاری چندبخشی. |
| هر فایلی بزرگتر از این مقدار، در تکههایی به اندازهٔ chunk_size بارگذاری خواهد شد. |
| حداقل مقدار 100 MiB و حداکثر آن 5 GiB است. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_cutoff |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_UPLOAD_CUTOFF |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 100Mi |
| --internxt-chunk-size |
| اندازهٔ هر تکه برای بارگذاریهای چندبخشی. |
| فایلهای بزرگتر از upload_cutoff در تکههایی به این اندازه بارگذاری خواهند شد. |
| میزان مصرف حافظه تقریباً برابر با chunk_size * upload_concurrency است. |
| ویژگیها: |
| • 2 |
| پیکربندی: chunk_size |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_CHUNK_SIZE |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 30Mi |
| --internxt-encoding |
| رمزگذاری برای backend. |
| برای اطلاعات بیشتر، بخش encoding را در |
| نمای کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: Slash,BackSlash,CrLf,RightPeriod,InvalidUtf8,Dot |
| --internxt-description |
| توضیحات ریموت (remote). |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_INTERNXT_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SH Jottacloud |
| سرویس Jottacloud یک ارائهدهنده خدمات ذخیرهسازی ابری متعلق به یک شرکت نروژی است که از مراکز داده اختصاصی خود در نروژ استفاده میکند. |
| علاوه بر سرویس رسمی در |
| jottacloud.com (https://www.jottacloud.com)، این ارائهدهنده |
| راهکارهای برچسبسفید (white-label) را نیز به شرکتهای مختلف ارائه میدهد. |
| موارد زیر در حال حاضر توسط این backend پشتیبانی میشوند که همانطور که در |
| ادامه شرح داده شده، از پیکربندی احراز هویت متفاوتی استفاده میکنند: |
| • 2 |
| Elkjøp (به همراه شرکتهای زیرمجموعه): |
| 2 |
| • 2 |
| Elkjøp Cloud (cloud.elkjop.no) |
| • 2 |
| Elgiganten Cloud (cloud.elgiganten.dk) |
| • 2 |
| Elgiganten Cloud (cloud.elgiganten.se) |
| • 2 |
| ELKO Cloud (cloud.elko.is) |
| • 2 |
| Gigantti Cloud (cloud.gigantti.fi) |
| • 2 |
| Telia |
| 2 |
| • 2 |
| Telia Cloud (cloud.telia.se) |
| • 2 |
| Telia Sky (sky.telia.no) |
| • 2 |
| Tele2 |
| 2 |
| • 2 |
| Tele2 Cloud (mittcloud.tele2.se) |
| • 2 |
| Onlime |
| 2 |
| • 2 |
| Onlime (onlime.dk) |
| • 2 |
| MediaMarkt |
| 2 |
| • 2 |
| MediaMarkt Cloud (mediamarkt.jottacloud.com) |
| • 2 |
| Let's Go Cloud (letsgo.jotta.cloud) |
| • 2 |
| Phonero |
| 2 |
| • 2 |
| Phonero Sky (sky.phonero.no) |
| مسیرها بهصورت remote:path مشخص میشوند. |
| مسیرها میتوانند تا هر عمق مورد نیازی مشخص شوند، مثلاً |
| remote:directory/subdirectory. |
| "احراز هویت (Authentication)" |
| احراز هویت در Jottacloud بهطور کلی مبتنی بر OAuth و OpenID |
| Connect (OIDC) است. |
| بسته به اینکه از کدام سرویس استفاده میکنید، حالتهای مختلفی برای انتخاب |
| وجود دارد؛ برای نمونه، ممکن است یک سرویس با برچسبسفید تنها از یکی از آنها |
| پشتیبانی کند. |
| توجه داشته باشید که مستنداتی برای اتکا وجود ندارد، بنابراین توضیحات |
| ارائهشده در اینجا بر اساس مشاهدات تجربی بوده و ممکن است دقیق نباشد. |
| سرویس Jottacloud از دو سازوکار امنیتی اختیاری OAuth استفاده میکند که با عنوانهای |
| "Refresh Token Rotation" و "Automatic Reuse |
| Detection" شناخته میشوند و این موضوع پیامدهایی در پی دارد. |
| توکنهای دسترسی (access tokens) معمولاً انقضای یکساعته دارند که پس از آن باید |
| نوسازی (چرخش/rotate) شوند؛ عملیاتی که نیازمند ارائه توکن نوسازی (refresh token) |
| است. |
| ابزار Rclone این کار را بهطور خودکار انجام میدهد. |
| این رفتار استاندارد OAuth است. |
| اما در Jottacloud، چنین عملیات نوسازیای نهتنها یک توکن دسترسی جدید، بلکه یک |
| توکن نوسازی جدید نیز ایجاد میکند و توکن نوسازی پیشین ارائهشده را باطل میسازد. |
| این سرویس تاریخچه توکنهای نوسازی را که گاهی با نام خانواده توکن (token family) |
| شناخته میشود و از توکن نوسازی اولیه صادرشده پس از احراز هویت اولیه منشعب |
| شدهاند، پیگیری میکند. |
| از این سازوکار برای تشخیص هرگونه تلاش در جهت استفاده مجدد از توکنهای نوسازی قدیمی |
| استفاده میشود و در صورت وقوع، بلافاصله توکن نوسازی فعلی و در واقع کل خانواده |
| توکن نوسازی باطل میگردند. |
| هنگامی که توکن نوسازی فعلی باطل شود، دفعه بعد که rclone تلاش کند نوسازی توکن |
| را انجام دهد، با خطایی مشابه پیام زیر مواجه خواهد شد: |
| CRITICAL: Failed to create file system for "remote:": (...): couldn't fetch token: invalid_grant: maybe token expired? - try refreshing with "rclone config reconnect remote:" |
| اگر rclone را با سطح گزارشدهی تفصیلی ۲ (-vv) اجرا کنید، یک پیام |
| اشکالزدایی (debug) با توضیحات خطای اضافی از پاسخ OAuth را مشاهده خواهید کرد: |
| DEBUG : remote: got fatal oauth error: oauth2: "invalid_grant" "Session doesn't have required client" |
| (توضیح خطا پیشتر بهجای "Session doesn't have required client" |
| عبارت "Stale token" بود، بنابراین ممکن است در توضیحات قدیمیتر این شرایط، |
| ارجاعاتی به آن را ببینید.) |
| هنگامی که این اتفاق میافتد، برای اینکه بتوانید دوباره از remote خود استفاده |
| کنید باید مجدداً احراز هویت انجام دهید؛ برای نمونه با استفاده از دستور |
| config reconnect (https://rclone.org/commands/rclone_config_reconnect) |
| همانطور که در پیام خطا پیشنهاد شده است. |
| این کار یک توکن نوسازی (خانواده توکن) کاملاً جدید ایجاد خواهد کرد. |
| یک مثال معمول از چگونگی رخ دادن این وضعیت زمانی است که یک remote از Jottacloud |
| را با rclone در یک مکان ایجاد میکنید و سپس فایل پیکربندی را به مکان دومی |
| کپی کرده و در آنجا نیز برای دسترسی به همان remote از rclone استفاده میکنید. |
| در نهایت، تلاشی برای نوسازی توکن با یک توکن باطلشده رخ خواهد داد (یعنی استفاده |
| مجدد از refresh token)، که در نتیجه هر دو نمونه با خطای "invalid_grant" |
| مواجه خواهند شد. |
| کپی کردن پیکربندیهای remote امکانپذیر است، اما پس از آن باید با استفاده از |
| دستور config reconnect (https://rclone.org/commands/rclone_config_reconnect) |
| توکن یکی از آنها را جایگزین کنید. |
| میتوانید در رابط کاربری وب سرویس خود، با رفتن به بخش "Settings" و سپس |
| "Security" نمایی کلی از توکنهای فعال خود مشاهده کنید (که در این صورت |
| به آدرس https://www.jottacloud.com/web/secure یا مشابه آن هدایت میشوید). |
| در پایین آن صفحه، بخشی به نام "My logged in devices" وجود دارد. |
| این بخش شامل فهرستی از مدخلها است که ظاهراً نشاندهنده توکنهای نوسازی معتبر فعلی، |
| یا خانواده توکنهای نوسازی هستند. |
| از سمت راست آن فهرست میتوانید با کلیک روی یک دکمه ("X") آن را باطل |
| (لغو) کنید؛ این بدان معناست که همچنان با استفاده از توکن دسترسی فعلی تا زمان انقضای |
| آن دسترسی خواهید داشت، اما قادر به انجام عملیات نوسازی توکن نخواهید بود. |
| توجه داشته باشید که کل قابلیت "My logged in devices" ظاهراً در حالتهای |
| مختلف احراز هویت و هنگام استفاده از سرویسهای مختلف (برچسبسفید) رفتارهای |
| متفاوتی از خود نشان میدهد..SS استاندارد (Standard) |
| این یک گونه از OAuth است که برای برنامههای خط فرمان طراحی شده است. |
| این روش عمدتاً توسط سرویس رسمی (jottacloud.com) پشتیبانی میشود، اما |
| ممکن است توسط برخی از سرویسهای ارائهدهنده با نام تجاری دیگر (white-label) نیز پشتیبانی گردد. |
| اطلاعات لازم برای انجام احراز هویت، مانند نام دامنه و نقطه پایانی (endpoint) برای اتصال، |
| بهصورت خودکار شناسایی میشوند (این اطلاعات درون توکن ورود ارائهشده کدگذاری شده است |
| که در ادامه توضیح داده خواهد شد)، بنابراین نیازی نیست مشخص کنید کدام سرویس را |
| پیکربندی میکنید. |
| هنگام پیکربندی یک ریموت، از شما خواسته میشود یک توکن ورود شخصی یکبارمصرف |
| وارد کنید که باید آن را بهصورت دستی از تنظیمات امنیتی حساب کاربری در رابط تحت |
| وب سرویس ایجاد نمایید. |
| برخلاف OAuth سنتی، شما نیازی به یک مرورگر وب روی همان دستگاه ندارید، بلکه فقط |
| کافی است در جایی به یک مرورگر وب دسترسی داشته باشید و بتوانید رشته تولیدشده |
| را در نشست پیکربندی rclone جایگذاری (paste) کنید. |
| وارد رابط کاربری وب سرویس خود شوید، به بخش "Settings" و سپس |
| "Security" بروید، یا برای سرویس رسمی، از پیوند مستقیمی که هنگام پیکربندی |
| ریموت توسط rclone به شما ارائه میشود استفاده کنید: https://www.jottacloud.com/web/secure. |
| به پایین صفحه و به بخش "Personal login token" بروید و روی دکمه |
| "Generate" کلیک کنید. |
| رشته نمایشدادهشده را کپی کرده و در جایی که rclone درخواست میکند قرار دهید. |
| سپس rclone از این رشته برای ارسال درخواست اولیه توکن استفاده میکند و یک توکن OAuth |
| معمولی دریافت مینماید که آن را در پیکربندی ریموت شما ذخیره میکند. |
| پس از آن، یک ورودی جدید نیز در فهرست "My logged in devices" در رابط وب |
| با نام دستگاه و نام برنامه "Jottacloud CLI" ایجاد خواهد شد. |
| هر بار که یک توکن جدید به این شیوه ایجاد میشود (یعنی یک توکن ورود شخصی جدید |
| تولید شده و با یک توکن OAuth مبادله میگردد)، یک خانواده توکن بازنشانی (refresh token) |
| کاملاً جدید با یک ورودی تازه در فهرست "My logged in devices" دریافت میکنید. |
| تا زمانی که ریموتها را به همین صورت جداگانه پیکربندی کنید، میتوانید هر تعداد ریموت |
| که مایلید بسازید و از چندین نمونه rclone روی همان دستگاه یا دستگاههای مختلف |
| استفاده کنید، بدون اینکه با مشکل استفاده مجدد از توکن بازنشانی که در بالا توضیح |
| داده شد مواجه شوید. |
| سنتی (Traditional) |
| جیکلود (Jottacloud) همچنین از یک گونه سنتیتر OAuth پشتیبانی میکند. |
| بیشتر سرویسهای white-label از این روش پشتیبانی میکنند و برای بسیاری از آنها این |
| تنها گزینه موجود است، زیرا از توکنهای ورود شخصی پشتیبانی نمیکنند. |
| این روش به نامهای دامنه و نقاط پایانی از پیش تعریفشده و ویژه هر سرویس متکی است |
| و rclone مستلزم آن است که مشخص کنید کدام سرویس را پیکربندی مینمایید. |
| این امر همچنین بدان معناست که هرگونه تغییر در سرویسهای موجود یا افزودن سرویسهای |
| white-label جدید، نیازمند بهروزرسانی در پیادهسازی بکاند rclone است. |
| هنگام پیکربندی یک ریموت، باید بهصورت تعاملی وارد یک وبسایت احراز هویت OAuth |
| شوید و یک کد مجازسازی یکبارمصرف در پشت صحنه به rclone ارسال میشود که از آن |
| برای درخواست توکن OAuth استفاده میکند. |
| این بدان معناست که باید روی دستگاهی باشید که دارای یک مرورگر وب متصل به اینترنت باشد. |
| اگر به آن روی سیستمی نیاز دارید که چنین امکانی ندارد، باید پیکربندی را روی سیستم |
| دیگری انجام دهید و آن را از آنجا کپی کنید. |
| بکاند Jottacloud از دستور rclone authorize پشتیبانی نمیکند. |
| برای جزئیات بیشتر به مستندات راهاندازی ریموت مراجعه کنید. |
| سرویس Jottacloud هنگام احراز هویت با استفاده از این روش، نوعی مدیریت نشست |
| سختگیرانه اعمال میکند. |
| این امر منجر به بروز مواردی غیرمنتظره از خطای "invalid_grant" میشود |
| که در بالا توضیح داده شد، و عملاً شما را تنها به استفاده از یک احراز هویت فعال |
| روی همان دستگاه محدود میسازد. |
| یعنی شما فقط میتوانید یک ریموت rclone بسازید و حتی نمیتوانید با وجود یک ریموت |
| rclone پیکربندیشده، با کلاینت دسکتاپ رسمی سرویس وارد شوید؛ در غیر این صورت، |
| در نهایت تمام نشستهای شما نامعتبر خواهند شد و مجبور به احراز هویت مجدد میشوید. |
| پس از موفقیت در احراز هویت، ورودی جدیدی در فهرست "My logged in devices" |
| در رابط وب نمایان میشود که نشاندهنده نشست شما است. |
| این مورد معمولاً با نام برنامه "Jottacloud for Desktop" یا نامی مشابه |
| فهرست میشود (این مورد به پیکربندی سرویس white-label بستگی دارد). |
| قدیمی (Legacy) |
| در ابتدا Jottacloud از نوعی OAuth استفاده میکرد که نیازمند مشخص کردن نام کاربری |
| و گذرواژه حساب شما بود. |
| هنگامی که Jottacloud به روشهای جدیدتر مهاجرت کرد، برخی نسخههای white-label |
| (نسخههای مربوط به Elkjøp) همچنان تا مدتها از این روش قدیمی استفاده میکردند. |
| در حال حاضر هیچ کاربرد شناختهشدهای برای این روش وجود ندارد؛ هرچند هنوز توسط |
| rclone پشتیبانی میشود، اما این پشتیبانی در نسخههای آینده حذف خواهد شد..SS پیکربندی (Configuration) |
| در اینجا مثالی از نحوهٔ ایجاد یک ریموت به نام remote با |
| تنظیمات پیشفرض آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| Enter name for new remote. |
| name> remote |
| Option Storage. |
| Type of storage to configure. |
| Choose a number from below, or type in your own value. |
| [snip] |
| XX / Jottacloud |
| \ (jottacloud) |
| [snip] |
| Storage> jottacloud |
| Option client_id. |
| OAuth Client Id. |
| Leave blank normally. |
| Enter a value. Press Enter to leave empty. |
| client_id> |
| Option client_secret. |
| OAuth Client Secret. |
| Leave blank normally. |
| Enter a value. Press Enter to leave empty. |
| client_secret> |
| Edit advanced config? |
| y) Yes |
| n) No (default) |
| y/n> n |
| Option config_type. |
| Type of authentication. |
| Choose a number from below, or type in an existing value of type string. |
| Press Enter for the default (standard). |
| / Standard authentication. |
| | This is primarily supported by the official service, but may also be |
| | supported by some white-label services. It is designed for command-line |
| 1 | applications, and you will be asked to enter a single-use personal login |
| | token which you must manually generate from the account security settings |
| | in the web interface of your service. |
| \ (standard) |
| / Traditional authentication. |
| | This is supported by the official service and all white-label services |
| | that rclone knows about. You will be asked which service to connect to. |
| 2 | It has a limitation of only a single active authentication at a time. You |
| | need to be on, or have access to, a machine with an internet-connected |
| | web browser. |
| \ (traditional) |
| / Legacy authentication. |
| 3 | This is no longer supported by any known services and not recommended |
| | used. You will be asked for your account's username and password. |
| \ (legacy) |
| config_type> 1 |
| Option config_login_token. |
| Personal login token. |
| Generate it from the account security settings in the web interface of your |
| service, for the official service on https://www.jottacloud.com/web/secure. |
| Enter a value. |
| config_login_token> <your token here> |
| Use a non-standard device/mountpoint? |
| Choosing no, the default, will let you access the storage used for the archive |
| section of the official Jottacloud client. If you instead want to access the |
| sync or the backup section, for example, you must choose yes. |
| y) Yes |
| n) No (default) |
| y/n> n |
| Configuration complete. |
| Options: |
| - type: jottacloud |
| - configVersion: 1 |
| - client_id: jottacli |
| - client_secret: |
| - tokenURL: https://id.jottacloud.com/auth/realms/jottacloud/protocol/openid-connect/token |
| - token: {........} |
| - username: 2940e57271a93d987d6f8a21 |
| - device: Jotta |
| - mountpoint: Archive |
| Keep this "remote" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| پس از پیکربندی، میتوانید از rclone بدین صورت استفاده کنید (نامی |
| را که به ریموت خود دادهاید، جایگزین remote کنید): |
| فهرست کردن دایرکتوریهای بالاترین سطح Jottacloud شما |
| rclone lsd remote: |
| فهرست کردن تمام فایلها در Jottacloud شما |
| rclone ls remote: |
| برای کپی کردن یک دایرکتوری محلی به دایرکتوریای در Jottacloud به نام backup |
| rclone copy /home/source remote:backup | ||
| کلاینت رسمی Jottacloud برای هر رایانهای که روی آن نصب میشود، یک دستگاه ثبت میکند و آنها را در بخش پشتیبانگیری رابط کاربری نمایش میدهد. | ||
| برای هر پوشهای که برای پشتیبانگیری انتخاب میکنید، یک نقطه اتصال درون این دستگاه ایجاد میکند. | ||
| یک دستگاه توکار به نام Jotta وجود دارد که دارای شرایط خاصی است و شامل نقاط اتصال Archive، Sync و چند مورد دیگر است که برای قابلیتهای متناظر در کلاینتهای رسمی استفاده میشوند. | ||
| در اکثر موارد هنگام کار با rclone، مایل خواهید بود از دستگاه/نقطه اتصال استاندارد Jotta/Archive استفاده کنید. | ||
| با این حال، ممکن است برای نمونه بخواهید به فایلهای حاصل از قابلیت sync یا پشتیبانگیری کلاینتهای رسمی دسترسی پیدا کنید؛ بنابراین rclone گزینه انتخاب سایر دستگاهها و نقاط اتصال را در طول پیکربندی فراهم میکند. | ||
| شما مجاز به ایجاد دستگاهها و نقاط اتصال جدید هستید. | ||
| تمامی دستگاهها به جز دستگاه توکار Jotta، توسط کلاینتهای رسمی Jottacloud به عنوان دستگاههای پشتیبانگیری در نظر گرفته میشوند و نقاط اتصال روی آنها مجموعههای پشتیبانگیری مجزا هستند. | ||
| در دستگاه توکار Jotta، تنها نقاط اتصال توکار و موجود قابل انتخاب هستند. | ||
| افزون بر Archive و Sync ذکر شده، این دستگاه ممکن است شامل چندین نقطه اتصال دیگر مانند Latest، Links، Shared و Trash باشد. | ||
| تمام این موارد نقاط اتصال ویژهای هستند که ساختار داخلی متفاوتی نسبت به نقاط اتصال «معمولی» دارند. | ||
| ابزار rclone تنها تا حد بسیار محدودی از آنها پشتیبانی میکند. | ||
| به طور کلی باید از این موارد اجتناب کنید، مگر اینکه کاملاً بدانید چه کاری انجام میدهید. | ||
| --fast-list | ||
| این بکاند از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظه بیشتر، از تراکنشهای کمتری استفاده کنید. | ||
| برای جزئیات بیشتر مستندات rclone (https://rclone.org/docs/#fast-list) را ببینید. | ||
| توجه داشته باشید که پیادهسازی این قابلیت در Jottacloud همیشه تنها از یک درخواست API برای دریافت کل فهرست استفاده میکند، بنابراین برای پوشههای بزرگ ممکن است باعث زمان انتظار طولانی پیش از نمایش اولین نتایج شود. | ||
| همچنین توجه داشته باشید که در rclone نسخه 1.58 و جدیدتر، اطلاعات مربوط به انواع MIME (https://rclone.org/overview/#mime-type) و فراداده utime در هنگام استفاده از --fast-list در دسترس نیستند. | ||
| زمانهای تغییر و هشها (Modification times and hashes) | ||
| سرویس Jottacloud امکان تنظیم زمانهای تغییر (modification times) را بر روی اشیاء با دقت ۱ ثانیه فراهم میکند. | ||
| این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر استفاده میشوند. | ||
| سرویس Jottacloud از هشهای نوع MD5 پشتیبانی میکند، بنابراین میتوانید از پرچم --checksum استفاده کنید. | ||
| توجه داشته باشید که Jottacloud پیش از بارگذاری به هش MD5 نیاز دارد، بنابراین اگر مبدأ فاقد چکسام MD5 باشد، فایل پیش از بارگذاری به طور موقت روی دیسک (در مسیری که توسط --temp-dir (https://rclone.org/docs/#temp-dir-string) مشخص شده است) ذخیره (کَش) خواهد شد. | ||
| فایلهای کوچک در حافظه کش میشوند - پرچم --jottacloud-md5-memory-limit را ببینید. | ||
| هنگام بارگذاری از دیسک محلی، چکسام مبدأ همیشه در دسترس است، بنابراین این موضوع اعمال نمیشود. | ||
| از نسخه 1.52 به بعد rclone، همین امر برای ریموتهای رمزگذاریشده نیز صادق است (در نسخههای قدیمیتر، بکاند crypt هشها را برای بارگذاریها از دیسک محلی محاسبه نمیکرد، بنابراین بکاند Jottacloud مجبور بود همانطور که در بالا توضیح داده شد این کار را انجام دهد). | ||
| نویسههای محدودشده نام فایل (Restricted filename characters) | ||
| علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند: | ||
| tab( | ); | |
| l c c. | ||
| نویسه | مقدار | جایگزین |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ? |
| | | 0x7C | | |
| % | 0x25 | % |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (<https://rclone.org/overview/#invalid-utf8>)، زیرا نمیتوان از آنها در رشتههای XML استفاده کرد..SS حذف فایلها
بهطور پیشفرض، rclone هنگام حذف فایلها آنها را به سطل زباله میفرستد. آنها پس از ۳۰ روز بهطور خودکار برای همیشه حذف خواهند شد. میتوانید با استفاده از پرچم --jottacloud-hard-delete یا تنظیم متغیر محیطی معادل آن، از سطل زباله صرفنظر کرده و فایلها را فوراً بهطور دائم حذف کنید. خالی کردن سطل زباله توسط دستور cleanup (<https://rclone.org/commands/rclone_cleanup>) پشتیبانی میشود.
نسخهها
Jottacloud از نسخهبندی فایلها پشتیبانی میکند. هنگامی که rclone نسخه جدیدی از یک فایل را بارگذاری میکند، یک نسخه جدید از آن میسازد. در حال حاضر rclone فقط از بازیابی نسخه فعلی پشتیبانی میکند، اما نسخههای قدیمیتر از طریق وبسایت Jottacloud قابل دسترسی هستند.
نسخهبندی را میتوان با گزینه --jottacloud-no-versions غیرفعال کرد. این کار با حذف فایل ریموت پیش از بارگذاری نسخه جدید انجام میشود. اگر بارگذاری شکست بخورد، هیچ نسخهای از فایل در ریموت در دسترس نخواهد بود.
اطلاعات سهمیه
برای مشاهده سهمیه فعلی خود میتوانید از دستور rclone about remote: استفاده کنید که محدودیت استفاده شما (مگر اینکه نامحدود باشد) و میزان مصرف فعلی را نمایش میدهد.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص jottacloud (Jottacloud) آورده شده است.
--jottacloud-client-id
شناسه کلاینت OAuth (OAuth Client Id).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--jottacloud-client-secret
رمز کلاینت OAuth (OAuth Client Secret).
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص jottacloud (Jottacloud) آورده شده است.
--jottacloud-token
توکن دسترسی OAuth بهصورت یک داده خرد JSON (JSON blob).
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_TOKEN
- •
- نوع: string
- •
- الزامی: false
--jottacloud-auth-url
آدرس URL سرور احراز هویت.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_AUTH_URL
- •
- نوع: string
- •
- الزامی: false.SS --jottacloud-token-url
نشانی وب سرور توکن.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--jottacloud-client-credentials
استفاده از جریان OAuth اعتبارنامههای کلاینت (client credentials).
این گزینه از جریان Client Credentials در OAUTH2 طبق آنچه در RFC 6749 شرح داده شده است، استفاده خواهد کرد.
توجه داشته باشید که این گزینه توسط همه پیشرانهها (backends) پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--jottacloud-md5-memory-limit
فایلهای بزرگتر از این مقدار، در صورت نیاز برای محاسبه MD5 روی دیسک موقتاً ذخیره (cache) خواهند شد.
ویژگیها:
- •
- پیکربندی: md5_memory_limit
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
- •
- نوع: SizeSuffix
- •
- پیشفرض: 10Mi
--jottacloud-trashed-only
تنها نمایش فایلهایی که در سطل زباله هستند.
این گزینه فایلهای حذفشده را در ساختار دایرکتوری اصلی آنها نشان میدهد.
ویژگیها:
- •
- پیکربندی: trashed_only
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_TRASHED_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
--jottacloud-hard-delete
حذف دائمی فایلها به جای انتقال آنها به سطل زباله.
ویژگیها:
- •
- پیکربندی: hard_delete
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_HARD_DELETE
- •
- نوع: bool
- •
- پیشفرض: false
--jottacloud-upload-resume-limit
در صورتی که بارگذاری با شکست مواجه شود، امکان ازسرگیری بارگذاری برای فایلهای بزرگتر از این مقدار وجود دارد.
ویژگیها:
- •
- پیکربندی: upload_resume_limit
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
- •
- نوع: SizeSuffix
- •
- پیشفرض: 10Mi.SS --jottacloud-no-versions
جلوگیری از نسخهبندی سمت سرور با حذف فایلها و ایجاد مجدد آنها به جای بازنویسیشان.
ویژگیها:
- •
- پیکربندی: no_versions
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_NO_VERSIONS
- •
- نوع: bool
- •
- پیشفرض: false
--jottacloud-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Percent,Del,Ctl,InvalidUtf8,Dot
--jottacloud-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_JOTTACLOUD_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
فراداده (Metadata)
سرویس Jottacloud پشتیبانی محدودی از فراداده دارد که در حال حاضر شامل مجموعهای گسترده از برچسبهای زمانی است.
موارد فرادادهٔ سیستمی ممکن برای بکاند jottacloud در اینجا آورده شده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| btime | زمان ایجاد (birth) فایل، خواندهشده از فرادادهٔ rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| content-type | نوع MIME، همچنین با عنوان media type شناخته میشود | string | text/plain | Y |
| mtime | زمان آخرین تغییر، خواندهشده از فرادادهٔ rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| utime | زمان آخرین بارگذاری، هنگامی که ویرایش فعلی ایجاد شد، تولیدشده توسط بکاند | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | Y |
برای اطلاعات بیشتر، مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید..SS "محدودیتها (Limitations)"
توجه داشته باشید که Jottacloud به حروف بزرگ و کوچک حساس نیست، بنابراین نمیتوانید بهطور همزمان فایلی به نام "Hello.doc" و فایلی به نام "hello.doc" داشته باشید.
تعداد قابلتوجهی نویسه وجود دارند که نمیتوانند در نام فایلهای Jottacloud استفاده شوند. ابزار Rclone این نامها را به و از معادلهای یونیکد با ظاهر یکسان نگاشت میکند. برای نمونه، اگر نام فایلی دارای ? باشد، به جای آن به ? نگاشت خواهد شد.
سرویس Jottacloud تنها از نام فایلهایی تا حداکثر ۲۵۵ نویسه پشتیبانی میکند.
عیبیابی (Troubleshooting)
سرویس Jottacloud رفتارهای متناقضی را در رابطه با فایلها و پوشههای حذفشده نشان میدهد که ممکن است باعث ناموفق بودن عملیاتهای Copy، Move و DirMove روی مسیرهای از پیش حذفشده شود. خالی کردن سطل زباله در چنین مواردی به رفع مشکل کمک خواهد کرد.
Koofr
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر میزان که نیاز است تودرتو باشند، مانند remote:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه برای Koofr شامل ایجاد یک گذرواژه اختصاصی برنامه برای rclone است. میتوانید این کار را با باز کردن برنامه تحت وب Koofr (https://app.koofr.net/app/admin/preferences/password)، تعیین یک نام مناسب برای گذرواژه مانند rclone و کلیک روی دکمه generate انجام دهید.
در ادامه نمونهای از نحوه ایجاد یک ریموت به نام koofr آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرآیند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> koofr Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [snip] 22 / Koofr, Digi Storage and other Koofr-compatible storage providers \ (koofr) [snip] Storage> koofr Option provider. Choose your storage provider. Choose a number from below, or type in your own value. Press Enter to leave empty. 1 / Koofr, https://app.koofr.net \ (koofr) 2 / Digi Storage, https://storage.rcs-rds.ro \ (digistorage) 3 / Any other Koofr API compatible storage service \ (other) provider> 1 Option user. Your user name. Enter a value. user> USERNAME Option password. Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password). Choose an alternative below. y) Yes, type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password: Edit advanced config? y) Yes n) No (default) y/n> n Remote config -------------------- [koofr] type = koofr provider = koofr user = USERNAME password = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
اگر از نمونههای محلی (on-premise) یا اختصاصی (white label) سرویس Koofr استفاده میکنید، میتوانید پیکربندی پیشرفته را برای وارد کردن URL اختصاصی سرویس خود ویرایش کنید، یا یک نقطه اتصال (mount) جایگزین را به جای فضای ذخیرهسازی اصلی خود برگزینید.
پس از پیکربندی میتوانید از rclone به صورت زیر استفاده کنید:
فهرست کردن دایرکتوریها در بالاترین سطح Koofr شما:
-
rclone lsd koofr:
فهرست کردن تمام فایلها در Koofr شما:
-
rclone ls koofr:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای در Koofr به نام backup:
-
rclone copy /home/source koofr:backup
علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان استفاده از آنها در رشتههای XML وجود ندارد.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص koofr (شامل Koofr، Digi Storage و سایر ارائهدهندگان ذخیرهسازی سازگار با Koofr) آمده است.
--koofr-provider
ارائهدهنده ذخیرهسازی خود را انتخاب کنید.
ویژگیها:
- •
- پیکربندی: provider
- •
- متغیر محیطی: RCLONE_KOOFR_PROVIDER
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "koofr"
- •
- Koofr، https://app.koofr.net
- •
- "digistorage"
- •
- Digi Storage، https://storage.rcs-rds.ro
- •
- "other"
- •
- هر سرویس ذخیرهسازی دیگر سازگار با Koofr API
--koofr-endpoint
نقطه پایانی Koofr API برای استفاده.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_KOOFR_ENDPOINT
- •
- ارائهدهنده: other
- •
- نوع: string
- •
- الزامی: true.SS --koofr-user
نام کاربری شما.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_KOOFR_USER
- •
- نوع: string
- •
- الزامی: true
--koofr-password
گذرواژه شما برای rclone؛ یکی در نشانی زیر ایجاد کنید: https://app.koofr.net/app/admin/preferences/password.
نکته: ورودی این مقدار باید مبهمسازی شود - مستندات rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_KOOFR_PASSWORD
- •
- ارائهدهنده: koofr
- •
- نوع: string
- •
- الزامی: true
گزینههای پیشرفته
در این بخش گزینههای پیشرفته مربوط به koofr (شامل Koofr، Digi Storage و سایر ارائهدهندگان ذخیرهسازی سازگار با Koofr) آمده است.
--koofr-mountid
شناسه اتصال (Mount ID) برای اتصالِ مورد استفاده.
در صورت حذف، از اتصال اصلی (primary) استفاده میشود.
ویژگیها:
- •
- پیکربندی: mountid
- •
- متغیر محیطی: RCLONE_KOOFR_MOUNTID
- •
- نوع: string
- •
- الزامی: false
--koofr-setmtime
آیا backend از تنظیم زمان تغییر (modification time) پشتیبانی میکند یا خیر.
اگر از شناسه اتصالی استفاده میکنید که به یک backend از نوع Dropbox یا Amazon Drive اشاره دارد، این مقدار را برابر false قرار دهید.
ویژگیها:
- •
- پیکربندی: setmtime
- •
- متغیر محیطی: RCLONE_KOOFR_SETMTIME
- •
- نوع: bool
- •
- پیشفرض: true
--koofr-encoding
کدگذاری (encoding) برای backend.
برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_KOOFR_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot.SS --koofr-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_KOOFR_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها
توجه داشته باشید که Koofr به بزرگی و کوچکی حروف حساس نیست، بنابراین نمیتوانید فایلی با نام "Hello.doc" و فایلی با نام "hello.doc" را بهطور همزمان داشته باشید.
ارائهدهندگان
Koofr
این ارائهدهنده اصلی فضای ذخیرهسازی Koofr (https://koofr.eu) است که به عنوان مثال اصلی استفاده شده و در بخش پیکربندی بالا توضیح داده شده است.
Digi Storage
سرویس Digi Storage (https://www.digi.ro/servicii/online/digi-storage) یک فضای ذخیرهسازی ابری ارائهشده توسط Digi.ro (https://www.digi.ro) است که یک API سازگار با Koofr ارائه میدهد.
در اینجا نمونهای از نحوه ایجاد یک ریموت به نام ds آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> ds Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [snip] 22 / Koofr, Digi Storage and other Koofr-compatible storage providers \ (koofr) [snip] Storage> koofr Option provider. Choose your storage provider. Choose a number from below, or type in your own value. Press Enter to leave empty. 1 / Koofr, https://app.koofr.net \ (koofr) 2 / Digi Storage, https://storage.rcs-rds.ro \ (digistorage) 3 / Any other Koofr API compatible storage service \ (other) provider> 2 Option user. Your user name. Enter a value. user> USERNAME Option password. Your password for rclone (generate one at https://storage.rcs-rds.ro/app/admin/preferences/password). Choose an alternative below. y) Yes, type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password: Edit advanced config? y) Yes n) No (default) y/n> n -------------------- [ds] type = koofr provider = digistorage user = USERNAME password = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
همچنین میتوانید تنها با ارائهٔ URL پایه جهت اتصال، از یک ارائهدهندهٔ فضای ذخیرهسازی عمومی یا خصوصی دیگر که سرویسی سازگار با Koofr API را اجرا میکند استفاده کنید.
در ادامه مثالی از نحوهٔ ایجاد یک ریموت به نام other آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند پیکربندی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> other Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [snip] 22 / Koofr, Digi Storage and other Koofr-compatible storage providers \ (koofr) [snip] Storage> koofr Option provider. Choose your storage provider. Choose a number from below, or type in your own value. Press Enter to leave empty. 1 / Koofr, https://app.koofr.net \ (koofr) 2 / Digi Storage, https://storage.rcs-rds.ro \ (digistorage) 3 / Any other Koofr API compatible storage service \ (other) provider> 3 Option endpoint. The Koofr API endpoint to use. Enter a value. endpoint> https://koofr.other.org Option user. Your user name. Enter a value. user> USERNAME Option password. Your password for rclone (generate one at your service's settings page). Choose an alternative below. y) Yes, type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password: Edit advanced config? y) Yes n) No (default) y/n> n -------------------- [other] type = koofr provider = other endpoint = https://koofr.other.org user = USERNAME password = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
Linkbox یک درایو ابری خصوصی است (https://linkbox.to).
پیکربندی (Configuration)
در اینجا نمونهای از ایجاد یک ریموت برای Linkbox آورده شده است.
شما به موارد زیر نیاز خواهید داشت: - یک توکن API از https://www.linkbox.to/admin/account - ایمیل و گذرواژهٔ حساب Linkbox شما
نکته: از نسخهٔ v1.74، علاوه بر توکن API، ایمیل و گذرواژه نیز الزامی هستند. توکن API برای بارگذاریها و اعمال تغییرات استفاده میشود، در حالی که احراز هویت با ایمیل/گذرواژه برای فهرستکردن و بارگیری فایلها به کار میرود. اگر از قبل یک ریموت Linkbox دارید، باید با اجرای rclone config آن را مجدداً پیکربندی کنید تا ریموت ویرایش شده و ایمیل و گذرواژه افزوده شوند.
ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرآیند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter name for new remote. name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / Linkbox \ (linkbox) Storage> XX Option token. Token from https://www.linkbox.to/admin/account Enter a value. token> YOUR_API_TOKEN Option email. Email for login Enter a value. email> your@email.com Option password. Password for login Enter a value. password> YOUR_PASSWORD Configuration complete. Options: - type: linkbox - token: XXXXXXXXXXX - email: your@email.com - password: *** ENCRYPTED *** Keep this "linkbox" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد ویژهٔ linkbox (Linkbox) آورده شدهاند.
--linkbox-token
توکن از https://www.linkbox.to/admin/account
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_LINKBOX_TOKEN
- •
- نوع: string
- •
- الزامی: true.SS --linkbox-email
ایمیل برای ورود به سیستم
ویژگیها:
- •
- پیکربندی: email
- •
- متغیر محیطی: RCLONE_LINKBOX_EMAIL
- •
- نوع: string
- •
- الزامی: true
--linkbox-password
گذرواژه برای ورود به سیستم
نکته: ورودی این مقدار باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_LINKBOX_PASSWORD
- •
- نوع: string
- •
- الزامی: true
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفتهٔ ویژهٔ linkbox (Linkbox) آمده است.
--linkbox-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_LINKBOX_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در رشتههای JSON استفاده کرد.
فضای ابری Mail.ru (Mail.ru Cloud)
سرویس Mail.ru Cloud (https://cloud.mail.ru) یک فضای ذخیرهسازی ابری است که توسط شرکت اینترنتی روسی Mail.Ru Group (https://mail.ru) ارائه میشود. کلاینت دسکتاپ رسمی آن Disk-O: (https://disk-o.cloud/en) است که برای Windows و Mac OS در دسترس میباشد.
ویژگیهای برجسته (Features highlights)
- •
- مسیرها میتوانند تا هر عمقی که لازم است باشند؛ مانند remote:directory/subdirectory
- •
- فایلها دارای ویژگی last modified time هستند، اما دایرکتوریها این ویژگی را ندارند
- •
- فایلهای حذفشده بهطور پیشفرض به سطل زباله منتقل میشوند
- •
- فایلها و دایرکتوریها میتوانند از طریق پیوندهای عمومی به اشتراک گذاشته شوند
- •
- بارگذاری جزئی یا جاریسازی (streaming) پشتیبانی نمیشود؛ اندازهٔ فایل باید پیش از بارگذاری مشخص باشد
- •
- حداکثر اندازهٔ فایل برای حسابهای رایگان به 2G محدود است و برای حسابهای پولی نامحدود است
- •
- فضای ذخیرهسازی هش تمام فایلها را نگه میدارد و یکسانسازی شفاف دادهها (deduplication) را انجام میدهد؛ الگوریتم درهمسازی یک SHA1 تغییریافته است
- •
- اگر فایل خاصی از قبل در فضای ذخیرهسازی موجود باشد، میتوان بهجای بارگذاری طولانی فایل، هش فایل را سریعاً ارسال کرد (این بهینهسازی توسط rclone پشتیبانی میشود).SS "پیکربندی (Configuration)"
در اینجا نمونهای از ایجاد یک پیکربندی mailru آورده شده است.
ابتدا یک حساب کاربری Mail.ru Cloud بسازید و یک تعرفه انتخاب کنید.
باید وارد حساب خود شوید و یک گذرواژه برنامه (app password) برای rclone بسازید. ابزار Rclone با نام کاربری و گذرواژه عادی شما کار نخواهد کرد - و خطایی مانند oauth2: server response missing access_token صادر خواهد کرد.
- •
- روی نمایه کاربر خود در بالا سمت راست کلیک کنید.
- •
- به بخش امنیت / "Пароль и безопасность" بروید.
- •
- روی گذرواژه برای برنامهها / "Пароли для внешних приложений" کلیک کنید.
- •
- گذرواژه را اضافه کنید - یک نام به آن بدهید - مثلاً "rclone".
- •
- سطح دسترسی را انتخاب کنید. در حال حاضر بنا به دلایلی، فقط انتخاب "Full access to Cloud" (WebDav) برای Rclone کار نمیکند. باید گزینه "Full access to Mail, Cloud and Calendar" (همهی پروتکلها) را انتخاب کنید. (موضوع در forum.rclone.org به نشانی https://forum.rclone.org/t/failed-to-create-file-system-for-mailru-failed-to-authorize-oauth2-invalid-username-or-password-username-or-password-is-incorrect/49298)
- •
- گذرواژه را رونوشت کرده و در مراحل زیر از آن استفاده کنید - گذرواژه ورود عادی شما کار نخواهد کرد.
اکنون اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Mail.ru Cloud \ "mailru" [snip] Storage> mailru User name (usually email) Enter a string value. Press Enter for the default (""). user> username@mail.ru Password This must be an app password - rclone will not work with your normal password. See the Configuration section in the docs for how to make an app password. y) Yes type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password: Skip full upload if there is another file with same data hash. This feature is called "speedup" or "put by hash". It is especially efficient in case of generally available files like popular books, video or audio clips [snip] Enter a boolean value (true or false). Press Enter for the default ("true"). Choose a number from below, or type in your own value 1 / Enable \ "true" 2 / Disable \ "false" speedup_enable> 1 Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config Configuration complete. Options: - type: mailru - user: username@mail.ru - pass: *** ENCRYPTED *** - speedup_enable: true Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
پیکربندی این بکاند نیازی به مرورگر وب محلی ندارد. میتوانید از بکاند پیکربندیشده همانطور که در زیر نشان داده شده است استفاده کنید:
مشاهده دایرکتوریهای سطح بالا:
-
rclone lsd remote:
ساخت یک دایرکتوری جدید:
-
rclone mkdir remote:directory
فهرست کردن محتویات یک دایرکتوری:
-
rclone ls remote:directory
همگامسازی /home/local/directory با مسیر دوردست، به همراه حذف تمام فایلهای اضافی در آن مسیر:
-
rclone sync --interactive /home/local/directory remote:directory
فایلها از مشخصهٔ زمان تغییر با دقت تا ۱ ثانیه پشتیبانی میکنند. دایرکتوریها فاقد زمان تغییر هستند، که بهصورت "Jan 1 1970" نمایش داده میشود.
هشهای فایل با یک الگوریتم سفارشی Mail.ru بر پایهٔ SHA1 پشتیبانی میشوند. اگر اندازهٔ فایل کمتر یا مساوی با اندازهٔ بلوک SHA1 (۲۰ بایت) باشد، هش آن صرفاً همان دادههایش است که از سمت راست با بایتهای صفر پر (right-pad) شده است. هش فایلهای بزرگتر بهصورت SHA1 از پیوست کردن بایتهای دادهٔ فایل با نمایش دهدهی طول داده محاسبه میشود.
خالی کردن سطل زباله
حذف یک فایل یا دایرکتوری در واقع آن را به سطل زباله منتقل میکند، که برای rclone قابل مشاهده نیست اما در مرورگر وب دیده میشود. فایل درون سطل زباله همچنان بخشی از کل سهمیه را اشغال میکند. اگر میخواهید سطل زبالهٔ خود را خالی کرده و مقداری از سهمیه را آزاد کنید، میتوانید از دستور rclone cleanup remote: استفاده کنید که تمام فایلهای درون سطل زبالهٔ شما را برای همیشه حذف خواهد کرد. این دستور هیچ آرگومان مسیری دریافت نمیکند.
اطلاعات سهمیه
برای مشاهدهٔ سهمیهٔ فعلی خود میتوانید از دستور rclone about remote: استفاده کنید که محدودیت استفاده (سهمیه) و میزان مصرف فعلی را نمایش میدهد.
نویسههای محدودشده در نام فایل
علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ؟ |
| \ | 0x5C | \ |
| | | 0x7C | | |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در رشتههای JSON استفاده کرد..SS گزینههای استاندارد
در اینجا گزینههای استاندارد ویژهٔ mailru (فضای ابری Mail.ru) آورده شده است.
--mailru-client-id
شناسه کارخواه OAuth (OAuth Client Id).
در حالت معمول خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_MAILRU_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--mailru-client-secret
رمز کارخواه OAuth (OAuth Client Secret).
در حالت معمول خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_MAILRU_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
--mailru-user
نام کاربری (معمولاً ایمیل).
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_MAILRU_USER
- •
- نوع: string
- •
- الزامی: true
--mailru-pass
گذرواژه.
این مقدار باید یک گذرواژهٔ اختصاصی برنامه (app password) باشد - rclone با گذرواژهٔ عادی شما کار نخواهد کرد. برای نحوهٔ ساخت گذرواژهٔ برنامه، بخش پیکربندی (Configuration) را در مستندات ببینید.
نکته: ورودی این گزینه باید مبهمسازی شده باشد - دستور rclone obscure را ببینید (https://rclone.org/commands/rclone_obscure).
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_MAILRU_PASS
- •
- نوع: string
- •
- الزامی: true
--mailru-speedup-enable
اگر فایل دیگری با هش دادهٔ یکسان وجود داشته باشد، از بارگذاری کامل صرفنظر میشود.
این قابلیت "speedup" یا "put by hash" نامیده میشود. این ویژگی بهویژه برای فایلهای در دسترس عموم مانند کتابهای محبوب، ویدیوها یا کلیپهای صوتی بسیار کارآمد است، چرا که فایلها بر اساس هش در تمام حسابهای همهٔ کاربران mailru جستجو میشوند. اگر فایل منبع یکتا یا رمزنگاریشده باشد، این قابلیت بیمعنی و ناکارآمد خواهد بود. لطفاً توجه داشته باشید که rclone ممکن است برای محاسبهٔ پیشاپیش هش محتوا و تصمیمگیری دربارهٔ لزوم بارگذاری کامل، به حافظه و فضای دیسک محلی نیاز داشته باشد. همچنین، اگر rclone اندازهٔ فایل را از پیش نداند (برای نمونه در جریانسازی دادهها یا بارگذاریهای جزئی)، حتی این بهینهسازی را امتحان هم نخواهد کرد.
ویژگیها:
- •
- پیکربندی: speedup_enable
- •
- متغیر محیطی: RCLONE_MAILRU_SPEEDUP_ENABLE
- •
- نوع: bool
- •
- پیشفرض: true
- •
- مثالها:
- •
- "true"
- •
- فعال
- •
- "false"
- •
- غیرفعال
در اینجا گزینههای پیشرفته مختص mailru (Mail.ru Cloud) آورده شده است.
--mailru-token
توکن دسترسی OAuth بهصورت یک JSON blob.
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_MAILRU_TOKEN
- •
- نوع: string
- •
- الزامی: false
--mailru-auth-url
نشانی اینترنتی (URL) سرور احراز هویت (Auth).
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_MAILRU_AUTH_URL
- •
- نوع: string
- •
- الزامی: false
--mailru-token-url
نشانی اینترنتی (URL) سرور توکن.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_MAILRU_TOKEN_URL
- •
- نوع: string
- •
- الزامی: false
--mailru-client-credentials
استفاده از جریان اعتبارسنجی کلاینت (client credentials) در OAuth.
این گزینه از جریان OAUTH2 client Credentials Flow همانطور که در RFC 6749 شرح داده شده است استفاده میکند.
توجه داشته باشید که این گزینه توسط همه بکاندها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_MAILRU_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--mailru-speedup-file-patterns
فهرستی از الگوهای نام فایل جداشده با کاما که واجد شرایط افزایش سرعت (ارسال با هش / put by hash) هستند.
الگوها نسبت به کوچکی و بزرگی حروف حساس نیستند و میتوانند شامل نویسههای عام '*' یا '?' باشند.
ویژگیها:
- •
- پیکربندی: speedup_file_patterns
- •
- متغیر محیطی: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
- •
- نوع: string
- •
- پیشفرض: ".mkv,.avi,.mp4,.mp3,.zip,.gz,.rar,.pdf"
- •
- مثالها:
- •
- ""
- •
- فهرست خالی افزایش سرعت (put by hash) را کاملاً غیرفعال میکند.
- •
- "*"
- •
- برای تمام فایلها افزایش سرعت امتحان خواهد شد.
- •
- ".mkv,.avi,.mp4,.mp3"
- •
- افزایش سرعت با هش (put by hash) فقط برای فایلهای صوتی/تصویری متداول امتحان میشود.
- •
- ".zip,.gz,.rar,.pdf"
- •
- افزایش سرعت فقط برای فایلهای آرشیو متداول یا کتابهای PDF امتحان میشود.
این گزینه به شما امکان میدهد شتابدهی (بارگذاری از طریق هش یا put by hash) را برای فایلهای بزرگ غیرفعال کنید.
دلیل آن این است که محاسبه مقدماتی هش میتواند حافظه RAM یا فضای دیسک شما را به پایان برساند.
ویژگیها:
- •
- پیکربندی: speedup_max_disk
- •
- متغیر محیطی: RCLONE_MAILRU_SPEEDUP_MAX_DISK
- •
- نوع: SizeSuffix
- •
- پیشفرض: 3Gi
- •
- مثالها:
- •
- "0"
- •
- غیرفعالسازی کامل شتابدهی (بارگذاری از طریق هش).
- •
- "1G"
- •
- فایلهای بزرگتر از 1Gb بهطور مستقیم بارگذاری خواهند شد.
- •
- "3G"
- •
- اگر کمتر از 3Gb فضای خالی روی دیسک محلی دارید، این گزینه را انتخاب کنید.
--mailru-speedup-max-memory
فایلهای بزرگتر از اندازه تعیینشده در زیر، همیشه روی دیسک هش میشوند.
ویژگیها:
- •
- پیکربندی: speedup_max_memory
- •
- متغیر محیطی: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
- •
- نوع: SizeSuffix
- •
- پیشفرض: 32Mi
- •
- مثالها:
- •
- "0"
- •
- محاسبه مقدماتی هش همیشه در یک مکان موقت روی دیسک انجام خواهد شد.
- •
- "32M"
- •
- بیش از 32Mb از حافظه RAM را به محاسبه مقدماتی هش اختصاص ندهید.
- •
- "256M"
- •
- حداکثر 256Mb حافظه RAM آزاد برای محاسبات هش دارید.
--mailru-check-hash
رفتار دستور copy در صورت عدم تطابق یا نامعتبر بودن چکسام (checksum) فایل.
ویژگیها:
- •
- پیکربندی: check_hash
- •
- متغیر محیطی: RCLONE_MAILRU_CHECK_HASH
- •
- نوع: bool
- •
- پیشفرض: true
- •
- مثالها:
- •
- "true"
- •
- با خطا متوقف شود.
- •
- "false"
- •
- نادیده گرفته و ادامه دهد.
کدگذاری برای backend.
برای اطلاعات بیشتر بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_MAILRU_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot
--mailru-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_MAILRU_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها
محدودیتهای اندازه فایل به حساب کاربری شما بستگی دارد. اندازه هر فایل برای یک حساب رایگان به 2G محدود بوده و برای طرحهای پولی نامحدود است. لطفاً برای اطلاع از محدودیتهای کل حجم بارگذاریشده به وبسایت Mail.ru مراجعه کنید.
توجه داشته باشید که Mailru به حروف بزرگ و کوچک حساس نیست؛ بنابراین نمیتوانید فایلی با نام "Hello.doc" و فایلی با نام "hello.doc" داشته باشید.
Mega
سرویس Mega (https://mega.nz) یک فضای ذخیرهسازی ابری و میزبانی فایل است که به خاطر قابلیت امنیتی خود، یعنی رمزگذاری محلی تمام فایلها پیش از بارگذاری، شناخته میشود. این امر مانع از دسترسی هر فردی (از جمله کارکنان Mega) به فایلها بدون دانستن کلید استفادهشده برای رمزگذاری میشود.
این یک backend برای Mega در rclone است که از قابلیتهای انتقال فایل Mega با استفاده از همان رمزگذاری سمت کاربر پشتیبانی میکند.
نکته: فضای ذخیرهسازی شیء MEGA S4 که یک فضای ذخیرهسازی شیء سازگار با S3 است نیز با rclone کار میکند و برای پروژههای جدید توصیه میشود.
مسیرها بهصورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق مورد نیازی باشند؛ مانند remote:directory/subdirectory.
پیکربندی
در اینجا مثالی از نحوه ایجاد یک remote با نام remote آورده شده است. ابتدا دستور زیر را اجرا کنید:
-
rclone config
این کار شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Mega \ "mega" [snip] Storage> mega User name user> you@example.com Password. y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> y Enter the password: password: Confirm the password: password: Remote config Configuration complete. Options: - type: mega - user: you@example.com - pass: *** ENCRYPTED *** Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
نکته: کلیدهای رمزگذاری باید قبلاً پس از یک ورود عادی از طریق مرورگر ایجاد شده باشند؛ در غیر این صورت، تلاش برای استفاده از اطلاعات اعتباری در rclone با شکست مواجه خواهد شد.
پس از پیکربندی، میتوانید از rclone بهصورت زیر استفاده کنید (remote را با نامی که به remote خود دادهاید جایگزین کنید):
فهرست کردن دایرکتوریها در بالاترین سطح Mega شما
-
rclone lsd remote:
فهرست کردن تمام فایلها در Mega شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی در یک دایرکتوری Mega به نام backup
-
rclone copy /home/source remote:backup
Mega هنوز از زمانهای تغییر یا هشها پشتیبانی نمیکند.
نویسههای محدودشده در نام فایل
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| / | 0x2F | / |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در رشتههای JSON استفاده کرد.
فایلهای تکراری
در Mega (برخلاف یک سیستمفایل معمولی) ممکن است دو فایل با نام و مسیر کاملاً یکسان وجود داشته باشند.
فایلهای تکراری در همگامسازی اختلال ایجاد میکنند و پیامهایی دربارهٔ موارد تکراری در لاگ مشاهده خواهید کرد.
برای برطرف کردن فایلهای تکراری از rclone dedupe استفاده کنید.
خطا در ورود به سیستم
شیء یافت نشد
اگر برای نخستین بار جهت آزمایش دسترسی و همگامسازی به ریموت Mega خود متصل میشوید، ممکن است خطایی مانند زیر دریافت کنید:
-
Failed to create file system for "my-mega-remote:": couldn't login: Object (typically, node or user) not found
مراحل عیبیابی که اغلب در انجمن rclone (https://forum.rclone.org/search?q=mega) توصیه میشوند با ابزار MEGAcmd آغاز میگردند. توجه داشته باشید که این به دستور رسمی C++ از https://github.com/meganz/MEGAcmd اشاره دارد، نه دستوری که با زبان go توسط t3rm1n4l/megacmd ساخته شده و دیگر نگهداری نمیشود.
دستورالعملهای نصب MEGAcmd را دنبال کرده و همانطور که توصیه شده است، دسترسی به ریموت خود را امتحان کنید. میتوانید بررسی کنید که آیا امکان ورود با استفاده از MEGAcmd وجود دارد یا خیر، و اطلاعات عیبیابی مفیدی به دست آورید و در تالار گفتگو جستجو کنید یا با دیگران همکاری نمایید.
-
MEGA CMD> login me@example.com Password: Fetching nodes ... Loading transfers from local cache Login complete as me@example.com me@example.com:/$
توجه داشته باشید که برخی کاربران با گذرواژههای حاوی نویسههای خاص با مشکلاتی مواجه شدهاند. اگر نمیتوانید با rclone وارد شوید اما MEGAcmd بدون مشکل وارد میشود، گذرواژهٔ خود را موقتاً به نویسههای صرفاً الفبایی-عددی تغییر دهید، شاید مشکل برطرف شود..SS مسدود شدن دسترسی بر اثر دستورهای مکرر
به نظر میرسد ریموتهای Mega در شرایط "استفادهٔ سنگین" مسدود میشوند (ورودها را رد میکنند). ما هنوز قواعد دقیق این مسدودسازی را نیافتهایم، اما به نظر میرسد این مسئله به دستورهای متوالی و سریع rclone مرتبط باشد.
برای نمونه، اجرای ۹۰ بار متوالی دستور rclone link remote:file باعث "مسدود شدن" ریموت میشود. این یک موقعیت غیرعادی نیست؛ مثلاً زمانی پیش میآید که میخواهید پیوندهای عمومی یک دایرکتوری با صدها فایل را به دست آورید... تقریباً پس از یک هفته، ریموت دوباره ورودهای rclone را به صورت عادی خواهد پذیرفت.
میتوانید با سوار کردن ریموت با دستور rclone mount این مشکل را کاهش دهید. این روش تنها هنگام سوار کردن (mount) وارد شده و هنگام پیادهسازی (unmount) خارج میشود. همچنین میتوانید rclone rcd را اجرا کرده و سپس از rclone rc برای اجرای دستورها از طریق API استفاده کنید تا از ورود مجدد در هر بار جلوگیری شود.
در حال حاضر Rclone نشستهای mega را نمیبندد (میتوانید آنها را در رابط وب مشاهده کنید)، با این وجود بستن نشستها نیز مشکل را برطرف نمیکند.
اگر بین دستورهای rclone سه ثانیه فاصله بیندازید، از مسدود شدن ریموت جلوگیری خواهد شد. ما قواعد دقیق مسدودسازی را مشخص نکردهایم؛ شاید بتوان یک دستور را ۸۰ بار بدون درنگ اجرا کرد و با ۳ ثانیه صبر کردن و سپس ادامه دادن، از مسدود شدن دوری کرد...
توجه داشته باشید که این موارد بر اساس آزمون و خطا به دست آمده و ممکن است یک قانون قطعی و تغییرناپذیر نباشد.
به نظر میرسد ابزارهای دیگر این مشکل مسدودسازی را ایجاد نمیکنند، زیرا آنها رویکرد کاری متفاوتی دارند (مبتنی بر وضعیت یا state-based، با استفاده از sessionID به جای هر بار ورود) که با رویکرد بدون وضعیت (stateless) فعلی rclone سازگار نیست.
توجه داشته باشید که پس از مسدود شدن، استفاده از ابزارهای دیگر (مانند megacmd) یک راهکار قطعی نیست: برای یک ریموت مسدودشده، زمانهای ورود megacmd به طور متوالی به این صورت مشاهده شده است: ۷ دقیقه، ۲۰ دقیقه، ۳۰ دقیقه، ۳۰ دقیقه، ۳۰ دقیقه. با این وجود دسترسی از طریق وب دستنخورده باقی میماند.
تحقیقات در رابطه با راهکارهای مبتنی بر وقفه (timeout)، تنظیمکننده سرعت (pacer)، تلاش مجدد (retrial) و tpslimits همچنان ادامه دارد؛ اگر نکتهٔ مرتبطی یافتید، لطفاً آن را در انجمن مطرح کنید.
بنابراین، اگر rclone به خوبی کار میکرد و ناگهان قادر به ورود نیستید در حالی که از صحت نام کاربری و گذرواژه مطمئن هستید، به احتمال زیاد ریموت شما برای مدتی مسدود شده است.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به mega (Mega) آورده شده است.
--mega-user
نام کاربری.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_MEGA_USER
- •
- نوع: string
- •
- اجباری: true
--mega-pass
گذرواژه.
نکته ورودی این گزینه باید مبهمسازی شده باشد - مستندات rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_MEGA_PASS
- •
- نوع: string
- •
- اجباری: true.SS --mega-2fa
کد 2FA حساب MEGA شما، در صورتی که حساب با آن تنظیم شده باشد.
ویژگیها:
- •
- پیکربندی: 2fa
- •
- متغیر محیطی: RCLONE_MEGA_2FA
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مخصوص mega (Mega) آورده شده است.
--mega-debug
چاپ خروجی اشکالزدایی بیشتر از Mega.
اگر این پرچم (همراه با -vv) تنظیم شود، اطلاعات اشکالزدایی بیشتری را از backend مربوط به mega چاپ خواهد کرد.
ویژگیها:
- •
- پیکربندی: debug
- •
- متغیر محیطی: RCLONE_MEGA_DEBUG
- •
- نوع: bool
- •
- پیشفرض: false
--mega-hard-delete
حذف دائمی فایلها به جای انداختن آنها در سطل زباله.
به طور معمول backend مربوط به mega تمام موارد حذفی را به جای حذف دائمی به سطل زباله منتقل میکند. اگر این گزینه را مشخص کنید، rclone در عوض اشیاء را برای همیشه حذف خواهد کرد.
ویژگیها:
- •
- پیکربندی: hard_delete
- •
- متغیر محیطی: RCLONE_MEGA_HARD_DELETE
- •
- نوع: bool
- •
- پیشفرض: false
--mega-use-https
استفاده از HTTPS برای انتقالها.
MEGA به صورت پیشفرض از اتصالات متنی ساده HTTP استفاده میکند. برخی از ISPها اتصالات HTTP را محدود (throttle) میکنند که باعث میشود انتقالها بسیار کند شوند. فعال کردن این گزینه، MEGA را مجبور میکند برای همه انتقالها از HTTPS استفاده کند. HTTPS معمولاً ضروری نیست زیرا در هر حال تمام دادهها از قبل رمزگذاری شدهاند. فعال کردن آن مصرف CPU را افزایش داده و سربار شبکه اضافه میکند.
ویژگیها:
- •
- پیکربندی: use_https
- •
- متغیر محیطی: RCLONE_MEGA_USE_HTTPS
- •
- نوع: bool
- •
- پیشفرض: false
--mega-encoding
کدگذاری (encoding) برای backend.
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_MEGA_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,InvalidUtf8,Dot.SS --mega-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_MEGA_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
فرآیند killed (Process killed)
در حسابهایی با فایلهای بزرگ یا موارد دیگر، مصرف حافظه هنگام اجرای دستورالعملهای list/sync میتواند بهطور چشمگیری افزایش یابد. هنگام اجرا روی ارائهدهندگان ابری (مانند AWS با EC2)، بررسی کنید که آیا نوع نمونه (instance type) حافظه/CPU کافی برای اجرای دستورات دارد یا خیر. پس از ارسال دستورات، از ابزارهای پایش منابع برای بررسی وضعیت استفاده کنید. به این گزارش خطا مراجعه کنید: (https://forum.rclone.org/t/rclone-with-mega-appears-to-work-only-in-some-accounts/40233/4).
محدودیتها (Limitations)
این backend از کتابخانهٔ go-mega در زبان Go استفاده میکند (https://github.com/t3rm1n4l/go-mega) که یک کتابخانهٔ متنباز Go برای پیادهسازی Mega API است. بهنظر نمیرسد هیچ مستنداتی برای پروتکل mega فراتر از کد منبع mega C++ SDK (https://github.com/meganz/sdk) وجود داشته باشد، بنابراین احتمالاً خطاهای متعددی همچنان در این کتابخانه باقی مانده است.
سرویس Mega اجازهٔ وجود فایلهای تکراری را میدهد که این امر ممکن است rclone را دچار سردرگمی کند.
حافظه (Memory)
بکاند memory یک بکاند درون حافظه (RAM) است. این بکاند دادههای خود را بهصورت دائمی ذخیره نمیکند - برای این منظور از بکاند local استفاده کنید.
بکاند memory مانند یک ریموت مبتنی بر باکت (مانند s3) رفتار میکند. از آنجا که هیچ پارامتری ندارد، میتوانید بهسادگی از آن با نام ریموت :memory: استفاده کنید.
پیکربندی (Configuration)
در صورت تمایل، میتوانید آن را با rclone config نیز بهصورت یک ریموت پیکربندی کنید:
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Memory \ "memory" [snip] Storage> memory ** See help for memory backend at: https://rclone.org/memory ** Remote config Configuration complete. Options: - type: memory Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
از آنجا که بکاند memory دادهها را بهطور دائم ذخیره نمیکند، بیشترین کاربرد آن برای آزمایش یا همراه با یک rclone server یا rclone mount است؛ بهعنوان مثال:
-
rclone mount :memory: /mnt/tmp rclone serve webdav :memory: rclone serve sftp :memory:
بکاند memory از هشهای MD5 و زمانهای تغییر با دقت ۱ نانوثانیه (1 nS) پشتیبانی میکند.
نویسههای محدودشده نام فایل
بکاند memory مجموعه نویسههای محدودشده پیشفرض را جایگزین میکند (https://rclone.org/overview/#restricted-characters).
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص memory (سیستم ذخیرهسازی شیء در حافظه) آمده است.
--memory-discard
در صورت تنظیم، تمام عملیات نوشتن دور ریخته شده و عملیات خواندن یک خطا برمیگردانند.
اگر تنظیم شود، هنگام آپلود فایلها، محتویات ذخیره نمیشوند. به نظر میرسد فایلها آپلود شدهاند اما در هنگام خواندن با خطا مواجه میشوند. مجموع MD5 فایلها در هنگام آپلود محاسبه میشود که زمان پردازنده بسیار ناچیزی مصرف کرده و امکان بررسی صحت انتقال را فراهم میکند.
این گزینه میتواند برای آزمایش کارایی مفید باشد.
احتمالاً سادهترین روش، استفاده از نحو رشته اتصال (connection string) است:
-
:memory,discard:bucket
ویژگیها:
- •
- پیکربندی: discard
- •
- متغیر محیطی: RCLONE_MEMORY_DISCARD
- •
- نوع: bool
- •
- پیشفرض: false
--memory-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_MEMORY_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
Akamai NetStorage
مسیرها به صورت remote: مشخص میشوند. شما میتوانید زیرپوشهها را نیز اضافه کنید، مانند remote:/path/to/dir. اگر CP code دارید، میتوانید از آن به عنوان پوشه بعد از دامنه استفاده کنید، مانند <domain>/<cpcode>/<internal directories within cpcode>.
برای نمونه، پیکربندی این مورد معمولاً با یا بدون CP code انجام میشود:
- •
- همراه با CP code. [your-domain-prefix]-nsu.akamaihd.net/123456/subdirectory/
- •
- بدون CP code. [your-domain-prefix]-nsu.akamaihd.net
مشاهده تمام باکتها:
-
rclone lsd remote:
راهاندازی اولیه Netstorage نیازمند دریافت یک حساب کاربری (account) و کلید امنیتی (secret) است. از rclone config برای هدایت گامبهگام در فرآیند راهاندازی استفاده کنید..SS "پیکربندی (Configuration)"
در اینجا مثالی از نحوه ایجاد یک ریموت به نام ns1 آورده شده است.
- 1.
- برای شروع فرایند پیکربندی تعاملی، این دستور را وارد کنید:
-
rclone config
- 2.
- برای ایجاد یک ریموت جدید، n را تایپ کنید.
-
n) New remote d) Delete remote q) Quit config e/n/d/q> n
- 3.
- برای این مثال، هنگامی که به اعلان name> رسیدید، ns1 را وارد کنید.
-
name> ns1
- 4.
- به عنوان نوع فضای ذخیرهسازی برای پیکربندی، netstorage را وارد کنید.
-
Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value XX / NetStorage \ "netstorage" Storage> netstorage
- 5.
- میان پروتکل HTTP یا HTTPS یکی را انتخاب کنید. بیشتر کاربران باید HTTPS را انتخاب کنند که پیشفرض است. پروتکل HTTP عمدتاً برای اهداف اشکالزدایی ارائه شده است.
-
Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / HTTP protocol \ "http" 2 / HTTPS protocol \ "https" protocol> 1
- 6.
- میزبان NetStorage، کد CP و هر مسیر محتوای لازم خود را با استفاده از این قالب مشخص کنید: <domain>/<cpcode>/<content>/
-
Enter a string value. Press Enter for the default (""). host> baseball-nsu.akamaihd.net/123456/content/
- 7.
- نام حساب کاربری netstorage را تنظیم کنید.
-
Enter a string value. Press Enter for the default (""). account> username
- 8.
- کلید مخفی (secret) یا کلید G2O حساب NetStorage را که برای اهداف احراز هویت استفاده میشود تنظیم کنید. گزینه y را برای تعیین گذرواژه خودتان انتخاب کرده و سپس کلید مخفی را وارد کنید. نکته: کلید مخفی با رمزنگاری کدگذاریشده به صورت هگزادسیمال در فایل rclone.conf ذخیره میشود.
-
y) Yes type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password:
- 9.
- خلاصه را مشاهده کرده و پیکربندی ریموت خود را تأیید کنید.
-
[ns1] type = netstorage protocol = http host = baseball-nsu.akamaihd.net/123456/content/ account = username secret = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
این ریموت ns1 نام دارد و اکنون آماده استفاده است..SS نمونههای عملیات
با این نمونهها کار با rclone و NetStorage را آغاز کنید. برای مشاهده دستورهای بیشتر rclone، از https://rclone.org/commands دیدن کنید.
مشاهده محتویات یک دایرکتوری در پروژه شما
-
rclone lsd ns1:/974012/testing/
همگامسازی محتویات محلی با ریموت
-
rclone sync . ns1:/974012/testing/
بارگذاری محتوای محلی روی ریموت
-
rclone copy notes.txt ns1:/974012/testing/
حذف محتوا روی ریموت
-
rclone delete ns1:/974012/testing/notes.txt
جابهجایی یا کپی محتوا بین کدهای CP
اعتبارنامههای شما باید به دو کد CP روی یک ریموت یکسان دسترسی داشته باشند. نمیتوانید عملیاتها را بین ریموتهای مختلف انجام دهید.
-
rclone move ns1:/974012/testing/notes.txt ns1:/974450/testing2/
ویژگیها
پشتیبانی از پیوندهای نمادین (Symlink)
بکاند NetStorage رفتار --links, -l در rclone را تغییر میدهد. هنگام بارگذاری، به جای ایجاد فایل .rclonelink، از API مربوط به "symlink" به منظور ایجاد پیوند نمادین متناظر روی ریموت استفاده میشود. فایل .rclonelink ایجاد نخواهد شد، جلوی بارگذاری گرفته میشود و تنها فایل پیوند نمادینی که با نام فایل منبع بدون پسوند مطابقت دارد بر روی ریموت ایجاد خواهد شد.
این امر عملاً به دستورهایی مانند copy/copyto، move/moveto و sync اجازه میدهد دایرکتوریهای دارای پیوند نمادین را از محلی به ریموت بارگذاری کرده و از ریموت به محلی دانلود کنند. به دلیل محدودیتهای داخلی rclone، امکان بارگذاری یک فایل پیوند نمادین مجزا به هر بکاند ریموت وجود ندارد. همواره میتوانید از دستور "backend symlink" برای ایجاد پیوند نمادین روی سرور NetStorage استفاده کنید؛ به بخش "symlink" در ادامه مراجعه نمایید.
فایلهای پیوند نمادین مجزا بر روی ریموت میتوانند با دستورهایی مانند "cat" برای چاپ نام مقصد، یا "delete" برای حذف پیوند نمادین، یا copy، copy/to و move/moveto برای بارگیری از ریموت به محلی استفاده شوند. نکته: فایلهای پیوند نمادین مجزا بر روی ریموت باید با احتساب پسوند .rclonelink مشخص شوند.
نکته: هیچ فایلی با پسوند .rclonelink نباید روی سرور وجود داشته باشد، زیرا در عمل امکان بارگذاری/ایجاد فایلی با پسوند .rclonelink از طریق rclone وجود ندارد؛ چنین فایلی تنها در صورتی میتواند وجود داشته باشد که به روشی غیر از rclone به صورت دستی روی ریموت ایجاد شده باشد.
دایرکتوریهای ضمنی (Implicit) در برابر صریح (Explicit)
در NetStorage، دایرکتوریها میتوانند در یکی از دو حالت وجود داشته باشند:
- 1.
- دایرکتوری صریح (Explicit Directory). این یک دایرکتوری فیزیکی واقعی است که شما در یک گروه ذخیرهسازی ایجاد کردهاید.
- 2.
- دایرکتوری ضمنی (Implicit Directory). این مفهوم به دایرکتوریای در یک مسیر اشاره دارد که به صورت فیزیکی ایجاد نشده است. برای مثال، هنگام بارگذاری یک فایل، زیردایرکتوریهای ناموجود میتوانند در مسیر مقصد مشخص شوند. NetStorage اینها را به عنوان "ضمنی" ایجاد میکند. در حالی که این دایرکتوریها به صورت فیزیکی ایجاد نشدهاند، اما به صورت ضمنی وجود دارند و مسیر ذکر شده با فایل بارگذاریشده مرتبط میشود.
Rclone تمام بارگذاریهای فایل و دستورهای mkdir را برای ریموت NetStorage رهگیری کرده و به طور صریح دستور mkdir را برای هر دایرکتوری در مسیر بارگذاری اجرا میکند. این امر به سازگاری با سایر سرویسهای Akamai مانند SFTP و Content Management Shell (CMShell) کمک خواهد کرد. Rclone صحت عملیاتها را با دایرکتوریهای ضمنی که ممکن است در نتیجه استفاده مستقیم از یک API بارگذاری ایجاد شده باشند، تضمین نمیکند..SS پشتیبانی از --fast-list / ListR
ریموت NetStorage با استفاده از اکشن "list" در NetStorage API، از قابلیت ListR برای بازگرداندن یک فهرست الفبایی از تمام اشیاء درون CP code مشخصشده و پیمایش بازگشتی در زیردایرکتوریها به هنگام مواجهه با آنها، پشتیبانی میکند.
- •
- ابزار Rclone بهطور پیشفرض برای برخی دستورها از روش ListR استفاده میکند. دستورهایی مانند lsf -R بهطور پیشفرض از ListR استفاده خواهند کرد. برای غیرفعال کردن این مورد، گزینهٔ --disable listR را تعیین کنید تا از روش غیربازگشتی فهرست کردن اشیاء استفاده شود.
- •
- ابزار Rclone برای برخی دستورها از روش ListR استفاده نخواهد کرد. دستورهایی مانند sync بهطور پیشفرض از ListR استفاده نمیکنند. برای اجبار به استفاده از روش ListR، گزینهٔ --fast-list را اضافه کنید.
استفاده از روش ListR مزایا و معایبی دارد؛ به مستندات rclone مراجعه کنید (https://rclone.org/docs/#fast-list). بهطور کلی، اجرای دستور sync روی یک ساختار درختی عمیقِ موجود در ریموت با پرچم "--fast-list" سریعتر اجرا خواهد شد، اما استفادهٔ بیشتر از حافظه را به عنوان یک اثر جانبی به همراه دارد. این کار همچنین ممکن است منجر به استفاده بیشتر از پردازنده (CPU) شود، اما کل عملیات سریعتر تکمیل میگردد.
نکته: یک محدودیت شناختهشده وجود دارد که هنگام استفاده از روش ListR، دستور "lsf -R" تعداد فایلهای موجود در دایرکتوری و اندازهٔ دایرکتوری را -1 نمایش میدهد. راهکار جایگزین این است که در صورت اهمیت داشتن این اعداد در خروجی، پرچم "--disable listR" ارسال شود.
Purge
ریموت NetStorage با استفاده از اکشن API تحت عنوان "quick-delete" در NetStorage، از قابلیت purge پشتیبانی میکند. اکشن quick-delete بنا به دلایل امنیتی بهطور پیشفرض غیرفعال است و میتواند از طریق پورتال Akamai برای حساب کاربری فعال شود. ابزار Rclone در ابتدا تلاش میکند از اکشن quick-delete برای دستور purge استفاده کند و در صورتی که این عملکرد غیرفعال باشد، به روش حذف استاندارد بازمیگردد.
نکته: برای ملاحظات مربوط به استفاده از "quick-delete"، مستندات NetStorage Usage API (https://learn.akamai.com/en-us/webhelp/netstorage/netstorage-http-api-developer-guide/GUID-15836617-9F50-405A-833C-EA2556756A30.html) را مطالعه کنید. بهطور کلی، استفاده از روش quick-delete ساختار درختی را فوراً حذف نخواهد کرد و اشیاء هدفگذاریشده برای quick-delete ممکن است همچنان در دسترس باشند.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد ویژهٔ netstorage (سرویس Akamai NetStorage) آورده شده است.
--netstorage-host
دامنه+مسیر (Domain+path) میزبان NetStorage جهت اتصال.
قالب باید به صورت <domain>/<internal folders> باشد.
ویژگیها:
- •
- پیکربندی: host
- •
- متغیر محیطی: RCLONE_NETSTORAGE_HOST
- •
- نوع: string
- •
- الزامی: true
--netstorage-account
تنظیم نام حساب کاربری NetStorage.
ویژگیها:
- •
- پیکربندی: account
- •
- متغیر محیطی: RCLONE_NETSTORAGE_ACCOUNT
- •
- نوع: string
- •
- الزامی: true
--netstorage-secret
تنظیم کلید رمز/G2O حساب NetStorage برای احراز هویت.
لطفاً گزینهٔ 'y' را برای تنظیم گذرواژهٔ خود انتخاب کرده و سپس کلید رمز خود را وارد کنید.
توجه: ورودی این گزینه باید مبهمسازی شده باشد - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: secret
- •
- متغیر محیطی: RCLONE_NETSTORAGE_SECRET
- •
- نوع: string
- •
- الزامی: true.SS گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص netstorage (سامانه Akamai NetStorage) آمده است.
--netstorage-protocol
انتخاب بین پروتکل HTTP یا HTTPS.
بیشتر کاربران باید HTTPS را انتخاب کنند که پیشفرض است. HTTP در اصل برای اهداف اشکالزدایی ارائه شده است.
ویژگیها:
- •
- پیکربندی: protocol
- •
- متغیر محیطی: RCLONE_NETSTORAGE_PROTOCOL
- •
- نوع: string
- •
- پیشفرض: "https"
- •
- مثالها:
- •
- "http"
- •
- پروتکل HTTP
- •
- "https"
- •
- پروتکل HTTPS
--netstorage-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_NETSTORAGE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
دستورهای Backend
در اینجا دستورهای مختص backend نتاستوریج آورده شده است.
آنها را به این صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح خواهد داد که هر دستور چه آرگومانهایی دریافت میکند.
برای اطلاعات بیشتر درباره نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورها را میتوان بر روی یک backend در حال اجرا با استفاده از دستور rc بهصورت backend/command (https://rclone.org/rc#backend-command) اجرا کرد.
du
بازگرداندن اطلاعات میزان مصرف دیسک برای یک دایرکتوری مشخصشده.
-
rclone backend du remote: [options] [<arguments>+]
اطلاعات مصرفی بازگردانده شده، شامل دایرکتوری مورد نظر و همچنین تمام فایلهای ذخیرهشده در هر زیردایرکتوری موجود میباشد..SS symlink
میتوانید با عملیات symlink، یک پیوند نمادین در ObjectStore ایجاد کنید.
-
rclone backend symlink remote: [options] [<arguments>+]
موقعیت مسیر مورد نظر (شامل زیردایرکتوریهای مربوطه) که به شیء هدف پیوند نمادین ختم میشود (برای نمونه، /links/mylink). در صورت وجود، پسوند فایل شیء را نیز قید کنید.
نمونه استفاده:
-
rclone backend symlink <src> <path>
Microsoft Azure Blob Storage
مسیرها بهصورت remote:container (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید زیردایرکتوریها را نیز وارد کنید، مانند remote:container/path/to/dir.
پیکربندی (Configuration)
در اینجا نمونهای از ایجاد پیکربندی Microsoft Azure Blob Storage آورده شده است. برای یک ریموت به نام remote. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در فرایند تعاملی راهاندازی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Microsoft Azure Blob Storage \ "azureblob" [snip] Storage> azureblob Storage Account Name account> account_name Storage Account Key key> base64encodedkey== Endpoint for the service - leave blank normally. endpoint> Remote config Configuration complete. Options: - type: azureblob - account: account_name - key: base64encodedkey== - endpoint: Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
مشاهده همه کانتینرها
-
rclone lsd remote:
ایجاد یک کانتینر جدید
-
rclone mkdir remote:container
فهرست کردن محتویات یک کانتینر
-
rclone ls remote:container
همگامسازی /home/local/directory با کانتینر ریموت، با حذف هرگونه فایل اضافی در کانتینر.
-
rclone sync --interactive /home/local/directory remote:container
این ریموت از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظه بیشتر، از تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone (<https://rclone.org/docs/#fast-list>) مراجعه کنید.
زمانهای تغییر و هشها
زمان تغییر به عنوان فراداده روی شیء با کلید mtime ذخیره میشود. این مقدار با استفاده از قالب زمانی RFC3339 با دقت نانوثانیه ذخیره میشود. فراداده در زمان فهرستگیری پوشهها ارائه میشود، بنابراین استفاده از آن هیچ بار کاری و افت عملکردی ندارد.
اگر مایلید از زمان استاندارد LastModified در Azure که روی شیء ذخیره شده به عنوان زمان تغییر استفاده کنید، پرچم --use-server-modtime را به کار ببرید. توجه داشته باشید که rclone نمیتواند LastModified را تنظیم کند، بنابراین در صورت استفاده از --use-server-modtime، استفاده از پرچم --update هنگام همگامسازی توصیه میشود.
هشهای MD5 همراه با blobها ذخیره میشوند. با این حال، blobهایی که به صورت چندبخشی بارگذاری شدهاند، تنها در صورتی هش MD5 دارند که ریموت مبدأ قادر به ارائه هشهای MD5 بوده باشد، مانند دیسک محلی.
فراداده و برچسبها
هنگامی که --metadata فعال باشد (یا هنگام استفاده از --metadata-set / --metadata-mapper)، ابزار rclone میتواند فرادادههای دلخواه را به سرایندهای Azure Blob، فرادادههای کاربر و برچسبها نگاشت کند.
- •
- سرایندها: این کلیدها را در فراداده تنظیم کنید تا به سرایندهای متناظر blob نگاشت شوند:
- •
- cache-control، content-disposition، content-encoding، content-language، content-type.
- •
- فراداده کاربر: هر کلید غیررزروشدهٔ دیگری به عنوان فراداده کاربر نوشته میشود (کلیدها به حروف کوچک نرمالسازی میشوند). کلیدهایی که با x-ms- آغاز میشوند رزرو شده هستند و به عنوان فراداده کاربر ذخیره نمیشوند.
- •
- برچسبها: مقدار x-ms-tags را به عنوان فهرستی از جفتهای key=value جداشده با کاما مشخص کنید، مانند x-ms-tags=env=dev,team=sync. این مقادیر به عنوان برچسبهای blob در زمان بارگذاری و در رونوشتهای سمت سرور اعمال میشوند. فاصلههای خالی پیرامون کلیدها/مقادیر نادیده گرفته میشوند.
- •
- بازنویسی زمان تغییر: مقدار mtime را در قالب RFC3339/RFC3339Nano ارائه دهید تا زمان تغییر ذخیرهشده در فراداده کاربر بازنویسی شود. اگر mtime قابل تجزیه نباشد، rclone یک پیام اشکالزدایی ثبت کرده و از بازنویسی صرفنظر میکند.
یادداشتها: - ابزار rclone از کلیدهای رزروشدهٔ x-ms-* (به جز x-ms-tags) برای فراداده کاربر صرفنظر میکند.
کارایی
هنگام بارگذاری فایلهای حجیم، افزایش مقدار --azureblob-upload-concurrency باعث افزایش کارایی در ازای مصرف حافظهٔ بیشتر خواهد شد. مقدار پیشفرض ۱۶ به منظور کاهش مصرف حافظه، بسیار محافظهکارانه تعیین شده است. شاید لازم باشد برای بهرهگیری کامل از یک اتصال ۱ گیگابیت بر ثانیه در انتقال یک فایل، این مقدار را به ۶۴ یا بالاتر افزایش دهید.
نویسههای محدودشده در نام فایل
علاوه بر مجموعه نویسههای محدودشده پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| / | 0x2F | / |
| \ | 0x5C | \ |
نام فایلها همچنین نمیتوانند با نویسههای زیر پایان یابند. این موارد تنها در صورتی جایگزین میشوند که آخرین نویسه در نام فایل باشند:
| نویسه | مقدار | جایگزین |
| . | 0x2E | . |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد..SS "احراز هویت (Authentication)"
چندین روش برای ارائه اطلاعات اعتبارسنجی برای Azure Blob Storage وجود دارد. rclone آنها را به ترتیب بخشهای زیر بررسی میکند.
احراز هویت از طریق متغیرهای محیطی (Env Auth)
اگر پارامتر پیکربندی env_auth برابر با true باشد، rclone اطلاعات اعتبارسنجی را از محیط یا زمان اجرا دریافت خواهد کرد.
این ابزار روشهای احراز هویت را به ترتیب زیر امتحان میکند:
- 1.
- متغیرهای محیطی
- 2.
- اطلاعات اعتبارسنجی Managed Service Identity
- 3.
- اطلاعات اعتبارسنجی Azure CLI (همانطور که توسط ابزار az استفاده میشود)
این موارد در بخشهای بعدی شرح داده شدهاند
احراز هویت محیطی: ۱. متغیرهای محیطی (Env Auth: 1. Environment Variables)
اگر env_auth تنظیم شده باشد و متغیرهای محیطی موجود باشند، بسته به اینکه کدام متغیرهای محیطی مقداردهی شده باشند، rclone یک service principal را با یک کلید مخفی (secret) یا گواهی، یا یک کاربر را با یک گذرواژه احراز هویت میکند. پیکربندی را از این متغیرها و به ترتیب زیر میخواند:
- 1.
- موجودیت خدمت (Service principal) با client secret
- •
- AZURE_TENANT_ID: شناسه tenant مربوط به service principal. همچنین شناسه "directory" آن نیز نامیده میشود.
- •
- AZURE_CLIENT_ID: شناسه کلاینت (client ID) مربوط به service principal
- •
- AZURE_CLIENT_SECRET: یکی از کلیدهای مخفی کلاینت (client secrets) مربوط به service principal
- 2.
- موجودیت خدمت (Service principal) با گواهی (certificate)
- •
- AZURE_TENANT_ID: شناسه tenant مربوط به service principal. همچنین شناسه "directory" آن نیز نامیده میشود.
- •
- AZURE_CLIENT_ID: شناسه کلاینت (client ID) مربوط به service principal
- •
- AZURE_CLIENT_CERTIFICATE_PATH: مسیر فایل گواهی PEM یا PKCS12 شامل کلید خصوصی.
- •
- AZURE_CLIENT_CERTIFICATE_PASSWORD: (اختیاری) گذرواژه مربوط به فایل گواهی.
- •
- AZURE_CLIENT_SEND_CERTIFICATE_CHAIN: (اختیاری) مشخص میکند که آیا درخواست احراز هویت شامل سرآیند x5c برای پشتیبانی از احراز هویت مبتنی بر subject name / issuer خواهد بود یا خیر. هنگامی که روی "true" یا "1" تنظیم شود، درخواستهای احراز هویت شامل سرآیند x5c خواهند بود.
- 3.
- کاربر با نام کاربری و گذرواژه
- •
- AZURE_TENANT_ID: (اختیاری) شناسه tenant برای احراز هویت در آن. پیشفرض: "organizations".
- •
- AZURE_CLIENT_ID: شناسه کلاینت برنامهای که کاربر با آن احراز هویت میکند
- •
- AZURE_USERNAME: نام کاربری (معمولاً یک نشانی ایمیل)
- •
- AZURE_PASSWORD: گذرواژه کاربر
- 4.
- هویت بار کاری (Workload Identity)
- •
- AZURE_TENANT_ID: شناسه Tenant برای احراز هویت در آن
- •
- AZURE_CLIENT_ID: شناسه کلاینت برنامهای که کاربر با آن احراز هویت میکند
- •
- AZURE_FEDERATED_TOKEN_FILE: مسیر فایل توکن projected service account
- •
- AZURE_AUTHORITY_HOST: مرجع (Authority) نقطه پایانی Azure Active Directory (پیشفرض: login.microsoftonline.com).
هنگام استفاده از Managed Service Identity، اگر ماشین مجازی یا مقیاسپذیر (VM(SS)) که این برنامه روی آن اجرا میشود دارای یک هویت تخصیصیافته توسط سیستم (system-assigned identity) باشد، بهطور پیشفرض از آن استفاده خواهد شد. اگر منبع فاقد هویت تخصیصیافته توسط سیستم باشد اما دقیقاً یک هویت تخصیصیافته توسط کاربر (user-assigned identity) داشته باشد، هویت تخصیصیافته توسط کاربر بهطور پیشفرض استفاده خواهد شد.
اگر منبع چندین هویت تخصیصیافته توسط کاربر داشته باشد، باید env_auth را لغو کرده و به جای آن use_msi را مقداردهی کنید. بخش use_msi را ببینید.
اگر در ابرهای غیرمتصل (disconnected) یا ابرهای خصوصی مانند Azure Stack کار میکنید، ممکن است بخواهید disable_instance_discovery = true را تنظیم کنید. این گزینه مشخص میکند که آیا rclone پیش از احراز هویت، متادیتای نمونهٔ Microsoft Entra را از https://login.microsoft.com درخواست کند یا خیر. تنظیم این مقدار روی true این درخواست را نادیده میگیرد و مسئولیت اطمینان از معتبر و قابل اعتماد بودن مرجع (authority) پیکربندیشده را بر عهدهٔ شما میگذارد.
Env Auth: ۳. اعتبارنامههای Azure CLI (همانطور که توسط ابزار az استفاده میشود)
اعتبارنامههای ایجادشده با ابزار az میتوانند با استفاده از env_auth خوانده و استفاده شوند.
بهعنوان مثال اگر بخواهید با یک service principal به این صورت وارد شوید:
-
az login --service-principal -u XXX -p XXX --tenant XXX
سپس میتوانید مانند زیر به منابع rclone دسترسی داشته باشید:
-
rclone lsf :azureblob,env_auth,account=ACCOUNT:CONTAINER
یا
-
rclone lsf --azureblob-env-auth --azureblob-account=ACCOUNT :azureblob:CONTAINER
که معادل استفاده از ابزار az است:
-
az storage blob list --container-name CONTAINER --account-name ACCOUNT --auth-mode login
حساب کاربری و کلید اشتراکی (Account and Shared Key)
این سرراستترین روش و در عین حال دارای کمترین انعطافپذیری است. تنها کافی است گزینههای account و key را تکمیل کرده و باقی موارد را خالی بگذارید.
نشانی اینترنتی SAS (SAS URL)
این میتواند یک SAS URL در سطح حساب کاربری یا در سطح کانتینر باشد.
برای استفاده از آن، account و key را خالی بگذارید و sas_url را پر کنید.
یک SAS URL در سطح حساب یا کانتینر را میتوان از درگاه Azure یا Azure Storage Explorer به دست آورد. برای دریافت یک SAS URL در سطح کانتینر، در مرورگر Azure Blob در درگاه Azure روی کانتینر مورد نظر راستکلیک کنید.
اگر از یک SAS URL در سطح کانتینر استفاده کنید، عملیات rclone تنها روی همان کانتینر خاص مجاز خواهد بود؛ برای مثال:
-
rclone ls azureblob:container
همچنین میتوانید تککانتینر مذکور را از مسیر ریشه فهرست کنید. این کار تنها کانتینر مشخصشده توسط SAS URL را نمایش خواهد داد.
-
$ rclone lsd azureblob: container/
توجه داشته باشید که نمیتوانید هیچ کانتینر دیگری را ببینید یا به آن دسترسی پیدا کنید - این کار با خطا مواجه خواهد شد:
-
rclone ls azureblob:othercontainer
آدرسهای SAS URL در سطح کانتینر برای اعطای دسترسی موقت به اشخاص ثالث به یک کانتینر واحد، یا قرار دادن اعتبارنامهها در یک محیط غیرقابل اعتماد مانند سرور ساخت CI مفید هستند..SS شناسه خدمت با کلید مخفی کلاینت (Service principal with client secret)
اگر این متغیرها تنظیم شده باشند، rclone با استفاده از یک شناسه خدمت (service principal) و یک کلید مخفی کلاینت (client secret) احراز هویت خواهد کرد.
- •
- tenant: شناسهٔ مستأجر (tenant ID) شناسه خدمت؛ همچنین به عنوان شناسهٔ "directory" نیز نامیده میشود.
- •
- client_id: شناسهٔ کلاینت (client ID) مربوط به شناسه خدمت.
- •
- client_secret: یکی از کلیدهای مخفی کلاینتِ شناسه خدمت.
همچنین میتوان با استفاده از گزینهٔ پیکربندی service_principal_file، این اعتبارنامهها را درون یک فایل قرار داد.
شناسه خدمت با گواهی (Service principal with certificate)
اگر این متغیرها تنظیم شده باشند، rclone با استفاده از یک شناسه خدمت به همراه گواهی (certificate) احراز هویت خواهد کرد.
- •
- tenant: شناسهٔ مستأجر (tenant ID) شناسه خدمت؛ همچنین به عنوان شناسهٔ "directory" نیز نامیده میشود.
- •
- client_id: شناسهٔ کلاینت شناسه خدمت.
- •
- client_certificate_path: مسیر فایل گواهی PEM یا PKCS12 شامل کلید خصوصی (private key).
- •
- client_certificate_password: (اختیاری) گذرواژهٔ فایل گواهی.
- •
- client_send_certificate_chain: (اختیاری) مشخص میکند که آیا درخواست احراز هویت شامل یک سرآیند x5c برای پشتیبانی از احراز هویت مبتنی بر نام موضوع/صادرکننده (subject name / issuer) باشد یا خیر. هنگامی که روی "true" یا "1" تنظیم شود، درخواستهای احراز هویت شامل سرآیند x5c خواهند بود.
نکته: مقدار client_certificate_password باید مبهمسازی (obscure) شود - rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
کاربر با نام کاربری و گذرواژه (User with username and password)
اگر این متغیرها تنظیم شده باشند، rclone با استفاده از نام کاربری و گذرواژه احراز هویت خواهد کرد.
- •
- tenant: (اختیاری) مستأجر (tenant) مورد نظر برای احراز هویت. پیشفرض بر روی "organizations" است.
- •
- client_id: شناسهٔ کلاینت برنامهای که کاربر برای آن احراز هویت میشود.
- •
- username: نام کاربری (معمولاً یک نشانی ایمیل).
- •
- password: گذرواژهٔ کاربر.
مایکروسافت این روش احراز هویت را پیشنهاد نمیکند، زیرا امنیت آن نسبت به سایر روشهای احراز هویت کمتر است. این روش تعاملی نیست، بنابراین با هیچ شکلی از احراز هویت چندعاملی (MFA) سازگار نیست و برنامه باید از قبل رضایت کاربر یا مدیر سیستم را داشته باشد. این اعتبارنامه تنها میتواند حسابهای کاری و تحصیلی را احراز هویت کند؛ این روش قادر به احراز هویت حسابهای شخصی مایکروسافت نیست.
نکته: مقدار password باید مبهمسازی (obscure) شود - rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
اعتبارنامههای هویت خدمات مدیریتشده (Managed Service Identity Credentials)
اگر use_msi تنظیم شده باشد، از اعتبارنامههای هویت خدمات مدیریتشده (MSI) استفاده میشود. این احراز هویت تنها هنگام اجرا درون یکی از سرویسهای Azure کار میکند. برای استفاده از این روش، env_auth باید غیرفعال (unset) باشد.
با این حال، اگر چندین هویت کاربری برای انتخاب دارید، باید دقیقاً با استفاده از یکی از پارامترهای msi_object_id، msi_client_id یا msi_mi_res_id بهطور صریح مشخص شوند.
اگر هیچکدام از msi_object_id، msi_client_id یا msi_mi_res_id تنظیم نشده باشند، این معادل استفاده از env_auth خواهد بود.
اعتبارنامههای هویت فدراسیونی (Federated Identity Credentials)
اگر این متغیرها تنظیم شده باشند، rclone با استفاده از هویت فدراسیونی (federated identity) احراز هویت خواهد کرد.
- •
- tenant: شناسهٔ مستأجر (tenant ID) مربوط به فضای ذخیرهسازی.
- •
- client_id: شناسهٔ کلاینت برنامهای که کاربر با استفاده از آن به فضای ذخیرهسازی متصل و احراز هویت میشود.
- •
- msi_client_id: شناسهٔ کلاینت هویت مدیریتشدهٔ برنامهای که کاربر برای آن احراز هویت خواهد شد.
بهطور پیشفرض، مقدار "api://AzureADTokenExchange" به عنوان دامنه (scope) برای دریافت توکن از طریق MSI استفاده میشود. سپس این توکن با استفاده از 'tenant' و 'client_id' با توکن واقعی ذخیرهسازی مبادله میگردد..SS ابزار Azure CLI با نام az
اگر use_az تنظیم شده باشد، از ابزار Azure CLI با نام az (https://learn.microsoft.com/en-us/cli/azure) به عنوان تنها روش احراز هویت استفاده میشود.
تنظیم این گزینه میتواند زمانی مفید باشد که بخواهید از CLI ابزار az روی میزبانی استفاده کنید که دارای System Managed Identity است اما مایل به استفاده از آن نیستید.
گزینه env_auth را همزمان تنظیم نکنید.
دسترسی ناشناس (Anonymous)
اگر میخواهید به منابعی با دسترسی عمومی ناشناس دسترسی داشته باشید، فقط account را تنظیم کنید. میتوانید این کار را بدون ساخت یک پیکربندی rclone انجام دهید:
-
rclone lsf :azureblob,account=ACCOUNT:CONTAINER
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص azureblob (Microsoft Azure Blob Storage) آمده است.
--azureblob-account
نام حساب ذخیرهسازی Azure (Azure Storage Account Name).
این گزینه را روی نام Azure Storage Account مورد استفاده تنظیم کنید.
برای استفاده از SAS URL یا Emulator این مقدار را خالی بگذارید، در غیر این صورت باید تنظیم شود.
اگر این مقدار خالی باشد و env_auth تنظیم شده باشد، در صورت امکان از متغیر محیطی AZURE_STORAGE_ACCOUNT_NAME خوانده خواهد شد.
ویژگیها:
- •
- پیکربندی: account
- •
- متغیر محیطی: RCLONE_AZUREBLOB_ACCOUNT
- •
- نوع: string
- •
- الزامی: false
--azureblob-env-auth
خواندن اطلاعات احراز هویت در زمان اجرا (متغیرهای محیطی، CLI یا MSI).
برای اطلاعات کامل، مستندات احراز هویت را ببینید.
ویژگیها:
- •
- پیکربندی: env_auth
- •
- متغیر محیطی: RCLONE_AZUREBLOB_ENV_AUTH
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-key
کلید مشترک حساب ذخیرهسازی (Storage Account Shared Key).
برای استفاده از SAS URL یا Emulator خالی بگذارید.
ویژگیها:
- •
- پیکربندی: key
- •
- متغیر محیطی: RCLONE_AZUREBLOB_KEY
- •
- نوع: string
- •
- الزامی: false
--azureblob-sas-url
نشانی SAS URL فقط برای دسترسی در سطح کانتینر.
در صورت استفاده از account/key یا Emulator خالی بگذارید.
ویژگیها:
- •
- پیکربندی: sas_url
- •
- متغیر محیطی: RCLONE_AZUREBLOB_SAS_URL
- •
- نوع: string
- •
- الزامی: false.SS --azureblob-connection-string
رشته اتصال فضای ذخیرهسازی (Storage Connection String).
رشته اتصال برای فضای ذخیرهسازی. در صورت استفاده از سایر روشهای احراز هویت، این فیلد را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: connection_string
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CONNECTION_STRING
- •
- نوع: string
- •
- الزامی: خیر
--azureblob-tenant
شناسه مستأجر (Tenant ID) مربوط به service principal. همچنین شناسه دایرکتوری (directory ID) آن نیز نامیده میشود.
در صورت استفاده از موارد زیر این مقدار را تنظیم کنید: - Service principal با client secret - Service principal با certificate - کاربر با نام کاربری و گذرواژه (username and password)
ویژگیها:
- •
- پیکربندی: tenant
- •
- متغیر محیطی: RCLONE_AZUREBLOB_TENANT
- •
- نوع: string
- •
- الزامی: خیر
--azureblob-client-id
شناسه کلاینت (client ID) مورد استفاده.
در صورت استفاده از موارد زیر این مقدار را تنظیم کنید: - Service principal با client secret - Service principal با certificate - کاربر با نام کاربری و گذرواژه (username and password)
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CLIENT_ID
- •
- نوع: string
- •
- الزامی: خیر
--azureblob-client-secret
یکی از کلیدهای محرمانه کلاینت (client secrets) مربوط به service principal.
در صورت استفاده از Service principal با client secret این مقدار را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: خیر
--azureblob-client-certificate-path
مسیر فایل گواهی PEM یا PKCS12 شامل کلید خصوصی (private key).
در صورت استفاده از Service principal با certificate این مقدار را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: client_certificate_path
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PATH
- •
- نوع: string
- •
- الزامی: خیر
--azureblob-client-certificate-password
گذرواژه فایل گواهی (اختیاری).
در صورت استفاده از Service principal با certificate، تنظیم این مقدار اختیاری است
و در صورتی که گواهی دارای گذرواژه باشد.
نکته ورودی این مقدار باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: client_certificate_password
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PASSWORD
- •
- نوع: string
- •
- الزامی: خیر.SS گزینههای پیشرفته
در اینجا گزینههای پیشرفته مربوط به azureblob (فضای ذخیرهسازی Microsoft Azure Blob) آورده شده است.
--azureblob-client-send-certificate-chain
ارسال زنجیره گواهی (certificate chain) هنگام استفاده از احراز هویت مبتنی بر گواهی.
مشخص میکند که آیا درخواست احراز هویت شامل سربرگ x5c برای پشتیبانی از احراز هویت مبتنی بر subject name / issuer باشد یا خیر. هنگامی که روی true تنظیم شود، درخواستهای احراز هویت شامل سربرگ x5c خواهند بود.
در صورت استفاده از «Service principal with certificate»، میتوانید به صورت اختیاری این گزینه را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: client_send_certificate_chain
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CLIENT_SEND_CERTIFICATE_CHAIN
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-username
نام کاربری (معمولاً یک نشانی ایمیل)
در صورت استفاده از «User with username and password»، این گزینه را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_AZUREBLOB_USERNAME
- •
- نوع: string
- •
- الزامی: false
--azureblob-password
گذرواژه کاربر
در صورت استفاده از «User with username and password»، این گزینه را تنظیم کنید.
نکته: ورودی این گزینه باید مبهمسازی (obscure) شده باشد - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_AZUREBLOB_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--azureblob-service-principal-file
مسیر فایل حاوی اطلاعات هویتی (credentials) جهت استفاده همراه با یک service principal.
در حالت عادی خالی بگذارید. تنها در صورتی مورد نیاز است که بخواهید به جای ورود تعاملی از یک service principal استفاده کنید.
-
$ az ad sp create-for-rbac --name "<name>" \ --role "Storage Blob Data Owner" \ --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \ > azure-principal.json
برای جزئیات بیشتر به صفحات "Create an Azure service principal" (https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) و "Assign an Azure role for access to blob data" (https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli) مراجعه کنید.
ممکن است قرار دادن مستقیم اطلاعات هویتی در فایل پیکربندی rclone زیر کلیدهای client_id، tenant و client_secret بهجای تنظیم service_principal_file راحتتر باشد.
ویژگیها:
- •
- پیکربندی: service_principal_file
- •
- متغیر محیطی: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE
- •
- نوع: string
- •
- الزامی: false.SS --azureblob-disable-instance-discovery
صرفنظر کردن از درخواست متادادههای نمونهٔ Microsoft Entra
این گزینه تنها باید توسط برنامههایی که در ابرهای تفکیکشده (disconnected) یا ابرهای خصوصی مانند Azure Stack احراز هویت میکنند، روی true تنظیم شود.
این مورد مشخص میکند که آیا rclone پیش از احراز هویت، متادادههای نمونهٔ Microsoft Entra را از https://login.microsoft.com درخواست کند یا خیر.
تنظیم این مقدار روی true این درخواست را نادیده میگیرد و شما را مسئول اطمینان از معتبر و قابل اعتماد بودن مرجع (authority) پیکربندیشده میکند.
ویژگیها:
- •
- پیکربندی: disable_instance_discovery
- •
- متغیر محیطی: RCLONE_AZUREBLOB_DISABLE_INSTANCE_DISCOVERY
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-use-msi
استفاده از هویت سرویس مدیریتشده (MSI) برای احراز هویت (تنها در Azure کار میکند).
در صورت تنظیم روی true، به جای SAS token یا کلید حساب، از یک هویت سرویس مدیریتشده (https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources) برای احراز هویت در Azure Storage استفاده میشود.
اگر ماشین مجازی یا مجموعهمقیاس ماشین مجازی (VM/VMSS) که این برنامه روی آن در حال اجراست دارای یک هویت تخصیصیافته توسط سیستم (system-assigned) باشد، بهطور پیشفرض از آن استفاده خواهد شد. اگر منبع فاقد هویت تخصیصیافته توسط سیستم بوده اما دقیقاً یک هویت تخصیصیافته توسط کاربر (user-assigned) داشته باشد، بهطور پیشفرض از هویت تخصیصیافته توسط کاربر استفاده خواهد شد. اگر منبع دارای چندین هویت تخصیصیافته توسط کاربر باشد، هویت مورد استفاده باید دقیقاً با استفاده از یکی از پارامترهای msi_object_id، msi_client_id یا msi_mi_res_id بهطور صریح مشخص شود.
ویژگیها:
- •
- پیکربندی: use_msi
- •
- متغیر محیطی: RCLONE_AZUREBLOB_USE_MSI
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-msi-object-id
شناسه شیء (Object ID) مربوط به MSI تخصیصیافته توسط کاربر جهت استفاده، در صورت وجود.
در صورت مشخص شدن msi_client_id یا msi_mi_res_id خالی بگذارید.
ویژگیها:
- •
- پیکربندی: msi_object_id
- •
- متغیر محیطی: RCLONE_AZUREBLOB_MSI_OBJECT_ID
- •
- نوع: string
- •
- الزامی: false
--azureblob-msi-client-id
شناسه شیء (Object ID) مربوط به MSI تخصیصیافته توسط کاربر جهت استفاده، در صورت وجود.
در صورت مشخص شدن msi_object_id یا msi_mi_res_id خالی بگذارید.
ویژگیها:
- •
- پیکربندی: msi_client_id
- •
- متغیر محیطی: RCLONE_AZUREBLOB_MSI_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--azureblob-msi-mi-res-id
شناسه منبع (resource ID) در Azure مربوط به MSI تخصیصیافته توسط کاربر جهت استفاده، در صورت وجود.
در صورت مشخص شدن msi_client_id یا msi_object_id خالی بگذارید.
ویژگیها:
- •
- پیکربندی: msi_mi_res_id
- •
- متغیر محیطی: RCLONE_AZUREBLOB_MSI_MI_RES_ID
- •
- نوع: string
- •
- الزامی: false.SS --azureblob-use-emulator
در صورت مقداردهی با 'true'، از شبیهساز محلی فضای ذخیرهسازی استفاده میکند.
در صورت استفاده از نقطه پایانی (endpoint) واقعی فضای ذخیرهسازی azure، این مقدار را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: use_emulator
- •
- متغیر محیطی: RCLONE_AZUREBLOB_USE_EMULATOR
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-use-az
استفاده از ابزار Azure CLI به نام az برای احراز هویت
تنظیم برای استفاده از ابزار Azure CLI به نام az (https://learn.microsoft.com/en-us/cli/azure) به عنوان تنها روش احراز هویت.
تنظیم این گزینه زمانی میتواند مفید باشد که بخواهید از az CLI بر روی میزبانی با یک هویت مدیریتشده سیستمی (System Managed Identity) استفاده کنید که تمایلی به استفاده از آن ندارید.
همزمان با این گزینه، env_auth را تنظیم نکنید.
ویژگیها:
- •
- پیکربندی: use_az
- •
- متغیر محیطی: RCLONE_AZUREBLOB_USE_AZ
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-endpoint
نقطه پایانی (Endpoint) برای سرویس.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_AZUREBLOB_ENDPOINT
- •
- نوع: string
- •
- الزامی: false
--azureblob-upload-cutoff
حد آستانه برای جابهجایی به بارگذاری تکهای (<= 256 MiB) (منسوخ شده).
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
- •
- نوع: string
- •
- الزامی: false
--azureblob-chunk-size
اندازه تکههای بارگذاری (Upload chunk size).
توجه داشته باشید که این مقدار در حافظه نگهداری میشود و ممکن است حداکثر تا "--transfers" * "--azureblob-upload-concurrency" تکه بهصورت همزمان در حافظه ذخیره شود.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_AZUREBLOB_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 4Mi.SS --azureblob-upload-concurrency
همزمانی برای بارگذاریهای چندبخشی (multipart uploads).
این مقدار، تعداد تکههایی از یک فایل یکسان است که بهطور همزمان بارگذاری میشوند.
اگر تعداد کمی از فایلهای حجیم را روی پیوندهای پرسرعت بارگذاری میکنید و این بارگذاریها بهطور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار میتواند به بالابردن سرعت انتقالها کمک کند.
در آزمایشها، سرعت بارگذاری تقریباً بهصورت خطی با همزمانی بارگذاری افزایش مییابد. برای نمونه، جهت پر کردن ظرفیت یک پیوند گیگابیتی ممکن است نیاز باشد این مقدار به 64 افزایش یابد. توجه داشته باشید که این کار حافظهٔ بیشتری مصرف خواهد کرد.
توجه داشته باشید که تکهها در حافظه ذخیره میشوند و ممکن است حداکثر تا "--transfers" * "--azureblob-upload-concurrency" تکه بهطور همزمان در حافظه نگهداری شود.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_AZUREBLOB_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 16
--azureblob-copy-cutoff
آستانهٔ جابهجایی به رونوشت چندبخشی (multipart copy).
هر فایلی بزرگتر از این مقدار که نیاز به رونوشت سمت سرور داشته باشد، با استفاده از put block list API در تکههایی به اندازهٔ chunk_size رونوشت خواهد شد.
فایلهای کوچکتر از این حد با استفاده از Copy Blob API رونوشت میشوند.
ویژگیها:
- •
- پیکربندی: copy_cutoff
- •
- متغیر محیطی: RCLONE_AZUREBLOB_COPY_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 8Mi
--azureblob-copy-concurrency
همزمانی برای رونوشت چندبخشی.
این مقدار، تعداد تکههایی از یک فایل یکسان است که بهطور همزمان رونوشت میشوند.
این تکهها در حافظه بافر نمیشوند و مایکروسافت در مستندات azcopy توصیه میکند که این مقدار بزرگتر از 1000 تنظیم شود.
در آزمایشها، سرعت رونوشت تقریباً بهصورت خطی با همزمانی رونوشت افزایش مییابد.
ویژگیها:
- •
- پیکربندی: copy_concurrency
- •
- متغیر محیطی: RCLONE_AZUREBLOB_COPY_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 512
--azureblob-copy-total-concurrency
محدودیت سراسری همزمانی برای تکههای رونوشت چندبخشی.
این گزینه تعداد کل تکههای رونوشت چندبخشی را که بهطور همزمان در بین تمام فایلها در حال اجرا هستند، محدود میکند.
برای غیرفعال کردن این محدودکننده، مقدار آن را روی 0 تنظیم کنید.
ویژگیها:
- •
- پیکربندی: copy_total_concurrency
- •
- متغیر محیطی: RCLONE_AZUREBLOB_COPY_TOTAL_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 0.SS --azureblob-use-copy-blob
تعیین میکند که آیا هنگام رونوشت به همان حساب ذخیرهسازی (storage account)، از Copy Blob API استفاده شود یا خیر.
اگر روی true (پیشفرض) تنظیم شده باشد، rclone حتی زمانی که اندازه بزرگتر از copy_cutoff باشد، برای رونوشتها به همان حساب ذخیرهسازی از Copy Blob API استفاده خواهد کرد.
برنامه rclone فرض میکند که حساب ذخیرهسازی یکسان بهمعنای پیکربندی یکسان است و وجود حساب ذخیرهسازی یکسان را در پیکربندیهای مختلف بررسی نمیکند.
نیازی به تغییر دادن این مقدار نیست.
ویژگیها:
- •
- پیکربندی: use_copy_blob
- •
- متغیر محیطی: RCLONE_AZUREBLOB_USE_COPY_BLOB
- •
- نوع: bool
- •
- پیشفرض: true
--azureblob-list-chunk
اندازه فهرست blob.
این گزینه تعداد blobهای درخواستی در هر قطعه (chunk) از فهرستگیری را تعیین میکند. پیشفرض، حداکثر مقدار یعنی 5000 است. درخواستهای "List blobs" برای تکمیل شدن، مجاز به صرف ۲ دقیقه بهازای هر مگابایت هستند. اگر یک عملیات بهطور میانگین بیش از ۲ دقیقه بهازای هر مگابایت طول بکشد، با اتمام مهلت زمانی (time out) مواجه خواهد شد ( منبع (https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-blob-service-operations#exceptions-to-default-timeout-interval) ). از این گزینه میتوان برای محدود کردن تعداد موارد blob بازگرداندهشده، جهت جلوگیری از اتمام مهلت زمانی استفاده کرد.
ویژگیها:
- •
- پیکربندی: list_chunk
- •
- متغیر محیطی: RCLONE_AZUREBLOB_LIST_CHUNK
- •
- نوع: int
- •
- پیشفرض: 5000
--azureblob-access-tier
سطح دسترسی (Access tier) برای blob: hot، cool، cold یا archive.
blobهای بایگانیشده را میتوان با تنظیم سطح دسترسی روی hot، cool یا cold بازیابی کرد. اگر قصد دارید از سطح دسترسی پیشفرض که در سطح حساب (account level) تنظیم شده استفاده کنید، این فیلد را خالی بگذارید.
اگر هیچ "access tier" مشخص نشده باشد، rclone هیچ سطحی را اعمال نمیکند. برنامه rclone عملیات "Set Tier" را هنگام بارگذاری روی blobها اعمال میکند؛ اگر اشیاء تغییر نیافته باشند، مشخص کردن "access tier" به مقدار جدید هیچ تأثیری نخواهد داشت. اگر blobها در ریموت در "archive tier" باشند، تلاش برای انجام عملیات انتقال داده از ریموت مجاز نخواهد بود. کاربر ابتدا باید با تغییر سطح دسترسی blob به "Hot"، "Cool" یا "Cold" آن را بازیابی کند.
ویژگیها:
- •
- پیکربندی: access_tier
- •
- متغیر محیطی: RCLONE_AZUREBLOB_ACCESS_TIER
- •
- نوع: string
- •
- الزامی: false
--azureblob-archive-tier-delete
حذف blobهای سطح بایگانی (archive tier) پیش از بازنویسی.
blobهای سطح بایگانی را نمیتوان بهروزرسانی کرد. بنابراین بدون این پرچم، اگر برای بهروزرسانی یک blob در سطح بایگانی تلاش کنید، rclone این خطا را ایجاد خواهد کرد:
-
can't update archive tier blob without --azureblob-archive-tier-delete
با تنظیم این پرچم، rclone پیش از تلاش برای بازنویسی یک blob در سطح بایگانی، blob موجود را قبل از بارگذاری نسخه جایگزین آن حذف خواهد کرد. این کار در صورت شکست در بارگذاری (برخلاف بهروزرسانی یک blob عادی) ممکن است موجب از دست رفتن دادهها شود و همچنین ممکن است هزینه بیشتری به دنبال داشته باشد، زیرا حذف زودهنگام blobهای سطح بایگانی ممکن است مشمول هزینه اضافی شود.
ویژگیها:
- •
- پیکربندی: archive_tier_delete
- •
- متغیر محیطی: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE
- •
- نوع: bool
- •
- پیشفرض: false.SS --azureblob-disable-checksum
چکسام MD5 را در فراداده شیء ذخیره نمیکند.
در حالت عادی rclone پیش از بارگذاری ورودی، چکسام MD5 آن را محاسبه میکند تا بتواند آن را به فراداده شیء اضافه کند. این کار برای بررسی یکپارچگی دادهها عالی است اما میتواند در شروع بارگذاری فایلهای بزرگ تاخیرهای طولانی ایجاد کند.
ویژگیها:
- •
- پیکربندی: disable_checksum
- •
- متغیر محیطی: RCLONE_AZUREBLOB_DISABLE_CHECKSUM
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_AZUREBLOB_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
--azureblob-public-access
سطح دسترسی عمومی یک container: به صورت blob یا container.
ویژگیها:
- •
- پیکربندی: public_access
- •
- متغیر محیطی: RCLONE_AZUREBLOB_PUBLIC_ACCESS
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- کانتینر و blobهای آن تنها با یک درخواست مجاز (authorized) قابل دسترسی هستند.
- •
- این مقدار پیشفرض است.
- •
- "blob"
- •
- دادههای blob درون این container از طریق درخواست ناشناس (anonymous) قابل خواندن هستند.
- •
- "container"
- •
- امکان دسترسی کامل خواندن عمومی برای دادههای container و blob.
--azureblob-directory-markers
بارگذاری یک شیء خالی به همراه یک اسلش در انتها هنگام ایجاد یک دایرکتوری جدید
پوشههای خالی در ریموتهای مبتنی بر باکت پشتیبانی نمیشوند؛ این گزینه یک شیء خالی که به "/" ختم میشود ایجاد میکند تا پوشه ماندگار بماند.
این شیء همچنین دارای فراداده "hdi_isfolder = true" است تا با استاندارد مایکروسافت مطابقت داشته باشد.
ویژگیها:
- •
- پیکربندی: directory_markers
- •
- متغیر محیطی: RCLONE_AZUREBLOB_DIRECTORY_MARKERS
- •
- نوع: bool
- •
- پیشفرض: false.SS --azureblob-no-check-container
در صورت تنظیم، تلاشی برای بررسی وجود کانتینر یا ایجاد آن صورت نمیگیرد.
اگر از قبل میدانید که کانتینر وجود دارد، این گزینه میتواند برای به حداقل رساندن تعداد تراکنشهای انجامشده توسط rclone مفید باشد.
ویژگیها:
- •
- پیکربندی: no_check_container
- •
- متغیر محیطی: RCLONE_AZUREBLOB_NO_CHECK_CONTAINER
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-no-head-object
در صورت تنظیم، هنگام دریافت اشیاء، پیش از GET درخواست HEAD ارسال نمیشود.
ویژگیها:
- •
- پیکربندی: no_head_object
- •
- متغیر محیطی: RCLONE_AZUREBLOB_NO_HEAD_OBJECT
- •
- نوع: bool
- •
- پیشفرض: false
--azureblob-delete-snapshots
جهت تعیین نحوه برخورد با اسنپشاتها هنگام حذف blob تنظیم میشود.
ویژگیها:
- •
- پیکربندی: delete_snapshots
- •
- متغیر محیطی: RCLONE_AZUREBLOB_DELETE_SNAPSHOTS
- •
- نوع: string
- •
- الزامی: false
- •
- انتخابها:
- •
- ""
- •
- بهطور پیشفرض، اگر یک blob دارای اسنپشات باشد، عملیات حذف با شکست مواجه میشود
- •
- "include"
- •
- تعیین 'include' برای حذف blob ریشه و تمامی اسنپشاتهای آن
- •
- "only"
- •
- تعیین 'only' فقط برای حذف اسنپشاتها و نگهداشتن blob ریشه.
--azureblob-decompress
در صورت تنظیم، اشیاء کدگذاریشده با gzip از حالت فشرده خارج میشوند.
امکان آپلود اشیاء در Azure Blob Storage با تنظیم "Content-Encoding: gzip" وجود دارد. بهطور معمول rclone این فایلها را به عنوان اشیاء فشرده دانلود میکند.
اگر این پرچم تنظیم شود، rclone به محض دریافت این فایلهای دارای "Content-Encoding: gzip"، آنها را از حالت فشرده خارج میکند. این بدان معناست که rclone نمیتواند اندازه و هش را بررسی کند، اما محتوای فایل از حالت فشرده خارج خواهد شد.
ویژگیها:
- •
- پیکربندی: decompress
- •
- متغیر محیطی: RCLONE_AZUREBLOB_DECOMPRESS
- •
- نوع: bool
- •
- پیشفرض: false.SS --azureblob-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_AZUREBLOB_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
متادیتا (Metadata)
متادیتای کاربر بهصورت کلیدهای x-ms-meta- ذخیره میشود. کلیدهای متادیتای Azure به حروف بزرگ و کوچک حساس نیستند و همیشه با حروف کوچک برگردانده میشوند.
در ادامه موارد متادیتای سیستمی ممکن برای backend مربوط به azureblob آمده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| cache-control | سربرگ Cache-Control | string | no-cache | N |
| content-disposition | سربرگ Content-Disposition | string | inline | N |
| content-encoding | سربرگ Content-Encoding | string | gzip | N |
| content-language | سربرگ Content-Language | string | en-US | N |
| content-type | سربرگ Content-Type | string | text/plain | N |
| mtime | زمان آخرین تغییر، خواندهشده از متادیتای rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| tier | سطح (Tier) شیء | string | Hot | Y |
برای اطلاعات بیشتر، مستندات متادیتا (https://rclone.org/docs/#metadata) را ببینید..SS هدرهای بارگذاری سفارشی (Custom upload headers)
میتوانید هدرهای بارگذاری سفارشی را با گزینهٔ --header-upload تنظیم کنید.
- •
- Cache-Control
- •
- Content-Disposition
- •
- Content-Encoding
- •
- Content-Language
- •
- Content-Type
- •
- X-MS-Tags
برای مثال: --header-upload "Content-Type: text/potato" یا --header-upload "X-MS-Tags: foo=bar".
محدودیتها (Limitations)
چکسومهای MD5 تنها در صورتی با فایلهای تکهتکهشده (chunked) بارگذاری میشوند که منبع دارای چکسوم MD5 باشد. این موضوع همیشه برای عملیات کپی از سیستم محلی به Azure صدق میکند.
دستور rclone about توسط بکاند ذخیرهسازی Microsoft Azure Blob پشتیبانی نمیشود. بکاندهایی که فاقد این قابلیت هستند نمیتوانند فضای خالی را برای یک mount در rclone محاسبه کنند یا از سیاست mfs (بیشترین فضای خالی) به عنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند را در (https://rclone.org/overview/#optional-features) و rclone about را در (https://rclone.org/commands/rclone_about) ببینید.
پشتیبانی از شبیهساز ذخیرهسازی آژور (Azure Storage Emulator Support)
میتوانید rclone را با شبیهساز فضای ذخیرهسازی (معمولاً azurite) اجرا کنید.
برای این کار، کافی است طبق دستورالعملهای بخش مقدمه، یک ریموت جدید را با rclone config راهاندازی کرده و در تنظیمات پیشرفته، گزینهٔ use_emulator را روی true تنظیم کنید. نیازی به ارائه نام حساب پیشفرض یا کلید حساب ندارید، اما میتوانید آنها را در گزینههای account و key بازنویسی کنید. (پیش از نسخهٔ 1.61 این مقادیر بهطور ثابت روی devstoreaccount1 مربوط به azurite تنظیم شده بودند.)
همچنین اگر میخواهید به نمونهای از شبیهساز ذخیرهسازی که روی ماشین دیگری در حال اجراست دسترسی پیدا کنید، میتوانید پارامتر endpoint را در تنظیمات پیشرفته تغییر داده و آن را روی http(s)://<host>:<port>/devstoreaccount1 تنظیم کنید (برای مثال: http://10.254.2.5:10000/devstoreaccount1).
ذخیرهسازی پروندههای مایکروسافت آژور (Microsoft Azure Files Storage)
مسیرها به صورت remote: مشخص میشوند. همچنین میتوانید دایرکتوریهای فرعی را نیز وارد کنید؛ برای مثال: remote:path/to/dir.
پیکربندی (Configuration)
در اینجا مثالی از ایجاد پیکربندی Microsoft Azure Files Storage برای ریموتی با نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Microsoft Azure Files Storage \ "azurefiles" [snip] Option account. Azure Storage Account Name. Set this to the Azure Storage Account Name in use. Leave blank to use SAS URL or connection string, otherwise it needs to be set. If this is blank and if env_auth is set it will be read from the environment variable `AZURE_STORAGE_ACCOUNT_NAME` if possible. Enter a value. Press Enter to leave empty. account> account_name Option share_name. Azure Files Share Name. This is required and is the name of the share to access. Enter a value. Press Enter to leave empty. share_name> share_name Option env_auth. Read credentials from runtime (environment variables, CLI or MSI). See the [authentication docs](/azurefiles#authentication) for full info. Enter a boolean value (true or false). Press Enter for the default (false). env_auth> Option key. Storage Account Shared Key. Leave blank to use SAS URL or connection string. Enter a value. Press Enter to leave empty. key> base64encodedkey== Option sas_url. SAS URL. Leave blank if using account/key or connection string. Enter a value. Press Enter to leave empty. sas_url> Option connection_string. Azure Files Connection String. Enter a value. Press Enter to leave empty. connection_string> [snip] Configuration complete. Options: - type: azurefiles - account: account_name - share_name: share_name - key: base64encodedkey== Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d>
پس از پایان پیکربندی میتوانید از rclone استفاده کنید.
مشاهدهٔ همهٔ فایلها در سطح اصلی:
-
rclone lsf remote:
ایجاد یک دایرکتوری جدید در ریشه:
-
rclone mkdir remote:dir
فهرست کردن محتویات به صورت بازگشتی:
-
rclone ls remote:
همگامسازی /home/local/directory با دایرکتوری ریموت و حذف هرگونه فایل اضافی موجود در دایرکتوری مقصد:
-
rclone sync --interactive /home/local/directory remote:dir
زمان تغییر به عنوان ویژگی SMB LastWriteTime روی فایلها ذخیره میشود. دقت آن ۱۰۰ نانوثانیه است.
کارایی (Performance)
هنگام بارگذاری فایلهای بزرگ، افزایش مقدار --azurefiles-upload-concurrency کارایی را به بهای مصرف حافظهٔ بیشتر افزایش میدهد. مقدار پیشفرض ۱۶ کاملاً محافظهکارانه جهت مصرف کمتر حافظه تنظیم شده است. برای بهرهبرداری کامل از پیوند 1 GBit/s با انتقال یک فایل تکی، ممکن است نیاز باشد مقدار آن به ۶۴ یا بالاتر افزایش یابد.
نویسههای غیرمجاز نام فایل (Restricted filename characters)
علاوه بر مجموعه نویسههای غیرمجاز پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ? |
| \ | 0x5C | \ |
| | | 0x7C | | |
همچنین نام فایلها نمیتواند با نویسههای زیر خاتمه یابد. این نویسهها تنها در صورتی جایگزین میشوند که آخرین نویسه در نام فایل باشند:
| نویسه | مقدار | جایگزین |
| . | 0x2E | . |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان استفاده از آنها در رشتههای JSON وجود ندارد..SS هشها (Hashes)
هشهای MD5 همراه با فایلها ذخیره میشوند. همه فایلها دارای هش MD5 نخواهند بود، چرا که این مقادیر باید همراه با فایل بارگذاری شوند.
احراز هویت (Authentication)
راههای متعددی برای ارائه اطلاعات احراز هویت در Azure Files Storage وجود دارد. ابزار rclone آنها را به ترتیب بخشهای زیر بررسی و امتحان میکند.
احراز هویت محیطی (Env Auth)
اگر پارامتر پیکربندی env_auth برابر با true باشد، rclone اطلاعات احراز هویت را از متغیرهای محیطی یا زمان اجرا دریافت خواهد کرد.
این روشهای احراز هویت را به این ترتیب امتحان میکند:
- 1.
- متغیرهای محیطی (Environment Variables)
- 2.
- اطلاعات احراز هویت Managed Service Identity
- 3.
- اطلاعات احراز هویت Azure CLI (همانگونه که توسط ابزار az استفاده میشود)
این موارد در بخشهای زیر شرح داده شدهاند
احراز هویت محیطی: ۱. متغیرهای محیطی (Env Auth: 1. Environment Variables)
اگر env_auth تنظیم شده باشد و متغیرهای محیطی موجود باشند، rclone بسته به اینکه کدام متغیرهای محیطی مقداردهی شدهاند، یک service principal را با یک کلید مخفی (secret) یا گواهی (certificate)، یا یک کاربر را با گذرواژه احراز هویت میکند. پیکربندی را از این متغیرها و با اولویت زیر میخواند:
- 1.
- حساب Service principal به همراه client secret
- •
- AZURE_TENANT_ID: شناسه مربوط به tenant متعلق به service principal؛ همچنین شناسه "directory" نیز نامیده میشود.
- •
- AZURE_CLIENT_ID: شناسه کلاینت (client ID) متعلق به service principal
- •
- AZURE_CLIENT_SECRET: یکی از کلیدهای مخفی کلاینت (client secrets) متعلق به service principal
- 2.
- حساب Service principal به همراه گواهی (certificate)
- •
- AZURE_TENANT_ID: شناسه مربوط به tenant متعلق به service principal؛ همچنین شناسه "directory" نیز نامیده میشود.
- •
- AZURE_CLIENT_ID: شناسه کلاینت (client ID) متعلق به service principal
- •
- AZURE_CLIENT_CERTIFICATE_PATH: مسیر فایل گواهی PEM یا PKCS12 شامل کلید خصوصی.
- •
- AZURE_CLIENT_CERTIFICATE_PASSWORD: (اختیاری) گذرواژه فایل گواهی.
- •
- AZURE_CLIENT_SEND_CERTIFICATE_CHAIN: (اختیاری) مشخص میکند که آیا درخواست احراز هویت شامل هدر x5c برای پشتیبانی از احراز هویت مبتنی بر subject name / issuer خواهد بود یا خیر. هنگامی که روی "true" یا "1" تنظیم شود، درخواستهای احراز هویت شامل هدر x5c میشوند.
- 3.
- کاربر با نام کاربری و گذرواژه
- •
- AZURE_TENANT_ID: (اختیاری) شناسه tenant برای احراز هویت در آن. پیشفرض برابر با "organizations" است.
- •
- AZURE_CLIENT_ID: شناسه کلاینت (client ID) برنامهای که کاربر برای آن احراز هویت میکند
- •
- AZURE_USERNAME: نام کاربری (معمولاً یک نشانی رایانامه)
- •
- AZURE_PASSWORD: گذرواژه کاربر
- 4.
- هویت بار کاری (Workload Identity)
- •
- AZURE_TENANT_ID: شناسه Tenant برای احراز هویت در آن
- •
- AZURE_CLIENT_ID: شناسه کلاینت برنامهای که کاربر برای آن احراز هویت میکند
- •
- AZURE_FEDERATED_TOKEN_FILE: مسیر فایل توکن پیشبینیشده حساب سرویس (projected service account token file)
- •
- AZURE_AUTHORITY_HOST: مرجع اعتبارسنجی (Authority) نقطه پایانی Azure Active Directory (پیشفرض: login.microsoftonline.com).
هنگام استفاده از Managed Service Identity، اگر VM(SS) که این برنامه روی آن در حال اجرا است دارای یک هویت انتسابیافته به سیستم (system-assigned identity) باشد، بهطور پیشفرض از آن استفاده خواهد شد. اگر منبع فاقد هویت انتسابیافته به سیستم باشد اما دقیقاً یک هویت انتسابیافته به کاربر (user-assigned identity) داشته باشد، بهطور پیشفرض از هویت انتسابیافته به کاربر استفاده خواهد شد.
اگر منبع دارای چندین هویت انتسابیافته به کاربر است، باید مقدار env_auth را لغو کرده و به جای آن use_msi را تنظیم نمایید. بخش use_msi را ببینید.
اگر در ابرهای مجزا و بدون ارتباط خارجی (disconnected clouds) یا ابرهای خصوصی نظیر Azure Stack فعالیت میکنید، ممکن است بخواهید disable_instance_discovery = true را تنظیم کنید. این گزینه تعیین میکند که آیا rclone قبل از احراز هویت، فرادادهٔ نمونهٔ Microsoft Entra را از https://login.microsoft.com درخواست کند یا خیر. تنظیم این گزینه روی true باعث نادیده گرفتن این درخواست میشود و مسئولیت اطمینان از معتبر و قابل اعتماد بودن مرجع (authority) پیکربندیشده بر عهدهٔ شما خواهد بود.
احراز هویت محیطی (Env Auth): ۳. اعتبارنامههای Azure CLI (مورد استفاده در ابزار az)
اعتبارنامههای ایجادشده با ابزار az را میتوان با استفاده از env_auth واکشی کرد.
برای نمونه اگر با یک service principal به این صورت وارد شوید:
-
az login --service-principal -u XXX -p XXX --tenant XXX
آنگاه میتوانید به منابع rclone به این شکل دسترسی پیدا کنید:
-
rclone lsf :azurefiles,env_auth,account=ACCOUNT:
یا
-
rclone lsf --azurefiles-env-auth --azurefiles-account=ACCOUNT :azurefiles:
حساب و کلید مشترک (Account and Shared Key)
این روش سادهترین و در عین حال با انعطافپذیریِ کمینه است. تنها کافی است گزینههای account و key را پر کنید و بقیه را خالی بگذارید.
آدرس اینترنتی SAS (SAS URL)
برای استفاده از آن، فیلدهای account، key و connection_string را خالی بگذارید و sas_url را مقداردهی نمایید.
رشته اتصال (Connection String)
برای استفاده از آن، مقادیر account، key و "sas_url" را خالی بگذارید و connection_string را پر کنید.
شناسه اصلی سرویس با رمز کلاینت (Service principal with client secret)
اگر این متغیرها تنظیم شده باشند، rclone با استفاده از یک service principal به همراه یک client secret احراز هویت خواهد کرد.
- •
- tenant: شناسهٔ (ID) مستأجرِ (tenant) متعلق به service principal. همچنین شناسهٔ "directory" آن نیز خوانده میشود.
- •
- client_id: شناسهٔ کلاینت (client ID) برای service principal
- •
- client_secret: یکی از رمزهای کلاینت (client secrets) برای service principal
همچنین این اعتبارنامهها را میتوان با استفاده از گزینهٔ پیکربندی service_principal_file در یک فایل قرار داد.
شناسه اصلی سرویس با گواهی (Service principal with certificate)
اگر این متغیرها تنظیم شده باشند، rclone با استفاده از یک service principal به همراه گواهی احراز هویت خواهد کرد.
- •
- tenant: شناسهٔ (ID) مستأجرِ (tenant) متعلق به service principal. همچنین شناسهٔ "directory" آن نیز خوانده میشود.
- •
- client_id: شناسهٔ کلاینت (client ID) برای service principal
- •
- client_certificate_path: مسیر یک فایل گواهی PEM یا PKCS12 شامل کلید خصوصی (private key).
- •
- client_certificate_password: (اختیاری) گذرواژهٔ فایل گواهی.
- •
- client_send_certificate_chain: (اختیاری) مشخص میکند که آیا یک درخواست احراز هویت شامل هدر x5c برای پشتیبانی از احراز هویت مبتنی بر نام موضوع / صادرکننده (subject name / issuer) باشد یا خیر. هنگامی که روی "true" یا "1" تنظیم شود، درخواستهای احراز هویت شامل هدر x5c خواهند بود.
توجه: مقدار client_certificate_password باید مبهمسازی (obscured) شود - به دستور rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید..SS کاربر با نام کاربری و گذرواژه (User with username and password)
در صورت تنظیم این متغیرها، rclone با استفاده از نام کاربری و گذرواژه احراز هویت خواهد کرد.
- •
- tenant: (اختیاری) مستأجر (tenant) برای احراز هویت در آن. پیشفرض: "organizations".
- •
- client_id: شناسه کلاینت (client ID) برنامهای که کاربر با آن احراز هویت خواهد شد
- •
- username: یک نام کاربری (معمولاً یک نشانی ایمیل)
- •
- password: گذرواژه کاربر
مایکروسافت این نوع احراز هویت را توصیه نمیکند، زیرا نسبت به سایر روشهای احراز هویت امنیت کمتری دارد. این روش تعاملی نیست، بنابراین با هیچ شکلی از احراز هویت چندعاملی (MFA) سازگار نبوده و برنامه باید از قبل رضایت کاربر یا مدیر را دریافت کرده باشد. این اعتبارنامه تنها میتواند حسابهای کاری و تحصیلی را احراز هویت کند؛ این روش قادر به احراز هویت حسابهای شخصی مایکروسافت نیست.
توجه: مقدار password باید مبهمسازی (obscure) شود - مستندات rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
اعتبارنامههای هویت خدمات مدیریتشده (Managed Service Identity Credentials)
اگر use_msi تنظیم شده باشد، از اعتبارنامههای هویت خدمات مدیریتشده (MSI) استفاده میشود. این احراز هویت تنها هنگام اجرا در یکی از سرویسهای Azure کار میکند. برای استفاده از این قابلیت، env_auth نباید تنظیم شده باشد.
با این حال، اگر چندین هویت کاربری برای انتخاب دارید، باید دقیقاً با استفاده از یکی از پارامترهای msi_object_id، msi_client_id یا msi_mi_res_id به صورت صریح مشخص شوند.
اگر هیچیک از متغیرهای msi_object_id، msi_client_id یا msi_mi_res_id تنظیم نشده باشند، این حالت معادل استفاده از env_auth خواهد بود.
اعتبارنامههای هویت فدرال (Federated Identity Credentials)
در صورت تنظیم این متغیرها، rclone با استفاده از هویت فدرال احراز هویت خواهد کرد.
- •
- tenant: شناسه مستأجر (tenant ID) فضای ذخیرهسازی
- •
- client_id: شناسه کلاینت (client ID) برنامهای که کاربر برای احراز هویت در فضای ذخیرهسازی استفاده میکند
- •
- msi_client_id: شناسه کلاینت هویت مدیریتشده (MSI client ID) برنامهای که کاربر با آن احراز هویت خواهد کرد
بهطور پیشفرض از "api://AzureADTokenExchange" بهعنوان دامنه (scope) برای دریافت توکن از طریق MSI استفاده میشود. سپس این توکن با استفاده از 'tenant' و 'client_id' با توکن واقعی فضای ذخیرهسازی مبادله میشود.
ابزار Azure CLI به نام az
در صورت تنظیم use_az، از ابزار خط فرمان Azure به نام az (https://learn.microsoft.com/en-us/cli/azure) بهعنوان تنها روش احراز هویت استفاده میشود.
تنظیم این گزینه میتواند در صورتی مفید باشد که بخواهید از رابط خط فرمان az روی میزبانی با «هویت مدیریتشده سیستمی» (System Managed Identity) استفاده کنید که مایل به بهکارگیری آن هویت نیستید.
همزمان env_auth را تنظیم نکنید.
گزینههای استاندارد (Standard options)
در این بخش گزینههای استاندارد مختص azurefiles (فایلهای Microsoft Azure) آورده شده است.
--azurefiles-account
نام حساب ذخیرهسازی Azure (Azure Storage Account Name).
این گزینه را روی نام حساب ذخیرهسازی Azure مورد استفاده تنظیم کنید.
برای استفاده از نشانی اینترنتی SAS یا شبیهساز (Emulator) آن را خالی بگذارید؛ در غیر این صورت باید تنظیم شود.
اگر این مقدار خالی باشد و env_auth تنظیم شده باشد، در صورت امکان از متغیر محیطی AZURE_STORAGE_ACCOUNT_NAME خوانده خواهد شد.
ویژگیها:
- •
- پیکربندی: account
- •
- متغیر محیطی: RCLONE_AZUREFILES_ACCOUNT
- •
- نوع: string
- •
- اجباری: false.SS --azurefiles-env-auth
خواندن اطلاعات احراز هویت از زمان اجرا (متغیرهای محیطی، CLI یا MSI).
برای اطلاعات کامل، مستندات احراز هویت را ببینید.
ویژگیها:
- •
- پیکربندی: env_auth
- •
- متغیر محیطی: RCLONE_AZUREFILES_ENV_AUTH
- •
- نوع: bool
- •
- پیشفرض: false
--azurefiles-key
کلید مشترک حساب ذخیرهسازی (Storage Account Shared Key).
جهت استفاده از SAS URL یا Emulator، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: key
- •
- متغیر محیطی: RCLONE_AZUREFILES_KEY
- •
- نوع: string
- •
- الزامی: false
--azurefiles-sas-url
آدرس SAS URL تنها برای دسترسی در سطح کانتینر (container).
در صورت استفاده از حساب/کلید (account/key) یا Emulator، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: sas_url
- •
- متغیر محیطی: RCLONE_AZUREFILES_SAS_URL
- •
- نوع: string
- •
- الزامی: false
--azurefiles-connection-string
رشته اتصال ذخیرهسازی (Storage Connection String).
رشته اتصال برای فضای ذخیرهسازی. در صورت استفاده از سایر روشهای احراز هویت، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: connection_string
- •
- متغیر محیطی: RCLONE_AZUREFILES_CONNECTION_STRING
- •
- نوع: string
- •
- الزامی: false
--azurefiles-tenant
شناسه tenant مربوط به service principal. همچنین شناسه دایرکتوری (directory ID) آن نیز نامیده میشود.
اگر از موارد زیر استفاده میکنید، این مقدار را تنظیم کنید: - Service principal همراه با client secret - Service principal همراه با گواهی (certificate) - کاربر همراه با نام کاربری و گذرواژه
ویژگیها:
- •
- پیکربندی: tenant
- •
- متغیر محیطی: RCLONE_AZUREFILES_TENANT
- •
- نوع: string
- •
- الزامی: false
--azurefiles-client-id
شناسه کلاینت (client) مورد استفاده.
اگر از موارد زیر استفاده میکنید، این مقدار را تنظیم کنید: - Service principal همراه با client secret - Service principal همراه با گواهی (certificate) - کاربر همراه با نام کاربری و گذرواژه
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_AZUREFILES_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false.SS --azurefiles-client-secret
یکی از کلیدهای مخفی کلاینت (client secret) مربوط به service principal
در صورت استفاده از «Service principal با client secret» این مقدار را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_AZUREFILES_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
--azurefiles-client-certificate-path
مسیر فایل گواهی PEM یا PKCS12 شامل کلید خصوصی (private key).
در صورت استفاده از «Service principal با گواهی (certificate)» این مقدار را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: client_certificate_path
- •
- متغیر محیطی: RCLONE_AZUREFILES_CLIENT_CERTIFICATE_PATH
- •
- نوع: string
- •
- الزامی: false
--azurefiles-client-certificate-password
گذرواژه فایل گواهی (اختیاری).
در صورت استفاده از «Service principal با گواهی» این گزینه را به صورت اختیاری تنظیم کنید
و در صورتی که گواهی دارای گذرواژه باشد.
نکته: ورودی این گزینه باید مبهمسازی شود - دستور rclone obscure را ببینید (https://rclone.org/commands/rclone_obscure).
ویژگیها:
- •
- پیکربندی: client_certificate_password
- •
- متغیر محیطی: RCLONE_AZUREFILES_CLIENT_CERTIFICATE_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--azurefiles-share-name
نام اشتراک Azure Files (Share Name).
این گزینه الزامی است و نام اشتراکی است که باید به آن دسترسی پیدا کرد.
ویژگیها:
- •
- پیکربندی: share_name
- •
- متغیر محیطی: RCLONE_AZUREFILES_SHARE_NAME
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مخصوص azurefiles (Microsoft Azure Files) آورده شده است.
--azurefiles-client-send-certificate-chain
ارسال زنجیره گواهی هنگام استفاده از احراز هویت با گواهی.
مشخص میکند که آیا درخواست احراز هویت شامل هدر x5c برای پشتیبانی از احراز هویت مبتنی بر subject name / issuer باشد یا خیر. هنگامی که روی true تنظیم شود، درخواستهای احراز هویت شامل هدر x5c خواهند بود.
در صورت استفاده از «Service principal با گواهی» این گزینه را به صورت اختیاری تنظیم کنید.
ویژگیها:
- •
- پیکربندی: client_send_certificate_chain
- •
- متغیر محیطی: RCLONE_AZUREFILES_CLIENT_SEND_CERTIFICATE_CHAIN
- •
- نوع: bool
- •
- پیشفرض: false.SS --azurefiles-username
نام کاربری (معمولاً یک نشانی رایانامه)
اگر از «کاربر با نام کاربری و گذرواژه» استفاده میکنید، این مورد را تنظیم کنید.
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_AZUREFILES_USERNAME
- •
- نوع: string
- •
- الزامی: false
--azurefiles-password
گذرواژه کاربر
اگر از «کاربر با نام کاربری و گذرواژه» استفاده میکنید، این مورد را تنظیم کنید.
توجه: ورودی این گزینه باید مبهمسازی (obscure) شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_AZUREFILES_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--azurefiles-service-principal-file
مسیر فایل حاوی اطلاعات احراز هویت برای استفاده با یک service principal.
در حالت عادی خالی بگذارید. تنها در صورتی نیاز است که بخواهید بهجای ورود تعاملی، از یک service principal استفاده کنید.
-
$ az ad sp create-for-rbac --name "<name>" \ --role "Storage Blob Data Owner" \ --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \ > azure-principal.json
برای جزئیات بیشتر به صفحههای "Create an Azure service principal" (https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) و "Assign an Azure role for access to blob data" (https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli) مراجعه کنید.
شاید راحتتر باشد که اطلاعات احراز هویت را بهجای تنظیم service_principal_file، مستقیماً در فایل پیکربندی rclone زیر کلیدهای client_id، tenant و client_secret قرار دهید.
ویژگیها:
- •
- پیکربندی: service_principal_file
- •
- متغیر محیطی: RCLONE_AZUREFILES_SERVICE_PRINCIPAL_FILE
- •
- نوع: string
- •
- الزامی: false
--azurefiles-disable-instance-discovery
صرفنظر از درخواست فراداده نمونه Microsoft Entra
این گزینه فقط باید توسط برنامههایی روی true تنظیم شود که در ابرهای مجزا (disconnected clouds) یا ابرهای خصوصی مانند Azure Stack احراز هویت میکنند.
این گزینه مشخص میکند که آیا rclone قبل از احراز هویت، متادیتای نمونه Microsoft Entra را از https://login.microsoft.com درخواست کند یا خیر.
تنظیم این گزینه بر روی true باعث نادیده گرفتن این درخواست میشود، که مسئولیت اطمینان از معتبر و قابل اعتماد بودن مرجع (authority) پیکربندیشده را بر عهده خودتان میگذارد.
ویژگیها:
- •
- پیکربندی: disable_instance_discovery
- •
- متغیر محیطی: RCLONE_AZUREFILES_DISABLE_INSTANCE_DISCOVERY
- •
- نوع: bool
- •
- پیشفرض: false.SS --azurefiles-use-msi
استفاده از هویت سرویس مدیریتشده (MSI) برای احراز هویت (تنها در Azure کار میکند).
در صورت تنظیم روی true، برای احراز هویت در Azure Storage به جای توکن SAS یا کلید حساب، از یک هویت سرویس مدیریتشده (https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources) استفاده میشود.
اگر VM(SS) که این برنامه روی آن اجرا میشود دارای یک هویت انتسابدادهشده توسط سیستم (system-assigned) باشد، بهطور پیشفرض از آن استفاده خواهد شد. اگر منبع فاقد هویت system-assigned بوده اما دقیقاً یک هویت انتسابدادهشده توسط کاربر (user-assigned) داشته باشد، بهطور پیشفرض از هویت user-assigned استفاده میشود. اگر منبع دارای چندین هویت user-assigned باشد، هویت مورد استفاده باید بهطور صریح با استفاده از دقیقاً یکی از پارامترهای msi_object_id، msi_client_id یا msi_mi_res_id مشخص گردد.
ویژگیها:
- •
- پیکربندی: use_msi
- •
- متغیر محیطی: RCLONE_AZUREFILES_USE_MSI
- •
- نوع: bool
- •
- پیشفرض: false
--azurefiles-msi-object-id
شناسه شیء (Object ID) مربوط به MSI انتسابدادهشده توسط کاربر برای استفاده، در صورت وجود.
در صورت تعیین msi_client_id یا msi_mi_res_id خالی بگذارید.
ویژگیها:
- •
- پیکربندی: msi_object_id
- •
- متغیر محیطی: RCLONE_AZUREFILES_MSI_OBJECT_ID
- •
- نوع: string
- •
- الزامی: false
--azurefiles-msi-client-id
شناسه شیء (Object ID) مربوط به MSI انتسابدادهشده توسط کاربر برای استفاده، در صورت وجود.
در صورت تعیین msi_object_id یا msi_mi_res_id خالی بگذارید.
ویژگیها:
- •
- پیکربندی: msi_client_id
- •
- متغیر محیطی: RCLONE_AZUREFILES_MSI_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--azurefiles-msi-mi-res-id
شناسه منبع Azure مربوط به MSI انتسابدادهشده توسط کاربر برای استفاده، در صورت وجود.
در صورت تعیین msi_client_id یا msi_object_id خالی بگذارید.
ویژگیها:
- •
- پیکربندی: msi_mi_res_id
- •
- متغیر محیطی: RCLONE_AZUREFILES_MSI_MI_RES_ID
- •
- نوع: string
- •
- الزامی: false
--azurefiles-use-emulator
در صورت مشخص شدن بهعنوان 'true'، از شبیهساز فضای ذخیرهسازی محلی استفاده میکند.
در صورت استفاده از نقطه پایانی (endpoint) واقعی Azure Storage خالی بگذارید.
ویژگیها:
- •
- پیکربندی: use_emulator
- •
- متغیر محیطی: RCLONE_AZUREFILES_USE_EMULATOR
- •
- نوع: bool
- •
- پیشفرض: false.SS --azurefiles-use-az
استفاده از ابزار Azure CLI یعنی az برای احراز هویت
این گزینه را برای استفاده از ابزار Azure CLI یعنی az (https://learn.microsoft.com/en-us/cli/azure) به عنوان تنها روش احراز هویت تنظیم کنید.
تنظیم این گزینه میتواند زمانی مفید باشد که بخواهید از az CLI روی میزبانی با یک System Managed Identity استفاده کنید که مایل به استفاده از آن نیستید.
همزمان env_auth را تنظیم نکنید.
ویژگیها:
- •
- پیکربندی: use_az
- •
- متغیر محیطی: RCLONE_AZUREFILES_USE_AZ
- •
- نوع: bool
- •
- پیشفرض: false
--azurefiles-endpoint
نقطه پایانی (Endpoint) سرویس.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_AZUREFILES_ENDPOINT
- •
- نوع: string
- •
- الزامی: false
--azurefiles-chunk-size
اندازه تکههای بارگذاری (upload chunk size).
توجه داشته باشید که این مقدار در حافظه ذخیره میشود و ممکن است حداکثر تا "--transfers" * "--azurefile-upload-concurrency" تکه به صورت همزمان در حافظه نگهداری شود.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_AZUREFILES_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 4Mi
--azurefiles-upload-concurrency
میزان همزمانی در بارگذاریهای چندبخشی (multipart uploads).
این مقدار، تعداد تکههای یک فایل مشابه است که به صورت همزمان بارگذاری میشوند.
اگر تعداد کمی فایل حجیم را روی اتصالات پرسرعت بارگذاری میکنید و این بارگذاریها به طور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار میتواند به بالا بردن سرعت انتقالها کمک کند.
توجه داشته باشید که تکهها در حافظه ذخیره میشوند و ممکن است حداکثر تا "--transfers" * "--azurefile-upload-concurrency" تکه به طور همزمان در حافظه نگهداری شوند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_AZUREFILES_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 16
--azurefiles-max-stream-size
حداکثر اندازه برای فایلهای جاریسازیشده (streamed).
سرویس Azure files باید از قبل بداند که اندازه فایل چقدر خواهد بود. زمانی که rclone از این مقدار اطلاعی ندارد، در عوض از این مقدار استفاده میکند.
این مقدار هنگامی استفاده خواهد شد که rclone در حال جاریسازی دادهها باشد؛ رایجترین کاربردها عبارتند از:
- •
- بارگذاری فایلها با --vfs-cache-mode off به همراه rclone mount
- •
- استفاده از rclone rcat
- •
- کپی کردن فایلهایی با طول نامشخص
شما به این مقدار فضای خالی در اشتراک (share) نیاز خواهید داشت زیرا فایل به صورت موقت این اندازه خواهد بود.
ویژگیها:
- •
- پیکربندی: max_stream_size
- •
- متغیر محیطی: RCLONE_AZUREFILES_MAX_STREAM_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 10Gi.SS --azurefiles-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر بخش کدگذاری در بررسی کلی را در (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_AZUREFILES_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8,Dot
--azurefiles-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_AZUREFILES_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
سرآیندهای سفارشی بارگذاری (Custom upload headers)
میتوانید با استفاده از پرچم --header-upload سرآیندهای سفارشی برای بارگذاری تنظیم کنید.
- •
- Cache-Control
- •
- Content-Disposition
- •
- Content-Encoding
- •
- Content-Language
- •
- Content-Type
بهعنوان مثال: --header-upload "Content-Type: text/potato"
محدودیتها (Limitations)
چکسامهای MD5 تنها در صورتی همراه با فایلهای چندبخشی (chunked) بارگذاری میشوند که مبدأ دارای چکسام MD5 باشد. این وضعیت همیشه برای کپی از سیستم محلی به azure برقرار است.
مایکروسافت واندرایو (Microsoft OneDrive)
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق مورد نیازی باشند، مانند: remote:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه OneDrive نیازمند دریافت یک توکن از Microsoft است که باید آن را در مرورگر وب خود دریافت کنید. فرمان rclone config شما را مرحلهبهمرحله راهنمایی میکند.
در اینجا نمونهای از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرآیند راهاندازی تعاملی راهنمایی میکند:
-
e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Microsoft OneDrive \ "onedrive" [snip] Storage> onedrive Microsoft App Client Id Leave blank normally. Enter a string value. Press Enter for the default (""). client_id> Microsoft App Client Secret Leave blank normally. Enter a string value. Press Enter for the default (""). client_secret> Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Choose a number from below, or type in an existing value 1 / OneDrive Personal or Business \ "onedrive" 2 / Sharepoint site \ "sharepoint" 3 / Type in driveID \ "driveid" 4 / Type in SiteID \ "siteid" 5 / Search a Sharepoint site \ "search" Your choice> 1 Found 1 drives, please select the one you want to use: 0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk Chose drive to use:> 0 Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents Is that okay? y) Yes n) No y/n> y Configuration complete. Options: - type: onedrive - token: {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"} - drive_id: b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk - drive_type: business Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای اطلاع از نحوه راهاندازی روی سامانهای که فاقد مرورگر وب متصل به اینترنت است، به اسناد راهاندازی ریموت در (https://rclone.org/remote_setup) مراجعه کنید.
توجه داشته باشید که rclone برای جمعآوری توکن برگشتی از Microsoft یک وبسرور روی سیستم محلی شما اجرا میکند. این وبسرور تنها از لحظه باز کردن مرورگر تا زمان بازگردانی کد تأیید در حال اجرا خواهد بود. این سرویس روی http://127.0.0.1:53682 قرار دارد و چنانچه فایروال محلی فعال است، ممکن است نیاز باشد آن را بهطور موقت آزاد کنید.
پس از اتمام پیکربندی، میتوانید از rclone به این صورت استفاده کنید (به جای remote نامی را که برای ریموت خود تعیین کردهاید قرار دهید):
فهرست کردن دایرکتوریها در سطح بالای OneDrive:
-
rclone lsd remote:
فهرست کردن تمام فایلها در OneDrive:
-
rclone ls remote: برای رونوشت کردن یک دایرکتوری محلی به یک دایرکتوری OneDrive به نام backup:
-
rclone copy /home/source remote:backup
دریافت Client ID و Key اختصاصی خود
برنامه rclone در هنگام ارتباط با OneDrive از یک Client ID پیشفرض استفاده میکند، مگر اینکه یک client_id سفارشی در پیکربندی مشخص شده باشد. شناسه Client ID و Key پیشفرض هنگام ارسال درخواستها، میان تمام کاربران rclone به اشتراک گذاشته میشوند.
در صورتی که شناسه پیشفرض برای شما مناسب نیست، میتوانید Client ID اختصاصی خود را ایجاد کرده و استفاده کنید. به عنوان مثال، ممکن است با محدودیت نرخ درخواست (throttling) مواجه شوید.
ایجاد Client ID برای OneDrive Personal
برای ایجاد Client ID اختصاصی خود، لطفاً مراحل زیر را دنبال کنید:
- 1.
- نشانی https://portal.azure.com/?quickstart=true#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Overview را باز کرده و سپس زیر منوی Add روی App registration کلیک کنید.
- •
- اگر حساب Azure نساختهاید، از شما خواسته میشود که ایجاد کنید. این حساب رایگان است، اما برای تأیید هویت باید شماره تلفن، آدرس و کارت اعتباری ارائه دهید.
- 2.
- یک نام برای برنامه خود وارد کنید، نوع حساب را Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox) انتخاب کنید، در بخش Redirect URI گزینه Web را برگزینید، سپس عبارت http://localhost:53682/ را تایپ کنید (رونوشت و جایگذاری نکنید) و روی Register کلیک نمایید. شناسه Application (client) ID واقع در زیر نام برنامه را کپی کرده و برای استفادههای بعدی نگه دارید.
- 3.
- زیر بخش manage گزینه Certificates & secrets را انتخاب کرده و روی New client secret کلیک کنید. یک توضیح وارد کنید (میتواند هر چیزی باشد) و مقدار Expires را روی ۲۴ ماه تنظیم نمایید. مقدار Value آن کلید مخفی را برای استفادههای بعدی کپی و نگهداری کنید (بعداً قادر به دیدن این مقدار نخواهید بود).
- 4.
- زیر بخش manage گزینه API permissions را انتخاب کرده، روی Add a permission کلیک کنید و Microsoft Graph و سپس delegated permissions را انتخاب نمایید.
- 5.
- مجوزهای زیر را جستجو و انتخاب کنید: Files.Read، Files.ReadWrite، Files.Read.All، Files.ReadWrite.All، offline_access، User.Read و Sites.Read.All (اگر محدودههای دسترسی سفارشی پیکربندی شدهاند، مجوزها را متناسب با آن انتخاب کنید). پس از انتخاب، روی Add permissions در پایین صفحه کلیک کنید.
اکنون برنامه کامل شده است. دستور rclone config را برای ایجاد یا ویرایش یک ریموت OneDrive اجرا کنید. شناسه برنامه (app ID) و گذرواژه را به ترتیب به عنوان Client ID و Secret وارد کنید. برنامه rclone شما را در مراحل باقیمانده راهنمایی خواهد کرد.
گزینه access_scopes به شما امکان میدهد مجوزهای درخواستشده توسط rclone را پیکربندی کنید. برای اطلاعات بیشتر درباره محدودههای مختلف، به مستندات مایکروسافت (https://docs.microsoft.com/en-us/graph/permissions-reference#files-permissions) مراجعه کنید.
در صورتی که هنگام پیکربندی ریموت (https://github.com/rclone/rclone/pull/5883) نیاز به جستجوی سایتهای SharePoint داشته باشید، مجوز Sites.Read.All الزامی است. با این حال، اگر این مجوز اختصاص داده نشده باشد، باید Sites.Read.All را از محدودههای دسترسی خود خارج کنید یا در گزینههای پیشرفته مقدار گزینه disable_site_permission را روی true قرار دهید.
ایجاد Client ID برای OneDrive Business
مراحل مربوط به OneDrive Personal ممکن است بسته به تنظیمات امنیتی سازمان برای OneDrive Business کار کند یا نکند. یک خطای رایج این است که ناشر برنامه تأیید نشده است (publisher of the App is not verified).
میتوانید برای تأیید حساب خود اقدام کنید (https://docs.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview) یا همانطور که در زیر نشان داده شده است، دسترسی برنامه را فقط به سازمان خود محدود نمایید.
- 1.
- اطمینان حاصل کنید که برنامه را با حساب تجاری خود ایجاد میکنید.
- 2.
- مراحل فوق را برای ایجاد یک برنامه دنبال کنید. با این حال، در اینجا به نوع حساب متفاوتی نیاز داریم: Accounts in this organizational directory only (*** - Single tenant). توجه داشته باشید که پس از ایجاد برنامه نیز میتوانید نوع حساب را تغییر دهید.
- 3.
- شناسه مستأجر یا سازمان (tenant ID) سازمان خود را پیدا کنید (https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant).
- 4.
- در پیکربندی rclone، مقدار auth_url را روی https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/authorize تنظیم کنید.
- 5.
- در پیکربندی rclone، مقدار token_url را روی https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token تنظیم کنید.
نکته: اگر در منطقه جغرافیایی خاصی (special region) قرار دارید، ممکن است در مراحل ۴ و ۵ به هاست متفاوتی نیاز داشته باشید. چند راهنمایی در اینجا آورده شده است (https://github.com/rclone/rclone/blob/bc23bf11db1c78c6ebbf8ea538fbebf7058b4176/backend/onedrive/onedrive.go#L86)..SS استفاده از جریان اعتبارسنجی OAuth Client Credential
جریان اعتبارسنجی OAuth Client Credential به rclone اجازه میدهد بهجای بهرهگیری از بستر یک حساب کاربری Azure AD، مستقیماً از مجوزهای مرتبط با برنامه سازمانی (Enterprise) در Azure AD استفاده کند.
این جریان را میتوان با دنبال کردن مراحل زیر فعال کرد:
- 1.
- ثبت برنامه سازمانی (Enterprise App registration) را در درگاه Azure AD انجام دهید و همانطور که در بالا توضیح داده شد یک Client ID و Client Secret دریافت کنید.
- 2.
- اطمینان حاصل کنید که برنامه مجوزهای مناسب را دارد و آنها بهعنوان Application Permissions تخصیص یافتهاند.
- 3.
- ریموت (remote) را پیکربندی کنید، و مطمئن شوید که Client ID و Client Secret بهدرستی وارد شدهاند.
- 4.
- در بخش Advanced Config، برای client_credentials مقدار true را وارد کرده و در بخش tenant شناسه مستأجر (tenant ID) را وارد کنید.
هنگام انتخاب نوع اتصال برای کار با جریان client credentials، توجه داشته باشید که بهویژه گزینه "onedrive" کار نمیکند. میتوانید از گزینه "sharepoint" استفاده کنید، یا در صورتی که شناسه درایو صحیح پیدا نشد، آن را بهصورت دستی با گزینه "driveid" وارد نمایید.
برای پشتیبانگیری از دادههای هر کاربر با استفاده از این جریان، مجوزهای لازم در Microsoft Graph از نوع Application permissions (مانند Files.Read.All، Sites.Read.All و/یا Sites.Selected) را به برنامه Azure AD خود اعطا کنید. با این مجوزها، rclone میتواند به درایوهای سراسر tenant دسترسی داشته باشد، اما باید بداند کدام کاربر یا درایو مد نظر شماست. یک drive_id مشخص مربوط به OneDrive آن کاربر، یا یک شناسه سایت SharePoint برای کتابخانههای SharePoint تعیین کنید. میتوانید شناسه درایو یک کاربر را با استفاده از Microsoft Graph (مثلاً /users/{userUPN}/drive) به دست آورده و سپس آن را در rclone پیکربندی کنید. پس از ارائه شناسه درایو صحیح، rclone با استفاده از توکن مخصوص برنامه (app-only token) و بدون نیاز به اطلاعات کاربری شخص، از دادههای آن کاربر نسخه پشتیبان تهیه خواهد کرد.
نکته تخصیص مستقیم مجوزها به برنامه به این معنی است که هر فردی دارای Client ID و Client Secret میتواند به فایلهای OneDrive شما دسترسی پیدا کند. در حفاظت از این اطلاعات هویتی دقت کافی به عمل آورید.
دسترسی غیرمدیر به Business OneDrive
اگر دسترسی مدیر (admin) به OneDrive for Business سازمان خود ندارید، همچنان میتوانید با وارد کردن دستی URL مستأجر SharePoint و drive ID متصل شوید. این کار با جایگزین کردن نشانی پایه API از نقطه پایانی (endpoint) استاندارد Microsoft Graph به نقطه پایانی SharePoint v2.0 انجام میشود.
مراحل دریافت دستی اطلاعات اعتبارسنجی
- 1.
- مرورگر خود را باز کرده و به https://[your-tenant].sharepoint.com بروید.
- 2.
- ابزارهای توسعهدهنده (Developer Tools) را باز کرده (کلید F12 را فشار دهید) و به برگه Network بروید.
- 3.
- در درخواستهای شبکه عبارت driveAccessToken را جستجو کنید.
- 4.
- اطلاعات زیر را از پاسخ استخراج کنید:
-
".driveUrl": "{tenant_url}/v2.0/drives/{drive_id}", ".driveAccessToken": "access_token={access_token}"
پیکربندی Rclone
از مقادیر استخراجشده برای پیکربندی ریموت خود استفاده کنید:
-
type = onedrive token = {"access_token":"{access_token}","token_type":"Bearer","refresh_token":"","expiry":"2045-12-31T23:59:59Z"} drive_id = {drive_id} tenant_url = {tenant_url} drive_type = business
از آنجا که زمان دقیق انقضا از طریق ترافیک وب قابل تشخیص نیست، تاریخ انقضا را روی زمانی در آینده تنظیم کنید. توجه داشته باشید که توکن در نهایت منقضی خواهد شد و لازم است این فرایند را برای دریافت یک توکن جدید تکرار کنید..SS زمانهای تغییر و هشها (Modification times and hashes)
سرویس OneDrive امکان تنظیم زمان تغییر اشیاء را با دقت ۱ ثانیه فراهم میکند. از این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر، استفاده خواهد شد.
سرویسهای OneDrive Personal، OneDrive for Business و Sharepoint Server از QuickXorHash (https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash) پشتیبانی میکنند.
پیش از rclone 1.62، هش پیشفرض برای OneDrive Personal برابر با SHA1 بود. برای rclone 1.62 و بالاتر، پیشفرض برای تمام بکاندهای OneDrive برابر با QuickXorHash است.
از ژوئیه ۲۰۲۳، پشتیبانی از SHA1 در OneDrive Personal به نفع QuickXorHash در حال منسوخ شدن است. در صورت لزوم، اگر این موضوع در گردش کار شما اهمیت دارد، میتوان از پرچم --onedrive-hash-type (یا گزینهٔ پیکربندی hash_type) برای انتخاب SHA1 در طول دورهٔ گذار استفاده کرد.
برای تمام انواع OneDrive میتوانید از پرچم --checksum استفاده کنید.
--fast-list
این ریموت از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظهٔ بیشتر، از تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone (https://rclone.org/docs/#fast-list) مراجعه کنید.
این قابلیت باید با پرچم --onedrive-delta (یا delta = true در فایل پیکربندی) فعال شود، زیرا میتواند باعث افت کارایی شود.
این کار با استفاده از امکانات فهرستبندی دلتای OneDrive انجام میشود که تمامی فایلهای موجود در ریموت را با بازدهی بسیار بالایی بازمیگرداند. این روش بسیار کارآمدتر از فهرستبندی بازگشتی دایرکتوریها است و روش توصیهشدهٔ مایکروسافت برای خواندن تمام اطلاعات فایلها از یک درایو میباشد.
این ویژگی میتواند به همراه rclone mount و rclone rc vfs/refresh recursive=true (https://rclone.org/rc/#vfs-refresh) برای پر کردن بسیار سریع اطلاعات تمامی فایلها در نقطهٔ اتصال مفید باشد.
رابط برنامهنویسی (API) استفادهشده برای فهرستبندی بازگشتی (ListR) تنها از فهرستبندی از ریشهٔ درایو پشتیبانی میکند. هرچه از ریشه دورتر شوید، این روش به طور فزایندهای ناکارآمدتر میشود، زیرا rclone مجبور است فایلهای خارج از دایرکتوری مورد نظر شما را نادیده بگیرد.
برخی دستورها (مانند rclone lsf -R) به صورت پیشفرض از ListR استفاده میکنند؛ در صورت نیاز میتوانید آن را با --disable ListR غیرفعال کنید.
نویسههای محدودشده در نام فایل (Restricted filename characters)
علاوه بر مجموعه نویسههای محدودشدهٔ پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ? |
| \ | 0x5C | \ |
| | | 0x7C | | |
همچنین نام فایلها نمیتواند با نویسههای زیر خاتمه یابد. این نویسهها تنها در صورتی جایگزین میشوند که آخرین نویسه در نام فایل باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
| . | 0x2E | . |
همچنین نام فایلها نمیتواند با نویسههای زیر آغاز شود. این نویسهها تنها در صورتی جایگزین میشوند که اولین نویسه در نام فایل باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
| ~ | 0x7E | ~ |
| بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد | ||
| (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در | ||
| رشتههای JSON استفاده کرد. | ||
| "حذف فایلها" | ||
| هر فایلی که با rclone حذف کنید، به سطل زباله (trash) منتقل خواهد شد. | ||
| مایکروسافت هیچ APIای برای حذف دائمی فایلها یا خالی کردن سطل زباله | ||
| ارائه نمیدهد، بنابراین باید این کار را با یکی از برنامههای مایکروسافت | ||
| یا از طریق وبسایت OneDrive انجام دهید. | ||
| "گزینههای استاندارد" | ||
| در اینجا گزینههای استاندارد مختص onedrive (Microsoft OneDrive) آورده شده است. | ||
| --onedrive-client-id | ||
| شناسه کلاینت OAuth. | ||
| در حالت عادی خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: client_id | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_CLIENT_ID | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-client-secret | ||
| کلید مخفی کلاینت OAuth. | ||
| در حالت عادی خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: client_secret | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_CLIENT_SECRET | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-region | ||
| انتخاب منطقه ابری ملی برای OneDrive. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: region | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_REGION | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| پیشفرض: "global" | ||
| • 2 | ||
| مثالها: | ||
| 2 | ||
| • 2 | ||
| "global" | ||
| 2 | ||
| • 2 | ||
| ابر جهانی مایکروسافت (Microsoft Cloud Global) | ||
| • 2 | ||
| "us" | ||
| 2 | ||
| • 2 | ||
| ابر مایکروسافت برای دولت ایالات متحده (Microsoft Cloud for US Government) | ||
| • 2 | ||
| "de" | ||
| 2 | ||
| • 2 | ||
| ابر مایکروسافت آلمان (منسوخشده - ابتدا منطقه global را امتحان کنید). | ||
| • 2 | ||
| "cn" | ||
| 2 | ||
| • 2 | ||
| Azure و Office 365 ادارهشده توسط Vnet Group در چین | ||
| شناسهٔ مستأجر (tenant) مربوط به service principal. | ||
| همچنین به آن شناسهٔ دایرکتوری (directory ID) نیز گفته میشود. | ||
| در صورت استفاده از فرآیند اعتبارنامهٔ کلاینت (Client Credential flow)، این مورد را تنظیم کنید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: tenant | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_TENANT | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| گزینههای پیشرفته (Advanced options) | ||
| در اینجا گزینههای پیشرفتهٔ ویژهٔ onedrive (Microsoft OneDrive) آورده شدهاند. | ||
| --onedrive-token | ||
| توکن دسترسی OAuth در قالب یک JSON blob. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: token | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_TOKEN | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-auth-url | ||
| نشانی اینترنتی (URL) سرور احراز هویت. | ||
| برای استفاده از مقادیر پیشفرض ارائهدهنده، این مقدار را خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: auth_url | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_AUTH_URL | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-token-url | ||
| نشانی اینترنتی (URL) سرور توکن. | ||
| برای استفاده از مقادیر پیشفرض ارائهدهنده، این مقدار را خالی بگذارید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: token_url | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_TOKEN_URL | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-client-credentials | ||
| استفاده از فرآیند اعتبارسنجی کلاینت (client credentials) در OAuth. | ||
| این گزینه از OAUTH2 client Credentials Flow همانطور که در RFC 6749 شرح داده شده است استفاده خواهد کرد. | ||
| توجه داشته باشید که این گزینه توسط همهٔ Backendها پشتیبانی نمیشود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: client_credentials | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_CLIENT_CREDENTIALS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false.SS --onedrive-upload-cutoff | ||
| آستانه جابجایی به بارگذاری تکهای (chunked upload). | ||
| هر فایلی بزرگتر از این مقدار در تکههایی به اندازه chunk_size بارگذاری خواهد شد. | ||
| این گزینه بهطور پیشفرض غیرفعال است، زیرا بارگذاری با استفاده از روش تکبخشی (single part) باعث میشود rclone در OneDrive تجاری دو برابر فضای ذخیرهسازی مصرف کند؛ چرا که وقتی rclone پس از بارگذاری زمان ویرایش را تنظیم میکند، OneDrive نسخه جدیدی ایجاد میکند. | ||
| ببینید: https://github.com/rclone/rclone/issues/1716 | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: upload_cutoff | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_UPLOAD_CUTOFF | ||
| • 2 | ||
| نوع: SizeSuffix | ||
| • 2 | ||
| پیشفرض: off | ||
| --onedrive-tenant-url | ||
| نشانی URL مستأجر (tenant URL) برای دسترسی غیرمدیریتی به OneDrive. | ||
| این گزینه را روی نشانی URL مستأجر SharePoint خود تنظیم کنید تا بهجای Microsoft Graph API استاندارد، از نقطه پایانی SharePoint v2.0 API استفاده شود. | ||
| این قابلیت امکان دسترسی به OneDrive تجاری را بدون نیاز به رضایت مدیر (admin consent) فراهم میکند. | ||
| این نشانی URL را میتوان در ابزارهای توسعهدهنده مرورگرتان با جستجوی "driveAccessToken" در درخواستهای شبکه پیدا کرد. | ||
| به دنبال فیلد ".driveUrl" بگردید که حاوی نشانی URL مستأجر و شناسه درایو است. | ||
| مثال: https://your-tenant.sharepoint.com/_api | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: tenant_url | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_TENANT_URL | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-chunk-size | ||
| اندازه تکهها برای بارگذاری فایلها - باید مضربی از 320k (327,680 بایت) باشد. | ||
| فایلهای بزرگتر از این اندازه تکهتکه خواهند شد - باید مضربی از 320k (327,680 بایت) باشد و نباید از 250M (262,144,000 بایت) تجاوز کند، در غیر این صورت ممکن است با خطای | ||
| "Microsoft.SharePoint.Client.InvalidClientQueryException: The request message is too big." مواجه شوید. | ||
| توجه داشته باشید که تکهها در حافظه بافر میشوند. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: chunk_size | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_CHUNK_SIZE | ||
| • 2 | ||
| نوع: SizeSuffix | ||
| • 2 | ||
| پیشفرض: 10Mi | ||
| --onedrive-drive-id | ||
| شناسه درایوی که باید استفاده شود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: drive_id | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_DRIVE_ID | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false.SS --onedrive-drive-type | ||
| نوع درایو (personal | business | documentLibrary). | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: drive_type | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_DRIVE_TYPE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-root-folder-id | ||
| شناسهٔ پوشه ریشه. | ||
| این مورد در حالت عادی نیاز نیست، اما در شرایط خاص ممکن است شناسه پوشهای را که میخواهید به آن دسترسی داشته باشید بدانید، ولی امکان رسیدن به آن از طریق پیمایش مسیر وجود نداشته باشد. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: root_folder_id | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_ROOT_FOLDER_ID | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false | ||
| --onedrive-access-scopes | ||
| تنظیم حوزههای دسترسی که باید توسط rclone درخواست شوند. | ||
| یک فهرست سفارشی جداشده با فاصله شامل تمام حوزههای دسترسی که rclone باید درخواست کند را انتخاب کرده یا به صورت دستی وارد کنید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: access_scopes | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_ACCESS_SCOPES | ||
| • 2 | ||
| نوع: SpaceSepList | ||
| • 2 | ||
| پیشفرض: Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All | ||
| Sites.Read.All offline_access | ||
| • 2 | ||
| مثالها: | ||
| 2 | ||
| • 2 | ||
| "Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All | ||
| Sites.Read.All offline_access" | ||
| 2 | ||
| • 2 | ||
| دسترسی خواندن و نوشتن به تمام منابع | ||
| • 2 | ||
| "Files.Read Files.Read.All Sites.Read.All offline_access" | ||
| 2 | ||
| • 2 | ||
| دسترسی فقط خواندنی به تمام منابع | ||
| • 2 | ||
| "Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All | ||
| offline_access" | ||
| 2 | ||
| • 2 | ||
| دسترسی خواندن و نوشتن به تمام منابع، بدون امکان مرور سایتهای SharePoint. | ||
| • 2 | ||
| مشابه حالتی که disable_site_permission برابر true تنظیم شده باشد | ||
| --onedrive-expose-onenote-files | ||
| تنظیم برای نمایش فایلهای OneNote در فهرست پوشهها. | ||
| بهطور پیشفرض، rclone فایلهای OneNote را در فهرست پوشهها پنهان میکند زیرا عملیاتی مانند "Open" و "Update" روی آنها کار نمیکنند. | ||
| اما این رفتار ممکن است مانع از حذف آنها توسط شما نیز بشود. | ||
| اگر میخواهید فایلهای OneNote را حذف کنید یا در غیر این صورت تمایل دارید در فهرست پوشهها نمایش داده شوند، این گزینه را تنظیم کنید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: expose_onenote_files | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false.SS --onedrive-server-side-across-configs | ||
| منسوخ شده: به جای آن از --server-side-across-configs استفاده کنید. | ||
| اجازه دادن به عملیاتهای سمت سرور (مانند کپی) برای کارکرد میان پیکربندیهای مختلف onedrive. | ||
| این ویژگی در صورتی کار خواهد کرد که در حال کپی کردن بین دو درایو OneDrive | ||
| Personal باشید و فایلهای مورد نظر برای کپی از قبل میان آنها به اشتراک | ||
| گذاشته شده باشند. | ||
| علاوه بر این، برای کاربری که مجوزهای دسترسی هم بین Onedrive for business و | ||
| SharePoint تحت same tenant، و هم بین | ||
| SharePoint و یک SharePoint دیگر تحت | ||
| same tenant را دارد نیز باید عمل کند. | ||
| در سایر موارد، rclone به کپی معمولی بازمیگردد (که کمی کندتر خواهد بود). | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: server_side_across_configs | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false | ||
| --onedrive-list-chunk | ||
| اندازه تکههای فهرستگیری. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: list_chunk | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_LIST_CHUNK | ||
| • 2 | ||
| نوع: int | ||
| • 2 | ||
| پیشفرض: 1000 | ||
| --onedrive-no-versions | ||
| حذف همه نسخهها در عملیاتهای تغییر و ویرایش. | ||
| سرویس Onedrive for business زمانی که rclone فایلهای جدید را با بازنویسی روی فایل موجود بارگذاری میکند و هنگامی که زمان ویرایش را تنظیم میکند، نسخههایی ایجاد میکند. | ||
| این نسخهها فضایی از سهمیه ذخیرهسازی را اشغال میکنند. | ||
| این پرچم پس از بارگذاری فایل و تنظیم زمان ویرایش، نسخهها را بررسی کرده و همه نسخهها به جز آخرین نسخه را حذف میکند. | ||
| توجه: سرویس Onedrive personal در حال حاضر قادر به حذف نسخهها نیست، بنابراین از این پرچم در آنجا استفاده نکنید. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: no_versions | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_NO_VERSIONS | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false | ||
| --onedrive-hard-delete | ||
| حذف دائمی فایلها هنگام پاک کردن. | ||
| به طور معمول فایلها هنگام حذف به سطل بازیافت فرستاده میشوند. | ||
| فعال کردن این پرچم باعث حذف دائمی آنها میشود. | ||
| با احتیاط استفاده کنید. | ||
| حسابهای شخصی OneDrive از API مربوط به permanentDelete پشتیبانی نمیکنند؛ این قابلیت تنها برای کتابخانههای اسناد OneDrive for Business و SharePoint اعمال میشود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: hard_delete | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_HARD_DELETE | ||
| • 2 | ||
| نوع: bool | ||
| • 2 | ||
| پیشفرض: false.SS --onedrive-link-scope | ||
| تعیین دامنه پیوندهای ایجاد شده با دستور link. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: link_scope | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_LINK_SCOPE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| پیشفرض: "anonymous" | ||
| • 2 | ||
| مثالها: | ||
| 2 | ||
| • 2 | ||
| "anonymous" | ||
| 2 | ||
| • 2 | ||
| هر کسی که پیوند را در اختیار داشته باشد، بدون نیاز به ورود دسترسی دارد. | ||
| • 2 | ||
| این مورد میتواند شامل افراد خارج از سازمان شما نیز بشود. | ||
| • 2 | ||
| پشتیبانی از پیوند ناشناس ممکن است توسط مدیر سیستم غیرفعال شده باشد. | ||
| • 2 | ||
| "organization" | ||
| 2 | ||
| • 2 | ||
| هر کسی که به سازمان (tenant) شما وارد شده باشد میتواند از پیوند برای دسترسی استفاده کند. | ||
| • 2 | ||
| فقط در OneDrive for Business و SharePoint در دسترس است. | ||
| --onedrive-link-type | ||
| تعیین نوع پیوندهای ایجاد شده با دستور link. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: link_type | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_LINK_TYPE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| پیشفرض: "view" | ||
| • 2 | ||
| مثالها: | ||
| 2 | ||
| • 2 | ||
| "view" | ||
| 2 | ||
| • 2 | ||
| یک پیوند فقطخواندنی به مورد ایجاد میکند. | ||
| • 2 | ||
| "edit" | ||
| 2 | ||
| • 2 | ||
| یک پیوند خواندن و نوشتن به مورد ایجاد میکند. | ||
| • 2 | ||
| "embed" | ||
| 2 | ||
| • 2 | ||
| یک پیوند قابل جاسازی به مورد ایجاد میکند. | ||
| --onedrive-link-password | ||
| تعیین گذرواژه برای پیوندهای ایجاد شده با دستور link. | ||
| در زمان نگارش، این قابلیت فقط با حسابهای کاربری شخصی و پولیِ OneDrive کار میکند. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: link_password | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_LINK_PASSWORD | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| الزامی: false.SS --onedrive-hash-type | ||
| تعیین نوع درهمسازی (هش) مورد استفاده برای backend. | ||
| این گزینه نوع هش مورد استفاده را مشخص میکند. | ||
| اگر روی "auto" تنظیم شود، از هش پیشفرض یعنی | ||
| QuickXorHash استفاده خواهد کرد. | ||
| پیش از rclone 1.62، هش SHA1 بهطور پیشفرض برای Onedrive | ||
| Personal استفاده میشد. | ||
| برای 1.62 و جدیدتر، پیشفرض استفاده از QuickXorHash برای همه | ||
| انواع onedrive است. | ||
| اگر هش SHA1 مد نظر است، این گزینه را متناسب با آن تنظیم کنید. | ||
| از ژوئیه ۲۰۲۳، QuickXorHash تنها هش موجود برای هر دو سرویس | ||
| OneDrive for Business و OneDrive Personal خواهد بود. | ||
| این مقدار میتواند روی "none" تنظیم شود تا از هیچ هشی استفاده نشود. | ||
| اگر هش درخواستی روی شیء وجود نداشته باشد، به صورت یک رشته خالی برگردانده | ||
| میشود که توسط rclone به عنوان یک هش ناموجود در نظر گرفته میشود. | ||
| ویژگیها: | ||
| • 2 | ||
| پیکربندی: hash_type | ||
| • 2 | ||
| متغیر محیطی: RCLONE_ONEDRIVE_HASH_TYPE | ||
| • 2 | ||
| نوع: string | ||
| • 2 | ||
| پیشفرض: "auto" | ||
| • 2 | ||
| مثالها: | ||
| 2 | ||
| • 2 | ||
| "auto" | ||
| 2 | ||
| • 2 | ||
| انتخاب بهترین هش توسط rclone | ||
| • 2 | ||
| "quickxor" | ||
| 2 | ||
| • 2 | ||
| QuickXor | ||
| • 2 | ||
| "sha1" | ||
| 2 | ||
| • 2 | ||
| SHA1 | ||
| • 2 | ||
| "sha256" | ||
| 2 | ||
| • 2 | ||
| SHA256 | ||
| • 2 | ||
| "crc32" | ||
| 2 | ||
| • 2 | ||
| CRC32 | ||
| • 2 | ||
| "none" | ||
| 2 | ||
| • 2 | ||
| هیچکدام - عدم استفاده از هیچ هشی | ||
| --onedrive-av-override | ||
| امکان بارگیری فایلهایی را فراهم میکند که کارساز (سرور) فکر میکند ویروسی هستند. | ||
| سرور onedrive/sharepoint ممکن است فایلهای بارگذاریشده را با یک نرمافزار | ||
| ضدویروس بررسی کند. | ||
| اگر هرگونه ویروس یا بدافزار احتمالی را شناسایی کند، مانع دانلود فایل | ||
| خواهد شد. | ||
| در این حالت، پیامی شبیه به این را مشاهده خواهید کرد: | ||
| server reports this file is infected with a virus - use --onedrive-av-override to download anyway: Infected (name of virus): 403 Forbidden: |
| اگر ۱۰۰٪ مطمئن هستید که با این حال میخواهید این فایل را بارگیری کنید، |
| از پرچم --onedrive-av-override یا مقدار av_override = true در فایل |
| پیکربندی استفاده کنید. |
| در صورت تنظیم، فایلهای نشانهگذاریشده بهعنوان بدافزار از طریق |
| Microsoft Graph beta APIs با Prefer: forceInfectedDownload |
| (ابتدا contentStream و سپس /content) بارگیری میشوند. |
| فایلهای سالم همچنان از نقطه پایانی (endpoint) پایدار v1.0 استفاده میکنند. |
| این یک API بتا است و ممکن است تغییر کند. |
| این قابلیت با مجوزهای برنامهای (client_credentials) به صورت پایدار و قابل اطمینان کار میکند. |
| با ورود تفویضشده (کاربر یا delegated) در OneDrive for Business، مایکروسافت اغلب همچنان بارگیری را مسدود میکند. |
| پیکربندیهای tenant_url به پارامتر پرسمان (query parameter) قدیمی AVOverride پسگرد (fallback) میکنند. |
| ویژگیها: |
| • 2 |
| پیکربندی: av_override |
| • 2 |
| متغیر محیطی: RCLONE_ONEDRIVE_AV_OVERRIDE |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false.SS --onedrive-delta |
| اگر تنظیم شود، rclone از فهرستبندی دلتا برای پیادهسازی فهرستبندیهای بازگشتی استفاده خواهد کرد. |
| اگر این پرچم تنظیم شود، بکاند onedrive پشتیبانی از ListR را برای فهرستبندیهای بازگشتی اعلان خواهد کرد. |
| تنظیم این پرچم سرعت این موارد را بهشدت افزایش میدهد: |
| rclone lsf -R onedrive: |
| rclone size onedrive: |
| rclone rc vfs/refresh recursive=true |
| با این حال، API فهرستبندی دلتا تنها در ریشه درایو کار میکند. |
| اگر از آن در جایی غیر از ریشه استفاده کنید، از ریشه بهصورت بازگشتی پیمایش کرده و تمام دادههایی را که زیر دایرکتوری درخواستی شما نیستند دور میریزد. |
| بنابراین خروجی صحیح خواهد بود اما ممکن است چندان کارآمد نباشد. |
| به همین دلیل است که این پرچم بهصورت پیشفرض تنظیم نشده است. |
| به عنوان یک قاعده کلی، اگر تقریباً تمام دادههای شما زیر دایرکتوری ریشه rclone باشد (یعنی root/directory در onedrive:root/directory)، استفاده از این پرچم یک جهش بزرگ در کارایی خواهد بود. |
| اگر بیشتر دادههای شما زیر ریشه قرار ندارند، استفاده از این پرچم افت شدید کارایی را به همراه خواهد داشت. |
| استفاده از آن در صورتی توصیه میشود که onedrive خود را در ریشه (یا نزدیک به ریشه هنگام استفاده از crypt) سوار (mount) کرده باشید و از دستور rc vfs/refresh در rclone استفاده کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: delta |
| • 2 |
| متغیر محیطی: RCLONE_ONEDRIVE_DELTA |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --onedrive-metadata-permissions |
| کنترل اینکه آیا مجوزها در فراداده (metadata) خوانده یا نوشته شوند. |
| خواندن فرادادههای مجوز از فایلها میتواند بهسرعت انجام شود، اما تنظیم مجوزها از روی فراداده همیشه مطلوب نیست. |
| ویژگیها: |
| • 2 |
| پیکربندی: metadata_permissions |
| • 2 |
| متغیر محیطی: RCLONE_ONEDRIVE_METADATA_PERMISSIONS |
| • 2 |
| نوع: Bits |
| • 2 |
| پیشفرض: off |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "off" |
| 2 |
| • 2 |
| عدم خواندن یا نوشتن مقدار |
| • 2 |
| "read" |
| 2 |
| • 2 |
| تنها خواندن مقدار |
| • 2 |
| "write" |
| 2 |
| • 2 |
| تنها نوشتن مقدار |
| • 2 |
| "read,write" |
| 2 |
| • 2 |
| خواندن و نوشتن مقدار. |
| • 2 |
| "failok" |
| 2 |
| • 2 |
| در صورت شکست در نوشتن فقط خطاها ثبت شوند، انتقال با شکست مواجه نشود |
| کدگذاری برای backend. |
| برای اطلاعات بیشتر، بخش کدگذاری را در بررسی اجمالی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_ONEDRIVE_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: |
| Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot |
| --onedrive-description |
| توضیحات remote. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_ONEDRIVE_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| "متادیتا (Metadata)" |
| سرویس OneDrive هم برای فایلها و هم برای دایرکتوریها از System Metadata (نه User Metadata، تا زمان نگارش این مستند) پشتیبانی میکند. |
| بخش زیادی از متادیتا فقطخواندنی است، و تفاوتهایی بین OneDrive Personal و Business وجود دارد (برای جزئیات به جدول زیر مراجعه کنید). |
| همچنین در صورت تنظیم --onedrive-metadata-permissions، مجوزها نیز پشتیبانی میشوند. |
| مقادیر پذیرفتهشده برای --onedrive-metadata-permissions عبارتند از |
| "read"، "write"، |
| "read,write" و "off" (پیشفرض). |
| مقدار "write" از افزودن مجوزهای جدید، بهروزرسانی |
| "role" در مجوزهای موجود و حذف مجوزها پشتیبانی میکند. |
| بهروزرسانی و حذف نیازمند مشخص بودن شناسهٔ مجوز (Permission ID) هستند، بنابراین توصیه میشود |
| در صورتی که مایل به بهروزرسانی/حذف مجوزها هستید، به جای |
| "write" از "read,write" استفاده کنید. |
| مجوزها در قالب JSON و با استفاده از همان شِمای |
| OneDrive API (https://learn.microsoft.com/en-us/onedrive/developer/rest-api/resources/permission?view=odsp-graph-online) |
| خوانده/نوشته میشوند که تفاوت اندکی بین OneDrive Personal و Business دارد. |
| مثال برای OneDrive Personal: |
| [ |
| { |
| "id": "1234567890ABC!123", |
| "grantedTo": { |
| "user": { |
| "id": "ryan@contoso.com" |
| }, |
| "application": {}, |
| "device": {} |
| }, |
| "invitation": { |
| "email": "ryan@contoso.com" |
| }, |
| "link": { |
| "webUrl": "https://1drv.ms/t/s!1234567890ABC" |
| }, |
| "roles": [ |
| "read" |
| ], |
| "shareId": "s!1234567890ABC" |
| } |
| ] |
| مثال برای OneDrive Business: |
| [ |
| { |
| "id": "48d31887-5fad-4d73-a9f5-3c356e68a038", |
| "grantedToIdentities": [ |
| { |
| "user": { |
| "displayName": "ryan@contoso.com" |
| }, |
| "application": {}, |
| "device": {} |
| } |
| ], |
| "link": { |
| "type": "view", |
| "scope": "users", |
| "webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s" |
| }, |
| "roles": [ |
| "read" |
| ], |
| "shareId": "u!LKj1lkdlals90j1nlkascl" |
| }, |
| { |
| "id": "5D33DD65C6932946", |
| "grantedTo": { |
| "user": { |
| "displayName": "John Doe", |
| "id": "efee1b77-fb3b-4f65-99d6-274c11914d12" |
| }, |
| "application": {}, |
| "device": {} |
| }, |
| "roles": [ |
| "owner" |
| ], |
| "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U" |
| } |
| ] |
| برای نوشتن مجوزها، یک کلید متادیتای "permissions" را با استفاده از همین قالب ارسال کنید. |
| ابزار |
| --metadata-mapper (https://rclone.org/docs/#metadata-mapper) |
| میتواند برای این کار بسیار مفید باشد. |
| هنگام افزودن مجوزها، میتوان یک نشانی ایمیل در مشخصههای |
| User.ID یا DisplayName از |
| grantedTo یا grantedToIdentities ارائه داد. |
| همچنین میتوان یک ObjectID را در User.ID ارائه داد. |
| جهت افزودن مجوز برای یک کاربر، حداقل باید یک گیرندهٔ معتبر ارائه شود. |
| ایجاد پیوند عمومی (Public Link) نیز در صورتی که Link.Scope روی |
| "anonymous" تنظیم شده باشد، پشتیبانی میشود. |
| نمونه درخواست برای افزودن مجوز "read" با استفاده از |
| --metadata-mapper: |
| { |
| "Metadata": { |
| "permissions": "[{\"grantedToIdentities\":[{\"user\":{\"id\":\"ryan@contoso.com\"}}],\"roles\":[\"read\"]}]" |
| } |
| } |
| توجه داشته باشید که اگر مجوزی متداخل از قبل برای فایل/پوشه وجود داشته باشد، ممکن است افزودن مجوز با شکست مواجه شود. |
| برای بهروزرسانی یک مجوز موجود، هم شناسهٔ مجوز (Permission ID) و هم |
| roles جدید را برای انتساب وارد کنید. |
| مشخصهٔ roles تنها ویژگیای است که قابل تغییر است. |
| برای حذف مجوزها، یک blob که تنها شامل مجوزهایی است که میخواهید نگه دارید ارسال کنید (که میتواند برای حذف همه، خالی باشد). |
| توجه داشته باشید که نقش owner نادیده گرفته خواهد شد، زیرا قابل حذف نیست. |
| توجه داشته باشید که هم خواندن و هم نوشتن مجوزها نیازمند فراخوانیهای اضافی API است؛ |
| بنابراین اگر نیازی به خواندن یا نوشتن مجوزها ندارید، توصیه میشود |
| از --onedrive-metadata-permissions صرفنظر کنید. |
| متادیتا و مجوزها هم برای پوشهها (دایرکتوریها) و هم برای فایلها پشتیبانی میشوند. |
| توجه داشته باشید که تنظیم mtime یا btime روی یک پوشه، تنها در OneDrive Business نیازمند یک فراخوانی اضافی API است. |
| سرویس OneDrive در حال حاضر از User Metadata پشتیبانی نمیکند. |
| هنگام نوشتن متادیتا، تنها مشخصههای سیستمیِ قابلنوشتن اعمال خواهند شد |
| -- هرگونه کلیدِ فقطخواندنی یا ناشناخته ارسال شود، نادیده گرفته خواهد شد..PP |
| نکته: برای مشاهده متادیتا و مجوزهای هر فایل یا پوشه، اجرا کنید: |
| rclone lsjson remote:path --stat -M --onedrive-metadata-permissions read |
| در ادامه موارد ممکن متادیتای سیستم برای backend مربوط به onedrive آورده شده است. | ||
| tab( | ); | |
| lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n). | ||
| نام | راهنما | نوع |
| مثال | ||
| T} | فقطخواندنی | |
| btime | زمان ایجاد فایل (birth) با دقت ثانیه (میلیثانیه برای OneDrive Personal). | RFC 3339 |
| 2006-01-02T15:04:05Z | ||
| T} | خیر | |
| content-type | نوع MIME فایل. | string |
| text/plain | ||
| T} | بله | |
| created-by-display-name | نام نمایشی کاربری که مورد را ایجاد کرده است. | string |
| John Doe | ||
| T} | بله | |
| created-by-id | شناسه (ID) کاربری که مورد را ایجاد کرده است. | string |
| 48d31887-5fad-4d73-a9f5-3c356e68a038 | ||
| T} | بله | |
| description | توضیح کوتاهی درباره فایل. حداکثر ۱۰۲۴ نویسه. دیگر توسط Microsoft پشتیبانی نمیشود. | string |
| Contract for signing | ||
| T} | خیر | |
| id | شناسه یکتای مورد درون OneDrive. | string |
| 01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K | ||
| T} | بله | |
| last-modified-by-display-name | نام نمایشی کاربری که آخرین بار مورد را تغییر داده است. | string |
| John Doe | ||
| T} | بله | |
| last-modified-by-id | شناسه (ID) کاربری که آخرین بار مورد را تغییر داده است. | string |
| 48d31887-5fad-4d73-a9f5-3c356e68a038 | ||
| T} | بله | |
| malware-detected | اینکه آیا OneDrive وجود بدافزار در این مورد را تشخیص داده است یا خیر. | boolean |
| true | ||
| T} | بله | |
| mtime | زمان آخرین تغییر با دقت ثانیه (میلیثانیه برای OneDrive Personal). | RFC 3339 |
| 2006-01-02T15:04:05Z | ||
| T} | خیر | |
| package-type | در صورت وجود، نشان میدهد که این مورد بهجای یک پوشه یا فایل، یک بسته (package) است. با بستهها در برخی زمینهها مانند فایل و در برخی دیگر مانند پوشه رفتار میشود. | string |
| oneNote | ||
| T} | بله | |
| permissions | مجوزها در یک dump به قالب JSON از ساختار OneDrive. فعالسازی با --onedrive-metadata-permissions. ویژگیها: id، grantedTo، grantedToIdentities، invitation، inheritedFrom، link، roles، shareId | JSON |
| {} | ||
| T} | خیر | |
| shared-by-id | شناسه (ID) کاربری که مورد را به اشتراک گذاشته است (در صورت بهاشتراکگذاری). | string |
| 48d31887-5fad-4d73-a9f5-3c356e68a038 | ||
| T} | بله | |
| shared-owner-id | شناسه (ID) مالک مورد بهاشتراکگذاشتهشده (در صورت بهاشتراکگذاری). | string |
| 48d31887-5fad-4d73-a9f5-3c356e68a038 | ||
| T} | بله | |
| shared-scope | در صورت بهاشتراکگذاری، دامنه نحوه بهاشتراکگذاری مورد را مشخص میکند: anonymous، organization، یا users. | string |
| users | ||
| T} | بله | |
| shared-time | زمان بهاشتراکگذاری مورد، با دقت ثانیه (میلیثانیه برای OneDrive Personal). | RFC 3339 |
| 2006-01-02T15:04:05Z | ||
| T} | بله | |
| utime | زمان بارگذاری با دقت ثانیه (میلیثانیه برای OneDrive Personal). | RFC 3339 |
| 2006-01-02T15:04:05Z | ||
| T} | بله | |
| برای اطلاعات بیشتر، مستندات متادیتا (https://rclone.org/docs/#metadata) را ببینید. | ||
| جعل هویت سایر کاربران به عنوان مدیر | ||
| برخلاف Google Drive و جعل هویت هر کاربر دامنه از طریق حسابهای کاربری خدماتی (service accounts)، در OneDrive لازم است به عنوان یک حساب کاربری مدیر (admin) احراز هویت کرده و به صورت دستی برای هر کاربری که میخواهید هویتش را جعل کنید، یک ریموت راهاندازی نمایید. | ||
| "1." 3 | ||
| در Microsoft 365 Admin Center (https://admin.microsoft.com)، هر کاربری را که نیاز به "جعل هویت" او دارید باز کرده و به بخش OneDrive بروید. | ||
| سرتیتری با عنوان "Get access to files" وجود دارد که باید برای ایجاد پیوند روی آن کلیک کنید؛ این کار پیوندی با قالب | ||
| https://{tenant}-my.sharepoint.com/personal/{user_name_domain_tld} | ||
| ایجاد میکند و همچنین مجوزها را بهگونهای تغییر میدهد که کاربر مدیر شما به آن دسترسی داشته باشد. | ||
| "2." 3 | ||
| سپس در powershell دستورات زیر را اجرا کنید: | ||
| 4 | ||
| Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force |
| Import-Module Microsoft.Graph.Files |
| Connect-MgGraph -Scopes "Files.ReadWrite.All" |
| # Follow the steps to allow access to your admin user |
| # Then run this for each user you want to impersonate to get the Drive ID |
| Get-MgUserDefaultDrive -UserId '{emailaddress}' |
| # This will give you output of the format: |
| # Name Id DriveType CreatedDateTime |
| # ---- -- --------- --------------- |
| # OneDrive b!XYZ123 business 14/10/2023 1:00:58 pm |
| "3." 3 |
| سپس در rclone یک ریموت از نوع onedrive اضافه کنید و از گزینه |
| Type in driveID با DriveID بهدستآمده از مرحله قبل استفاده نمایید. |
| برای هر کاربر یک ریموت. |
| سپس شناسه درایو تأیید میشود و در حالت ایدهآل پیامی مانند |
| Found drive "root" of type "business" دریافت خواهید کرد که |
| شامل نشانی وب (URL) با قالب زیر خواهد بود: |
| https://{tenant}-my.sharepoint.com/personal/{user_name_domain_tld}/Documents |
| محدودیتها |
| اگر به مدت ۹۰ روز از rclone استفاده نکنید، توکن نوسازی (refresh token) منقضی خواهد شد. |
| این امر موجب بروز مشکلاتی در احراز هویت میشود. |
| رفع این مورد با اجرای دستور |
| rclone config reconnect remote: |
| برای دریافت توکن و توکن نوسازی جدید، بسیار آسان است. |
| نامگذاری |
| توجه داشته باشید که OneDrive به بزرگی و کوچکی حروف حساس نیست (case insensitive)، بنابراین نمیتوانید همزمان فایلی با نام "Hello.doc" و فایلی با نام "hello.doc" داشته باشید. |
| تعداد زیادی نویسه وجود دارد که نمیتوانند در نام فایلهای OneDrive حضور داشته باشند. |
| این نویسهها در پلتفرمهای ویندوز مجاز نیستند، اما در پلتفرمهای غیرویندوزی رایج میباشند. |
| نرمافزار Rclone این نامها را به معادل یونیکد با ظاهر یکسان (و بالعکس) نگاشت خواهد کرد. |
| برای نمونه، اگر فایلی شامل ? باشد، در عوض به |
| ? نگاشت میشود. |
| اندازههای فایل |
| حداکثر اندازه مجاز فایل هم برای OneDrive Personal و هم برای OneDrive for Business برابر با ۲۵۰ گیبیبایت (250 GiB) است (بهروزشده در ۱۳ ژانویه ۲۰۲۱) (https://support.microsoft.com/en-us/office/invalid-file-names-and-file-types-in-onedrive-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa?ui=en-us&rs=en-us&ad=us#individualfilesize). |
| طول مسیر |
| کل مسیر، از جمله نام فایل، برای OneDrive ،OneDrive for Business و SharePoint Online باید کمتر از ۴۰۰ نویسه باشد. |
| اگر با استفاده از rclone نام فایلها و پوشهها را رمزگذاری میکنید، ممکن است بخواهید به این محدودیت توجه داشته باشید زیرا نامهای رمزگذاریشده معمولاً طولانیتر از نامهای اصلی هستند. |
| تعداد فایلها |
| به نظر میرسد OneDrive با حداقل ۵۰٬۰۰۰ فایل در یک پوشه مشکلی ندارد، اما در ۱۰۰٬۰۰۰ فایل rclone هنگام فهرست کردن محتویات دایرکتوری با خطاهایی مانند |
| couldn’t list files: UnknownError: |
| مواجه خواهد شد. |
| برای اطلاعات بیشتر شماره ۲۷۰۷# (https://github.com/rclone/rclone/issues/2707) را ببینید. |
| یک سند رسمی درباره محدودیتهای انواع مختلف OneDrive را میتوان در |
| اینجا (https://support.office.com/en-us/article/invalid-file-names-and-file-types-in-onedrive-onedrive-for-business-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa) |
| یافت..SS "نسخهها (Versions)" |
| هر تغییری در یک فایل در OneDrive باعث میشود این سرویس نسخه جدیدی از فایل را ایجاد کند. |
| این موضوع جزو سهمیه مصرفی کاربر محاسبه میشود. |
| بهعنوان مثال، تغییر زمان ویرایش (modification time) یک فایل باعث ایجاد نسخه دومی میشود، بنابراین به نظر میرسد فایل دو برابر فضا مصرف میکند. |
| بهعنوان مثال دستور copy تحت تأثیر این مسئله قرار میگیرد، زیرا rclone ابتدا فایل را کپی میکند و سپس زمان ویرایش آن را مطابق با فایل مبدأ تنظیم مینماید که این امر نسخه دیگری را مصرف میکند. |
| میتوانید از دستور rclone cleanup (به پایین مراجعه کنید) برای حذف همه نسخههای قدیمی استفاده کنید. |
| یا میتوانید پارامتر no_versions را روی true تنظیم کنید و rclone نسخهها را پس از عملیاتی که نسخههای جدید ایجاد میکنند، حذف خواهد کرد. |
| این کار نیازمند تراکنشهای اضافی است، بنابراین فقط در صورت نیاز آن را فعال کنید. |
| نکته در زمان نگارش این مستند، Onedrive Personal نسخهها را ایجاد میکند (اما نه برای تنظیم زمان ویرایش)، ولی API مربوط به حذف آنها خطای "API not found" را برمیگرداند؛ بنابراین cleanup و no_versions نباید در Onedrive Personal استفاده شوند. |
| "غیرفعالسازی نسخهبندی (Disabling versioning)" |
| از اکتبر ۲۰۱۸ به بعد، کاربران دیگر بهطور پیشفرض قادر به غیرفعالسازی نسخهبندی نخواهند بود. |
| دلیل این امر این است که مایکروسافت یک بهروزرسانی (https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/New-Updates-to-OneDrive-and-SharePoint-Team-Site-Versioning/ba-p/204390) در این سازوکار اعمال کرده است. |
| برای تغییر این تنظیم پیشفرض جدید، اجرای یک دستور PowerShell توسط مدیر (admin) سامانه SharePoint الزامی است. |
| اگر مدیر سیستم هستید، میتوانید این دستورها را در PowerShell اجرا کنید تا آن تنظیم را تغییر دهید: |
| "1." 3 |
| Install-Module -Name Microsoft.Online.SharePoint.PowerShell |
| (در صورتی که قبلاً آن را نصب نکردهاید) |
| "2." 3 |
| Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking |
| "3." 3 |
| Connect-SPOService -Url https://YOURSITE-admin.sharepoint.com -Credential YOU@YOURSITE.COM |
| (جایگزین کردن YOURSITE، YOU و YOURSITE.COM با مقادیر واقعی؛ با این کار اطلاعات ورود شما پرسیده خواهد شد) |
| "4." 3 |
| Set-SPOTenant -EnableMinimumVersionRequirement $False |
| "5." 3 |
| Disconnect-SPOService (جهت قطع اتصال از سرور) |
| در زیر مراحل غیرفعالسازی نسخهبندی برای کاربران عادی آمده است. |
| اگر گزینه "No Versioning" را مشاهده نمیکنید، مطمئن شوید که پیشنیازهای بالا برآورده شده باشند. |
| کاربر Weropol (https://github.com/Weropol) روشی برای غیرفعال کردن نسخهبندی در OneDrive پیدا کرده است. |
| "1." 3 |
| با کلیک کردن روی نماد چرخدنده در بالای صفحه OneDrive Business، منوی تنظیمات را باز کنید. |
| "2." 3 |
| روی Site settings کلیک کنید. |
| "3." 3 |
| پس از ورود به صفحه Site settings، به مسیر Site Administration > Site libraries and lists بروید. |
| "4." 3 |
| روی Customize "Documents" کلیک کنید. |
| "5." 3 |
| روی General Settings > Versioning Settings کلیک کنید. |
| "6." 3 |
| در بخش Document Version History، گزینه No versioning را انتخاب کنید. |
| نکته: این کار ایجاد نسخههای جدید فایل را غیرفعال میکند، اما هیچیک از نسخههای قبلی را حذف نخواهد کرد. |
| اسناد شما در امان هستند. |
| "7." 3 |
| با کلیک روی OK، تغییرات را اعمال کنید. |
| "8." 3 |
| از rclone برای بارگذاری یا تغییر فایلها استفاده کنید. |
| (من همچنین از پرچم --no-update-modtime استفاده میکنم) |
| "9." 3 |
| پس از استفاده از rclone، تنظیمات نسخهبندی را بازگردانی کنید. |
| (اختیاری) |
| "پاکسازی (Cleanup)" |
| سرویس OneDrive از دستور rclone cleanup پشتیبانی میکند که باعث میشود rclone تمام فایلهای موجود در مسیر ارائهشده را بررسی کرده و تمام نسخهها بهجز نسخه فعلی را حذف نماید. |
| از آنجا که این کار مستلزم پیمایش تمام فایلها و سپس پرسوجو از هر فایل برای یافتن نسخهها است، میتواند بسیار کند باشد. |
| برنامه rclone بررسیها را بهصورت موازی به تعداد --checkers انجام میدهد. |
| این دستور همچنین از --interactive/i یا --dry-run پشتیبانی میکند که روشی عالی برای مشاهده کارهایی است که انجام خواهد شد. |
| rclone cleanup --interactive remote:path/subdir # interactively remove all old version for path/subdir |
| rclone cleanup remote:path/subdir # unconditionally remove all old version for path/subdir |
| نکته مهم در حال حاضر Onedrive personal قادر به حذف نسخهها نیست..SS عیبیابی (Troubleshooting) |
| محدودسازی شدید یا مسدود شدن در SharePoint |
| اگر با محدودسازی شدید نرخ درخواستها (throttling) مواجه شدید یا در SharePoint مسدود شدهاید، |
| ممکن است تنظیم صریح عامل کاربر (user agent) با پرچمی شبیه به این به رفع مشکل کمک کند: |
| --user-agent "ISV|rclone.org|rclone/v1.55.1" |
| جزئیات دقیق را میتوانید در مستندات مایکروسافت بیابید: Avoid |
| getting throttled or blocked in SharePoint |
| Online (https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online#how-to-decorate-your-http-traffic-to-avoid-throttling) |
| تفاوتهای غیرمنتظره در اندازه/هش فایل در Sharepoint |
| این یک مشکل |
| شناختهشده (https://github.com/OneDrive/onedrive-api-docs/issues/935#issuecomment-441741631) |
| است که Sharepoint (نه OneDrive یا OneDrive for Business) فایلهای بارگذاریشده، |
| بهویژه فایلهای Office (.docx، .xlsx و غیره) را بدون اطلاع تغییر میدهد که |
| باعث شکست در بررسیهای اندازه فایل و هش (hash) میشود. |
| همچنین شرایط دیگری نیز وجود دارد که باعث میشود OneDrive اندازههای فایل ناسازگاری را گزارش کند. |
| برای استفاده از rclone با چنین فایلهای تحتتأثیری در Sharepoint، میتوانید |
| این بررسیها را با آرگومانهای خط فرمان زیر غیرفعال کنید: |
| --ignore-checksum --ignore-size |
| روش دیگر، در صورتی که دسترسی نوشتن به فایلهای OneDrive دارید، ممکن است |
| بتوانید با انجام مراحل زیر این مشکل را برای برخی فایلها برطرف کنید. |
| رابط تحت وب OneDrive (https://onedrive.live.com) را باز کرده و فایلهای |
| تحتتأثیر را پیدا کنید (که در پیامهای خطا/لاگ rclone مشخص خواهند بود). |
| تنها کافی است روی هر یک از این فایلها کلیک کنید تا OneDrive آنها را در وب باز کند. |
| این کار باعث میشود هر فایل در جای خود به قالبی تبدیل شود که از نظر عملکردی معادل است |
| اما دیگر مغایرت اندازه ایجاد نمیکند. |
| پس از تبدیل تمام فایلهای مشکلدار، دیگر به گزینههای نادیدهگیری بالا نیازی نخواهید داشت. |
| دریافت خطای "item not found" هنگام جایگزینی/حذف فایلهای موجود در Sharepoint |
| این یک مشکل |
| شناختهشده (https://github.com/OneDrive/onedrive-api-docs/issues/1068) است |
| که Sharepoint (نه OneDrive یا OneDrive for Business) ممکن است هنگام تلاش کاربران |
| برای جایگزینی یا حذف فایلهای بارگذاریشده، خطای "item not found" بازگرداند؛ |
| به نظر میرسد این مشکل عمدتاً فایلهای Office (.docx، .xlsx و غیره) |
| و فایلهای وب (.html، .aspx و غیره) را تحت تأثیر قرار میدهد. |
| به عنوان یک راهکار موقت، میتوانید از آرگومان خط فرمان --backup-dir <BACKUP_DIR> |
| استفاده کنید تا rclone فایلهای در حال جایگزینی/حذف را به یک دایرکتوری پشتیبان مشخص |
| منتقل کند (به جای جایگزینی/حذف مستقیم آنها). |
| برای مثال، جهت هدایت rclone برای انتقال فایلها به پوشه |
| rclone-backup-dir در بکاند mysharepoint، میتوانید |
| از این گزینه استفاده کنید: |
| --backup-dir mysharepoint:rclone-backup-dir |
| access_denied (AADSTS65005) |
| Error: access_denied |
| Code: AADSTS65005 |
| Description: Using application 'rclone' is currently not supported for your organization [YOUR_ORGANIZATION] because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [YOUR_ORGANIZATION] before the application rclone can be provisioned. |
| این بدان معناست که rclone نمیتواند از API مربوط به OneDrive for Business با حساب |
| شما استفاده کند. |
| شما نمیتوانید کار زیادی در این رابطه انجام دهید، شاید بهتر باشد به مدیران سیستم خود ایمیل بفرستید. |
| با این حال، روشهای دیگری نیز برای تعامل با حساب OneDrive شما وجود دارد. |
| نگاهی به بکاند WebDAV بیندازید: |
| https://rclone.org/webdav/#sharepoint |
| invalid_grant (AADSTS50076) |
| Error: invalid_grant |
| Code: AADSTS50076 |
| Description: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '...'. |
| اگر پس از فعالسازی احراز هویت چندعاملی (multi-factor authentication) |
| برای حساب خود خطای بالا را مشاهده کردید، میتوانید با نوسازی توکن تازهسازی OAuth خود آن را برطرف کنید. |
| برای این کار، rclone config را اجرا کرده و گزینه ویرایش بکاند |
| OneDrive خود را انتخاب کنید. |
| سپس، نیازی به اعمال هیچ تغییری ندارید تا زمانی که به این سؤال برسید: |
| Token already configured - replace it?. |
| در پاسخ به این سؤال، y را انتخاب کرده و مراحل را برای تازهسازی |
| توکن خود دنبال کنید، دقیقاً مانند اولین باری که بکاند پیکربندی شد. |
| پس از این مرحله، rclone باید دوباره برای این بکاند کار کند..SS خطای Invalid request هنگام ایجاد پیوندهای همگانی |
| در Sharepoint و OneDrive for Business، ممکن است rclone link |
| خطای "Invalid request" را برگرداند. |
| یک دلیل احتمالی این است که مدیر سازمان اجازه ایجاد پیوندهای همگانی |
| را برای سازمان/کتابخانه Sharepoint نداده است. |
| برای اصلاح مجوزها به عنوان یک مدیر سیستم، به این مستندات نگاهی بیندازید: |
| 1 (https://docs.microsoft.com/en-us/sharepoint/turn-external-sharing-on-or-off)، |
| 2 (https://support.microsoft.com/en-us/office/set-up-and-manage-access-requests-94b26e0b-2822-49d4-929a-8455698654b3). |
| عدم امکان دسترسی به فایلهای Shared with me |
| فایلهای Shared with me در حال حاضر توسط rclone پشتیبانی |
| نمیشوند (https://github.com/rclone/rclone/issues/4062)، اما یک |
| راهکار موقت وجود دارد: |
| "1." 3 |
| به https://onedrive.live.com مراجعه کنید (https://onedrive.live.com) |
| "2." 3 |
| روی یک مورد در Shared راستکلیک کرده و سپس |
| روی Add shortcut to My files در منوی زمینه کلیک کنید |
| [IMAGE: make_shortcut (https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png)] |
| "3." 3 |
| میانبر در My files ظاهر خواهد شد؛ میتوانید با |
| rclone به آن دسترسی داشته باشید، و مانند یک پوشه/فایل معمولی رفتار خواهد کرد. |
| [IMAGE: in_my_files (https://i.imgur.com/0S8H3li.png)] |
| [IMAGE: rclone_mount (https://i.imgur.com/2Iq66sW.png)] |
| تصاویر Live Photos بارگذاریشده از iOS (کلیپهای ویدیویی کوتاه در فایلهای .heic) |
| برنامه iOS مربوط به OneDrive قابلیت بارگذاری و |
| ذخیرهسازی (https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/live-photos-come-to-onedrive/ba-p/1953452) |
| تصاویر Live Photos (https://support.apple.com/en-gb/HT207310) را در سال ۲۰۲۰ معرفی کرد. |
| استفاده و بارگیری این Live Photoهای بارگذاریشده متأسفانه |
| هنوز در دست تکمیل است و هنگام کپی کردن، |
| همگامسازی و متصل کردن (mount) – چه در rclone و چه در کلاینت بومی |
| OneDrive در Windows – چندین مشکل ایجاد میکند. |
| اگر یکی از Live Photoهای خود را در رابط وب OneDrive پیدا کنید، |
| علت ریشهای بهراحتی قابل مشاهده است. |
| سپس عکس را از رابط وب بارگیری کنید. |
| خواهید دید که اندازه فایل .heic بارگیریشده از |
| اندازه نمایشدادهشده در رابط وب کوچکتر است. |
| فایل بارگیریشده به این دلیل کوچکتر است که فقط حاوی یک تکفریم |
| (عکس ثابت) استخراجشده از Live Photo (ویدیو) ذخیرهشده در OneDrive است. |
| این تفاوت اندازه باعث میشود rclone copy/sync مکرراً |
| عکسهای تغییرنیافته را چیزی شبیه به این دوباره کپی کند: |
| DEBUG : 20230203_123826234_iOS.heic: Sizes differ (src 4470314 vs dst 1298667) |
| DEBUG : 20230203_123826234_iOS.heic: sha1 = fc2edde7863b7a7c93ca6771498ac797f8460750 OK |
| INFO : 20230203_123826234_iOS.heic: Copied (replaced existing) |
| این کپیهای مجدد را میتوان با افزودن --ignore-size دور زد. |
| لطفاً توجه داشته باشید که این راهکار فقط تصویر ثابت را همگام میکند نه |
| کلیپ ویدیویی را، و متکی به این است که تاریخهای اصلاح بر روی |
| تمامی فایلها در همه شرایط بهدرستی بهروزرسانی شوند. |
| این تفاوت در اندازه همچنین باعث میشود rclone check |
| خطاهای اندازه را چیزی شبیه به این گزارش دهد: |
| ERROR : 20230203_123826234_iOS.heic: sizes differ |
| این خطاهای بررسی را میتوان با افزودن --ignore-size نادیده گرفت. |
| این تفاوت اندازه همچنین باعث میشود بارگیری در rclone mount |
| با خطایی شبیه به این با شکست مواجه شود: |
| ERROR : 20230203_123826234_iOS.heic: ReadFileHandle.Read error: low level retry 1/10: unexpected EOF |
| یا شبیه به این هنگام استفاده از --cache-mode=full: |
| INFO : 20230203_123826234_iOS.heic: vfs cache: downloader: error count now 1: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable: |
| ERROR : 20230203_123826234_iOS.heic: vfs cache: failed to download: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable: |
| مسیرها به صورت remote:path مشخص میشوند. |
| مسیرها میتوانند به هر میزان که لازم باشد دارای عمق باشند؛ مانند: |
| remote:directory/subdirectory. |
| "پیکربندی (Configuration)" |
| در اینجا مثالی از نحوهٔ ایجاد یک ریموت به نام remote آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این فرمان شما را در یک فرآیند پیکربندی تعاملی راهنمایی میکند: |
| n) New remote |
| d) Delete remote |
| q) Quit config |
| e/n/d/q> n |
| name> remote |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / OpenDrive |
| \ "opendrive" |
| [snip] |
| Storage> opendrive |
| Username |
| username> |
| Password |
| y) Yes type in my own password |
| g) Generate random password |
| y/g> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Configuration complete. |
| Options: |
| - type: opendrive |
| - username: |
| - password: *** ENCRYPTED *** |
| Keep this "remote" remote? |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| فهرست کردن دایرکتوریها در بالاترین سطح OpenDrive شما: |
| rclone lsd remote: |
| فهرست کردن تمام فایلها در OpenDrive شما: |
| rclone ls remote: |
| برای کپی کردن یک دایرکتوری محلی به یک دایرکتوری در OpenDrive به نام backup: |
| rclone copy /home/source remote:backup |
| "زمانهای تغییر و هشها (Modification times and hashes)" | ||
| سرویس OpenDrive امکان تنظیم زمانهای تغییر (modification times) را روی اشیاء با دقت ۱ ثانیه فراهم میکند. | ||
| این اطلاعات برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر به کار میروند. | ||
| الگوریتم هش MD5 پشتیبانی میشود..SS نویسههای محدودشده در نام فایل | ||
| tab( | ); | |
| l c c. | ||
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| / | 0x2F | / |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ؟ |
| \ | 0x5C | \ |
| | | 0x7C | | |
نامهای فایل همچنین نمیتوانند با نویسههای زیر آغاز شوند یا پایان یابند. این نویسهها تنها در صورتی جایگزین میشوند که نخستین یا واپسین نویسه در نام باشند:
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
| HT | 0x09 | ␉ |
| LF | 0x0A | ␊ |
| VT | 0x0B | ␋ |
| CR | 0x0D | ␍ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در رشتههای JSON استفاده کرد..SS گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص opendrive (OpenDrive) آمده است.
--opendrive-username
نام کاربری.
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_OPENDRIVE_USERNAME
- •
- نوع: string
- •
- الزامی: true
--opendrive-password
گذرواژه.
توجه: ورودی این گزینه باید مبهمسازی شده باشد - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_OPENDRIVE_PASSWORD
- •
- نوع: string
- •
- الزامی: true
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص opendrive (OpenDrive) آمده است.
--opendrive-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر، بخش کدگذاری در بررسی کلی (https://rclone.org/overview/#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_OPENDRIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
--opendrive-chunk-size
فایلها در تکههایی با این اندازه بارگذاری خواهند شد.
توجه داشته باشید که این تکهها در حافظه بافر میشوند، بنابراین افزایش دادن اندازه آنها مصرف حافظه را بیشتر خواهد کرد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_OPENDRIVE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 10Mi
--opendrive-access
فایلها و پوشهها با این سطح مجوز دسترسی بارگذاری خواهند شد (پیشفرض private)
ویژگیها:
- •
- پیکربندی: access
- •
- متغیر محیطی: RCLONE_OPENDRIVE_ACCESS
- •
- نوع: string
- •
- پیشفرض: "private"
- •
- مثالها:
- •
- "private"
- •
- دسترسی فایل یا پوشه میتواند بهگونهای اعطا شود که به کاربران منتخب امکان مشاهده، خواندن یا نوشتن مواردی که برای آنها کاملاً ضروری است را بدهد.
- •
- "public"
- •
- فایل یا پوشه میتواند توسط هر کسی از طریق یک مرورگر وب بارگیری شود. پیوند را میتوان به هر روشی به اشتراک گذاشت،
- •
- "hidden"
- •
- دسترسی به فایل یا پوشه دارای همان محدودیتهای Public است، به شرطی که کاربر نشانی اینترنتی (URL) پیوند فایل یا پوشه را برای دسترسی به محتویات بداند.
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_OPENDRIVE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
توجه داشته باشید که OpenDrive به حروف کوچک و بزرگ حساس نیست (case-insensitive)، بنابراین نمیتوانید همزمان فایلی به نام "Hello.doc" و فایلی با نام "hello.doc" داشته باشید.
کاراکترهای متعددی وجود دارند که نمیتوانند در نام فایلهای OpenDrive قرار گیرند. این کاراکترها در پلتفرمهای Windows مجاز نیستند، اما در پلتفرمهای غیر Windows رایج هستند. ابزار Rclone این نامها را به معادلهای یونیکد با ظاهر یکسان و بالعکس نگاشت (map) میکند. به عنوان مثال، اگر فایلی شامل ? باشد، به جای آن به ? نگاشت خواهد شد.
دستور rclone about توسط بکاند OpenDrive پشتیبانی نمیشود. بکاندهایی که فاقد این قابلیت هستند نمیتوانند فضای خالی را برای اتصال (mount) در rclone تعیین کنند یا از خطمشی mfs (بیشترین فضای خالی) به عنوان عضوی از یک ریموت union در rclone استفاده نمایند.
«فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند» (https://rclone.org/overview/#optional-features) و «rclone about» (https://rclone.org/commands/rclone_about) را ببینید.
ذخیرهسازی شیء اوراکل (Oracle Object Storage)
فضای ذخیرهسازی شیء ارائهشده توسط زیرساخت ابری اوراکل (OCI). اطلاعات بیشتر در <oracle.com>:
- •
- نمای کلی Oracle Object Storage (https://docs.oracle.com/iaas/Content/Object/Concepts/objectstorageoverview.htm)
- •
- پرسشهای متداول Oracle Object Storage (https://www.oracle.com/cloud/storage/object-storage/faq)
مسیرها به صورت remote:bucket (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید زیرپوشهها را نیز مشخص کنید؛ مانند remote:bucket/path/to/dir.
نمونه دستور برای انتقال آرتیفکتهای محلی به remote:bucket در ذخیرهسازی شیء اوراکل:
-
rclone -vvv --progress --stats-one-line --max-stats-groups 10 --log-format date,time,UTC,longfile --fast-list --buffer-size 256Mi --oos-no-check-bucket --oos-upload-cutoff 10Mi --multi-thread-cutoff 16Mi --multi-thread-streams 3000 --transfers 3000 --checkers 64 --retries 2 --oos-chunk-size 10Mi --oos-upload-concurrency 10000 --oos-attempt-resume-upload --oos-leave-parts-on-error sync ./artifacts remote:bucket -vv
پیکربندی (Configuration)
در اینجا مثالی از ایجاد پیکربندی برای ذخیرهسازی شیء اوراکل آورده شده است. دستور rclone config مراحل را قدم به قدم به شما راهنمایی میکند.
در اینجا مثالی از نحوه ساخت یک ریموت به نام remote آمده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد:
-
n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n Enter name for new remote. name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [snip] XX / Oracle Cloud Infrastructure Object Storage \ (oracleobjectstorage) Storage> oracleobjectstorage Option provider. Choose your Auth Provider Choose a number from below, or type in your own string value. Press Enter for the default (env_auth). 1 / automatically pickup the credentials from runtime(env), first one to provide auth wins \ (env_auth) / use an OCI user and an API key for authentication. 2 | you’ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key. | https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm \ (user_principal_auth) / use instance principals to authorize an instance to make API calls. 3 | each instance has its own identity, and authenticates using the certificates that are read from instance metadata. | https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm \ (instance_principal_auth) / use workload identity to grant Kubernetes pods policy-driven access to Oracle Cloud 4 | Infrastructure (OCI) resources using OCI Identity and Access Management (IAM). | https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm \ (workload_identity_auth) 5 / use resource principals to make API calls \ (resource_principal_auth) 6 / no credentials needed, this is typically for reading public buckets \ (no_auth) provider> 2 Option namespace. Object storage namespace Enter a value. namespace> idbamagbg734 Option compartment. Object storage compartment OCID Enter a value. compartment> ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba Option region. Object storage Region Enter a value. region> us-ashburn-1 Option endpoint. Endpoint for Object storage API. Leave blank to use the default endpoint for the region. Enter a value. Press Enter to leave empty. endpoint> Option config_file. Full Path to OCI config file Choose a number from below, or type in your own string value. Press Enter for the default (~/.oci/config). 1 / oci configuration file location \ (~/.oci/config) config_file> /etc/oci/dev.conf Option config_profile. Profile name inside OCI config file Choose a number from below, or type in your own string value. Press Enter for the default (Default). 1 / Use the default profile \ (Default) config_profile> Test Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: oracleobjectstorage - namespace: idbamagbg734 - compartment: ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba - region: us-ashburn-1 - provider: user_principal_auth - config_file: /etc/oci/dev.conf - config_profile: Test Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
مشاهده تمام باکتها.IP
rclone lsd remote:
ساخت یک باکت (bucket) جدید
-
rclone mkdir remote:bucket
فهرستکردن محتویات یک باکت
-
rclone ls remote:bucket rclone ls remote:bucket --max-depth 1
ارائهدهندگان احراز هویت (Authentication Providers)
سرویس OCI روشهای گوناگونی برای احراز هویت دارد. جهت کسب اطلاعات بیشتر دربارهٔ روشهای احراز هویت لطفاً به روشهای احراز هویت OCI مراجعه کنید (https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_authentication_methods.htm). این گزینهها را میتوان در فایل پیکربندی rclone تعیین کرد.
ابزار rclone از ارائهدهندگان احراز هویت OCI زیر پشتیبانی میکند:
-
User Principal Instance Principal Resource Principal Workload Identity No authentication
ارائهدهنده User Principal
نمونه فایل پیکربندی rclone برای ارائهدهنده احراز هویت User Principal:
-
[oos] type = oracleobjectstorage namespace = id<redacted>34 compartment = ocid1.compartment.oc1..aa<redacted>ba region = us-ashburn-1 provider = user_principal_auth config_file = /home/opc/.oci/config config_profile = Default
مزایا:
- •
- میتوان از این روش از هر سروری درون OCI، به صورت درونسازمانی (on-premises) یا از سایر ارائهدهندگان ابری استفاده کرد.
ملاحظات:
- •
- باید دسترسیها / خطمشیهای (policy) کاربر را پیکربندی کنید تا اجازهٔ دسترسی به حافظهٔ شیء (object storage) داده شود.
- •
- بار کاری مدیریت کاربران و کلیدها.
- •
- اگر کاربر حذف شود، فایل پیکربندی دیگر کار نخواهد کرد و ممکن است باعث اختلال در خودکارسازیهایی شود که از این اطلاعات احراز هویت کاربر استفاده میکنند.
ارائهدهنده Instance Principal
یک نمونهٔ محاسباتی (compute instance) در OCI میتواند با استفاده از هویت و گواهیهای خود به عنوان یک instance principal مجاز به استفاده از rclone شود. با این رویکرد نیازی به ذخیره و مدیریت اطلاعات احراز هویت (credentials) نیست.
نمونه فایل پیکربندی rclone برای ارائهدهنده احراز هویت Instance Principal:
-
[opc@rclone ~]$ cat ~/.config/rclone/rclone.conf [oos] type = oracleobjectstorage namespace = id<redacted>fn compartment = ocid1.compartment.oc1..aa<redacted>k7a region = us-ashburn-1 provider = instance_principal_auth
مزایا:
- •
- با instance principalها، نیازی به پیکربندی اطلاعات احراز هویت کاربر و انتقال یا ذخیرهٔ آن روی دیسک در نمونههای محاسباتی یا چرخاندن (rotate) منظم اطلاعات احراز هویت ندارید.
- •
- نیازی به درگیر شدن با کاربران و کلیدها نخواهید داشت.
- •
- کمک شایانی به خودکارسازی میکند، زیرا نیازی به مدیریت کلیدهای دسترسی، کلیدهای خصوصی کاربر، ذخیرهٔ آنها در گاوصندوق (vault)، استفاده از KMS و غیره ندارید.
ملاحظات:
- •
- باید یک گروه پویا (dynamic group) پیکربندی کنید که این نمونه عضو آن باشد و خطمشی خواندن object storage را به آن گروه پویا اضافه نمایید.
- •
- هر کسی که به این ماشین دسترسی داشته باشد میتواند دستورهای CLI را اجرا کند.
- •
- تنها برای نمونههای محاسباتی OCI کاربرد دارد. روی نمونهها یا منابع خارجی قابل استفاده نیست..SS Resource Principal
احراز هویت Resource Principal بسیار شبیه به احراز هویت Instance Principal است، اما برای منابعی به کار میرود که نمونههای محاسباتی (Compute Instances) نیستند، مانند توابع بدون سرور (https://docs.oracle.com/en-us/iaas/Content/Functions/Concepts/functionsoverview.htm). برای استفاده از Resource Principal مطمئن شوید که فرایند Rclone با تنظیم این متغیرهای محیطی در فرایند خود اجرا شده است.
-
export OCI_RESOURCE_PRINCIPAL_VERSION=2.2 export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1 export OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM=/usr/share/model-server/key.pem export OCI_RESOURCE_PRINCIPAL_RPST=/usr/share/model-server/security_token
نمونه فایل پیکربندی rclone برای ارائهدهنده احراز هویت Resource Principal:
-
[oos] type = oracleobjectstorage namespace = id<redacted>34 compartment = ocid1.compartment.oc1..aa<redacted>ba region = us-ashburn-1 provider = resource_principal_auth
Workload Identity
احراز هویت Workload Identity ممکن است هنگام اجرای Rclone از درون یک پاد Kubernetes روی یک کلاستر Container Engine for Kubernetes (OKE) استفاده شود. برای جزئیات بیشتر درباره پیکربندی Workload Identity، به بخش «اعطای دسترسی بارهای کاری به منابع OCI» (https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm) مراجعه کنید. برای استفاده از Workload Identity، مطمئن شوید Rclone با تنظیم این متغیرهای محیطی در فرایند خود اجرا شده است.
-
export OCI_RESOURCE_PRINCIPAL_VERSION=2.2 export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1
بدون احراز هویت (No authentication)
باکتهای عمومی برای خواندن اشیاء به هیچ سازوکار احراز هویتی نیاز ندارند. نمونه فایل پیکربندی rclone برای حالت بدون احراز هویت:
-
[oos] type = oracleobjectstorage namespace = id<redacted>34 compartment = ocid1.compartment.oc1..aa<redacted>ba region = us-ashburn-1 provider = no_auth
زمانهای تغییر و هشها (Modification times and hashes)
زمان تغییر بهعنوان فراداده روی شیء تحت عنوان opc-meta-mtime بهصورت ممیز شناور بر حسب ثانیه از مبدأ زمان (epoch)، با دقت ۱ نانوثانیه ذخیره میشود.
اگر زمان تغییر نیاز به بهروزرسانی داشته باشد، rclone تلاش خواهد کرد یک کپی سمت سرور انجام دهد تا در صورتی که شیء بتواند در یک بخش تکقسمتی کپی شود، زمان تغییر آن بهروز شود. در صورتی که اندازه شیء بزرگتر از ۵ گیگابایت باشد، شیء بهجای کپی شدن، بارگذاری مجدد خواهد شد.
توجه داشته باشید که خواندن این مقدار از شیء نیازمند یک درخواست HEAD اضافی است، زیرا این فراداده در فهرستهای شیء بازگردانده نمیشود.
الگوریتم هش MD5 پشتیبانی میشود.
بارگذاریهای چندبخشی (Multipart uploads)
ابزار rclone از بارگذاریهای چندبخشی با OOS پشتیبانی میکند، به این معنی که میتواند فایلهای بزرگتر از ۵ گیبیبایت (GiB) را بارگذاری کند.
توجه داشته باشید فایلهایی که هم با بارگذاری چندبخشی و هم از طریق ریموتهای crypt بارگذاری میشوند فاقد هش MD5 هستند.
ابزار rclone از آستانه تعیینشده توسط --oos-upload-cutoff بارگذاری را از تکبخشی به چندبخشی تغییر میدهد. این مقدار میتواند حداکثر ۵ گیبیبایت و حداقل ۰ باشد (یعنی فایلها همواره بهصورت چندبخشی بارگذاری شوند).
اندازه تکهها (chunks) مورد استفاده در بارگذاری چندبخشی توسط --oos-chunk-size و تعداد تکههایی که بهطور همروند بارگذاری میشوند توسط --oos-upload-concurrency مشخص میشود.
بارگذاریهای چندبخشی به میزان --transfers * --oos-upload-concurrency * --oos-chunk-size حافظه اضافی مصرف خواهند کرد. بارگذاریهای تکبخشی حافظه اضافی مصرف نمیکنند.
انتقالهای تکبخشی بسته به میزان تأخیر شما تا oos میتوانند سریعتر یا کندتر از انتقالهای چندبخشی باشند - هرچه تأخیر بیشتر باشد، احتمال اینکه انتقالهای تکبخشی سریعتر باشند بیشتر است.
افزایش --oos-upload-concurrency باعث افزایش گذردهی (throughput) خواهد شد (مقدار ۸ میتواند معقول باشد) و افزایش --oos-chunk-size نیز گذردهی را بالا میبرد (مقدار 16M معقول خواهد بود). افزایش هر یک از این گزینهها حافظه بیشتری مصرف خواهد کرد. مقادیر پیشفرض به اندازه کافی بزرگ هستند تا بدون مصرف بیش از حد حافظه، بیشترین کارایی ممکن را به دست آورند..SS گزینههای استاندارد
در اینجا گزینههای استاندارد مختص oracleobjectstorage (سرویس Oracle Cloud Infrastructure Object Storage) آمده است.
--oos-provider
ارائهدهنده احراز هویت (Auth Provider) خود را انتخاب کنید
ویژگیها:
- •
- پیکربندی: provider
- •
- متغیر محیطی: RCLONE_OOS_PROVIDER
- •
- نوع: string
- •
- پیشفرض: "env_auth"
- •
- مثالها:
- •
- "env_auth"
- •
- دریافت خودکار اطلاعات احراز هویت از محیط اجرا (env)؛ اولین موردی که احراز هویت را ارائه دهد اعمال میشود
- •
- "user_principal_auth"
- •
- استفاده از یک کاربر OCI و یک API key برای احراز هویت.
- •
- باید tenancy OCID، کاربر user OCID، منطقه (region)، مسیر و fingerprint یک API key را در یک فایل پیکربندی قرار دهید.
- •
- https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
- •
- "instance_principal_auth"
- •
- استفاده از instance principalها برای مجاز کردن یک نمونه (instance) جهت برقراری فراخوانیهای API.
- •
- هر نمونه هویت مختص به خود را دارد و با استفاده از گواهیهای خواندهشده از متادیتای نمونه احراز هویت میکند.
- •
- https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
- •
- "workload_identity_auth"
- •
- استفاده از workload identity برای اعطای دسترسی مبتنی بر پالیسی به بارهای کاری OCI Container Engine for Kubernetes جهت دسترسی به منابع OCI از طریق OCI Identity and Access Management (IAM).
- •
- https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm
- •
- "resource_principal_auth"
- •
- استفاده از resource principalها برای برقراری فراخوانیهای API
- •
- "no_auth"
- •
- بدون نیاز به اطلاعات احراز هویت؛ این حالت معمولاً برای خواندن باکتهای عمومی (public buckets) استفاده میشود
--oos-namespace
فضای نام (namespace) ذخیرهسازی شیء
ویژگیها:
- •
- پیکربندی: namespace
- •
- متغیر محیطی: RCLONE_OOS_NAMESPACE
- •
- نوع: string
- •
- الزامی: true.SS --oos-compartment
در صورت نیاز به فهرست کردن باکتها (buckets)، OCID مربوط به compartment را مشخص کنید.
فهرست کردن اشیاء بدون OCID مربوط به compartment نیز کار میکند.
ویژگیها:
- •
- پیکربندی: compartment
- •
- متغیر محیطی: RCLONE_OOS_COMPARTMENT
- •
- ارائهدهنده: !no_auth
- •
- نوع: string
- •
- الزامی: خیر
--oos-region
منطقه (Region) سرویس Object storage
ویژگیها:
- •
- پیکربندی: region
- •
- متغیر محیطی: RCLONE_OOS_REGION
- •
- نوع: string
- •
- الزامی: بله
--oos-endpoint
نقطه پایانی (Endpoint) برای API سرویس Object storage.
برای استفاده از نقطه پایانی پیشفرض منطقه، این فیلد را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_OOS_ENDPOINT
- •
- نوع: string
- •
- الزامی: خیر
--oos-config-file
مسیر فایل پیکربندی OCI
ویژگیها:
- •
- پیکربندی: config_file
- •
- متغیر محیطی: RCLONE_OOS_CONFIG_FILE
- •
- ارائهدهنده: user_principal_auth
- •
- نوع: string
- •
- پیشفرض: "~/.oci/config"
- •
- مثالها:
- •
- "~/.oci/config"
- •
- محل فایل پیکربندی oci
--oos-config-profile
نام پروفایل درون فایل پیکربندی oci
ویژگیها:
- •
- پیکربندی: config_profile
- •
- متغیر محیطی: RCLONE_OOS_CONFIG_PROFILE
- •
- ارائهدهنده: user_principal_auth
- •
- نوع: string
- •
- پیشفرض: "Default"
- •
- مثالها:
- •
- "Default"
- •
- استفاده از پروفایل پیشفرض
در اینجا گزینههای پیشرفته مختص oracleobjectstorage (ذخیرهسازی شیء در زیرساخت ابری اوراکل - Oracle Cloud Infrastructure Object Storage) آورده شده است.
--oos-storage-tier
کلاس ذخیرهسازی مورد استفاده هنگام ذخیره اشیاء جدید در حافظه. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm
ویژگیها:
- •
- پیکربندی: storage_tier
- •
- متغیر محیطی: RCLONE_OOS_STORAGE_TIER
- •
- نوع: string
- •
- پیشفرض: "Standard"
- •
- مثالها:
- •
- "Standard"
- •
- رده ذخیرهسازی استاندارد، این رده پیشفرض است
- •
- "InfrequentAccess"
- •
- رده ذخیرهسازی InfrequentAccess
- •
- "Archive"
- •
- رده ذخیرهسازی Archive
--oos-upload-cutoff
نقطه آستانه برای جابجایی به بارگذاری تکهای (chunked upload).
هر فایلی بزرگتر از این مقدار، در تکههایی به اندازه chunk_size بارگذاری خواهد شد. حداقل مقدار 0 و حداکثر آن 5 GiB است.
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_OOS_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 200Mi
--oos-chunk-size
اندازه هر تکه (chunk) برای استفاده در بارگذاری.
هنگام بارگذاری فایلهای بزرگتر از upload_cutoff یا فایلهایی با اندازه نامشخص (برای مثال از طریق "rclone rcat" یا بارگذاریشده با "rclone mount")، آنها به صورت چندبخشی (multipart upload) با استفاده از این اندازه تکه بارگذاری خواهند شد.
توجه داشته باشید که به ازای هر انتقال، به تعداد "upload_concurrency" تکه با این اندازه در حافظه بافر میشود.
اگر فایلهای حجیم را بر روی اتصالات پرسرعت منتقل میکنید و حافظه رم کافی دارید، افزایش این مقدار سرعت انتقال را افزایش خواهد داد.
ابزار Rclone هنگام بارگذاری فایلی حجیم با اندازه مشخص، اندازه تکه را بهطور خودکار افزایش میدهد تا تعداد تکهها کمتر از محدودیت ۱۰,۰۰۰ باقی بماند.
فایلهای با اندازه نامشخص با مقدارِ chunk_size پیکربندیشده بارگذاری میشوند. از آنجا که اندازه پیشفرض تکهها 5 MiB است و حداکثر میتواند ۱۰,۰۰۰ تکه وجود داشته باشد، این بدان معناست که در حالت پیشفرض حداکثر اندازه فایلی که میتوانید به صورت جریانی (stream) بارگذاری کنید 48 GiB است. اگر مایل به بارگذاری جریانی فایلهای بزرگتری هستید، باید chunk_size را افزایش دهید.
افزایش اندازه تکه، دقت آمار پیشرفت نمایشدادهشده با پرچم "-P" را کاهش میدهد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_OOS_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 5Mi.SS --oos-max-upload-parts
حداکثر تعداد بخشها در یک بارگذاری چندبخشی.
این گزینه حداکثر تعداد تکههای چندبخشی مورد استفاده هنگام انجام یک بارگذاری چندبخشی را تعیین میکند.
سرویس OCI دارای محدودیت حداکثر 10,000 تکه است.
ابزار rclone هنگام بارگذاری یک فایل بزرگ با اندازه مشخص، اندازه هر تکه را بهطور خودکار افزایش میدهد تا زیر این محدودیت تعداد تکهها باقی بماند.
ویژگیها:
- •
- پیکربندی: max_upload_parts
- •
- متغیر محیطی: RCLONE_OOS_MAX_UPLOAD_PARTS
- •
- نوع: int
- •
- پیشفرض: 10000
--oos-upload-concurrency
همزمانی برای بارگذاریهای چندبخشی.
این مقدار، تعداد تکههای مربوط به یک فایل یکسان است که بهطور همزمان بارگذاری میشوند.
اگر تعداد کمی از فایلهای حجیم را روی پیوندهای پرسرعت بارگذاری میکنید و این بارگذاریها بهطور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار میتواند به تسریع انتقالها کمک کند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_OOS_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 10
--oos-copy-cutoff
آستانه تغییر به رونوشت چندبخشی.
هر فایلی بزرگتر از این مقدار که نیاز به رونوشت در سمت سرور داشته باشد، در تکههایی با این اندازه کپی خواهد شد.
حداقل مقدار 0 و حداکثر آن 5 GiB است.
ویژگیها:
- •
- پیکربندی: copy_cutoff
- •
- متغیر محیطی: RCLONE_OOS_COPY_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 4.656Gi
--oos-copy-timeout
مهلت زمانی برای رونوشت.
رونوشت یک عملیات ناهمگام است؛ مهلت زمانی را برای منتظر ماندن جهت موفقیت رونوشت مشخص کنید.
ویژگیها:
- •
- پیکربندی: copy_timeout
- •
- متغیر محیطی: RCLONE_OOS_COPY_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--oos-disable-checksum
عدم ذخیره مجموع مقابلهای (checksum) MD5 در متادیتای شیء.
بهطور معمول rclone پیش از بارگذاری ورودی، چکسام MD5 آن را محاسبه میکند تا بتواند آن را به متادیتای شیء اضافه کند. این قابلیت برای بررسی یکپارچگی دادهها بسیار مناسب است اما میتواند باعث ایجاد تأخیرهای طولانی در شروع بارگذاری فایلهای حجیم شود.
ویژگیها:
- •
- پیکربندی: disable_checksum
- •
- متغیر محیطی: RCLONE_OOS_DISABLE_CHECKSUM
- •
- نوع: bool
- •
- پیشفرض: false.SS --oos-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر، بخش کدگذاری (encoding) را در بررسی کلی (https://rclone.org/overview/#encoding) مشاهده کنید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_OOS_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,InvalidUtf8,Dot
--oos-leave-parts-on-error
در صورت تنظیم روی درست (true)، هنگام بروز خطا از فراخوانی لغو بارگذاری (abort upload) خودداری میکند و تمام بخشهای با موفقیت بارگذاریشده را برای بازیابی دستی باقی میگذارد.
برای ازسرگیری بارگذاریها در میان نشستهای مختلف، این مقدار باید روی true تنظیم شود.
هشدار: ذخیرهسازی بخشهای یک بارگذاری چندبخشیِ ناتمام، جزو فضای مصرفی در ذخیرهسازی شیء (object storage) محاسبه شده و در صورت پاکسازی نشدن، هزینههای اضافی در پی خواهد داشت.
ویژگیها:
- •
- پیکربندی: leave_parts_on_error
- •
- متغیر محیطی: RCLONE_OOS_LEAVE_PARTS_ON_ERROR
- •
- نوع: bool
- •
- پیشفرض: false
--oos-attempt-resume-upload
در صورت تنظیم روی درست (true)، تلاش میکند تا بارگذاری چندبخشی آغازشده قبلی برای این شیء را از سر بگیرد. این کار از طریق ادامه بارگذاریها از نشست پیشین، به تسریع انتقالهای چندبخشی کمک خواهد کرد.
هشدار: اگر اندازه قطعه (chunk size) در نشست ازسرگرفتهشده با نشست ناتمام قبلی متفاوت باشد، بارگذاری چندبخشی لغو شده و یک بارگذاری چندبخشی جدید با اندازه قطعه جدید آغاز میشود.
برای ازسرگیری و بهینهسازی بهمنظور نادیده گرفتن بخشهایی که از قبل با موفقیت بارگذاری شدهاند، پرچم leave_parts_on_error باید true باشد.
ویژگیها:
- •
- پیکربندی: attempt_resume_upload
- •
- متغیر محیطی: RCLONE_OOS_ATTEMPT_RESUME_UPLOAD
- •
- نوع: bool
- •
- پیشفرض: false
--oos-no-check-bucket
در صورت تنظیم، تلاشی برای بررسی وجود باکت (bucket) یا ساخت آن انجام نمیدهد.
این گزینه در صورتی که میدانید باکت از قبل وجود دارد، برای به حداقل رساندن تعداد تراکنشهای انجامشده توسط rclone میتواند مفید باشد.
همچنین در حالتی که کاربر مورد استفاده دسترسیهای لازم برای ایجاد باکت را ندارد، ممکن است به این گزینه نیاز باشد.
ویژگیها:
- •
- پیکربندی: no_check_bucket
- •
- متغیر محیطی: RCLONE_OOS_NO_CHECK_BUCKET
- •
- نوع: bool
- •
- پیشفرض: false
--oos-sse-customer-key-file
برای استفاده از SSE-C، فایلی شامل رشته کدگذاریشده با base64 از کلید رمزنگاری AES-256 مرتبط با شیء. لطفاً توجه داشته باشید که تنها یکی از موارد sse_customer_key_file|sse_customer_key|sse_kms_key_id مورد نیاز است.
ویژگیها:
- •
- پیکربندی: sse_customer_key_file
- •
- متغیر محیطی: RCLONE_OOS_SSE_CUSTOMER_KEY_FILE
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- None
برای استفاده از SSE-C، سرآیند اختیاری که کلید رمزگذاری ۲۵۶ بیتی کدگذاریشده با base64 را برای رمزگذاری یا رمزگشایی دادهها مشخص میکند. لطفاً توجه داشته باشید تنها یکی از موارد sse_customer_key_file|sse_customer_key|sse_kms_key_id مورد نیاز است. برای اطلاعات بیشتر، بخش Using Your Own Keys for Server-Side Encryption را ببینید: (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm)
ویژگیها:
- •
- پیکربندی: sse_customer_key
- •
- متغیر محیطی: RCLONE_OOS_SSE_CUSTOMER_KEY
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- هیچکدام
--oos-sse-customer-key-sha256
در صورت استفاده از SSE-C، سرآیند اختیاری که هش SHA256 کدگذاریشده با base64 کلید رمزگذاری را مشخص میکند. این مقدار برای بررسی یکپارچگی کلید رمزگذاری استفاده میشود. بخش Using Your Own Keys for Server-Side Encryption را ببینید: (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
ویژگیها:
- •
- پیکربندی: sse_customer_key_sha256
- •
- متغیر محیطی: RCLONE_OOS_SSE_CUSTOMER_KEY_SHA256
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- هیچکدام
--oos-sse-kms-key-id
در صورت استفاده از کلید اصلی اختصاصی خود در vault، این سرآیند شناسه OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) یک کلید رمزگذاری اصلی را مشخص میکند که برای فراخوانی سرویس Key Management جهت تولید کلید رمزگذاری داده یا رمزگذاری و رمزگشایی یک کلید رمزگذاری داده به کار میرود. لطفاً توجه داشته باشید تنها یکی از موارد sse_customer_key_file|sse_customer_key|sse_kms_key_id مورد نیاز است.
ویژگیها:
- •
- پیکربندی: sse_kms_key_id
- •
- متغیر محیطی: RCLONE_OOS_SSE_KMS_KEY_ID
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- هیچکدام
در صورت استفاده از SSE-C، سرآیند اختیاری که "AES256" را به عنوان الگوریتم رمزنگاری مشخص میکند. سرویس Object Storage از "AES256" به عنوان الگوریتم رمزنگاری پشتیبانی میکند. برای اطلاعات بیشتر، بخش Using Your Own Keys for Server-Side Encryption (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm) را ببینید.
ویژگیها:
- •
- پیکربندی: sse_customer_algorithm
- •
- متغیر محیطی: RCLONE_OOS_SSE_CUSTOMER_ALGORITHM
- •
- نوع: string
- •
- ضروری: false
- •
- نمونهها:
- •
- ""
- •
- هیچکدام
- •
- "AES256"
- •
- AES256
--oos-decompress
در صورت تنظیم، این گزینه اشیاء کدگذاریشده با gzip را از حالت فشرده خارج میکند.
امکان بارگذاری اشیاء در Object Storage با تنظیم "Content-Encoding: gzip" وجود دارد. در حالت عادی rclone این فایلها را به عنوان اشیاء فشرده بارگیری خواهد کرد.
اگر این پرچم تنظیم شود، rclone این فایلها را با "Content-Encoding: gzip" هنگام دریافت از حالت فشرده خارج میکند. این بدان معناست که rclone نمیتواند اندازه و هش را بررسی کند، اما محتوای فایل از حالت فشرده خارج خواهد شد.
ویژگیها:
- •
- پیکربندی: decompress
- •
- متغیر محیطی: RCLONE_OOS_DECOMPRESS
- •
- نوع: bool
- •
- پیشفرض: false
--oos-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_OOS_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
متاداده (Metadata)
متادادههای کاربر به عنوان کلیدهای opc-meta- ذخیره میشوند.
در اینجا موارد متادادههای سیستمی ممکن برای بکاند oracleobjectstorage آمده است.
| نام | راهنما | نوع | نمونه | فقطخواندنی |
| opc-meta-atime | زمان آخرین دسترسی | ISO 8601 | 2025-06-30T22:27:43-04:00 | N |
| opc-meta-btime | زمان ایجاد فایل (birth) | ISO 8601 | 2025-06-30T22:27:43-04:00 | N |
| opc-meta-gid | شناسه گروه مالک | decimal number | 500 | N |
| opc-meta-mode | نوع و حالت فایل | octal, unix style | 0100664 | N |
| opc-meta-mtime | زمان آخرین تغییر | ISO 8601 | 2025-06-30T22:27:43-04:00 | N |
| opc-meta-uid | شناسه کاربری مالک | decimal number | 500 | N |
برای اطلاعات بیشتر مستندات متاداده (https://rclone.org/docs/#metadata) را ببینید..SS دستورهای backend
در اینجا دستورهای مخصوص backend مربوط به oracleobjectstorage آورده شده است.
آنها را به این صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی دریافت میکند.
برای اطلاعات بیشتر در مورد نحوهٔ ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورها را میتوان بر روی یک backend در حال اجرا با استفاده از دستور rc به نام backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
rename
تغییر نام یک شیء.
-
rclone backend rename remote: [options] [<arguments>+]
این دستور میتواند برای تغییر نام یک شیء استفاده شود.
مثال استفاده:
-
rclone backend rename oos:bucket relative-object-path-under-bucket object-new-name
list-multipart-uploads
فهرست کردن بارگذاریهای چندبخشی ناتمام.
-
rclone backend list-multipart-uploads remote: [options] [<arguments>+]
این دستور بارگذاریهای چندبخشی ناتمام را در قالب JSON فهرست میکند.
مثال استفاده:
-
rclone backend list-multipart-uploads oos:bucket/path/to/object
این دستور یک دیکشنری از bucketها بازمیگرداند که مقادیر آن، فهرستهایی از بارگذاریهای چندبخشی ناتمام است.
میتوانید آن را بدون bucket فراخوانی کنید که در این صورت تمام bucketها را فهرست میکند، یا با یک bucket، و یا با یک bucket و مسیر.
-
{ "test-bucket": [ { "namespace": "test-namespace", "bucket": "test-bucket", "object": "600m.bin", "uploadId": "51dd8114-52a4-b2f2-c42f-5291f05eb3c8", "timeCreated": "2022-07-29T06:21:16.595Z", "storageTier": "Standard" } ] } ### cleanup Remove unfinished multipart uploads. ```console rclone backend cleanup remote: [options] [<arguments>+]
این دستور بارگذاریهای چندبخشی ناتمام با عمر بیشتر از max-age را که مقدار پیشفرض آن ۲۴ ساعت است، حذف میکند.
توجه داشته باشید که میتوانید از --interactive/-i یا --dry-run با این دستور استفاده کنید تا ببینید چه کاری انجام خواهد داد.
مثالهای استفاده:
-
rclone backend cleanup oos:bucket/path/to/object rclone backend cleanup -o max-age=7w oos:bucket/path/to/object
مدتزمانها همانند بقیهٔ بخشهای rclone تجزیه میشوند؛ مانند 2h، 7d، 7w و غیره.
گزینهها:
- •
- "max-age": حداکثر عمر بارگذاری برای حذف..SS restore
بازیابی اشیاء از فضای ذخیرهسازی Archive به Standard.
-
rclone backend restore remote: [options] [<arguments>+]
از این دستور میتوان برای بازیابی یک یا چند شیء از فضای ذخیرهسازی Archive به Standard استفاده کرد.
مثالهای استفاده:
-
rclone backend restore oos:bucket/path/to/directory -o hours=HOURS rclone backend restore oos:bucket -o hours=HOURS
این پرچم از فیلترها نیز پیروی میکند. ابتدا با پرچمهای --interactive/-i یا --dry-run آزمایش کنید:
-
rclone --interactive backend restore --include "*.txt" oos:bucket/path -o hours=72
تمام اشیاء نشاندادهشده برای بازیابی علامتگذاری خواهند شد، سپس:
-
rclone backend restore --include "*.txt" oos:bucket/path -o hours=72
این دستور فهرستی از دیکشنریهای وضعیت را با کلیدهای Object Name و Status بازمیگرداند. مقدار Status در صورت موفقیت برابر با "RESTORED" و در غیر این صورت یک پیام خطا خواهد بود.
-
[ { "Object": "test.txt" "Status": "RESTORED", }, { "Object": "test/file4.txt" "Status": "RESTORED", } ]
گزینهها:
- •
- "hours": تعداد ساعتهایی که این شیء بازیابی خواهد شد. پیشفرض ۲۴ ساعت است.
آموزشها (Tutorials)
https://rclone.org/oracleobjectstorage/tutorial_mount)'>سوار کردن باکتها (https://rclone.org/oracleobjectstorage/tutorial_mount)
QingStor
مسیرها بهصورت remote:bucket (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید زیرشاخهها را نیز وارد کنید، مانند remote:bucket/path/to/dir.
پیکربندی (Configuration)
در اینجا نمونهای از ایجاد یک پیکربندی QingStor آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند.
-
No remotes found, make a new one\? n) New remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config n/r/c/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / QingStor Object Storage \ "qingstor" [snip] Storage> qingstor Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank. Choose a number from below, or type in your own value 1 / Enter QingStor credentials in the next step \ "false" 2 / Get QingStor credentials from the environment (env vars or IAM) \ "true" env_auth> 1 QingStor Access Key ID - leave blank for anonymous access or runtime credentials. access_key_id> access_key QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials. secret_access_key> secret_key Enter an endpoint URL to connection QingStor API. Leave blank will use the default value "https://qingstor.com:443" endpoint> Zone connect to. Default is "pek3a". Choose a number from below, or type in your own value / The Beijing (China) Three Zone 1 | Needs location constraint pek3a. \ "pek3a" / The Shanghai (China) First Zone 2 | Needs location constraint sh1a. \ "sh1a" zone> 1 Number of connection retry. Leave blank will use the default value "3". connection_retries> Remote config Configuration complete. Options: - type: qingstor - env_auth: false - access_key_id: access_key - secret_access_key: secret_key - endpoint: - zone: pek3a - connection_retries: Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
این ریموت remote نامیده میشود و اکنون میتواند به این صورت استفاده شود:
مشاهدهٔ تمام باکتها
-
rclone lsd remote:
ساخت یک باکت جدید
-
rclone mkdir remote:bucket
فهرست کردن محتویات یک باکت
-
rclone ls remote:bucket
همگامسازی /home/local/directory با باکت ریموت، با حذف هرگونه فایل اضافی در باکت.
-
rclone sync --interactive /home/local/directory remote:bucket
این ریموت از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظه بیشتر، از تعداد تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone (https://rclone.org/docs/#fast-list) مراجعه کنید.
آپلودهای چندبخشی (Multipart uploads)
برنامه rclone از آپلودهای چندبخشی در QingStor پشتیبانی میکند، به این معنی که میتواند فایلهای بزرگتر از 5 GiB را آپلود کند. توجه داشته باشید فایلهایی که با آپلود چندبخشی ارسال میشوند فاقد MD5SUM هستند.
توجه داشته باشید که آپلودهای چندبخشی ناقص و قدیمیتر از ۲۴ ساعت را میتوان با دستور rclone cleanup remote:bucket فقط برای یک باکت، یا با rclone cleanup remote: برای همه باکتها حذف کرد. سرویس QingStor هرگز آپلودهای چندبخشی ناقص را حذف نمیکند، بنابراین ممکن است اجرای گاهبهگاه این دستور لازم باشد.
باکتها و ناحیه (Buckets and Zone)
در QingStor میتوانید باکتها را با استفاده از هر ناحیهای فهرست کنید (rclone lsd)، اما محتوای یک باکت تنها از ناحیهای که در آن ایجاد شده قابل دسترسی است. اگر تلاش کنید از ناحیه نادرست به یک باکت دسترسی پیدا کنید، با این خطا مواجه خواهید شد: incorrect zone, the bucket is not in 'XXX' zone.
احراز هویت (Authentication)
دو روش برای ارائه اطلاعات احراز هویت QingStor به rclone وجود دارد. به ترتیب اولویت:
- •
- مستقیماً در فایل پیکربندی rclone (همانطور که توسط rclone config پیکربندی شده است)
- •
- تنظیم access_key_id و secret_access_key
- •
- پیکربندی زمان اجرا (Runtime):
- •
- تنظیم env_auth روی true در فایل پیکربندی
- •
- صادر کردن (export) متغیرهای محیطی زیر پیش از اجرای rclone:
- •
- شناسه کلید دسترسی: QS_ACCESS_KEY_ID یا QS_ACCESS_KEY
- •
- کلید دسترسی محرمانه: QS_SECRET_ACCESS_KEY یا QS_SECRET_KEY
نویسههای محدودشده در نام فایل (Restricted filename characters)
نویسههای کنترلی 0x00-0x1F و / مطابق با مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters) جایگزین میشوند. توجه داشته باشید که 0x7F جایگزین نمیشود.
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد ویژه qingstor (فضای ذخیرهسازی شیء QingCloud) آورده شده است.
--qingstor-env-auth
دریافت اطلاعات احراز هویت QingStor از زمان اجرا.
تنها زمانی اعمال میشود که access_key_id و secret_access_key خالی باشند.
ویژگیها:
- •
- پیکربندی: env_auth
- •
- متغیر محیطی: RCLONE_QINGSTOR_ENV_AUTH
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "false"
- •
- اطلاعات احراز هویت QingStor را در مرحله بعد وارد کنید.
- •
- "true"
- •
- دریافت اطلاعات احراز هویت QingStor از محیط (متغیرهای محیطی یا IAM).
شناسه کلید دسترسی (Access Key ID) مربوط به QingStor.
جهت دسترسی ناشناس یا استفاده از اطلاعات هویتی زمان اجرا، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: access_key_id
- •
- متغیر محیطی: RCLONE_QINGSTOR_ACCESS_KEY_ID
- •
- نوع: string
- •
- الزامی: false
--qingstor-secret-access-key
کلید دسترسی محرمانه (گذرواژه) مربوط به QingStor.
جهت دسترسی ناشناس یا استفاده از اطلاعات هویتی زمان اجرا، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: secret_access_key
- •
- متغیر محیطی: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
- •
- نوع: string
- •
- الزامی: false
--qingstor-endpoint
نشانی وب (URL) نقطه پایانی را برای اتصال به API سرویس QingStor وارد کنید.
در صورت خالی گذاشتن، از مقدار پیشفرض "https://qingstor.com:443" استفاده خواهد شد.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_QINGSTOR_ENDPOINT
- •
- نوع: string
- •
- الزامی: false
--qingstor-zone
منطقه (Zone) مورد نظر برای اتصال.
پیشفرض "pek3a" است.
ویژگیها:
- •
- پیکربندی: zone
- •
- متغیر محیطی: RCLONE_QINGSTOR_ZONE
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "pek3a"
- •
- منطقه سه پکن (چین).
- •
- نیازمند قید مکان (location constraint) pek3a است.
- •
- "sh1a"
- •
- منطقه یک شانگهای (چین).
- •
- نیازمند قید مکان (location constraint) sh1a است.
- •
- "gd2a"
- •
- منطقه دو گوانگدونگ (چین).
- •
- نیازمند قید مکان (location constraint) gd2a است.
در این بخش گزینههای پیشرفته ویژه qingstor (ذخیرهسازی شیء QingCloud) آورده شده است.
--qingstor-connection-retries
تعداد دفعات تلاش مجدد برای اتصال.
ویژگیها:
- •
- پیکربندی: connection_retries
- •
- متغیر محیطی: RCLONE_QINGSTOR_CONNECTION_RETRIES
- •
- نوع: int
- •
- پیشفرض: 3
--qingstor-upload-cutoff
آستانه تغییر حالت به بارگذاری تکهای (chunked).
هر فایلی بزرگتر از این مقدار در قالب تکههایی به اندازه chunk_size بارگذاری خواهد شد. حداقل مقدار 0 و حداکثر آن 5 GiB است.
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_QINGSTOR_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 200Mi
--qingstor-chunk-size
اندازه هر تکه برای استفاده در بارگذاری.
هنگام بارگذاری فایلهای بزرگتر از upload_cutoff، آنها به صورت بارگذاری چندبخشی (multipart) با استفاده از این اندازه تکه ارسال خواهند شد.
توجه داشته باشید که به ازای هر انتقال، به تعداد "--qingstor-upload-concurrency" تکه از این اندازه در حافظه بافر میشود.
اگر فایلهای بزرگ را روی پیوندهای پرسرعت انتقال میدهید و حافظه رم کافی دارید، افزایش این مقدار سرعت انتقال را بهبود میبخشد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_QINGSTOR_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 4Mi
--qingstor-upload-concurrency
همزمانی برای بارگذاریهای چندبخشی (multipart).
این مقدار بیانگر تعداد تکههای مربوط به یک فایل یکسان است که به طور همزمان بارگذاری میشوند.
توجه: اگر این مقدار را بزرگتر از ۱ (> 1) قرار دهید، چکسام (checksum) بارگذاریهای چندبخشی مخدوش میشود (اگرچه خود فایلهای بارگذاریشده دچار خرابی نمیشوند).
اگر تعداد کمی فایل بزرگ را روی خطوط پرسرعت بارگذاری میکنید و این بارگذاریها به طور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار ممکن است به سریعتر شدن انتقال کمک کند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 1
--qingstor-encoding
کدگذاری برای后端 (backend).
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_QINGSTOR_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Ctl,InvalidUtf8.SS --qingstor-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_QINGSTOR_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
محدودیتها
دستور rclone about توسط بکاند qingstor پشتیبانی نمیشود. بکاندهایی که فاقد این قابلیت هستند نمیتوانند فضای خالی را برای یک mount در rclone تعیین کنند یا از سیاست mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده کنند.
«فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند» (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) را ببینید.
Quatrix
سرویس Quatrix محصول Maytech همان اشتراکگذاری امن و منطبق فایل Quatrix است | Maytech (https://www.maytech.net/products/quatrix-business).
مسیرها بهصورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق دلخواهی باشند؛ مانند remote:directory/subdirectory.
راهاندازی اولیه Quatrix نیازمند دریافت یک کلید API از Quatrix است. میتوانید کلید API را در نمایه کاربر در https://<account>/profile/api-keys یا با کمک API دریافت کنید - https://docs.maytech.net/quatrix/quatrix-api/api-explorer#/API-Key/post_api_key_create.
مستندات کامل Swagger برای Quatrix (https://docs.maytech.net/quatrix/quatrix-api/api-explorer) را ببینید.
پیکربندی
در اینجا نمونهای از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Quatrix by Maytech \ "quatrix" [snip] Storage> quatrix API key for accessing Quatrix account. api_key> your_api_key Host name of Quatrix account. host> example.quatrix.it Configuration complete. Options: - type: quatrix - api_key: your_api_key - host: example.quatrix.it Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (به جای remote نامی را که به ریموت خود دادهاید بگذارید):
فهرست کردن دایرکتوریها در سطح بالای Quatrix شما
-
rclone lsd remote:
فهرست کردن همه فایلها در Quatrix شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به یک دایرکتوری در Quatrix به نام backup
-
rclone copy /home/source remote:backup
کلید API بدون تاریخ انقضا ایجاد میشود. این کلید تا زمانی که آن را در حساب کاربری خود حذف یا غیرفعال نکنید معتبر خواهد بود. پس از غیرفعالسازی، کلید API میتواند مجدداً فعال شود. اگر کلید API حذف شد و کلید جدیدی ایجاد گردید، میتوانید آن را در rclone config بهروزرسانی کنید. همین روند در صورت تغییر نام میزبان (hostname) نیز صدق میکند.
-
$ rclone config Current remotes: Name Type ==== ==== remote quatrix e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> e Choose a number from below, or type in an existing value 1 > remote remote> remote Configuration complete. Options: - type: quatrix - host: some_host.quatrix.it - api_key: your_api_key Keep this "remote" remote? Edit remote Option api_key. API key for accessing Quatrix account Enter a string value. Press Enter for the default (your_api_key) api_key> Option host. Host name of Quatrix account Enter a string value. Press Enter for the default (some_host.quatrix.it). Configuration complete. Options: - type: quatrix - host: some_host.quatrix.it - api_key: your_api_key Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
زمانهای تغییر و هشها (Modification times and hashes)
سرویس Quatrix اجازه میدهد زمانهای تغییر روی اشیاء با دقت ۱ میکروثانیه تنظیم شوند. از این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر استفاده خواهد شد.
سرویس Quatrix از هشها پشتیبانی نمیکند، بنابراین نمیتوانید از پرچم --checksum استفاده کنید.
نویسههای محدودشده در نام فایل (Restricted filename characters)
نامهای فایل در Quatrix به حروف بزرگ و کوچک حساس هستند و محدودیتهایی دارند؛ مانند اینکه حداکثر طول نام فایل ۲۵۵ و حداقل طول آن ۱ نویسه است. یک نام فایل نمیتواند برابر با . یا .. باشد و نباید شامل /، \ یا نویسههای غیرقابلچاپ ascii باشد.
انتقالها (Transfers)
برای فایلهای بزرگتر از 50 MiB، ابزار rclone از انتقال تکهای (chunked transfer) استفاده خواهد کرد. ابزار rclone حداکثر تا --transfers تکه را بهطور همزمان بارگذاری میکند (که بین تمام بارگذاریهای چندبخشی به اشتراک گذاشته میشود). تکهها در حافظه بافر میشوند و اندازهٔ حداقل تکه بهطور پیشفرض 10_000_000 بایت است که در پیکربندی پیشرفته قابل تغییر میباشد؛ بنابراین افزایش --transfers مصرف حافظه را افزایش خواهد داد. اندازهٔ تکه دارای یک حد حداکثری است که بهطور پیشفرض روی 100_000_000 بایت تنظیم شده و در پیکربندی پیشرفته قابل تغییر است. اندازهٔ تکهٔ بارگذاریشده بسته به سرعت بارگذاری بهصورت پویا تغییر خواهد کرد. کل حافظهٔ مصرفی برابر است با تعداد انتقالها ضرب در حداقل اندازهٔ تکه. در صورتی که حافظهٔ آزادی برای بارگذاری تخصیص یافته باشد (که برابر است با تفاضل maximal_summary_chunk_size و minimal_chunk_size * transfers)، اندازهٔ تکه ممکن است در صورت بالا بودن سرعت بارگذاری افزایش یابد. همچنین در صورت بروز مشکل در سرعت بارگذاری، میتواند کاهش یابد. اگر هیچ حافظهٔ آزادی در دسترس نباشد، اندازهٔ تمام تکهها برابر با minimal_chunk_size خواهد بود..SS حذف فایلها
فایلهایی که با rclone حذف میکنید به سطل زباله (Trash) منتقل شده و به مدت ۳۰ روز در آنجا نگهداری خواهند شد. همچنین Quatrix یک API برای حذف دائمی فایلها و یک API برای خالی کردن سطل زباله ارائه میدهد تا بتوانید فایلها را بهصورت دائمی از حساب کاربری خود حذف کنید.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص به quatrix (Quatrix by Maytech) آمده است.
--quatrix-api-key
کلید API برای دسترسی به حساب کاربری Quatrix
ویژگیها:
- •
- پیکربندی: api_key
- •
- متغیر محیطی: RCLONE_QUATRIX_API_KEY
- •
- نوع: string
- •
- الزامی: true
--quatrix-host
نام میزبان (Host) حساب کاربری Quatrix
ویژگیها:
- •
- پیکربندی: host
- •
- متغیر محیطی: RCLONE_QUATRIX_HOST
- •
- نوع: string
- •
- الزامی: true
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص به quatrix (Quatrix by Maytech) آمده است.
--quatrix-encoding
رمزگذاری (encoding) برای بکاند.
برای اطلاعات بیشتر بخش رمزگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_QUATRIX_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
--quatrix-effective-upload-time
زمان بارگذاری مورد نظر برای هر قطعه (chunk)
ویژگیها:
- •
- پیکربندی: effective_upload_time
- •
- متغیر محیطی: RCLONE_QUATRIX_EFFECTIVE_UPLOAD_TIME
- •
- نوع: string
- •
- پیشفرض: "4s"
--quatrix-minimal-chunk-size
حداقل اندازه برای هر قطعه (chunk)
ویژگیها:
- •
- پیکربندی: minimal_chunk_size
- •
- متغیر محیطی: RCLONE_QUATRIX_MINIMAL_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 9.537Mi.SS --quatrix-maximal-summary-chunk-size
حداکثر مجموع برای همه تکهها (chunks). نباید کمتر از 'transfers'*'minimal_chunk_size' باشد.
ویژگیها:
- •
- پیکربندی: maximal_summary_chunk_size
- •
- متغیر محیطی: RCLONE_QUATRIX_MAXIMAL_SUMMARY_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 95.367Mi
--quatrix-hard-delete
حذف دائمی فایلها به جای انتقال آنها به سطل زباله.
ویژگیها:
- •
- پیکربندی: hard_delete
- •
- متغیر محیطی: RCLONE_QUATRIX_HARD_DELETE
- •
- نوع: bool
- •
- پیشفرض: false
--quatrix-skip-project-folders
صرفنظر کردن از پوشههای پروژه در عملیاتها.
ویژگیها:
- •
- پیکربندی: skip_project_folders
- •
- متغیر محیطی: RCLONE_QUATRIX_SKIP_PROJECT_FOLDERS
- •
- نوع: bool
- •
- پیشفرض: false
--quatrix-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_QUATRIX_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
میزان استفاده از فضای ذخیرهسازی (Storage usage)
میزان استفاده از فضای ذخیرهسازی در Quatrix در هنگام خرید بر اساس حساب کاربری محدود میشود. شما میتوانید هر کاربری را با سقف ذخیرهسازی کمتری محدود کنید. در صورتی که کاربر سقف سفارشی نداشته باشد، سقف حساب کاربری اعمال میشود. به محض اینکه به سقف مجاز برسید، بارگذاری فایلها با خطا مواجه خواهد شد. این مشکل با آزادسازی فضا یا افزایش سهمیه (quota) قابل رفع است.
عملیاتهای سمت سرور (Server-side operations)
سرویس Quatrix از عملیاتهای سمت سرور (کپی و جابهجایی) پشتیبانی میکند. در صورت بروز تداخل، فایلها در حین عملیات سمت سرور بازنویسی میشوند.
Sia
سرویس Sia (sia.tech (https://sia.tech)) یک پلتفرم ذخیرهسازی ابری غیرمتمرکز مبتنی بر فناوری بلاکچین (https://wikipedia.org/wiki/Blockchain) است. با rclone میتوانید از آن همانند هر فایلسیستم ریموت دیگری استفاده کنید یا پوشههای Sia را بهصورت محلی سوار (mount) نمایید. فناوری پشت آن شامل مفاهیم جدیدی نظیر Siacoin و کیف پول (Wallet)، بلاکچین و اجماع (Consensus)، اجارهکردن (Renting) و میزبانی (Hosting) و غیره است. اگر در آن تازهکار هستید، بهتر است ابتدا با استفاده از مستندات پشتیبانی عالی آنها (https://support.sia.tech) با آن آشنا شوید.
مقدمه (Introduction)
پیش از آنکه بتوانید از rclone به همراه Sia استفاده کنید، نیاز خواهید داشت که یک نسخه در حال اجرا از Sia-UI یا siad (دیمن Sia) را بهصورت محلی روی رایانه خود یا روی شبکه محلی (مانند یک NAS) داشته باشید. لطفاً راهنمای شروع به کار (https://sia.tech/get-started) را دنبال کرده و یکی از آنها را نصب کنید.
برنامه rclone با برقراری ارتباط با دیمن Sia از طریق HTTP API (https://docs.sia.tech) که معمولاً روی درگاه 9980 در دسترس است، با شبکه Sia تعامل برقرار میکند. بهطور پیشفرض دیمن را بهصورت محلی روی همان رایانه اجرا خواهید کرد، بنابراین امن است که گذرواژه API را خالی بگذارید (نشانی API برابر با http://127.0.0.1:9980 خواهد بود که دسترسی خارجی را غیرممکن میسازد).
با این حال، اگر میخواهید به دیمن Sia اجراشده روی یک گره (node) دیگر دسترسی داشته باشید، برای مثال بهدلیل محدودیتهای حافظه یا به این دلیل که میخواهید یک دیمن واحد را بین چندین نمونه rclone و Sia-UI به اشتراک بگذارید، باید تمهیدات بیشتری اتخاذ کنید:
- •
- اطمینان حاصل کنید که Sia daemon را مستقیماً یا درون یک کانتینر docker (https://github.com/SiaFoundation/siad/pkgs/container/siad) نصب کردهاید، چرا که Sia-UI این حالت را بهطور بومی پشتیبانی نمیکند.
- •
- آن را روی درگاهی با دسترسی خارجی اجرا کنید؛ برای مثال آرگومانهای --api-addr :9980 و --disable-api-security را در خط فرمان دیمن مشخص نمایید.
- •
- برای دیمن siad گذرواژه API را از طریق متغیر محیطی SIA_API_PASSWORD یا فایلی متنی به نام apipassword در دایرکتوری دیمن اجباری کنید.
- •
- گزینه بکاند api_password در rclone را با مقداری از مکانهای فوق تنظیم نمایید.
نکات:
- 1.
- اگر کیف پول شما قفل باشد، rclone نمیتواند آن را بهطور خودکار باز کند. باید از قبل با استفاده از Sia-UI یا از طریق خط فرمان siac wallet unlock قفل آن را باز کنید. همچنین میتوانید کاری کنید که siad هنگام راهاندازی با اجرای آن به همراه متغیر محیطی SIA_WALLET_PASSWORD کیف پول شما را بهطور خودکار باز کند.
- 2.
- اگر siad نتواند متغیر SIA_API_PASSWORD یا فایل apipassword را در دایرکتوری SIA_DIR بیابد، یک گذرواژه تصادفی تولید کرده و آن را در فایل متنی با نام apipassword زیر دایرکتوری YOUR_HOME/.sia/ در Unix یا C:\Users\YOUR_HOME\AppData\Local\Sia\apipassword در Windows ذخیره خواهد کرد. هنگام پیکربندی گذرواژه در rclone این نکته را به خاطر داشته باشید.
- 3.
- تنها راه استفاده از siad بدون گذرواژه API، اجرای آن روی localhost با آرگومان خط فرمان --authorize-api=false است، اما این کار ناامن بوده و اکیداً منع میشود..SS پیکربندی
در اینجا مثالی از نحوهٔ ایجاد یک ریموت sia با نام mySia آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> mySia Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value ... 29 / Sia Decentralized Cloud \ "sia" ... Storage> sia Sia daemon API URL, like http://sia.daemon.host:9980. Note that siad must run with --disable-api-security to open API port for other hosts (not recommended). Keep default if Sia daemon runs on localhost. Enter a string value. Press Enter for the default ("http://127.0.0.1:9980"). api_url> http://127.0.0.1:9980 Sia Daemon API Password. Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory. y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g/n> y Enter the password: password: Confirm the password: password: Edit advanced config? y) Yes n) No (default) y/n> n -------------------- [mySia] type = sia api_url = http://127.0.0.1:9980 api_password = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
پس از انجام پیکربندی، میتوانید از rclone به این صورت استفاده کنید:
- •
- فهرست کردن دایرکتوریها در بالاترین سطح فضای ذخیرهسازی Sia شما
-
rclone lsd mySia:
- •
- فهرست کردن تمام فایلها در فضای ذخیرهسازی Sia شما
-
rclone ls mySia:
- •
- بارگذاری یک دایرکتوری محلی به دایرکتوری Sia به نام backup
-
rclone copy /home/source mySia:backup
در اینجا گزینههای استاندارد مختص به sia (ابر غیرمتمرکز Sia) آمده است.
--sia-api-url
نشانی URL مربوط به API دیمن Sia، مانند http://sia.daemon.host:9980.
توجه داشته باشید که siad باید با --disable-api-security اجرا شود تا درگاه API برای سایر میزبانها باز شود (توصیه نمیشود). اگر دیمن Sia روی localhost اجرا میشود، مقدار پیشفرض را تغییر ندهید.
ویژگیها:
- •
- پیکربندی: api_url
- •
- متغیر محیطی: RCLONE_SIA_API_URL
- •
- نوع: string
- •
- پیشفرض: "http://127.0.0.1:9980"
--sia-api-password
گذرواژه API دیمن Sia.
میتوان آن را در فایل apipassword واقع در HOME/.sia/ یا در دایرکتوری دیمن پیدا کرد.
نکته: ورودی این مقدار باید مبهمسازی شود - rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: api_password
- •
- متغیر محیطی: RCLONE_SIA_API_PASSWORD
- •
- نوع: string
- •
- ضروری: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص به sia (ابر غیرمتمرکز Sia) آمده است.
--sia-user-agent
عامل کاربر (User Agent) siad
دیمن Sia بهطور پیشفرض به دلایل امنیتی به عامل کاربر 'Sia-Agent' نیاز دارد
ویژگیها:
- •
- پیکربندی: user_agent
- •
- متغیر محیطی: RCLONE_SIA_USER_AGENT
- •
- نوع: string
- •
- پیشفرض: "Sia-Agent"
--sia-encoding
کدگذاری (encoding) برای backend.
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SIA_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot
--sia-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SIA_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false.SS "محدودیتها (Limitations)"
- •
- زمانهای تغییر پشتیبانی نمیشوند
- •
- چکسامها پشتیبانی نمیشوند
- •
- دستور rclone about پشتیبانی نمیشود
- •
- در حال حاضر rclone فقط میتواند با Siad یا Sia-UI کار کند، دیمن SkyNet هنوز پشتیبانی نمیشود.
- •
- سیستم Sia اجازه استفاده از نویسههای کنترلی یا نمادهایی مانند علامت سؤال و پوند (#) را در نام فایلها نمیدهد. برنامه rclone آنها را بهطور شفاف برای شما کدگذاری (https://rclone.org/overview/#encoding) میکند، اما بهتر است از این موضوع مطلع باشید.
Swift
منظور از Swift همان OpenStack Object Storage (https://docs.openstack.org/swift/latest) است. پیادهسازیهای تجاری آن عبارتند از:
- •
- Rackspace Cloud Files (https://www.rackspace.com/cloud/files)
- •
- Memset Memstore (https://www.memset.com/cloud/storage)
- •
- OVH Object Storage (https://www.ovhcloud.com/en/public-cloud/object-storage)
- •
- Oracle Cloud Storage (https://docs.oracle.com/en-us/iaas/integration/doc/configure-object-storage.html)
- •
- Blomp Cloud Storage (https://www.blomp.com/cloud-storage)
- •
- IBM Bluemix Cloud ObjectStorage Swift (https://console.bluemix.net/docs/infrastructure/objectstorage-swift/index.html)
مسیرها به صورت remote:container (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید زیردایرکتوریها را نیز وارد کنید، مانند remote:container/path/to/dir.
پیکربندی (Configuration)
در اینجا نمونهای از ایجاد یک پیکربندی swift آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در فرایند راهاندازی تعاملی راهنمایی میکند.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH) \ "swift" [snip] Storage> swift Get swift credentials from environment variables in standard OpenStack form. Choose a number from below, or type in your own value 1 / Enter swift credentials in the next step \ "false" 2 / Get swift credentials from environment vars. Leave other fields blank if using this. \ "true" env_auth> true User name to log in (OS_USERNAME). user> API key or password (OS_PASSWORD). key> Authentication URL for server (OS_AUTH_URL). Choose a number from below, or type in your own value 1 / Rackspace US \ "https://auth.api.rackspacecloud.com/v1.0" 2 / Rackspace UK \ "https://lon.auth.api.rackspacecloud.com/v1.0" 3 / Rackspace v2 \ "https://identity.api.rackspacecloud.com/v2.0" 4 / Memset Memstore UK \ "https://auth.storage.memset.com/v1.0" 5 / Memset Memstore UK v2 \ "https://auth.storage.memset.com/v2.0" 6 / OVH \ "https://auth.cloud.ovh.net/v3" 7 / Blomp Cloud Storage \ "https://authenticate.ain.net" auth> User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID). user_id> User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) domain> Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME) tenant> Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID) tenant_id> Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME) tenant_domain> Region name - optional (OS_REGION_NAME) region> Storage URL - optional (OS_STORAGE_URL) storage_url> Auth Token from alternate authentication - optional (OS_AUTH_TOKEN) auth_token> AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION) auth_version> Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) Choose a number from below, or type in your own value 1 / Public (default, choose this if not sure) \ "public" 2 / Internal (use internal service net) \ "internal" 3 / Admin \ "admin" endpoint_type> Remote config -------------------- [test] env_auth = true user = key = auth = user_id = domain = tenant = tenant_id = tenant_domain = region = storage_url = auth_token = auth_version = endpoint_type = -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
این ریموت remote نامیده میشود و اکنون میتواند به این صورت استفاده شود:
مشاهده تمام کانتینرها
-
rclone lsd remote:
ایجاد یک کانتینر جدید
-
rclone mkdir remote:container
فهرست کردن محتویات یک کانتینر
-
rclone ls remote:container
همگامسازی /home/local/directory با کانتینر ریموت، و حذف هرگونه فایل اضافی موجود در کانتینر.
-
rclone sync --interactive /home/local/directory remote:container
یک فایل اعتبارسنجی (credentials) در OpenStack معمولاً شبیه به این است (بدون کامنتها):
-
export OS_AUTH_URL=https://a.provider.net/v2.0 export OS_TENANT_ID=ffffffffffffffffffffffffffffffff export OS_TENANT_NAME="1234567890123456" export OS_USERNAME="123abc567xy" echo "Please enter your OpenStack Password: " read -sr OS_PASSWORD_INPUT export OS_PASSWORD=$OS_PASSWORD_INPUT export OS_REGION_NAME="SBG1" if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
فایل پیکربندی باید چیزی شبیه به این باشد، که در آن $OS_USERNAME بیانگر مقدار متغیر OS_USERNAME است - در مثال بالا 123abc567xy.
-
[remote] type = swift user = $OS_USERNAME key = $OS_PASSWORD auth = $OS_AUTH_URL tenant = $OS_TENANT_NAME
توجه داشته باشید که ممکن است لازم باشد (یا نباشد) region را نیز تنظیم کنید - ابتدا بدون آن امتحان کنید.
پیکربندی از طریق متغیرهای محیطی
در صورت تمایل، میتوانید rclone را طوری پیکربندی کنید که با استفاده از مجموعهای استاندارد از متغیرهای محیطی OpenStack از swift استفاده کند.
هنگام انجام مراحل پیکربندی، مطمئن شوید که برای env_auth مقدار true را انتخاب کرده و سایر موارد را خالی بگذارید.
سپس rclone هر پارامتر پیکربندی خالی را با استفاده از متغیرهای محیطی استاندارد OpenStack از محیط مقداردهی میکند. فهرستی از این متغیرها (https://godoc.org/github.com/ncw/swift#Connection.ApplyEnvironment) در مستندات کتابخانه swift وجود دارد.
استفاده از روش احراز هویت جایگزین
اگر سامانه OpenStack شما از یک روش احراز هویت غیراستاندارد استفاده میکند که ممکن است هنوز توسط rclone یا کتابخانه زیرین swift پشتیبانی نشود، میتوانید احراز هویت را به صورت خارجی انجام دهید (بهعنوان مثال، فراخوانی دستی دستورات openstack برای دریافت توکن). سپس، تنها کافی است دو متغیر پیکربندی auth_token و storage_url را ارسال کنید. اگر هر دوی آنها ارائه شوند، سایر متغیرها نادیده گرفته میشوند. rclone تلاشی برای احراز هویت انجام نخواهد داد، بلکه فرض میکند از قبل احراز هویت شده است و از این دو متغیر برای دسترسی به سامانه OpenStack استفاده خواهد کرد.
استفاده از rclone بدون فایل پیکربندی
در صورت تمایل، میتوانید از rclone به همراه swift بدون فایل پیکربندی استفاده کنید، مانند زیر:
-
source openstack-credentials-file export RCLONE_CONFIG_MYREMOTE_TYPE=swift export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true rclone lsd myremote:
--fast-list
این ریموت از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظه بیشتر، از تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone در (https://rclone.org/docs/#fast-list) مراجعه کنید..SS --update و --use-server-modtime
همانطور که در ادامه آمده است، زمان ویرایش در فرادادهٔ شیء ذخیره میشود. این مقدار بهطور پیشفرض برای تمامی عملیاتی که نیازمند بررسی زمان آخرین بهروزرسانی فایل هستند استفاده میشود. این قابلیت به rclone امکان میدهد تا با ریموت همانند یک سیستم فایل واقعی رفتار کند، اما به دلیل نیاز به یک فراخوانی اضافه API جهت دریافت فراداده، ناکارآمد است.
برای بسیاری از عملیات، زمان آخرین بارگذاری شیء روی ریموت برای تعیین اینکه آیا شیء "تغییر یافته (dirty)" است یا خیر کفایت میکند. با استفاده از --update به همراه --use-server-modtime، میتوانید از فراخوانی اضافه API جلوگیری کرده و صرفاً فایلهایی را بارگذاری کنید که زمان ویرایش محلی آنها جدیدتر از زمان آخرین بارگذاریشان است.
زمانهای ویرایش و هشها
زمان ویرایش بهصورت فراداده روی شیء در X-Object-Meta-Mtime بهشکل عدد ممیز شناور از مبدأ زمان (epoch) با دقت ۱ نانوثانیه ذخیره میشود.
این یک استاندارد دوفاکتو (که از جمله در python-swiftclient رسمی استفاده میشود) برای ذخیره زمان ویرایش یک شیء است.
الگوریتم هش MD5 پشتیبانی میشود.
نویسههای محدودشده در نام فایل
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| / | 0x2F | / |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان استفاده از آنها در رشتههای JSON وجود ندارد.
گزینههای استاندارد
در اینجا گزینههای استاندارد مختص swift (OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)) آورده شده است.
--swift-env-auth
دریافت اعتبارنامههای swift از متغیرهای محیطی در قالب استاندارد OpenStack.
ویژگیها:
- •
- پیکربندی: env_auth
- •
- متغیر محیطی: RCLONE_SWIFT_ENV_AUTH
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "false"
- •
- اعتبارنامههای swift را در مرحله بعد وارد کنید.
- •
- "true"
- •
- دریافت اعتبارنامههای swift از متغیرهای محیطی.
- •
- در صورت استفاده از این گزینه، سایر فیلدها را خالی بگذارید.
نام کاربری برای ورود به سیستم (OS_USERNAME).
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_SWIFT_USER
- •
- نوع: string
- •
- الزامی: خیر
--swift-key
کلید API یا گذرواژه (OS_PASSWORD).
ویژگیها:
- •
- پیکربندی: key
- •
- متغیر محیطی: RCLONE_SWIFT_KEY
- •
- نوع: string
- •
- الزامی: خیر
--swift-auth
نشانی اینترنتی (URL) احراز هویت برای سرور (OS_AUTH_URL).
ویژگیها:
- •
- پیکربندی: auth
- •
- متغیر محیطی: RCLONE_SWIFT_AUTH
- •
- نوع: string
- •
- الزامی: خیر
- •
- مثالها:
- •
- Rackspace ایالات متحده
- •
- Rackspace بریتانیا
- •
- Rackspace نسخه ۲
- •
- Memset Memstore بریتانیا
- •
- Memset Memstore بریتانیا نسخه ۲
- •
- OVH
- •
- فضای ذخیرهسازی ابری Blomp
شناسه کاربر (User ID) برای ورود - اختیاری - بیشتر سامانههای swift از user استفاده میکنند و این مقدار را خالی میگذارند (احراز هویت نسخه ۳) (OS_USER_ID).
ویژگیها:
- •
- پیکربندی: user_id
- •
- متغیر محیطی: RCLONE_SWIFT_USER_ID
- •
- نوع: string
- •
- ضروری: false
--swift-domain
دامنه کاربر - اختیاری (احراز هویت نسخه ۳) (OS_USER_DOMAIN_NAME)
ویژگیها:
- •
- پیکربندی: domain
- •
- متغیر محیطی: RCLONE_SWIFT_DOMAIN
- •
- نوع: string
- •
- ضروری: false
--swift-tenant
نام مستأجر (Tenant name) - برای احراز هویت نسخه ۱ اختیاری است، در غیر این صورت این مورد یا tenant_id الزامی است (OS_TENANT_NAME یا OS_PROJECT_NAME).
ویژگیها:
- •
- پیکربندی: tenant
- •
- متغیر محیطی: RCLONE_SWIFT_TENANT
- •
- نوع: string
- •
- ضروری: false
--swift-tenant-id
شناسه مستأجر (Tenant ID) - برای احراز هویت نسخه ۱ اختیاری است، در غیر این صورت این مورد یا tenant الزامی است (OS_TENANT_ID).
ویژگیها:
- •
- پیکربندی: tenant_id
- •
- متغیر محیطی: RCLONE_SWIFT_TENANT_ID
- •
- نوع: string
- •
- ضروری: false
--swift-tenant-domain
دامنه مستأجر (Tenant domain) - اختیاری (احراز هویت نسخه ۳) (OS_PROJECT_DOMAIN_NAME).
ویژگیها:
- •
- پیکربندی: tenant_domain
- •
- متغیر محیطی: RCLONE_SWIFT_TENANT_DOMAIN
- •
- نوع: string
- •
- ضروری: false
--swift-region
نام ناحیه (Region name) - اختیاری (OS_REGION_NAME).
ویژگیها:
- •
- پیکربندی: region
- •
- متغیر محیطی: RCLONE_SWIFT_REGION
- •
- نوع: string
- •
- ضروری: false.SS --swift-storage-url
آدرس URL فضای ذخیرهسازی - اختیاری (OS_STORAGE_URL).
ویژگیها:
- •
- پیکربندی: storage_url
- •
- متغیر محیطی: RCLONE_SWIFT_STORAGE_URL
- •
- نوع: string
- •
- الزامی: false
--swift-auth-token
توکن احراز هویت (Auth Token) از روش احراز هویت جایگزین - اختیاری (OS_AUTH_TOKEN).
ویژگیها:
- •
- پیکربندی: auth_token
- •
- متغیر محیطی: RCLONE_SWIFT_AUTH_TOKEN
- •
- نوع: string
- •
- الزامی: false
--swift-application-credential-id
شناسه اعتبارنامهی برنامه (OS_APPLICATION_CREDENTIAL_ID).
ویژگیها:
- •
- پیکربندی: application_credential_id
- •
- متغیر محیطی: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
- •
- نوع: string
- •
- الزامی: false
--swift-application-credential-name
نام اعتبارنامهی برنامه (OS_APPLICATION_CREDENTIAL_NAME).
ویژگیها:
- •
- پیکربندی: application_credential_name
- •
- متغیر محیطی: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
- •
- نوع: string
- •
- الزامی: false
--swift-application-credential-secret
رمز اعتبارنامهی برنامه (OS_APPLICATION_CREDENTIAL_SECRET).
ویژگیها:
- •
- پیکربندی: application_credential_secret
- •
- متغیر محیطی: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
- •
- نوع: string
- •
- الزامی: false
--swift-auth-version
نسخه احراز هویت (AuthVersion) - اختیاری - اگر URL احراز هویت فاقد نسخه باشد، روی (1,2,3) تنظیم شود (ST_AUTH_VERSION).
ویژگیها:
- •
- پیکربندی: auth_version
- •
- متغیر محیطی: RCLONE_SWIFT_AUTH_VERSION
- •
- نوع: int
- •
- پیشفرض: 0
--swift-endpoint-type
نوع نقطه پایانی (Endpoint type) برای انتخاب از کاتالوگ سرویس (OS_ENDPOINT_TYPE).
ویژگیها:
- •
- پیکربندی: endpoint_type
- •
- متغیر محیطی: RCLONE_SWIFT_ENDPOINT_TYPE
- •
- نوع: string
- •
- پیشفرض: "public"
- •
- مثالها:
- •
- "public"
- •
- عمومی (پیشفرض، در صورت عدم اطمینان این گزینه را انتخاب کنید)
- •
- "internal"
- •
- داخلی (استفاده از شبکه داخلی سرویس)
- •
- "admin"
- •
- مدیر (Admin)
سیاست ذخیرهسازی مورد استفاده هنگام ایجاد یک ظرف (container) جدید.
این گزینه سیاست ذخیرهسازی مشخصشده را هنگام ایجاد یک ظرف جدید اعمال میکند. این سیاست پس از آن قابل تغییر نیست. مقادیر پیکربندی مجاز و معنای آنها به ارائهدهندهٔ ذخیرهسازی Swift شما بستگی دارد.
ویژگیها:
- •
- پیکربندی: storage_policy
- •
- متغیر محیطی: RCLONE_SWIFT_STORAGE_POLICY
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- ""
- •
- پیشفرض
- •
- "pcs"
- •
- ذخیرهسازی ابری عمومی OVH (OVH Public Cloud Storage)
- •
- "pca"
- •
- آرشیو ابری عمومی OVH (OVH Public Cloud Archive)
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفتهٔ مختص به swift (شامل OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)) آورده شدهاند.
--swift-leave-parts-on-error
در صورت تنظیم روی true، از فراخوانی لغو بارگذاری (abort upload) در صورت بروز خطا خودداری میکند.
برای از سرگیری بارگذاریها در نشستهای مختلف باید روی true تنظیم شود.
ویژگیها:
- •
- پیکربندی: leave_parts_on_error
- •
- متغیر محیطی: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR
- •
- نوع: bool
- •
- پیشفرض: false
--swift-fetch-until-empty-page
هنگام صفحهبندی، همواره اطلاعات را واکشی میکند مگر اینکه صفحهای خالی دریافت شود.
اگر فهرستهای rclone اشیاء کمتری را نسبت به حد انتظار نشان میدهند، یا اگر همگامسازیهای مکرر اشیاء بدون تغییر را دوباره رونوشت میکنند، استفاده از این گزینه را در نظر بگیرید.
فعال کردن این گزینه بیخطر است، اما ممکن است rclone فراخوانیهای API بیشتری نسبت به حد نیاز ایجاد کند.
این گزینه یکی از دو راهکار موقت برای مدیریت پیادهسازیهایی از Swift API است که صفحهبندی را طبق انتظار انجام نمیدهند. همچنین "partial_page_fetch_threshold" را ببینید.
ویژگیها:
- •
- پیکربندی: fetch_until_empty_page
- •
- متغیر محیطی: RCLONE_SWIFT_FETCH_UNTIL_EMPTY_PAGE
- •
- نوع: bool
- •
- پیشفرض: false.SS --swift-partial-page-fetch-threshold
در زمان صفحهبندی، اگر صفحهٔ فعلی در محدودهٔ این درصد از حد نصاب (limit) باشد، دریافت اطلاعات انجام میشود.
اگر فهرستبندیهای rclone اشیایی کمتر از حد انتظار را نشان میدهند، یا اگر همگامسازیهای مکرر اشیاء بدون تغییر را کپی میکنند، استفاده از این گزینه را در نظر بگیرید.
فعالسازی این گزینه بیخطر است، اما ممکن است rclone فراخوانیهای API بیشتری از حد نیاز برقرار کند.
این یکی از دو راهکار جایگزین برای مدیریت پیادهسازیهایی از Swift API است که صفحهبندی را طبق انتظار پیادهسازی نکردهاند. همچنین بخش "fetch_until_empty_page" را ببینید.
ویژگیها:
- •
- پیکربندی: partial_page_fetch_threshold
- •
- متغیر محیطی: RCLONE_SWIFT_PARTIAL_PAGE_FETCH_THRESHOLD
- •
- نوع: int
- •
- پیشفرض: 0
--swift-chunk-size
فایلهای بزرگتر از این اندازه تکهتکه خواهند شد.
فایلهای بزرگتر از این اندازه در یک ظرف (container) _segments یا یک دایرکتوری .file-segments تکهتکه میشوند. (برای اطلاعات بیشتر گزینهٔ use_segments_container را ببینید). پیشفرض برای این مورد 5 GiB است که حداکثر مقدار آن نیز میباشد، به این معنی که تنها فایلهای بزرگتر از این اندازه تکهتکه خواهند شد.
برنامه rclone فایلهای تکهتکه شده را به عنوان اشیاء بزرگ پویا (DLO) بارگذاری میکند.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_SWIFT_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 5Gi
--swift-no-chunk
عدم تکهتکه کردن فایلها در هنگام بارگذاری جریانی.
هنگام انجام بارگذاریهای جریانی (مانند استفاده از rcat یا mount همراه با --vfs-cache-mode off) تنظیم این پرچم باعث میشود که بکاند swift فایلهای تکهتکه شده را بارگذاری نکند.
این کار حداکثر اندازهٔ بارگذاری جریانی را به 5 GiB محدود میکند. این امر مفید است زیرا کار با فایلهای تکهتکه نشده آسانتر بوده و دارای MD5SUM هستند.
برنامه rclone هنگام انجام عملیات کپی عادی، همچنان فایلهای بزرگتر از chunk_size را تکهتکه خواهد کرد.
ویژگیها:
- •
- پیکربندی: no_chunk
- •
- متغیر محیطی: RCLONE_SWIFT_NO_CHUNK
- •
- نوع: bool
- •
- پیشفرض: false
--swift-no-large-objects
غیرفعال کردن پشتیبانی از اشیاء بزرگ ایستا و پویا
سوییفت نمیتواند فایلهای بزرگتر از 5 GiB را به صورت شفاف ذخیره کند. دو طرح برای تکهتکه کردن فایلهای بزرگ وجود دارد: اشیاء بزرگ ایستا (SLO) یا اشیاء بزرگ پویا (DLO)؛ و API به rclone اجازه نمیدهد بدون ارسال یک درخواست HEAD روی شیء، تشخیص دهد که آیا یک فایل شیء بزرگ ایستا است یا پویا. از آنجا که اینها باید به شیوههای متفاوتی پردازش شوند، rclone ناچار است برای نمونه هنگام خواندن چکسامها، درخواستهای HEAD برای اشیاء ارسال کند.
هنگامی که no_large_objects تنظیم شده باشد، rclone فرض میکند که هیچ شیء بزرگ ایستا یا پویایی ذخیره نشده است. این بدان معنی است که میتواند ارسال درخواستهای اضافی HEAD را متوقف کند که این کار بهویژه هنگام انجام انتقال از swift به swift با فعال بودن --checksum، کارایی را به شدت افزایش میدهد.
تنظیم این گزینه متضمن no_chunk است و همچنین باعث میشود هیچ فایلی به صورت تکهتکه بارگذاری نشود، بنابراین بارگذاری فایلهای بزرگتر از 5 GiB با شکست مواجه خواهد شد.
اگر این گزینه را تنظیم کنید و در عمل اشیاء بزرگ ایستا یا پویا وجود داشته باشند، هشهای نادرستی برای آنها به دست خواهد آمد. دانلودها موفقیتآمیز خواهند بود، اما سایر عملیاتها نظیر Remove و Copy با شکست مواجه خواهند شد.
ویژگیها:
- •
- پیکربندی: no_large_objects
- •
- متغیر محیطی: RCLONE_SWIFT_NO_LARGE_OBJECTS
- •
- نوع: bool
- •
- پیشفرض: false.SS --swift-use-segments-container
انتخاب مقصد برای بخشهای اشیاء بزرگ (large object segments)
سامانه Swift نمیتواند فایلهای بزرگتر از ۵ گیبیبایت (5 GiB) را بهطور شفاف ذخیره کند و rclone برای بارگذاری فایلهای بزرگتر از chunk_size (پیشفرض ۵ گیبیبایت)، آنها را تکهتکه میکند.
اگر این مقدار true باشد، تکهها در یک مخزن (container) اضافی همنام با مخزن مقصد اما با پسوند _segments ذخیره میشوند. این بدان معناست که هیچ داده تکراری در مخزن اصلی وجود نخواهد داشت، اما داشتن یک مخزن دیگر ممکن است همیشه قابل قبول نباشد.
اگر این مقدار false باشد، تکهها در یک دایرکتوری .file-segments در ریشه مخزن ذخیره میشوند. این دایرکتوری هنگام فهرست کردن مخزن نادیده گرفته میشود. برخی ارائهدهندگان (مانند Blomp) به این حالت نیاز دارند، زیرا ایجاد مخازن اضافی در آنها مجاز نیست. اگر نمایش دایرکتوری .file-segments در ریشه مد نظر باشد، این پرچم باید روی true تنظیم شود.
اگر این مقدار unset (پیشفرض) باشد، rclone مقدار مورد استفاده را انتخاب خواهد کرد. مقدار آن false خواهد بود، مگر اینکه rclone هرگونه auth_url را شناسایی کند که میداند به مقدار true نیاز دارند. در این صورت پیامی در لاگ DEBUG مشاهده خواهید کرد.
ویژگیها:
- •
- پیکربندی: use_segments_container
- •
- متغیر محیطی: RCLONE_SWIFT_USE_SEGMENTS_CONTAINER
- •
- نوع: Tristate
- •
- پیشفرض: unset
--swift-encoding
کدگذاری (encoding) برای بکاند.
برای اطلاعات بیشتر، بخش انکودینگ را در نمای کلی (https://rclone.org/overview/#encoding) مشاهده کنید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SWIFT_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,InvalidUtf8
--swift-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SWIFT_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
رابط برنامهنویسی Swift API مقدار درستی از MD5SUM را برای فایلهای تکهتکهشده (Dynamic یا Static Large Objects) برنمیگرداند؛ بنابراین rclone مقدار MD5SUM را برای این فایلها بررسی یا استفاده نخواهد کرد.
عیبیابی (Troubleshooting)
بروز خطای Failed to create file system for "remote:": Bad Request در rclone
به دلیل یک رفتار عجیب در کتابخانه زیربنایی swift، در صورت شکست احراز هویت در Swift، به جای یک خطای گویاتر، خطای "Bad Request" برگردانده میشود.
بنابراین این موضوع به احتمال زیاد به این معنی است که نام کاربری / گذرواژه شما اشتباه است. میتوانید با پرچم --dump bodies بررسی دقیقتری انجام دهید.
همچنین این خطا ممکن است به دلیل مشخص کردن منطقه (region) در مواردی باشد که نباید مشخص میشد (مانند OVH)..SS خطای Rclone با عنوان Failed to create file system: Response didn't have storage url and auth token
این موضوع به احتمال زیاد به دلیل فراموشکردن مشخصکردن tenant هنگام راهاندازی ریموت swift رخ میدهد.
آرشیو ابری OVH (OVH Cloud Archive)
برای استفاده از rclone با آرشیو ابری OVH، ابتدا از دستور rclone config برای راهاندازی یک بکاند swift همراه با OVH استفاده کنید و pca را به عنوان storage_policy برگزینید.
بارگذاری اشیاء (Uploading Objects)
بارگذاری اشیاء در آرشیو ابری OVH هیچ تفاوتی با ذخیرهسازی شیء (object storage) ندارد؛ به سادگی دستور مورد نظر خود (move، copy یا sync) را برای بارگذاری اشیاء اجرا کنید. پس از بارگذاری، اشیاء در کنترلپنل OVH در وضعیت "Frozen" (منجمد) نمایش داده میشوند.
بازیابی اشیاء (Retrieving Objects)
برای بازیابی اشیاء به صورت معمول از rclone copy استفاده کنید. اگر اشیاء در وضعیت منجمد باشند، rclone درخواست خارجشدن همه آنها از حالت انجماد را ارسال میکند و در انتهای خروجی با پیامی مشابه پیام زیر منتظر میماند:
-
2019/03/23 13:06:33 NOTICE: Received retry after error - sleeping until 2019-03-23T13:16:33.481657164+01:00 (9m59.99985121s)
ابزار Rclone به مدت زمان مشخصشده منتظر میماند و سپس مجدداً عملیات کپی را تلاش میکند.
pCloud
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند تا عمق دلخواه تعیین شوند، مانند: remote:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه pCloud نیازمند دریافت یک توکن از pCloud است که باید آن را در مرورگر وب خود انجام دهید. دستور rclone config شما را مرحله به مرحله در این مسیر هدایت میکند.
در اینجا نمونهای از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا این دستور را اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Pcloud \ "pcloud" [snip] Storage> pcloud Pcloud App Client Id - leave blank normally. client_id> Pcloud App Client Secret - leave blank normally. client_secret> Edit advanced config? y) Yes n) No (default) y/n> n Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: pcloud - client_id: - client_secret: - token: {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
برای چگونگی راهاندازی روی دستگاهی که مرورگر وب با دسترسی اینترنت در دسترس ندارد، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید.
توجه داشته باشید اگر از پیکربندی ریموت با rclone authorize استفاده میکنید در حالی که سرور pcloud شما در منطقه EU (اروپا) قرار دارد، باید hostname را در 'Edit advanced config' مشخص کنید، در غیر این صورت ممکن است با خطای توکن مواجه شوید.
توجه داشته باشید که rclone یک وبسرور روی سیستم محلی شما اجرا میکند تا توکن برگشتی از pCloud را دریافت نماید. این سرویس تنها از لحظه باز شدن مرورگر تا زمانی که کد تأیید را دریافت کنید فعال است. این وبسرور روی http://127.0.0.1:53682 اجرا میشود و در صورتی که فایروال میزبان فعال باشد ممکن است نیاز باشد موقتاً مسدودسازی آن را غیرفعال کنید.
پس از انجام پیکربندی، میتوانید از rclone به شکل زیر استفاده کنید (عبارت remote را با نامی که برای ریموت خود برگزیدهاید جایگزین کنید):
فهرستکردن دایرکتوریها در بالاترین سطح pCloud شما:
-
rclone lsd remote:
فهرستکردن تمام فایلها در pCloud شما:
-
rclone ls remote:
برای کپیکردن یک دایرکتوری محلی به دایرکتوریای در pCloud به نام backup:
-
rclone copy /home/source remote:backup
سرویس pCloud امکان تنظیم زمانهای تغییر روی اشیاء را با دقت ۱ ثانیه فراهم میکند. از این زمانها برای تشخیص اینکه آیا اشیاء نیاز به همگامسازی دارند یا خیر استفاده خواهد شد. برای تنظیم زمان تغییر، pCloud نیازمند بارگذاری مجدد شیء است.
سرویس pCloud از درهمسازهای MD5 و SHA1 در منطقه US، و درهمسازهای SHA1 و SHA256 در منطقه EU پشتیبانی میکند، بنابراین میتوانید از پرچم --checksum استفاده کنید.
نویسههای محدودشده در نام فایل
علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
حذف فایلها
فایلهای حذفشده به سطل زباله منتقل خواهند شد. سطح اشتراک شما تعیین میکند که موارد چه مدت در سطل زباله باقی بمانند. از rclone cleanup میتوان برای خالی کردن سطل زباله استفاده کرد.
خالی کردن سطل زباله
به دلیل محدودیت API، دستور rclone cleanup تنها در صورتی کار خواهد کرد که نام کاربری و گذرواژه خود را در گزینههای پیشرفته برای این backend تنظیم کرده باشید. از آنجا که بهطور کلی میخواهیم از ذخیره گذرواژههای کاربر در فایل پیکربندی rclone اجتناب کنیم، توصیه میکنیم تنها در صورتی این مورد را تنظیم کنید که به اجرای دستور rclone cleanup نیاز داشته باشید.
شناسه پوشه ریشه
شما میتوانید مقدار root_folder_id را برای rclone تعیین کنید. این همان دایرکتوری است (که با Folder ID آن شناسایی میشود) که rclone آن را به عنوان ریشه درایو pCloud شما در نظر میگیرد.
بهطور معمول این مقدار را خالی میگذارید و خود rclone ریشه صحیح را برای استفاده تعیین خواهد کرد.
با این حال، میتوانید آن را برای محدود کردن rclone به سلسلهمراتب یک پوشه خاص تنظیم کنید.
برای انجام این کار باید Folder ID دایرکتوری مورد نظری را که میخواهید rclone نمایش دهد پیدا کنید. این کار با اجرای دستور rclone lsf با استفاده از یک پیکربندی اولیه که شامل پارامتر root_folder_id نباشد، قابل انجام است.
این دستور دایرکتوریهای موجود را فهرست میکند و به شما امکان میدهد Folder ID مناسب را برای استفادههای بعدی بیابید.
مثال:
-
$ rclone lsf --dirs-only -Fip --csv TestPcloud: dxxxxxxxx2,My Music/ dxxxxxxxx3,My Pictures/ dxxxxxxxx4,My Videos/
بنابراین اگر پوشهای که میخواهید rclone استفاده کند "My Music/" است، از شناسه بازگرداندهشده از دستور rclone lsf (به عنوان مثال dxxxxxxxx2) به عنوان مقدار متغیر root_folder_id در فایل پیکربندی استفاده کنید..SS اعلانهای تغییر و سوار کردن (Change notifications and mounts)
پشتیبان pCloud از بهروزرسانیهای بلادرنگ برای سوار کردنهای (mounts) rclone از طریق اعلانهای تغییر پشتیبانی میکند. ابزار rclone از API مربوط به diff long‑polling سرویس pCloud برای تشخیص تغییرات استفاده میکند و هنگام رخ دادن تغییرات، فهرست دایرکتوریها را در سیستمفایل سوارشده بهطور خودکار بازخوانی (refresh) مینماید.
نکات و رفتار:
- •
- هنگام استفاده از rclone mount بهطور خودکار کار میکند و نیازی به پیکربندی اضافی ندارد.
- •
- محدودهٔ اعلانها در سطح دایرکتوری است (directory‑scoped): هنگامی که rclone تغییری را تشخیص میدهد، دایرکتوری تحتتأثیر را بازخوانی میکند تا فایلهای جدید، حذفشده یا تغییرنامیافته بلافاصله نمایان شوند.
- •
- بهروزرسانیها تقریباً بلادرنگ هستند. پشتیبان از روش اتصال طولانی (long‑poll) با فواصل زمانی کوتاه نظرسنجی پشتیبان (fallback polling) استفاده میکند، بنابراین باید تغییرات را بهسرعت و بدون نیاز به بازخوانی دستی مشاهده کنید.
اگر میخواهید اعلانها را اشکالزدایی یا بررسی کنید، میتوانید از دستور کمکی زیر استفاده کنید:
-
rclone test changenotify remote:
این دستور اعلانهای تغییر دریافتی را برای ریموت دادهشده ثبت (log) میکند.
گزینههای استاندارد (Standard options)
در ادامه گزینههای استاندارد مخصوص pcloud (Pcloud) آمده است.
--pcloud-client-id
شناسه کلاینت OAuth (OAuth Client Id).
معمولاً خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_PCLOUD_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--pcloud-client-secret
کلید مخفی کلاینت OAuth (OAuth Client Secret).
معمولاً خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_PCLOUD_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در ادامه گزینههای پیشرفته مخصوص pcloud (Pcloud) آمده است.
--pcloud-token
توکن دسترسی OAuth بهصورت یک JSON blob.
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_PCLOUD_TOKEN
- •
- نوع: string
- •
- الزامی: false.SS --pcloud-auth-url
نشانی وب (URL) کارساز احراز هویت.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_PCLOUD_AUTH_URL
- •
- نوع: string
- •
- اجباری: false
--pcloud-token-url
نشانی وب (URL) کارساز توکن.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_PCLOUD_TOKEN_URL
- •
- نوع: string
- •
- اجباری: false
--pcloud-client-credentials
استفاده از جریان اعتبارسنجی کارخواه (client credentials) در OAuth.
این گزینه از «جریان اعتبارسنجی کارخواه» OAUTH2 همانطور که در RFC 6749 شرح داده شده است استفاده خواهد کرد.
توجه داشته باشید که این گزینه توسط همهٔ پسانهها (backends) پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_PCLOUD_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--pcloud-encoding
کدگذاری برای پسانه.
برای اطلاعات بیشتر بخش کدگذاری در بررسی کلی (https://rclone.org/overview/#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_PCLOUD_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
--pcloud-root-folder-id
این مقدار را مشخص کنید تا rclone از یک پوشهٔ غیر ریشه به عنوان نقطهٔ شروع خود استفاده کند.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_PCLOUD_ROOT_FOLDER_ID
- •
- نوع: string
- •
- پیشفرض: "d0"
--pcloud-hostname
نام میزبان برای اتصال.
این مقدار معمولاً هنگامی که rclone در ابتدا اتصال oauth را برقرار میکند تنظیم میشود؛ با این حال اگر از پیکربندی از راه دور (remote config) با rclone authorize استفاده میکنید، باید آن را به صورت دستی مقداردهی کنید.
ویژگیها:
- •
- پیکربندی: hostname
- •
- متغیر محیطی: RCLONE_PCLOUD_HOSTNAME
- •
- نوع: string
- •
- پیشفرض: "api.pcloud.com"
- •
- مثالها:
- •
- "api.pcloud.com"
- •
- ناحیهٔ اصلی/ایالات متحده
- •
- "eapi.pcloud.com"
- •
- ناحیهٔ اروپا
نام کاربری pcloud شما.
این گزینه تنها زمانی لازم است که بخواهید از دستور cleanup استفاده کنید. به دلیل وجود یک باگ در API سرویس pcloud، رابط کاربری برنامهنویسی مربوطه از احراز هویت OAuth پشتیبانی نمیکند، بنابراین ناچاریم برای آن به احراز هویت با نام کاربری و گذرواژه اتکا کنیم.
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_PCLOUD_USERNAME
- •
- نوع: string
- •
- الزامی: false
--pcloud-password
گذرواژه pcloud شما.
نکته: ورودی این مقدار باید مبهمسازی (obscure) شود - دستور rclone obscure را ببینید (https://rclone.org/commands/rclone_obscure).
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_PCLOUD_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--pcloud-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PCLOUD_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
PikPak
PikPak یک فضای ذخیرهسازی ابری خصوصی است (https://mypikpak.com).
مسیرها بهصورت remote:path مشخص میشوند و میتوانند تا هر عمق دلخواهی باشند، مانند remote:directory/subdirectory.
پیکربندی (Configuration)
در اینجا نمونهای از ایجاد یک ریموت برای PikPak آورده شده است.
ابتدا اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n Enter name for new remote. name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / PikPak \ (pikpak) Storage> XX Option user. Pikpak username. Enter a value. user> USERNAME Option pass. Pikpak password. Choose an alternative below. y) Yes, type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password: Edit advanced config? y) Yes n) No (default) y/n> Configuration complete. Options: - type: pikpak - user: USERNAME - pass: *** ENCRYPTED *** - token: {"access_token":"eyJ...","token_type":"Bearer","refresh_token":"os...","expiry":"2023-01-26T18:54:32.170582647+09:00"} Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
PikPak زمانهای تغییر را روی اشیاء نگهداری میکند و هنگام بارگذاری اشیاء آنها را بهروزرسانی مینماید، اما از تغییرِ صرفِ زمان تغییر پشتیبانی نمیکند.
الگوریتم درهمسازی MD5 پشتیبانی میشود.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مخصوص pikpak (PikPak) آورده شده است.
--pikpak-user
نام کاربری Pikpak.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_PIKPAK_USER
- •
- نوع: string
- •
- اجباری: true
--pikpak-pass
گذرواژه Pikpak.
توجه: ورودی این گزینه باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_PIKPAK_PASS
- •
- نوع: string
- •
- اجباری: true
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مخصوص pikpak (PikPak) آورده شده است.
--pikpak-device-id
شناسه دستگاه مورد استفاده برای مجوزدهی (authorization).
ویژگیها:
- •
- پیکربندی: device_id
- •
- متغیر محیطی: RCLONE_PIKPAK_DEVICE_ID
- •
- نوع: string
- •
- اجباری: false
--pikpak-user-agent
عامل کاربر HTTP برای pikpak.
پیشفرض آن "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0" یا مقداری از "--pikpak-user-agent" است که در خط فرمان ارائه شده باشد.
ویژگیها:
- •
- پیکربندی: user_agent
- •
- متغیر محیطی: RCLONE_PIKPAK_USER_AGENT
- •
- نوع: string
- •
- پیشفرض: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0"
--pikpak-root-folder-id
شناسه پوشه ریشه. در حالت عادی خالی بگذارید.
این گزینه را پر کنید تا rclone از پوشهای غیر از ریشه بهعنوان نقطه آغاز خود استفاده کند.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_PIKPAK_ROOT_FOLDER_ID
- •
- نوع: string
- •
- اجباری: false.SS --pikpak-use-trash
انتقال فایلها به سطل زباله بهجای حذف دائمی آنها.
مقدار پیشفرض true است، یعنی فایلها به سطل زباله منتقل میشوند. برای حذف دائمی فایلها، بهجای آن از --pikpak-use-trash=false استفاده کنید.
ویژگیها:
- •
- پیکربندی: use_trash
- •
- متغیر محیطی: RCLONE_PIKPAK_USE_TRASH
- •
- نوع: bool
- •
- پیشفرض: true
--pikpak-trashed-only
فقط نمایش فایلهایی که در سطل زباله هستند.
این گزینه فایلهای موجود در سطل زباله را در ساختار دایرکتوری اصلی آنها نشان میدهد.
ویژگیها:
- •
- پیکربندی: trashed_only
- •
- متغیر محیطی: RCLONE_PIKPAK_TRASHED_ONLY
- •
- نوع: bool
- •
- پیشفرض: false
--pikpak-no-media-link
استفاده از پیوندهای اصلی فایل بهجای پیوندهای رسانهای.
این گزینه از بروز مشکلات ناشی از پیوندهای رسانهای نامعتبر جلوگیری میکند، اما ممکن است سرعت دانلود را کاهش دهد.
ویژگیها:
- •
- پیکربندی: no_media_link
- •
- متغیر محیطی: RCLONE_PIKPAK_NO_MEDIA_LINK
- •
- نوع: bool
- •
- پیشفرض: false
--pikpak-hash-memory-limit
فایلهای بزرگتر از این مقدار، در صورت نیاز به محاسبه هش (hash)، بر روی دیسک کَش خواهند شد.
ویژگیها:
- •
- پیکربندی: hash_memory_limit
- •
- متغیر محیطی: RCLONE_PIKPAK_HASH_MEMORY_LIMIT
- •
- نوع: SizeSuffix
- •
- پیشفرض: 10Mi
--pikpak-upload-cutoff
آستانه تغییر به بارگذاری تکهای (chunked upload).
هر فایلی بزرگتر از این مقدار، در قطعاتی به اندازه chunk_size بارگذاری خواهد شد. حداقل مقدار 0 و حداکثر آن 5 GiB است.
ویژگیها:
- •
- پیکربندی: upload_cutoff
- •
- متغیر محیطی: RCLONE_PIKPAK_UPLOAD_CUTOFF
- •
- نوع: SizeSuffix
- •
- پیشفرض: 200Mi
--pikpak-chunk-size
اندازه قطعات برای بارگذاریهای چندبخشی (multipart).
فایلهای حجیم در قطعاتی با این اندازه بارگذاری خواهند شد.
توجه داشته باشید که این اطلاعات در حافظه نگهداری میشوند و ممکن است حداکثر تا "--transfers" * "--pikpak-upload-concurrency" قطعه بهطور همزمان در حافظه قرار گیرد.
اگر فایلهای حجیم را از طریق اتصالات پرسرعت منتقل میکنید و حافظه کافی در اختیار دارید، افزایش این مقدار سرعت انتقال را بهبود میبخشد.
ابزار Rclone هنگام بارگذاری فایلهای بزرگی که اندازه آنها مشخص است، اندازه قطعات را بهطور خودکار افزایش میدهد تا تعداد قطعات زیر محدودیت ۱۰٬۰۰۰ باقی بماند.
افزایش اندازه قطعات، دقت آمار پیشرفت نمایشدادهشده با پرچم "-P" را کاهش میدهد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_PIKPAK_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 5Mi.SS --pikpak-upload-concurrency
همزمانی برای بارگذاریهای چندبخشی.
این مقدار، تعداد قطعاتی از یک فایل یکسان است که بهطور همزمان در بارگذاریهای چندبخشی آپلود میشوند.
توجه داشته باشید که قطعات در حافظه نگهداری میشوند و ممکن است تا "--transfers" * "--pikpak-upload-concurrency" قطعه بهطور همزمان در حافظه ذخیره شوند.
اگر تعداد کمی فایل حجیم را از طریق اتصالهای پرسرعت بارگذاری میکنید و این بارگذاریها بهطور کامل از پهنای باند شما استفاده نمیکنند، افزایش این مقدار ممکن است به افزایش سرعت انتقال کمک کند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_PIKPAK_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 4
--pikpak-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_PIKPAK_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot
--pikpak-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PIKPAK_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
دستورهای Backend
در این بخش دستورهای ویژهٔ backend مربوط به pikpak آمده است.
آنها را به این صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی میپذیرد.
برای اطلاعات بیشتر در مورد نحوهٔ ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورها را میتوان روی یک backend در حال اجرا با استفاده از دستور rc با عنوان backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
addurl
افزودن وظیفهٔ دانلود آفلاین برای url.
-
rclone backend addurl remote: [options] [<arguments>+]
این دستور یک وظیفهٔ دانلود آفلاین برای url اضافه میکند.
مثالهای کاربرد:
-
rclone backend addurl pikpak:dirpath url rclone backend addurl pikpak:dirpath url -o name=custom_filename.zip
دانلودها در 'dirpath' ذخیره خواهند شد. اگر 'dirpath' نامعتبر باشد، دانلود به پوشهٔ پیشفرض 'My Pack' بازمیگردد.
گزینهها:
- •
- "name": نام فایل سفارشی برای فایل دانلود شده..SS decompress
درخواست خارجسازی یک یا چند فایل از حالت فشرده در یک پوشه.
-
rclone backend decompress remote: [options] [<arguments>+]
این دستور درخواست خارج کردن فایل یا فایلهایی در یک پوشه از حالت فشرده را ارسال میکند.
مثالهای کاربرد:
-
rclone backend decompress pikpak:dirpath {filename} -o password=password rclone backend decompress pikpak:dirpath {filename} -o delete-src-file
یک آرگومان اختیاری 'filename' میتواند برای فایلی واقع در 'pikpak:dirpath' مشخص شود. میتوانید برای فایلهای محافظتشده با گذرواژه، '-o password=password' را مشخص کنید. همچنین، برای حذف فایلهای مبدأ پس از اتمام استخراج، '-o delete-src-file' را منتقل نمایید.
نتیجه:
-
{ "Decompressed": 17, "SourceDeleted": 0, "Errors": 0 }
محدودیتها (Limitations)
هشها ممکن است خالی باشند (Hashes may be empty)
سرویس PikPak از هش MD5 پشتیبانی میکند، اما گاهی اوقات بهویژه برای فایلهای بارگذاریشده توسط کاربر، مقدار آن خالی برگردانده میشود.
فایلهای حذفشده همچنان با trashed-only قابل مشاهده هستند (Deleted files still visible with trashed-only)
فایلهای حذفشده حتی پس از خالی کردن سطل زباله نیز همچنان با --pikpak-trashed-only قابل مشاهده خواهند بود. این مورد پس از چند روز برطرف میشود.
پیکسلدرین (Pixeldrain)
این بکاندی برای ویژگی سیستمفایل پریمیوم Pixeldrain است. این مورد با محصول رایگان اشتراکگذاری فایل pixeldrain تفاوت دارد. سیستمفایل نیازمند یک اشتراک Pro یا طرح اعتباری (Prepaid) است. اطلاعات بیشتر درباره اشتراکها در https://pixeldrain.com/#pro.
نمای کلی از ویژگیها و محدودیتهای سیستمفایل در راهنمای سیستمفایل (https://pixeldrain.com/filesystem) در pixeldrain موجود است.
استفاده با حساب کاربری (Usage with account)
برای استفاده از سیستمفایل شخصی به یک حساب کاربری pixeldrain (https://pixeldrain.com/register) و طرح اعتباری (Prepaid) یا یکی از اشتراکهای مبتنی بر Patreon نیاز خواهید داشت. پس از ثبتنام و تهیه اشتراک، سیستمفایل شخصی شما در این پیوند در دسترس خواهد بود: https://pixeldrain.com/d/me.
به صفحه کلیدهای API (https://pixeldrain.com/user/api_keys) در حساب کاربری خود رفته و یک کلید API جدید برای rclone ایجاد کنید. سپس rclone config را اجرا کرده و از آن کلید API برای ساخت یک بکاند جدید استفاده نمایید.
مثال:
-
No remotes found, make a new one\? n) New remote d) Delete remote c) Copy remote s) Set configuration password q) Quit config n/d/c/s/q> n Enter name for new remote. name> pixeldrainfs Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. ... XX / Pixeldrain Filesystem \ (pixeldrain) ... Storage> pixeldrain Option api_key. API key for your pixeldrain account. Found on https://pixeldrain.com/user/api_keys. Enter a value. Press Enter to leave empty. api_key> b1bb1e81-9b7b-406b-986a-c9b20be76e15 Option directory_id. Root of the filesystem to use. Set to 'me' to use your personal filesystem. Set to a shared directory ID to use a shared directory. Enter a string value. Press Enter for the default (me). directory_id> Edit advanced config? y) Yes n) No (default) y/n> Configuration complete. Options: - type: pixeldrain - api_key: b1bb1e81-9b7b-406b-986a-c9b20be76e15 Keep this "pixeldrainfs" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> Current remotes: Name Type ==== ==== pixeldrainfs pixeldrain e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
امکان دسترسی فقطخواندنی به دایرکتوریهای همرسانیشده بهصورت عمومی از طریق rclone وجود دارد. برای این کار تنها به یک شناسه دایرکتوری نیاز دارید. شناسه دایرکتوری را میتوان در نشانی وب (URL) یک دایرکتوری همرسانیشده پیدا کرد؛ این نشانی شبیه https://pixeldrain.com/d/abcd1234 خواهد بود که در آن abcd1234 شناسه دایرکتوری است. شناسههای دایرکتوری در سیستم فایل خودتان را نیز میتوان با دستور lsf فهرست کرد:
rclone lsf Pixeldrain: --dirs-only -Fpi
این دستور دایرکتوریهای موجود در دایرکتوری خانگی Pixeldrain شما و شناسههای عمومی آنها را نمایش میدهد.
این شناسه دایرکتوری را در پیکربندی rclone وارد کنید تا بتوانید به دایرکتوری دسترسی داشته باشید.
گزینههای استاندارد
در اینجا گزینههای استاندارد ویژه pixeldrain (سیستم فایل Pixeldrain) آورده شده است.
--pixeldrain-api-key
کلید API برای حساب کاربری pixeldrain شما. قابل دریافت از https://pixeldrain.com/user/api_keys.
ویژگیها:
- •
- پیکربندی: api_key
- •
- متغیر محیطی: RCLONE_PIXELDRAIN_API_KEY
- •
- نوع: string
- •
- الزامی: false
--pixeldrain-root-folder-id
ریشه سیستم فایل مورد استفاده.
برای استفاده از سیستم فایل شخصی خود، آن را روی 'me' تنظیم کنید. برای استفاده از یک دایرکتوری همرسانیشده، آن را روی شناسه دایرکتوری همرسانیشده تنظیم کنید.
ویژگیها:
- •
- پیکربندی: root_folder_id
- •
- متغیر محیطی: RCLONE_PIXELDRAIN_ROOT_FOLDER_ID
- •
- نوع: string
- •
- پیشفرض: "me"
گزینههای پیشرفته
در اینجا گزینههای پیشرفته ویژه pixeldrain (سیستم فایل Pixeldrain) آورده شده است.
--pixeldrain-api-url
نقطه پایانی API برای برقراری اتصال. در بیشتر موارد بهتر است این مقدار روی پیشفرض باقی بماند. تغییر این مقدار تنها برای اهداف آزمایشی در نظر گرفته شده است.
ویژگیها:
- •
- پیکربندی: api_url
- •
- متغیر محیطی: RCLONE_PIXELDRAIN_API_URL
- •
- نوع: string
- •
- پیشفرض: "https://pixeldrain.com/api"
--pixeldrain-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PIXELDRAIN_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false.SS فراداده (Metadata)
Pixeldrain از حالتهای فایل (file modes) و زمانهای ایجاد پشتیبانی میکند.
در ادامه موارد ممکن فرادادهٔ سیستم برای backend مربوط به pixeldrain آمده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| btime | زمان ایجاد فایل (ساخت) | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| mode | حالت فایل | اکتال، سبک یونیکس | 755 | N |
| mtime | زمان آخرین تغییر | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
برای اطلاعات بیشتر، مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید.
premiumize.me
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند تا هر عمقی که نیاز است ادامه یابند، مانند remote:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه برای premiumize.me (https://premiumize.me) شامل دریافت یک توکن از premiumize.me است که باید آن را در مرورگر خود انجام دهید. دستور rclone config شما را در این فرایند راهنمایی میکند.
در اینجا مثالی از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / premiumize.me \ "premiumizeme" [snip] Storage> premiumizeme ** See help for premiumizeme backend at: https://rclone.org/premiumizeme ** Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code Configuration complete. Options: - type: premiumizeme - token: {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2029-08-07T18:44:15.548915378+01:00"} Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d>
برای اطلاع از نحوه راهاندازی آن روی ماشینی بدون مرورگر وب متصل به اینترنت، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید.
توجه داشته باشید که rclone یک وبسرور روی ماشین محلی شما اجرا میکند تا توکن بازگرداندهشده از premiumize.me را دریافت کند. این وبسرور تنها از لحظه باز کردن مرورگر تا لحظه دریافت کد تأیید اجرا میشود. این سرور روی http://127.0.0.1:53682 فعال است و در صورت استفاده از فایروال میزبان، ممکن است لازم باشد آن را موقتاً باز کنید.
پس از انجام پیکربندی، میتوانید از rclone به این صورت استفاده کنید (نام remote را با نامی که به ریموت خود دادهاید جایگزین کنید):
فهرست کردن دایرکتوریها در بالاترین سطح premiumize.me شما
-
rclone lsd remote:
فهرست کردن تمام فایلها در premiumize.me شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در premiumize.me
-
rclone copy /home/source remote:backup
سرویس premiumize.me از زمانهای تغییر یا هشها پشتیبانی نمیکند، بنابراین همگامسازی بهطور پیشفرض به بررسی --size-only تغییر مییابد. توجه داشته باشید که استفاده از --update کار خواهد کرد.
نویسههای محدودشده نام فایل
علاوه بر مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
| " | 0x22 | " |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که نمیتوان از آنها در رشتههای JSON استفاده کرد.
گزینههای استاندارد
در اینجا گزینههای استاندارد مخصوص premiumizeme (premiumize.me) آمده است.
--premiumizeme-client-id
شناسه کلاینت OAuth.
در حالت معمول خالی بگذارید.
ویژگیها:
- •
- Config: client_id
- •
- Env Var: RCLONE_PREMIUMIZEME_CLIENT_ID
- •
- Type: string
- •
- Required: false
--premiumizeme-client-secret
راز کلاینت OAuth.
در حالت معمول خالی بگذارید.
ویژگیها:
- •
- Config: client_secret
- •
- Env Var: RCLONE_PREMIUMIZEME_CLIENT_SECRET
- •
- Type: string
- •
- Required: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مخصوص premiumizeme (premiumize.me) آمده است.
--premiumizeme-token
توکن دسترسی OAuth در قالب یک JSON blob.
ویژگیها:
- •
- Config: token
- •
- Env Var: RCLONE_PREMIUMIZEME_TOKEN
- •
- Type: string
- •
- Required: false.SS --premiumizeme-auth-url
نشانی وب (URL) سرور احراز هویت.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_PREMIUMIZEME_AUTH_URL
- •
- نوع: string
- •
- ضروری: false
--premiumizeme-token-url
نشانی وب (URL) سرور توکن.
برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_PREMIUMIZEME_TOKEN_URL
- •
- نوع: string
- •
- ضروری: false
--premiumizeme-client-credentials
استفاده از جریان OAuth نوع client credentials.
این گزینه از OAUTH2 client Credentials Flow همانطور که در RFC 6749 شرح داده شده است استفاده خواهد کرد.
توجه داشته باشید که این گزینه توسط همه بکاندها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_PREMIUMIZEME_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--premiumizeme-encoding
کدگذاری (encoding) برای بکاند.
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_PREMIUMIZEME_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
--premiumizeme-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PREMIUMIZEME_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
محدودیتها (Limitations)
توجه داشته باشید که premiumize.me به بزرگی و کوچکی حروف حساس نیست (case insensitive)، بنابراین نمیتوانید فایلی به نام "Hello.doc" و فایل دیگری به نام "hello.doc" داشته باشید.
نام فایلها در premiumize.me نمیتواند شامل نویسههای \ یا " باشد. rclone این نویسهها را از و به معادلهای یونیکد همشکل \ و " نگاشت میکند.
سرویس premiumize.me تنها از نام فایلهایی با حداکثر طول ۲۵۵ نویسه پشتیبانی میکند..SH "پروتون درایو (Proton Drive)"
پروتون درایو (https://proton.me/drive) یک گاوصندوق سوئیسی با رمزنگاری سرتاسری برای فایلهای شماست که از دادههایتان محافظت میکند.
این یک backend در rclone برای Proton Drive است که از قابلیتهای انتقال فایل Proton Drive با استفاده از همان رمزنگاری سمت کلاینت پشتیبانی میکند.
با توجه به اینکه Proton Drive مستندات API خود را منتشر نمیکند، این backend با نهایت تلاش از طریق خواندن کد منبع باز کلاینت و بررسی ترافیک Proton Drive در مرورگر پیادهسازی شده است.
توجه: این backend در حال حاضر در مرحلهٔ آزمایشی (Beta) است. تصور میشود که عملکرد آن صحیح بوده و تمام آزمونهای یکپارچگی را با موفقیت پشت سر میگذارد. با این حال، پروتکل Proton Drive در طول زمان تکامل یافته و ممکن است حسابهایی وجود داشته باشند که با آن سازگار نباشند. در صورت مشاهدهٔ هرگونه ناسازگاری، لطفاً آن را در انجمن rclone (https://forum.rclone.org) گزارش دهید.
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق مورد نیازی مشخص شوند، مانند: remote:directory/subdirectory.
پیکربندیها (Configurations)
در اینجا مثالی از نحوهٔ ساخت یک ریموت به نام remote آورده شده است. ابتدا دستور زیر را اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Proton Drive \ "protondrive" [snip] Storage> protondrive User name user> you@protonmail.com Password. y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> y Enter the password: password: Confirm the password: password: Option 2fa. 2FA code (if the account requires one) Enter a value. Press Enter to leave empty. 2fa> 123456 Remote config Configuration complete. Options: - type: protondrive - user: you@protonmail.com - pass: *** ENCRYPTED *** Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
نکته: کلیدهای رمزنگاری Proton Drive باید پیشتر پس از یک ورود عادی از طریق مرورگر ایجاد شده باشند؛ در غیر این صورت، تلاش برای استفاده از اطلاعات ورود در rclone با شکست مواجه خواهد شد.
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (نام remote را با نامی که به ریموت خود اختصاص دادهاید جایگزین نمایید):
فهرست کردن دایرکتوریها در بالاترین سطح Proton Drive شما:
-
rclone lsd remote:
فهرست کردن تمام فایلها در Proton Drive شما:
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوریای به نام backup در Proton Drive:
-
rclone copy /home/source remote:backup
ابزار Proton Drive Bridge هنوز از بهروزرسانی زمانهای تغییر پشتیبانی نمیکند.
الگوریتم هش SHA1 پشتیبانی میشود.
نویسههای محدودشده نام فایل
بایتهای نامعتبر UTF-8 جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، همچنین فاصلههای (space) ابتدا و انتها حذف میشوند (مرجع کد (https://github.com/ProtonMail/WebClients/blob/b4eba99d241af4fdae06ff7138bd651a40ef5d3c/applications/drive/src/app/store/_links/validation.ts#L51)).
فایلهای تکراری
سرویس Proton Drive نمیتواند دو فایل با نام و مسیر کاملاً یکسان داشته باشد. در صورت بروز تداخل، بسته به پیکربندی پیشرفته، ممکن است فایل بازنویسی شود یا نشود.
https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password)'>گذرواژه صندوق پستی (https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password)
لطفاً گذرواژه صندوق پستی خود را در بخش پیکربندی پیشرفته تنظیم کنید.
نهانسازی (Caching)
حافظه نهان (کش) در حال حاضر برای حالتی طراحی شده است که rclone تنها نمونهای باشد که عملیات را روی نقطه اتصال (mount point) انجام میدهد. سیستم رویداد، که همان سیستم API پروتون برای آگاهی از تغییرات ایجادشده در درایو است، هنوز پیادهسازی نشده است؛ بنابراین بهروزرسانیهای کلاینتهای دیگر در حافظه نهان منعکس نخواهند شد. از این رو، اگر کلاینتهای همروند به یک نقطه اتصال مشترک دسترسی داشته باشند، ممکن است در نهانسازی دادههای قدیمی و نامعتبر (stale data) مشکل ایجاد شود.
گزینههای استاندارد
در اینجا گزینههای استاندارد مخصوص protondrive (Proton Drive) آورده شده است.
--protondrive-username
نام کاربری حساب proton شما
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_USERNAME
- •
- نوع: string
- •
- الزامی: true
--protondrive-password
گذرواژه حساب proton شما.
توجه: ورودی این گزینه باید مبهمسازی شود - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_PASSWORD
- •
- نوع: string
- •
- الزامی: true
--protondrive-2fa
کد 2FA
این مقدار میتواند با --protondrive-2fa=000000 نیز مشخص شود
کد 2FA حساب proton drive شما، در صورتی که حساب با احراز هویت دو مرحلهای پیکربندی شده باشد
ویژگیها:
- •
- پیکربندی: 2fa
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_2FA
- •
- نوع: string
- •
- الزامی: false
--protondrive-otp-secret-key
کلید مخفی OTP
این مقدار میتواند با --protondrive-otp-secret-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 نیز مشخص شود
کلید مخفی OTP حساب proton drive شما، در صورتی که حساب با احراز هویت دو مرحلهای پیکربندی شده باشد
توجه: ورودی این گزینه باید مبهمسازی شود - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: otp_secret_key
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_OTP_SECRET_KEY
- •
- نوع: string
- •
- الزامی: false.SS گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص protondrive (Proton Drive) آمده است.
--protondrive-mailbox-password
گذرواژه صندوق پستی (mailbox password) حساب پروتون دوگذرواژهای شما.
برای کسب اطلاعات بیشتر درباره گذرواژه صندوق پستی، لطفاً مقاله رسمی پایگاه دانش زیر را بررسی کنید: https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password
نکته: ورودی این گزینه باید مبهمسازی شود - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: mailbox_password
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_MAILBOX_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--protondrive-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر، بخش کدگذاری در نمای کلی (https://rclone.org/overview#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LeftSpace,RightSpace,InvalidUtf8,Dot
--protondrive-original-file-size
بازگرداندن اندازه فایل پیش از رمزنگاری
اندازه فایل رمزنگاریشده با اندازه فایل اصلی متفاوت (بزرگتر) خواهد بود. مگر اینکه دلیلی برای بازگرداندن اندازه فایل پس از انجام رمزنگاری وجود داشته باشد، در غیر این صورت این گزینه را روی true تنظیم کنید، زیرا قابلیتهایی مانند Open() که باید اندازه محتوای اصلی به آنها داده شود، به درستی عمل نخواهند کرد.
ویژگیها:
- •
- پیکربندی: original_file_size
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_ORIGINAL_FILE_SIZE
- •
- نوع: bool
- •
- پیشفرض: true
--protondrive-app-version
رشته نسخه برنامه
-
رشته نسخه برنامه، کلاینتی را که در حال حاضر درخواست API را ارسال میکند، مشخص میسازد. یکپارچهسازیهای شخصثالث Proton Drive باید از قالب external-drive-<project>@<version> استفاده کنند. اگر این گزینه خالی رها شود، rclone مقداری سازگار را از نسخه خودش استخراج میکند. این مقدار با هر درخواست API ارسال میشود؛ خود این گزینه اختیاری است.
ویژگیها:
- •
- پیکربندی: app_version
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_APP_VERSION
- •
- نوع: string
- •
- الزامی: false.SS --protondrive-replace-existing-draft
ایجاد یک بازبینی (revision) جدید هنگام تشخیص تداخل نام فایل
هنگامی که بارگذاری یک فایل لغو شود یا پیش از اتمام با شکست مواجه گردد، یک پیشنویس (draft) ایجاد خواهد شد و بارگذاری بعدی همان فایل در همان مکان، به عنوان یک تداخل گزارش میشود.
این مقدار میتواند با استفاده از --protondrive-replace-existing-draft=true نیز تنظیم شود.
اگر این گزینه روی true تنظیم شود، پیشنویس جایگزین شده و سپس عملیات بارگذاری از سر گرفته خواهد شد. اگر کلاینتهای دیگری نیز به طور همزمان در حال بارگذاری در همان مکان فایل باشند، رفتار برنامه در حال حاضر نامشخص است. برای آزمونهای یکپارچهسازی (integration tests) باید مقدار آن روی true تنظیم شود. اگر این گزینه روی false تنظیم گردد، خطای "a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt" بازگردانده شده و هیچ بارگذاری انجام نخواهد شد.
ویژگیها:
- •
- پیکربندی: replace_existing_draft
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_REPLACE_EXISTING_DRAFT
- •
- نوع: bool
- •
- پیشفرض: false
--protondrive-enable-caching
کَش کردن فرادادههای (metadata) فایلها و پوشهها برای کاهش فراخوانیهای API
توجه: اگر ProtonDrive را به عنوان یک VFS سوار (mount) میکنید، لطفاً این قابلیت را غیرفعال کنید، زیرا پیادهسازی فعلی در صورت ایجاد تغییرات خارجی، کَش را بهروزرسانی یا پاک نمیکند.
فایلها و پوشهها در ProtonDrive به صورت پیوندهایی همراه با دستهکلیدها (keyrings) نشان داده میشوند که برای بهبود عملکرد و کاهش بار روی سرور API، میتوان آنها را کَش کرد.
کَش در حال حاضر برای حالتی در نظر گرفته شده که rclone تنها نمونهای باشد که روی نقطه اتصال (mount point) عملیات انجام میدهد. سامانه رویداد (event system)، که سامانه API پروتون برای نمایش تغییرات رخداده در درایو است، هنوز پیادهسازی نشده است؛ بنابراین بهروزرسانیهای ارسالشده از سوی سایر کلاینتها در کَش اعمال نخواهند شد. از این رو، اگر کلاینتهای همزمان به یک نقطه اتصال دسترسی داشته باشند، ممکن است در اثر استفاده از دادههای کهنه (stale) در کَش با مشکل مواجه شویم.
ویژگیها:
- •
- پیکربندی: enable_caching
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_ENABLE_CACHING
- •
- نوع: bool
- •
- پیشفرض: true
--protondrive-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
محدودیتها (Limitations)
این backend از Proton-API-Bridge (https://github.com/henrybear327/Proton-API-Bridge) استفاده میکند که بر پایه go-proton-api (https://github.com/henrybear327/go-proton-api)، یک انشعاب از مخزن رسمی (https://github.com/ProtonMail/go-proton-api) توسعه یافته است.
هیچ مستندات رسمی برای API از سوی Proton Drive ارائه نشده است. اما به لطف متنباز شدن proton-go-api (https://github.com/ProtonMail/go-proton-api) و پایگاهکد کلاینتهای تحت وب، iOS و Android توسط Proton، نیازی نیست که صرفاً با بررسی ترافیک کلاینت وب، APIها را به طور کامل مهندسی معکوس کنیم!
کتابخانه proton-go-api (https://github.com/ProtonMail/go-proton-api) ساختارهای پایهای فراخوانیهای API و مدیریت خطا، مانند عقبنشینی نمایی (exponential back-off) خطای 429 را فراهم میکند، اما اساساً تنها یک رابط حداقلی (barebone) برای Proton API به شمار میرود. به عنوان مثال، قابلیتهای رمزگذاری و رمزگشایی فایلهای Proton Drive در این کتابخانه ارائه نشده است.
پروژه Proton-API-Bridge تلاش میکند این کمبود را برطرف کند تا بتوان rclone را به سرعت بر بستر آن توسعه داد. این پایگاهکد وظایف پیچیده قبل و بعد از فراخوانی Proton APIها، به ویژه طرح رمزگذاری پیچیده را مدیریت میکند و به توسعهدهندگان اجازه میدهد تا ویژگیهای مورد نیاز سایر نرمافزارها را بر پایه آن پیادهسازی کنند. از آنجا که مستندات رسمی در دسترس نیست، احتمالاً خطاهای متعددی در این کتابخانه وجود دارد..SH put.io
مسیرها به صورت remote:path مشخص میشوند.
مسیرهای put.io میتوانند به هر عمق دلخواهی باشند، مانند: remote:directory/subdirectory.
پیکربندی (Configuration)
راهاندازی اولیه برای put.io نیازمند دریافت یک توکن (token) از put.io است که باید آن را در مرورگر وب خود انجام دهید. دستور rclone config شما را در این مراحل راهنمایی میکند.
در اینجا مثالی از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> putio Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Put.io \ "putio" [snip] Storage> putio ** See help for putio backend at: https://rclone.org/putio ** Remote config Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code... Got code -------------------- [putio] type = putio token = {"access_token":"XXXXXXXX","expiry":"0001-01-01T00:00:00Z"} -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== putio putio e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
برای چگونگی راهاندازی آن روی دستگاهی بدون دسترسی به مرورگر وب متصل به اینترنت، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید.
توجه داشته باشید که در صورت استفاده از مرورگر وب برای احراز هویت خودکار، rclone یک وبسرور روی سیستم محلی شما اجرا میکند تا توکن بازگردانده شده از put.io را جمعآوری کند. این سرور تنها از لحظه باز شدن مرورگر تا زمان دریافت کد تأیید اجرا میشود. این سرویس روی http://127.0.0.1:53682 فعال است و در صورت فعال بودن فایروال میزبان، ممکن است لازم باشد موقتاً آن را باز کنید یا از حالت دستی استفاده نمایید.
سپس میتوانید به شکل زیر از آن استفاده کنید:
فهرست کردن دایرکتوریها در بالاترین سطح put.io شما:
-
rclone lsd remote:
فهرست کردن تمام فایلها در put.io شما:
-
rclone ls remote:
کپی کردن یک دایرکتوری محلی به یک دایرکتوری در put.io به نام backup:
-
rclone copy /home/source remote:backup
علاوه بر مجموعه نویسههای محدودشدهٔ پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
گزینههای استاندارد
در اینجا گزینههای استانداردِ مختص putio (Put.io) آورده شده است.
--putio-client-id
شناسه کلاینت OAuth.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_id
- •
- متغیر محیطی: RCLONE_PUTIO_CLIENT_ID
- •
- نوع: string
- •
- الزامی: false
--putio-client-secret
کلید محرمانه کلاینت OAuth.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: client_secret
- •
- متغیر محیطی: RCLONE_PUTIO_CLIENT_SECRET
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفتهٔ مختص putio (Put.io) آورده شده است.
--putio-token
توکن دسترسی OAuth در قالب یک بلوک داده JSON (JSON blob).
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_PUTIO_TOKEN
- •
- نوع: string
- •
- الزامی: false
--putio-auth-url
نشانی URL سرور احراز هویت.
جهت استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: auth_url
- •
- متغیر محیطی: RCLONE_PUTIO_AUTH_URL
- •
- نوع: string
- •
- الزامی: false.SS --putio-token-url
آدرس اینترنتی (URL) سرور توکن.
برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: token_url
- •
- متغیر محیطی: RCLONE_PUTIO_TOKEN_URL
- •
- نوع: string
- •
- ضروری: false
--putio-client-credentials
استفاده از جریان اعتبارسنجی کلاینت (OAuth flow).
این گزینه از OAUTH2 client Credentials Flow آنطور که در RFC 6749 شرح داده شده است، استفاده میکند.
توجه داشته باشید که این گزینه توسط همه backendها پشتیبانی نمیشود.
ویژگیها:
- •
- پیکربندی: client_credentials
- •
- متغیر محیطی: RCLONE_PUTIO_CLIENT_CREDENTIALS
- •
- نوع: bool
- •
- پیشفرض: false
--putio-encoding
کدگذاری (encoding) برای backend.
برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_PUTIO_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
--putio-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PUTIO_DESCRIPTION
- •
- نوع: string
- •
- ضروری: false
محدودیتها (Limitations)
سرویس put.io دارای محدودیت نرخ درخواست (rate limiting) است. هنگامی که به یک محدودیت برخورد کنید، rclone پس از انتظار به میزان زمان درخواستی توسط سرور، بهطور خودکار تلاش مجدد میکند.
اگر میخواهید هرگز با این محدودیتها مواجه نشوید، میتوانید از پرچم --tpslimit با یک مقدار کم استفاده کنید. توجه داشته باشید که محدودیتهای اعمالشده ممکن است برای عملیات مختلف متفاوت باشند، و ممکن است در طول زمان تغییر کنند.
Proton Drive
سرویس Proton Drive (https://proton.me/drive) یک گاوصندوق ابری سوئیسی با رمزگذاری سرتاسری (end-to-end encrypted) برای فایلهای شماست که از دادههایتان محافظت میکند.
این یک backend در rclone برای Proton Drive است که از قابلیتهای انتقال فایل Proton Drive با بهرهگیری از همان رمزگذاری سمت کلاینت پشتیبانی میکند.
با توجه به این که Proton Drive مستندات API خود را منتشر نمیکند، این backend با نهایت تلاش از طریق بررسی کد منبعِ متنباز کلاینت و تحلیل ترافیک Proton Drive در مرورگر پیادهسازی شده است.
توجه: این backend در حال حاضر در وضعیت آزمایشی (Beta) قرار دارد. عملکرد آن معتبر ارزیابی شده و تمامی آزمونهای یکپارچهسازی را با موفقیت میگذراند. با این حال، پروتکل Proton Drive در طول زمان تغییر یافته است و ممکن است حسابهایی وجود داشته باشند که با آن سازگار نباشند. لطفاً در صورت مشاهده هرگونه ناسازگاری، موضوع را در تالار گفتگوی rclone (https://forum.rclone.org) مطرح کنید.
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند تا هر عمق مورد نیازی مشخص شوند، به عنوان مثال: remote:directory/subdirectory..SS پیکربندیها
در اینجا مثالی از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا دستور زیر را اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرآیند راهاندازی تعاملی هدایت میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Proton Drive \ "protondrive" [snip] Storage> protondrive User name user> you@protonmail.com Password. y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> y Enter the password: password: Confirm the password: password: Option 2fa. 2FA code (if the account requires one) Enter a value. Press Enter to leave empty. 2fa> 123456 Remote config Configuration complete. Options: - type: protondrive - user: you@protonmail.com - pass: *** ENCRYPTED *** Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
نکته: کلیدهای رمزنگاری Proton Drive باید از قبل و از طریق یک ورود عادی با مرورگر ایجاد شده باشند، در غیر این صورت تلاش برای استفاده از اطلاعات کاربری در rclone ناموفق خواهد بود.
پس از پیکربندی، میتوانید از rclone به شکل زیر استفاده کنید (remote را با نامی که برای ریموت خود تعیین کردهاید جایگزین کنید):
فهرست کردن دایرکتوریها در بالاترین سطح Proton Drive شما
-
rclone lsd remote:
فهرست کردن تمامی فایلها در Proton Drive شما
-
rclone ls remote:
برای کپی کردن یک دایرکتوری محلی به دایرکتوری با نام backup در Proton Drive
-
rclone copy /home/source remote:backup
پل Proton Drive هنوز از بهروزرسانی زمانهای تغییر پشتیبانی نمیکند.
الگوریتم هش SHA1 پشتیبانی میشود.
نویسههای محدودشده در نام فایل
بایتهای نامعتبر UTF-8 جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، همچنین فاصلههای ابتدا و انتها حذف میشوند (ارجاع به کد (https://github.com/ProtonMail/WebClients/blob/b4eba99d241af4fdae06ff7138bd651a40ef5d3c/applications/drive/src/app/store/_links/validation.ts#L51)).
فایلهای تکراری
در Proton Drive نمیتوان دو فایل با نام و مسیر دقیقاً یکسان داشت. در صورت بروز تداخل، بسته به پیکربندی پیشرفته، ممکن است فایل بازنویسی شود یا نشود.
https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password)'>گذرواژهٔ صندوق پستی (https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password)
لطفاً گذرواژهٔ صندوق پستی (mailbox password) خود را در بخش پیکربندی پیشرفته تنظیم کنید.
حافظهپنهانسازی (Caching)
حافظهٔ پنهان در حال حاضر برای شرایطی طراحی شده است که rclone تنها نمونهٔ در حال انجام عملیات روی نقطهٔ اتصال (mount point) باشد. سیستم رویدادها (event system)، که همان سیستم رابط برنامهنویسی (API) پروتون برای آگاهی از تغییرات ایجادشده روی درایو است، هنوز پیادهسازی نشده است؛ بنابراین تغییرات اعمالشده از سوی دیگر کلاینتها در حافظهٔ پنهان منعکس نخواهد شد. از این رو، اگر کلاینتهای همزمان به یک نقطهٔ اتصال مشترک دسترسی داشته باشند، ممکن است با مشکل ذخیرهسازی دادههای قدیمی (stale) در حافظهٔ پنهان مواجه شویم.
گزینههای استاندارد
در اینجا گزینههای استاندارد مربوط به protondrive (Proton Drive) آورده شده است.
--protondrive-username
نام کاربری حساب پروتون شما.
ویژگیها:
- •
- Config: username
- •
- Env Var: RCLONE_PROTONDRIVE_USERNAME
- •
- Type: string
- •
- Required: true
--protondrive-password
گذرواژهٔ حساب پروتون شما.
نکته: ورودی این گزینه باید مبهمسازی شود - مستندات rclone obscure را ببینید (https://rclone.org/commands/rclone_obscure).
ویژگیها:
- •
- Config: password
- •
- Env Var: RCLONE_PROTONDRIVE_PASSWORD
- •
- Type: string
- •
- Required: true
--protondrive-2fa
کد اعتبارسنجی دومرحلهای (2FA).
این مقدار میتواند با استفاده از --protondrive-2fa=000000 نیز تعیین شود.
کد 2FA حساب پروتون درایو شما در صورتی که احراز هویت دومرحلهای برای حساب فعال شده باشد.
ویژگیها:
- •
- Config: 2fa
- •
- Env Var: RCLONE_PROTONDRIVE_2FA
- •
- Type: string
- •
- Required: false
--protondrive-otp-secret-key
کلید مخفی OTP.
این مقدار میتواند با استفاده از --protondrive-otp-secret-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 نیز تعیین شود.
کلید مخفی OTP حساب پروتون درایو شما در صورتی که حساب با احراز هویت دومرحلهای تنظیم شده باشد.
نکته: ورودی این گزینه باید مبهمسازی شود - مستندات rclone obscure را ببینید (https://rclone.org/commands/rclone_obscure).
ویژگیها:
- •
- Config: otp_secret_key
- •
- Env Var: RCLONE_PROTONDRIVE_OTP_SECRET_KEY
- •
- Type: string
- •
- Required: false.SS گزینههای پیشرفته
در اینجا گزینههای پیشرفتهٔ ویژهٔ protondrive (Proton Drive) آورده شدهاند.
--protondrive-mailbox-password
گذرواژهٔ صندوق پستیِ حساب Proton دوگذرواژهای شما.
برای اطلاعات بیشتر در رابطه با گذرواژهٔ صندوق پستی، لطفاً مقالهٔ پایگاه دانش رسمی زیر را بررسی کنید: https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password
توجه: ورودی این مقدار باید مبهمسازی شود - rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: mailbox_password
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_MAILBOX_PASSWORD
- •
- نوع: string
- •
- الزامی: false
--protondrive-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر بخش کدگذاری در بررسی اجمالی (https://rclone.org/overview/#encoding) را ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LeftSpace,RightSpace,InvalidUtf8,Dot
--protondrive-original-file-size
بازگرداندن اندازهٔ فایل پیش از رمزگذاری
اندازهٔ فایل رمزگذاریشده با اندازهٔ فایل اصلی متفاوت (بزرگتر) خواهد بود. مگر اینکه دلیلی برای بازگرداندن اندازهٔ فایل پس از انجام رمزگذاری وجود داشته باشد، در غیر این صورت این گزینه را روی true تنظیم کنید؛ چرا که قابلیتهایی مانند Open() که نیازمند دریافت اندازهٔ محتوای اصلی هستند، بهدرستی عمل نخواهند کرد
ویژگیها:
- •
- پیکربندی: original_file_size
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_ORIGINAL_FILE_SIZE
- •
- نوع: bool
- •
- پیشفرض: true
--protondrive-app-version
رشتهٔ نگارش برنامه
-
رشتهٔ نگارش برنامه، کلاینتی را که در حال حاضر درخواست API را ارسال میکند شناسایی مینماید. یکپارچهسازیهای شخص ثالث با Proton Drive باید از قالب external-drive-<project>@<version> استفاده کنند. اگر این گزینه خالی رها شود، rclone مقداری سازگار را از نگارش خود مشتق میکند. این مقدار با هر درخواست API ارسال میشود؛ خود این گزینه اختیاری است.
ویژگیها:
- •
- پیکربندی: app_version
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_APP_VERSION
- •
- نوع: string
- •
- الزامی: false.SS --protondrive-replace-existing-draft
ایجاد یک بازبینی (revision) جدید هنگام تشخیص تداخل نام فایل
هنگامی که بارگذاری یک فایل پیش از اتمام لغو شده یا با شکست مواجه شود، یک پیشنویس (draft) ایجاد میشود و بارگذاری بعدی همان فایل در همان مکان، به عنوان تداخل گزارش خواهد شد.
این مقدار میتواند با --protondrive-replace-existing-draft=true نیز تنظیم شود.
اگر این گزینه بر روی true تنظیم شود، پیشنویس جایگزین شده و سپس عملیات بارگذاری مجدداً آغاز میشود. اگر کلاینتهای دیگری نیز همزمان در همان مکان فایل در حال بارگذاری باشند، رفتار آن در حال حاضر نامشخص است. برای آزمونهای یکپارچهسازی (integration tests) باید روی true تنظیم شود. اگر این گزینه روی false تنظیم شود، خطای "a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt" بازگردانده شده و هیچ بارگذاریای انجام نخواهد شد.
ویژگیها:
- •
- پیکربندی: replace_existing_draft
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_REPLACE_EXISTING_DRAFT
- •
- نوع: bool
- •
- پیشفرض: false
--protondrive-enable-caching
فرادادههای (metadata) فایلها و پوشهها را برای کاهش فراخوانیهای API کَش میکند
توجه: اگر ProtonDrive را به عنوان یک VFS سوار (mount) میکنید، لطفاً این قابلیت را غیرفعال کنید، زیرا پیادهسازی فعلی هنگام ایجاد تغییرات خارجی، کَش را بهروزرسانی یا پاک نمیکند.
فایلها و پوشهها در ProtonDrive به صورت پیوندهایی با دستهکلیدها (keyrings) نشان داده میشوند که میتوان برای بهبود کارایی و کاهش بار روی سرور API، آنها را کَش کرد.
این کَش در حال حاضر برای حالتی ساخته شده است که rclone تنها نمونهای باشد که روی نقطه اتصال (mount point) عملیات انجام میدهد. سیستم رویداد (event system) که سازوکار Proton API برای نمایش تغییرات در درایو است، هنوز پیادهسازی نشده است؛ بنابراین بهروزرسانیهای کلاینتهای دیگر در کَش بازتاب نخواهند یافت. از این رو، اگر کلاینتهای همروند به طور همزمان به همان نقطه اتصال دسترسی داشته باشند، ممکن است با مشکل کَش شدن دادههای کهنه (stale) مواجه شویم.
ویژگیها:
- •
- پیکربندی: enable_caching
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_ENABLE_CACHING
- •
- نوع: bool
- •
- پیشفرض: true
--protondrive-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_PROTONDRIVE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
این بکاند از Proton-API-Bridge (https://github.com/henrybear327/Proton-API-Bridge) استفاده میکند که بر پایه go-proton-api (https://github.com/henrybear327/go-proton-api)، انشعابی از مخزن رسمی (https://github.com/ProtonMail/go-proton-api) است.
هیچ مستندات رسمی برای API از سوی Proton Drive ارائه نشده است. اما به لطف متنباز شدن proton-go-api (https://github.com/ProtonMail/go-proton-api) و پایهکدهای کلاینت وب، iOS و Android توسط Proton، نیازی نیست APIها را صرفاً با رصد ترافیک کلاینت وب به طور کامل مهندسی معکوس کنیم!
کتابخانه proton-go-api (https://github.com/ProtonMail/go-proton-api) بخشهای بنیادین فراخوانیهای API و مدیریت خطاها، مانند عقبنشینی نمایی (exponential back-off) برای خطای 429 را فراهم میکند، اما اساساً تنها یک رابط کاربری حداقلی (barebone) برای Proton API است. به عنوان مثال، رمزگذاری و رمزگشایی فایل Proton Drive در این کتابخانه ارائه نشده است.
پروژه Proton-API-Bridge تلاش میکند این کمبود را برطرف کند تا rclone بتواند به سرعت بر پایه آن توسعه یابد. این پایهکد وظایف پیچیده قبل و بعد از فراخوانی Proton API، بهویژه طرح رمزنگاری پیچیده را مدیریت میکند و به توسعهدهندگان اجازه میدهد قابلیتهایی را برای سایر نرمافزارها بر روی این پایهکد پیادهسازی کنند. از آنجا که مستندات رسمی در دسترس نیست، احتمالاً خطاهایی در این کتابخانه وجود دارد..SH Seafile
این یک بکاند برای سرویس ذخیرهسازی Seafile (https://www.seafile.com) است:
- •
- هم با نسخهٔ رایگان و عمومی (Community Edition) و هم با نسخهٔ حرفهای (Professional Edition) کار میکند.
- •
- تمام نسخههای 6.x، 7.x، 8.x و 9.x از Seafile پشتیبانی میشوند.
- •
- کتابخانههای رمزنگاریشده نیز پشتیبانی میشوند.
- •
- از کاربرانی با احراز هویت دو مرحلهای (2FA) فعال پشتیبانی میکند.
- •
- استفاده از توکن واسط برنامهنویسی کتابخانه (Library API Token) پشتیبانی نمیشود.
پیکربندی (Configuration)
دو حالت مجزا برای راهاندازی ریموت شما وجود دارد:
- •
- ریموت خود را به ریشهٔ سرور متصل میکنید، به این معنی که در طول پیکربندی هیچ کتابخانهای را مشخص نمیکنید: مسیرها به صورت remote:library مشخص میشوند. همچنین میتوانید زیرپوشهها را نیز وارد کنید، مانند remote:library/path/to/dir.
- •
- در حین پیکربندی، ریموت خود را به یک کتابخانهٔ خاص متصل میکنید: مسیرها به صورت remote:path/to/dir مشخص میشوند. در صورت استفاده از کتابخانههای رمزنگاریشده، این حالت توصیه میشود. (این حالت احتمالاً کمی سریعتر از حالت ریشه است)
پیکربندی در حالت ریشه (Configuration in root mode)
در اینجا مثالی از ایجاد پیکربندی seafile برای کاربری بدون احراز هویت دو مرحلهای آورده شده است. ابتدا دستور زیر را اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند. برای احراز هویت به نشانی URL سرور، ایمیل (یا نام کاربری) و گذرواژهٔ خود نیاز خواهید داشت.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> seafile Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Seafile \ "seafile" [snip] Storage> seafile ** See help for seafile backend at: https://rclone.org/seafile ** URL of seafile host to connect to Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Connect to cloud.seafile.com \ "https://cloud.seafile.com" url> http://my.seafile.server User name (usually email address) Enter a string value. Press Enter for the default (""). user> me@example.com Password y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g> y Enter the password: password: Confirm the password: password: Two-factor authentication ('true' if the account has 2FA enabled) Enter a boolean value (true or false). Press Enter for the default ("false"). 2fa> false Name of the library. Leave blank to access all non-encrypted libraries. Enter a string value. Press Enter for the default (""). library> Library password (for encrypted libraries only). Leave blank if you pass it through the command line. y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g/n> n Edit advanced config? (y/n) y) Yes n) No (default) y/n> n Remote config Two-factor authentication is not enabled on this account. -------------------- [seafile] type = seafile url = http://my.seafile.server user = me@example.com pass = *** ENCRYPTED *** 2fa = false -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
نام این ریموت seafile گذاشته شده است. این ریموت به ریشهٔ سرور seafile شما اشاره میکند و اکنون میتوانید به صورت زیر از آن استفاده کنید:
مشاهدهٔ تمام کتابخانهها
-
rclone lsd seafile:
ایجاد یک کتابخانهٔ جدید
-
rclone mkdir seafile:library
فهرست کردن محتویات یک کتابخانه
-
rclone ls seafile:library
همگامسازی /home/local/directory با کتابخانهٔ ریموت و حذف تمام فایلهای اضافی در آن کتابخانه.
-
rclone sync --interactive /home/local/directory seafile:library
در اینجا نمونهای از پیکربندی در حالت کتابخانه با کاربری که احراز هویت دومرحلهای (2FA) را فعال کرده، آورده شده است. کد 2FA شما در انتهای پیکربندی پرسیده خواهد شد و سعی میشود تا هویت شما تأیید شود:
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> seafile Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Seafile \ "seafile" [snip] Storage> seafile ** See help for seafile backend at: https://rclone.org/seafile ** URL of seafile host to connect to Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Connect to cloud.seafile.com \ "https://cloud.seafile.com" url> http://my.seafile.server User name (usually email address) Enter a string value. Press Enter for the default (""). user> me@example.com Password y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g> y Enter the password: password: Confirm the password: password: Two-factor authentication ('true' if the account has 2FA enabled) Enter a boolean value (true or false). Press Enter for the default ("false"). 2fa> true Name of the library. Leave blank to access all non-encrypted libraries. Enter a string value. Press Enter for the default (""). library> My Library Library password (for encrypted libraries only). Leave blank if you pass it through the command line. y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g/n> n Edit advanced config? (y/n) y) Yes n) No (default) y/n> n Remote config Two-factor authentication: please enter your 2FA code 2fa code> 123456 Authenticating... Success! -------------------- [seafile] type = seafile url = http://my.seafile.server user = me@example.com pass = 2fa = true library = My Library -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
متوجه خواهید شد که گذرواژه شما در پیکربندی خالی است. زیرا گذرواژه تنها یکبار برای احراز هویت شما مورد نیاز است.
شما در حین پیکربندی My Library را مشخص کردید. ریشه این ریموت به ریشه کتابخانه My Library اشاره میکند:
مشاهده تمام فایلهای درون کتابخانه:
-
rclone lsd seafile:
ایجاد یک دایرکتوری جدید درون کتابخانه:
-
rclone mkdir seafile:directory
فهرست کردن محتویات یک دایرکتوری:
-
rclone ls seafile:directory
همگامسازی /home/local/directory با کتابخانه ریموت، با حذف فایلهای اضافی در کتابخانه:
-
rclone sync --interactive /home/local/directory seafile:
نسخه ۷ به بالای Seafile از --fast-list پشتیبانی میکند که به شما امکان میدهد در ازای مصرف حافظه بیشتر، از تراکنشهای کمتری استفاده کنید. برای جزئیات بیشتر به مستندات rclone (https://rclone.org/docs/#fast-list) مراجعه کنید. لطفاً توجه داشته باشید که این مورد در کارساز seafile نسخه 6.x پشتیبانی نمیشود.
نویسههای محدودشده نام فایل
علاوه بر مجموعه نویسههای محدودشده پیشفرض (https://rclone.org/overview/#restricted-characters)، نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| / | 0x2F | / |
| " | 0x22 | " |
| \ | 0x5C | \ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
Seafile و rclone link
ابزار Rclone فقط از ایجاد پیوندهای اشتراکگذاری برای کتابخانههای غیررمزگذاریشده پشتیبانی میکند. این پیوندها میتوانند برای یک فایل یا یک دایرکتوری باشند:
-
$ rclone link seafile:seafile-tutorial.doc http://my.seafile.server/f/fdcd8a2f93f84b8b90f4
یا در صورت اجرا روی یک دایرکتوری، خروجی زیر را دریافت خواهید کرد:
-
$ rclone link seafile:dir http://my.seafile.server/d/9ea2455f6f55478bbb0d
لطفاً توجه داشته باشید که پیوند اشتراکگذاری برای هر فایل یا دایرکتوری یکتا است. اگر دستور link را روی یک فایل یا دایرکتوری که از قبل به اشتراک گذاشته شده است اجرا کنید، دقیقاً همان پیوند را دریافت خواهید کرد.
سازگاری
این قابلیت با استفاده از تصویر داکر seafile (https://github.com/haiwen/seafile-docker) بر روی این نسخهها بهطور فعال توسعه یافته است:
- •
- ویرایش جامعه 6.3.4
- •
- ویرایش جامعه 7.0.5
- •
- ویرایش جامعه 7.1.3
- •
- ویرایش جامعه 9.0.10
نسخههای پایینتر از 6.0 پشتیبانی نمیشوند. نسخههای بین 6.0 و 6.3 آزمایش نشدهاند و ممکن است بهدرستی کار نکنند.
هر نسخه جدید از rclone بهطور خودکار در برابر آخرین تصویر داکر (https://hub.docker.com/r/seafileltd/seafile-mc) کارساز جامعه seafile آزمایش میشود..SS گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص به seafile (seafile) آمده است.
--seafile-url
نشانی اینترنتی (URL) میزبان seafile برای اتصال.
ویژگیها:
- •
- پیکربندی: url
- •
- متغیر محیطی: RCLONE_SEAFILE_URL
- •
- نوع: string
- •
- الزامی: true
- •
- مثالها:
- •
- اتصال به cloud.seafile.com.
--seafile-user
نام کاربری (معمولاً نشانی ایمیل).
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_SEAFILE_USER
- •
- نوع: string
- •
- الزامی: true
--seafile-pass
گذرواژه.
نکته: ورودی این گزینه باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_SEAFILE_PASS
- •
- نوع: string
- •
- الزامی: false
--seafile-2fa
احراز هویت دو مرحلهای ('true' اگر حساب کاربری دارای 2FA فعال باشد).
ویژگیها:
- •
- پیکربندی: 2fa
- •
- متغیر محیطی: RCLONE_SEAFILE_2FA
- •
- نوع: bool
- •
- پیشفرض: false
--seafile-library
نام کتابخانه.
برای دسترسی به همه کتابخانههای رمزگذارینشده، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: library
- •
- متغیر محیطی: RCLONE_SEAFILE_LIBRARY
- •
- نوع: string
- •
- الزامی: false.SS --seafile-library-key
گذرواژهٔ کتابخانه (تنها برای کتابخانههای رمزگذاریشده).
اگر آن را از طریق خط فرمان ارسال میکنید، خالی بگذارید.
توجه: ورودی این گزینه باید مبهمسازی (obscure) شود - دستور rclone obscure (https://rclone.org/commands/rclone_obscure) را ببینید.
ویژگیها:
- •
- پیکربندی: library_key
- •
- متغیر محیطی: RCLONE_SEAFILE_LIBRARY_KEY
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفتهٔ مختص seafile (seafile) آورده شده است.
--seafile-create-library
آیا rclone در صورت عدم وجود کتابخانه باید آن را ایجاد کند یا خیر.
ویژگیها:
- •
- پیکربندی: create_library
- •
- متغیر محیطی: RCLONE_SEAFILE_CREATE_LIBRARY
- •
- نوع: bool
- •
- پیشفرض: false
--seafile-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر بخش کدگذاری را در بررسی اجمالی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SEAFILE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8,Dot
--seafile-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SEAFILE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
SFTP
پروتکل SFTP همان پروتکل امن (یا SSH) انتقال فایل است (https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol).
بکاند SFTP را میتوان با چندین ارائهدهندهٔ مختلف استفاده کرد:
- •
- Hetzner Storage Box
- •
- rsync.net
پروتکل SFTP بر بستر SSH v2 اجرا میشود و بهصورت استاندارد در اکثر نصبهای امروزی SSH وجود دارد.
مسیرها بهصورت remote:path مشخص میشوند. اگر مسیر با یک / آغاز نشود، نسبت به دایرکتوری خانگی کاربر در نظر گرفته میشود. مسیر خالی remote: به دایرکتوری خانگی کاربر اشاره دارد. برای نمونه، دستور rclone lsd remote: دایرکتوری خانگی کاربری را که در پیکربندی ریموت rclone تنظیم شده است فهرست میکند (یعنی /home/sftpuser). با این حال، rclone lsd remote:/ دایرکتوری ریشهٔ دستگاه دوردست را فهرست میکند (یعنی /).
توجه داشته باشید که برخی از کارگزارهای SFTP به / ابتدایی نیاز دارند - Synology نمونهٔ بارزی از این مورد است. از سوی دیگر، rsync.net و Hetzner از کاربران میخواهند که / ابتدایی را حذف کنند.
توجه داشته باشید که بهطور پیشفرض rclone تلاش میکند دستورهای پوسته را روی کارگزار اجرا کند؛ ملاحظات دسترسی پوسته (shell access considerations) را ببینید..SS "پیکربندی (Configuration)"
در اینجا نمونهای از ایجاد یک پیکربندی SFTP آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / SSH/SFTP \ "sftp" [snip] Storage> sftp SSH host to connect to Choose a number from below, or type in your own value 1 / Connect to example.com \ "example.com" host> example.com SSH username Enter a string value. Press Enter for the default ("$USER"). user> sftpuser SSH port number Enter a signed integer. Press Enter for the default (22). port> SSH password, leave blank to use ssh-agent. y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> n Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent. key_file> Remote config Configuration complete. Options: - type: sftp - host: example.com - user: sftpuser - port: - pass: - key_file: Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
این ریموت remote نامگذاری شده است و اکنون میتوان از آن به این شکل استفاده کرد:
مشاهده تمام دایرکتوریها در دایرکتوری خانگی (home):
-
rclone lsd remote:
مشاهده تمام دایرکتوریها در دایرکتوری ریشه (root):
-
rclone lsd remote:/
ایجاد یک دایرکتوری جدید:
-
rclone mkdir remote:path/to/directory
فهرست کردن محتویات یک دایرکتوری:
-
rclone ls remote:path/to/directory
همگامسازی /home/local/directory با دایرکتوری دوردست، همراه با حذف فایلهای اضافی موجود در دایرکتوری:
-
rclone sync --interactive /home/local/directory remote:directory
سوار کردن (mount) مسیر دوردست /srv/www-data/ روی مسیر محلی /mnt/www-data:
-
rclone mount remote:/srv/www-data/ /mnt/www-data
ریموت SFTP از سه روش احراز هویت پشتیبانی میکند:
- •
-
گذرواژه
- •
-
فایل کلید، شامل کلیدهای امضاشده با گواهی
- •
-
ssh-agent
فایلهای کلید باید فایلهای کلید خصوصی با کدگذاری PEM باشند. برای نمونه /home/$USER/.ssh/id_rsa. تنها فایلهای رمزنشدۀ OpenSSH یا رمزشده با PEM پشتیبانی میشوند.
فایل کلید را میتوان در یک فایل خارجی (key_file) مشخص کرد یا
درون فایل پیکربندی rclone قرار داد (key_pem).
در صورت استفاده از key_pem در فایل پیکربندی، ورودی باید در یک
خط واحد باشد و خط جدید ('' یا '') خطوط را از هم جدا کند؛
یعنی:
-
key_pem = -----BEGIN RSA PRIVATE KEY-----\nMaMbaIXtE\n0gAMbMbaSsd\nMbaass\n-----END RSA PRIVATE KEY-----
این دستور آن را برای استفاده در فایل پیکربندی جهت مقدار key_pem بهطور صحیح تولید میکند:
-
awk '{printf "%s\\n", $0}' < ~/.ssh/id_rsa
اگر pass، key_file، یا key_pem یا ask_password را مشخص نکنید، rclone تلاش خواهد کرد تا با یک ssh-agent ارتباط برقرار کند. همچنین میتوانید key_use_agent را تعیین کنید تا استفاده از یک ssh-agent اجباری شود. در این حالت، میتوان key_file یا key_pem را نیز برای اجبار به استفاده از یک کلید خاص در ssh-agent تعیین کرد.
در حال حاضر استفاده از یک ssh-agent تنها راه برای بارگذاری کلیدهای رمزشدهٔ OpenSSH است.
اگر گزینهٔ ask_password را تنظیم کنید، rclone در صورت نیاز و زمانی که هیچ گذرواژهای پیکربندی نشده باشد، درخواست گذرواژه خواهد کرد.
کلیدهای امضاشده با گواهی
در احراز هویت سنتی مبتنی بر کلید، شما فقط کلید خصوصی خود را پیکربندی میکنید و کلید عمومی تعبیهشده در آن در طول فرایند احراز هویت استفاده خواهد شد.
اگر گواهی دارید، میتوانید از آن برای امضای کلید عمومی خود استفاده کنید، که یک گواهی کاربر SSH جداگانه ایجاد میکند و باید به جای کلید عمومی سادهٔ استخراجشده از کلید خصوصی استفاده شود. سپس باید مسیر فایل کلید عمومی گواهی کاربر را در pubkey_file یا محتوای فایل را در pubkey مشخص کنید.
نکته: این فایل همان کلید عمومی سنتی جفتشده با کلید خصوصی شما که معمولاً در /home/$USER/.ssh/id_rsa.pub ذخیره میشود، نیست. تنظیم این مسیر در pubkey_file کار نخواهد کرد.
مثال:
-
[remote] type = sftp host = example.com user = sftpuser key_file = ~/id_rsa pubkey_file = ~/id_rsa-cert.pub
اگر یک گواهی را با یک کلید خصوصی ادغام (الحاق) کنید، میتوانید فایل ادغامشده را در هر دو مکان مشخص کنید.
نکته: گواهی باید ابتدا در فایل قرار گیرد. برای نمونه:
-
cat id_rsa-cert.pub id_rsa > merged_key
بهطور پیشفرض، rclone کلید میزبان سرور را برای اعتبارسنجی بررسی نمیکند. این موضوع میتواند به یک مهاجم اجازه دهد تا سرور را با سرور خود جایگزین کند و چنانچه از احراز هویت با گذرواژه استفاده کنید، ممکن است منجر به افشای آن گذرواژه شود. هر بار که backend در این حالت راهاندازی شود، rclone هشدار No host key validation is being performed را صادر خواهد کرد.
تطبیق کلید میزبان با استفاده از فایلهای استاندارد known_hosts در ssh، با فعال کردن گزینه known_hosts_file امکانپذیر است. این گزینه میتواند به فایل نگهداریشده توسط OpenSSH یا به یک فایل اختصاصی دیگر اشاره کند. برای غیرفعال کردن صریح بررسی کلید میزبان و بیصدا کردن هشدار، میتوان گزینه known_hosts_file را روی none تنظیم کرد.
بهعنوان روشی جایگزین، rclone میتواند کلیدهای میزبان سرور را در تنظیم host_keys درون فایل پیکربندی نگهداری کند. این مورد میتواند بهطور خودکار با --sftp-pin-host-key بهروزرسانی شود.
این گزینهها در ادامه توضیح داده شدهاند.
استفاده از فایل known_hosts برنامه OpenSSH (Using the OpenSSH known_hosts file)
نحوه استفاده از فایل known_hosts متعلق به OpenSSH به شکل زیر است:
-
[remote] type = sftp host = example.com user = sftpuser pass = known_hosts_file = ~/.ssh/known_hosts
همچنین میتوانید فایل known hosts اختصاصی خود را به این صورت ایجاد کنید:
-
ssh-keyscan -t dsa,rsa,ecdsa,ed25519 example.com >> known_hosts
برخی محدودیتها وجود دارد:
- •
- ابزار rclone این فایل را برای شما مدیریت نخواهد کرد. اگر کلید موجود نباشد یا اشتباه باشد، اتصال رد خواهد شد.
- •
- اگر سرور برای کلید میزبان مبتنی بر گواهی تنظیم شده باشد، ورودی موجود در فایل known_hosts باید ورودی @cert-authority برای CA باشد.
اگر کلید میزبان ارائهشده توسط سرور با کلید درون فایل مطابقت نداشته باشد (یا موجود نباشد)، اتصال متوقف شده و خطایی مانند زیر بازگردانده میشود:
-
NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key mismatch
یا
-
NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key is unknown
اگر خطایی مانند زیر مشاهده کردید:
-
NewFs: couldn't connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22
در این صورت، احتمالاً سرور یک گواهی میزبان امضاشده توسط CA ارائه داده است و لازم است ورودی @cert-authority مناسب را اضافه کنید.
تنظیم known_hosts_file میتواند در حین اجرای rclone config بهعنوان یک گزینه پیشرفته تنظیم شود..SS پین کردن کلید میزبان
به عنوان جایگزینی برای نگهداری فایل known_hosts، برنامهٔ rclone از پین کردن کلید میزبان بر اساس اعتماد در اولین استفاده (TOFU یا Trust On First Use) از طریق پرچم خط فرمان --sftp-pin-host-key پشتیبانی میکند.
گردش کار پیشنهادی بدین صورت است:
- 1.
- برای نخستین اتصال به یک ریموت جدید، rclone را یک بار با --sftp-pin-host-key اجرا کنید. rclone کلید میزبان سرور را در گزینهٔ پیکربندی host_keys ریموت ثبت کرده و اثر انگشت SHA256 آن را گزارش میکند:
-
$ rclone --sftp-pin-host-key lsd remote: 2026/01/01 12:00:00 NOTICE: sftp://sftpuser@example.com:22/: Accepted ssh-ed25519 host key SHA256:abc... for example.com:22 on first use 2026/01/01 12:00:00 NOTICE: sftp://sftpuser@example.com:22/: Pinned ssh-ed25519 host key SHA256:abc... for example.com:22 in config
- 2.
- برای دفعات بعدی اجرا، این پرچم را حذف کنید. rclone به کلیدهای پینشده در host_keys مراجعه کرده و در صورت هرگونه عدم تطابق، از برقراری اتصال خودداری میکند.
این سازوکار یک بهبود اساسی نسبت به حالت پیشفرضِ عدم اعتبارسنجی کلید میزبان است، اما توجه داشته باشید که خود اتصال اول احراز هویت نشده است. rclone تغییرات بعدی کلید را تشخیص میدهد، نه نفوذگر مرد میانی (man-in-the-middle) را که از همان اولین اتصال در مسیر قرار داشته است. بهتر است نخستین اتصال را روی یک شبکهٔ امن و مورد اعتماد برقرار کرده یا اثر انگشتی را که rclone گزارش میکند، با مقداری که توسط مدیر سرور بهصورت خارج از کانال ارائه شده تطبیق دهید.
اگر گزینهٔ known_hosts_file نیز تنظیم شده باشد، اولویت با آن خواهد بود و --sftp-pin-host-key نادیده گرفته میشود.
پس از اولین اتصال موفق، فایل پیکربندی شامل خط جدیدی خواهد بود:
-
[remote] type = sftp host = example.com user = sftpuser pass = host_keys = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...
فیلد host_keys در صورتی که خالی نباشد، همواره با کلید میزبان ارائهشده اعتبارسنجی میشود، بنابراین میتوانید بدون اجرای دستور با پرچم ذکر شده، یک کلید شناختهشده را دستی پین کنید. هر ورودی، کلید عمومی کامل است — یعنی فیلدهای الگوریتم و base64 از یک خط در known_hosts — و نه اثر انگشت SHA256 آن:
-
rclone config update remote host_keys "ssh-ed25519 AAAAC3..."
تنظیم دائمی pin_host_key = true در فایل پیکربندی توصیه نمیشود: تا زمانی که این گزینه فعال باشد، rclone هر الگوریتم کلید میزبان جدیدی را که سرور در آینده ارائه دهد میپذیرد، که این امر سطح اعتماد را فراتر از پین اولیه گسترش میدهد. استفاده از --sftp-pin-host-key به صورت پرچم یکباره تضمین میکند که هر رویداد اعتمادسازی بدون احراز هویت، یک تصمیم آگاهانه باشد.
پین کردن مجدد پس از تغییر معتبر کلید
اگر کلید میزبان سرور بهصورت موجه تغییر کند (rotate شود)، rclone با خطایی حاوی هر دو اثر انگشت SHA256 ذخیرهشده و ارائهشده، اتصال را رد خواهد کرد. برای پذیرفتن کلید جدید، مقدار ذخیرهشده را پاک کرده و دستور را یک بار دیگر با پرچم اجرا کنید:
-
rclone config update remote host_keys "" rclone --sftp-pin-host-key lsd remote:
همچنین میتوانید host_keys را مستقیماً ویرایش کرده تا مقدار جدید را جایگزین یا اضافه نمایید. ثبت چندین ورودی (که با کاما از یکدیگر جدا شوند) پشتیبانی میشود..SS "محدودیتها (Limitations)"
- •
- اگر سرور از یک گواهی میزبان امضاشده توسط @cert-authority استفاده کند، پینکردن کلید میزبان نمیتواند آن را اعتبارسنجی کند (گواهی بهطور دورهای دوباره صادر میشود حتی اگر CA زیربنایی بدون تغییر بماند). بهجای آن از known_hosts_file با یک مدخل @cert-authority استفاده کنید.
- •
- ریموتهای در لحظه (:sftp,host=...:) نمیتوانند کلید پینشده را بهصورت پایدار ذخیره کنند - rclone در هر بار اجرا یک هشدار ثبت کرده و مجدداً کلید سرور را میپذیرد، بنابراین این پرچم فقط ثبت اثرانگشت (fingerprint) در نخستین اتصال را فراهم میکند. ریموتهای نامگذاریشدهای که با بازنویسی رشته اتصال (remote,port=2022:) استفاده میشوند مشکلی ندارند: کلید پینشده در بخش پیکربندی ریموت ذخیره میشود.
- •
- اگر گزینه ssh تنظیم شده باشد، برنامه ssh پیکربندیشده اتصال را برقرار کرده و اعتبارسنجی کلید میزبان اختصاصی خود را انجام میدهد، بنابراین host_keys بررسی نمیشود و --sftp-pin-host-key چیزی را پین نمیکند.
- •
- نقاط پایانی SFTP با توزیع بار (Load-balanced) که برای هر گره بکاند کلید میزبان متفاوتی ارائه میدهند، در صورتی که اتصال بعدی به گره متفاوتی هدایت شود، باعث عدم تطابق خواهند شد. پس از پاککردن host_keys دوباره با --sftp-pin-host-key اجرا کنید، یا مرحله نخستین اتصال را تا زمانی تکرار کنید که کلید هر گره مشاهده شود و سپس ورودیهای اضافی را بهصورت دستی (جداشده با کاما) به host_keys اضافه کنید.
- •
- ابزار rclone هنوز از افزونه hostkeys@openssh.com در OpenSSH پشتیبانی نمیکند؛ سازوکاری غیر RFC که به کلاینتها کمک میکند در طول چرخش کلیدها، کلیدهای میزبان اضافی را دریافت کنند. این مورد در بالادست در نشانی زیر در حال پیگیری است: https://github.com/golang/go/issues/37245
ssh-agent در macOS (ssh-agent on macOS)
توجه داشته باشید که به نظر میرسد به دلیل تغییرات اخیر در این سیستمعامل، مشکلات مختلفی در استفاده از ssh-agent در macOS وجود دارد. کارآمدترین راهکار به نظر میرسد اجرای یک ssh-agent در هر نشست باشد، برای مثال:
-
eval `ssh-agent -s` && ssh-add -A
و سپس در پایان نشست:
-
eval `ssh-agent -k`
البته این دستورات میتوانند در اسکریپتها نیز استفاده شوند.
دسترسی شل (Shell access)
برخی از قابلیتهای بکاند SFTP به دسترسی شل راهدور و امکان اجرای دستورات وابسته است. این موارد شامل checksum و در برخی موارد about نیز میشود. دستورات شلی که باید اجرا شوند ممکن است در انواع مختلف شل متفاوت باشند، و همچنین نقلقول/گریز (quoting/escaping) آرگومانهای مسیر فایل حاوی نویسههای خاص ممکن است فرق داشته باشد. بنابراین rclone باید بداند با چه نوع شلی مواجه است، و اینکه آیا دسترسی شل اصلاً در دسترس هست یا خیر.
بیشتر سرورها روی نسخهای از Unix اجرا میشوند و میتوان یک شل پایه یونیکسی را بدون تمایز بیشتر فرض کرد. سیستمعاملهای Windows 10، Server 2019 و نسخههای جدیدتر نیز میتوانند یک سرور SSH اجرا کنند که پورتی از OpenSSH است (راهنمای رسمی نصب را ببینید: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse). در سرور Windows مدیریت شل متفاوت است: اگرچه میتوان آن را برای استفاده از یک شل از نوع یونیکس مانند Cygwin bash نیز تنظیم کرد، حالت پیشفرض استفاده از Windows Command Prompt (cmd.exe) است و PowerShell یک جایگزین توصیهشده است. همه این موارد رفتارهای متفاوتی دارند که rclone باید آنها را مدیریت کند.
ابزار rclone تلاش میکند نخستین باری که به ریموت SFTP متصل میشوید، نوع شل مورداستفاده در سرور را بهطور خودکار تشخیص دهد. اگر نشست شل از راه دور با موفقیت ایجاد شود، به دنبال نشانههایی مبنی بر CMD یا PowerShell خواهد گشت و در صورتی که چیز دیگری شناسایی نشود، به Unix بازمیگردد. اگر حتی امکان ایجاد یک نشست شل از راه دور وجود نداشته باشد، اجرای دستورات شل بهطور کامل غیرفعال خواهد شد. نتیجه در پیکربندی ریموت SFTP و در گزینه shell_type ذخیره میشود تا تشخیص خودکار تنها یکبار انجام گیرد. اگر پیش از نخستین اجرا مقداری را بهصورت دستی برای این گزینه تنظیم کنید، تشخیص خودکار نادیده گرفته میشود و اگر بعداً مقدار دیگری را تعیین کنید، جایگزین هر مقدار موجود خواهد شد. مقدار none میتواند برای جلوگیری از هرگونه تلاش جهت اجرای دستورات شل تنظیم شود، برای مثال اگر این کار در سرور مجاز نباشد. اگر در پیکربندی مقدار shell_type = none را دارید، نباید ssh تنظیم شده باشد.
هنگامی که سرور rclone serve sftp باشد (https://rclone.org/commands/rclone_serve_sftp)، ریموت SFTP در rclone آن را به عنوان یک شل از نوع Unix تشخیص میدهد - حتی اگر روی Windows در حال اجرا باشد. این سرور در واقع شل ندارد، اما دستورات ورودی مطابق با موارد خاصی را که بکاند SFTP برای شلهای Unix به آنها تکیه دارد (مانند md5sum و df) میپذیرد. همچنین قواعد گریز رشته (string escape) استفادهشده برای شل یونیکس را مدیریت میکند. بنابراین تعامل با آن به عنوان یک شل از نوع Unix از سوی یک ریموت SFTP همیشه صحیح خواهد بود و از تمام قابلیتها پشتیبانی میکند..SS ملاحظات دسترسی به شل
منطق تشخیص خودکار نوع شل که در بالا توضیح داده شد، بدین معناست که rclone بهطور پیشفرض در اولین دسترسی به یک ریموت sftp جدید، تلاش میکند یک دستور شل را اجرا کند. اگر یک ریموت sftp را بدون فایل پیکربندی تنظیم کنید، مثلاً یک ریموت بیدرنگ (on the fly) (https://rclone.org/docs/#backend-path-to-dir)، rclone جایی برای ذخیره نتیجه نخواهد داشت و در هر بار دسترسی، دستور را دوباره اجرا خواهد کرد. برای جلوگیری از این امر، باید گزینه shell_type را بهصراحت روی مقدار صحیح تنظیم کنید، یا اگر میخواهید از اجرای هرگونه دستور شل راه دور توسط rclone جلوگیری کنید، آن را روی none قرار دهید.
همچنین توجه به این نکته مهم است که از آنجا که نوع شل نحوه نقلقول (quoting) و گریزدهی (escaping) مسیرهای فایل استفادهشده بهعنوان آرگومانهای خط فرمان را تعیین میکند، پیکربندی نوع شل اشتباه ممکن است شما را در معرض اکسپلویتهای تزریق دستور (command injection) قرار دهد. حتماً نوع شل تشخیص دادهشده بهطور خودکار را تأیید کنید، یا صراحتاً نوع شلی را که میدانید درست است تنظیم نمایید، یا تا زمانی که اطمینان حاصل نکردهاید، دسترسی به شل را غیرفعال کنید.
مجموع مقابلهای (Checksum)
پروتکل SFTP بهطور ذاتی از مجموعهای مقابلهای (هش فایل) پشتیبانی نمیکند، اما اگر همان لاگین به شل دسترسی داشته باشد و بتواند دستورات راه دور را اجرا کند، rclone قادر است از محاسبه مجموع مقابلهای استفاده کند. اگر دستوری وجود داشته باشد که بتواند مجموعهای مقابلهای سازگار را روی سیستم راه دور محاسبه کند، میتوان rclone را طوری پیکربندی کرد که هر زمان نیاز به مجموع مقابلهای بود، آن را اجرا کرده و نتایج را بازخوانی کند. بهطور پیشفرض MD5 و SHA-1 در نظر گرفته میشوند، اما CRC32، SHA-256، BLAKE3، XXH3 و XXH128 نیز پشتیبانی میشوند؛ گزینه hashes را میتوان برای تعیین اینکه کدامیک در نظر گرفته شوند، تنظیم کرد.
بهطور معمول این کار مستلزم در دسترس بودن یک ابزار خارجی روی سرور است. برای مثال، برای مجموعهای مقابلهای MD5، ابزار rclone بهطور پیشفرض دستورات md5sum، md5 و rclone md5sum را امتحان میکند و اولین موردی که قابل استفاده باشد، انتخاب خواهد شد. این ابزارها معمولاً باید در PATH سیستم راه دور باشند تا پیدا شوند.
در برخی موارد، خود شل قادر به محاسبه مجموع مقابلهای است. PowerShell نمونهای از چنین شلی است. اگر rclone تشخیص دهد که شل راه دور PowerShell است—که به احتمال زیاد به این معنی است که یک سرور Windows OpenSSH است—هنگامی که هیچ دستور خارجی برای محاسبه مجموع مقابلهای پیدا نشود، rclone از یک بلوک اسکریپت از پیش تعریفشده برای تولید مجموعهای مقابلهای MD5، SHA-1 و SHA-256 استفاده خواهد کرد (بخش ملاحظات دسترسی به شل را ببینید). این ویژگی وجود نسخه 4.0 یا جدیدتر PowerShell را فرض میکند.
گزینههای md5sum_command، sha1_command و غیره را میتوان برای سفارشیسازی دستوراتی که برای محاسبه مجموع مقابلهای اجرا میشوند استفاده کرد. به عنوان مثال، میتوانید یک مسیر مشخص را برای محل قرارگیری فایل اجرایی md5sum تعیین کنید، یا ابزار دیگری را مشخص کنید که مجموعهای مقابلهای را در قالبی سازگار چاپ کند. این مقدار میتواند شامل آرگومانهای خط فرمان یا حتی بلوکهای اسکریپت شل همانند PowerShell باشد. ابزار Rclone زیردستورهای hashsum (https://rclone.org/commands/rclone_hashsum)، md5sum (https://rclone.org/commands/rclone_md5sum) و sha1sum (https://rclone.org/commands/rclone_sha1sum) دارد که از قالب سازگار استفاده میکنند، بدین معنا که اگر یک فایل اجرایی rclone روی سرور داشته باشید، میتواند مورد استفاده قرار گیرد. همانطور که در بالا ذکر شد، اگر این موارد در PATH پیدا شوند، بهطور خودکار انتخاب خواهند شد؛ اما در غیر این صورت میتوانید مقداری مانند /path/to/rclone md5sum را به عنوان مقدار گزینه md5sum_command تنظیم کنید تا مطمئن شوید یک فایل اجرایی خاص استفاده میشود.
محاسبه مجموع مقابلهای راه دور توصیه میشود و بهطور پیشفرض فعال است. اولین باری که rclone از یک ریموت SFTP استفاده میکند، اگر گزینههای md5sum_command یا sha1_command تنظیم نشده باشند، بررسی میکند که آیا هر یک از دستورات پیشفرض برای هر کدام از آنها، همانطور که در بالا توضیح داده شد، قابل استفاده است یا خیر. نتیجه در پیکربندی ریموت ذخیره میشود، بنابراین دفعه بعد از همان استفاده خواهد کرد. اگر هیچیک از دستورات پیشفرض برای یک الگوریتم خاص قابل استفاده نباشد، مقدار none تنظیم خواهد شد و این الگوریتم توسط ریموت پشتیبانی نخواهد شد.
اگر به سرورهای SFTP متصل میشوید که تحت کنترل شما نیستند و اجرای دستورات شل راه دور در آنها ممنوع است، ممکن است غیرفعال کردن کامل محاسبه مجموع مقابلهای ضروری باشد. گزینه پیکربندی disable_hashcheck را روی true تنظیم کنید تا محاسبه مجموع مقابلهای کاملاً غیرفعال شود (با تنظیم گزینه hashes روی none یا گزینههای md5sum_command، sha1_command و غیره روی none نیز به همین نتیجه میرسید). گزینه shell_type را روی none تنظیم کنید تا نهتنها محاسبه مجموع مقابلهای غیرفعال شود، بلکه تمام قابلیتهای دیگر که بر پایه اجرای دستورات شل راه دور هستند نیز غیرفعال گردند..SS زمانهای تغییر و هشها (Modification times and hashes)
زمانهای تغییر با دقت ۱ ثانیه در کارساز ذخیره میشوند.
زمانهای تغییر در همگامسازی استفاده میشوند و بهطور کامل پشتیبانی میشوند.
برخی از کارسازهای SFTP تنظیم یا تغییر زمان ویرایش فایل را پس از بارگذاری غیرفعال میکنند (برای مثال، برخی پیکربندیهای خاص ProFTPd با mod_sftp). اگر از یکی از این کارسازها استفاده میکنید، میتوانید گزینهٔ set_modtime = false را در پیکربندی backend مربوط به rclone تنظیم کنید تا این رفتار غیرفعال شود.
دستور About (About command)
دستور about فضای کل، فضای خالی و فضای استفادهشده را در ریموت برای دیسکِ مسیر مشخصشده یا در صورت عدم تعیین، برای دیسک ریشه (root) در ریموت بازمیگرداند.
پروتکل SFTP معمولاً از دستور about (https://rclone.org/commands/rclone_about) پشتیبانی میکند، اما این امر به کارساز بستگی دارد. اگر کارساز افزونهٔ آماری VFS ویژهٔ سازنده را پیادهسازی کرده باشد، که معمولاً در نمونههای OpenSSH چنین است، از آن استفاده خواهد شد. در غیر این صورت، چنانچه همان حساب کاربری به یک شل یونیکس دسترسی داشته باشد که در آن دستور df در دسترس است (مثلاً در PATH ریموت)، به جای آن از این دستور استفاده خواهد شد. اگر شل کارساز PowerShell باشد، احتمالاً با یک کارساز OpenSSH ویندوزی، rclone از یک دستور توکار شل استفاده خواهد کرد (دسترسی شل را ببینید). اگر هیچیک از موارد بالا قابل اعمال نباشد، اجرای about با شکست مواجه خواهد شد.
گزینههای استاندارد (Standard options)
در اینجا گزینههای استاندارد مختص sftp (SSH/SFTP) آورده شده است.
--sftp-host
میزبان SSH برای اتصال.
برای مثال: "example.com".
ویژگیها:
- •
- پیکربندی: host
- •
- متغیر محیطی: RCLONE_SFTP_HOST
- •
- نوع: string
- •
- ضروری: true
--sftp-user
نام کاربری SSH.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_SFTP_USER
- •
- نوع: string
- •
- پیشفرض: "$USER"
--sftp-port
شماره پورت SSH.
ویژگیها:
- •
- پیکربندی: port
- •
- متغیر محیطی: RCLONE_SFTP_PORT
- •
- نوع: int
- •
- پیشفرض: 22
--sftp-pass
گذرواژهٔ SSH؛ برای استفاده از ssh-agent خالی بگذارید.
نکته: ورودی این گزینه باید مبهمسازی (obscure) شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_SFTP_PASS
- •
- نوع: string
- •
- ضروری: false.SS --sftp-key-pem
کلید خصوصی خام با کدگذاری PEM.
توجه داشته باشید که این مقدار باید در یک خط واحد باشد و انتهای خطوط با '' جایگزین شده باشد، مانند:
-
key_pem = -----BEGIN RSA PRIVATE KEY-----\nMaMbaIXtE\n0gAMbMbaSsd\nMbaass\n-----END RSA PRIVATE KEY-----
این دستور خط واحد را به درستی تولید میکند:
-
awk '{printf "%s\\n", $0}' < ~/.ssh/id_rsa
در صورت تعیین، پارامتر key_file را بازنویسی خواهد کرد.
ویژگیها:
- •
- پیکربندی: key_pem
- •
- متغیر محیطی: RCLONE_SFTP_KEY_PEM
- •
- نوع: string
- •
- الزامی: خیر
--sftp-key-file
مسیر فایل کلید خصوصی با کدگذاری PEM.
برای استفاده از ssh-agent، این گزینه را خالی بگذارید یا key-use-agent را تنظیم کنید.
نویسهٔ ~ در ابتدای نام فایل و همچنین متغیرهای محیطی نظیر ${RCLONE_CONFIG_DIR} بسط داده خواهند شد.
ویژگیها:
- •
- پیکربندی: key_file
- •
- متغیر محیطی: RCLONE_SFTP_KEY_FILE
- •
- نوع: string
- •
- الزامی: خیر
--sftp-key-file-pass
عبارت عبور (passphrase) برای رمزگشایی فایل کلید خصوصی کدگذاریشده با PEM.
فقط فایلهای کلید رمزگذاریشده با PEM (قالب قدیمی OpenSSH) پشتیبانی میشوند. کلیدهای رمزگذاریشده در قالب جدید OpenSSH قابل استفاده نیستند.
نکته: ورودی این گزینه باید مبهمسازی (obscure) شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: key_file_pass
- •
- متغیر محیطی: RCLONE_SFTP_KEY_FILE_PASS
- •
- نوع: string
- •
- الزامی: خیر
--sftp-pubkey
گواهی عمومی SSH برای احراز هویت بر پایهٔ گواهی عمومی. اگر گواهی امضاشدهای دارید که میخواهید برای احراز هویت استفاده کنید، این گزینه را تنظیم کنید. در صورت تعیین، pubkey_file را بازنویسی خواهد کرد.
ویژگیها:
- •
- پیکربندی: pubkey
- •
- متغیر محیطی: RCLONE_SFTP_PUBKEY
- •
- نوع: string
- •
- الزامی: خیر.SS --sftp-pubkey-file
مسیر اختیاری به فایل کلید عمومی.
اگر گواهی امضاشدهای دارید که میخواهید برای احراز هویت از آن استفاده کنید، این گزینه را تنظیم کنید.
علامت ~ در ابتدای نام فایل و همچنین متغیرهای محیطی نظیر ${RCLONE_CONFIG_DIR} بسط داده خواهند شد.
ویژگیها:
- •
- پیکربندی: pubkey_file
- •
- متغیر محیطی: RCLONE_SFTP_PUBKEY_FILE
- •
- نوع: string
- •
- ضروری: false
--sftp-key-use-agent
در صورت تنظیم، استفاده از ssh-agent را اجباری میکند.
هنگامی که key-file نیز تنظیم شده باشد، فایل ".pub" مربوط به key-file مشخصشده خوانده میشود و تنها کلید مرتبط از ssh-agent درخواست میگردد. این کار از خطاهای Too many authentication failures for *username* در مواقعی که ssh-agent حاوی کلیدهای زیادی است، جلوگیری میکند.
ویژگیها:
- •
- پیکربندی: key_use_agent
- •
- متغیر محیطی: RCLONE_SFTP_KEY_USE_AGENT
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-use-insecure-cipher
فعالسازی استفاده از رمزها و روشهای تبادل کلید ناامن.
این گزینه استفاده از رمزها و روشهای تبادل کلید ناامن زیر را فعال میکند:
- •
- aes128-cbc
- •
- aes192-cbc
- •
- aes256-cbc
- •
- 3des-cbc
- •
- diffie-hellman-group-exchange-sha256
- •
- diffie-hellman-group-exchange-sha1
این الگوریتمها ناامن هستند و ممکن است به مهاجم اجازه دهند دادههای متنی ساده (plaintext) را بازیابی کند.
اگر از گزینههای پیشرفته ciphers یا key_exchange استفاده میکنید، این مقدار باید false باشد.
ویژگیها:
- •
- پیکربندی: use_insecure_cipher
- •
- متغیر محیطی: RCLONE_SFTP_USE_INSECURE_CIPHER
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "false"
- •
- استفاده از فهرست رمزهای پیشفرض.
- •
- "true"
- •
- استفاده از رمز aes128-cbc و روشهای تبادل کلید diffie-hellman-group-exchange-sha256 و diffie-hellman-group-exchange-sha1 را فعال میکند.
غیرفعال کردن اجرای دستورهای SSH برای تعیین در دسترس بودن هش فایل دوردست (remote).
برای فعال ماندن بررسی هش (توصیهشده)، این گزینه را خالی بگذارید یا روی false تنظیم کنید؛ برای غیرفعال کردن بررسی هش، مقدار آن را روی true قرار دهید.
ویژگیها:
- •
- پیکربندی: disable_hashcheck
- •
- متغیر محیطی: RCLONE_SFTP_DISABLE_HASHCHECK
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-ssh
مسیر و آرگومانهای باینری خارجی ssh.
در حالت عادی، rclone از کتابخانه داخلی ssh خود برای اتصال به سرور SFTP استفاده میکند. با این حال، این کتابخانه تمام گزینههای ممکن ssh را پیادهسازی نمیکند؛ بنابراین ممکن است استفاده از یک باینری خارجی ssh مطلوب باشد.
در صورت استفاده از این گزینه، rclone تمام پیکربندیهای داخلی را نادیده میگیرد و انتظار دارد که باینری ssh را به همراه کاربر/میزبان/درگاه (user/host/port) و هر گزینه دیگری که نیاز دارید پیکربندی کنید.
مهم: دستور ssh باید بدون درخواست گذرواژه وارد شود، بنابراین لازم است با کلیدها یا گواهیها پیکربندی شود.
برنامه rclone دستور ارائهشده را یا همراه با آرگومانهای اضافی "-s sftp" برای دسترسی به زیرسیستم SFTP اجرا خواهد کرد، یا با افزودن دستورهایی مانند "md5sum /path/to/file" به انتهای آن، چکسامها را میخواند.
هر آرگومانی که شامل فاصله باشد باید درون "گیومه دوتایی (double quotes)" محصور شود.
نمونهای از تنظیمات میتواند به این صورت باشد:
-
ssh -o ServerAliveInterval=20 user@example.com
توجه داشته باشید که هنگام استفاده از باینری خارجی ssh، rclone برای هر هشی که محاسبه میکند یک اتصال ssh جدید برقرار میسازد.
ویژگیها:
- •
- پیکربندی: ssh
- •
- متغیر محیطی: RCLONE_SFTP_SSH
- •
- نوع: SpaceSepList
- •
- پیشفرض:
گزینههای پیشرفته (Advanced options)
در اینجا گزینههای پیشرفته مختص sftp (SSH/SFTP) آورده شدهاند.
--sftp-known-hosts-file
مسیر اختیاری به فایل known_hosts.
این مقدار را برای فعالسازی اعتبارسنجی کلید میزبان سرور (host key) تنظیم کنید. برای خاموش کردن اعلان "No host key validation"، آن را برابر none قرار دهید.
علامت ~ در ابتدای نام فایل و همچنین متغیرهای محیطی نظیر ${RCLONE_CONFIG_DIR} گسترش خواهند یافت.
ویژگیها:
- •
- پیکربندی: known_hosts_file
- •
- متغیر محیطی: RCLONE_SFTP_KNOWN_HOSTS_FILE
- •
- نوع: string
- •
- ضروری: false
- •
- مثالها:
- •
- "~/.ssh/known_hosts"
- •
- استفاده از فایل known_hosts متعلق به OpenSSH.
پین کردن کلید میزبان سرور در نخستین اتصال (اعتماد در نخستین استفاده یا Trust On First Use).
برای یکبار استفاده به عنوان پرچم خط فرمان --sftp-pin-host-key در نظر گرفته شده است. rclone را یکبار با این پرچم اجرا کنید تا کلید میزبان سرور در گزینه پیکربندی host_keys ضبط شود. در اجراهای بعدی (بدون این پرچم)، host_keys بررسی شده و هرگونه عدم تطابق رد میشود.
تنظیم دائمی این گزینه در فایل پیکربندی توصیه نمیشود. تا زمانی که این گزینه فعال باشد، rclone هر الگوریتم جدید کلید میزبان را که سرور بعداً ارائه دهد نیز میپذیرد، که این امر سطح اعتماد را فراتر از پین اولیه گسترش میدهد. برای پین کردن یک کلید جدید پس از یک تغییر معتبر کلید، دستور را دوباره با این پرچم اجرا کنید.
اتصال نخست احراز هویت نشده است، بنابراین در حالت ایدهآل آن را روی یک شبکه قابلاعتماد انجام دهید یا اثرانگشت ثبتشده در گزارشهای rclone را با اثرانگشتی که بهصورت برونباندی (out of band) دریافت کردهاید مطابقت دهید.
اگر known_hosts_file نیز تنظیم شده باشد، آن گزینه اولویت خواهد داشت و این گزینه نادیده گرفته میشود.
ویژگیها:
- •
- پیکربندی: pin_host_key
- •
- متغیر محیطی: RCLONE_SFTP_PIN_HOST_KEY
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-host-keys
کلیدهای میزبان پینشده برای این ریموت، که جهت تأیید سرور استفاده میشوند.
فهرستی جداشده با کاما از ورودیهای "algo base64-key" (مشابه با قالب فیلدهای دوم و سوم در یک خط known_hosts مربوط به OpenSSH). معمولاً با یکبار اجرا به همراه --sftp-pin-host-key بهطور خودکار پر میشود، اما میتوان آن را دستی نیز تنظیم کرد تا کلید عمومی سرور که بهصورت برونباندی دریافت شده پین شود. توجه داشته باشید که هر ورودی، کلید عمومی کامل است، نه اثرانگشت SHA256 آن.
در صورت خالی نبودن، کلید میزبان ارائهشده باید با یکی از ورودیها مطابقت داشته باشد، در غیر این صورت اتصال رد میشود. برای پین کردن دوباره پس از یک تغییر معتبر کلید، این گزینه را پاک کرده و مجدداً با --sftp-pin-host-key متصل شوید، یا مقدار را مستقیماً ویرایش کنید.
حداکثر ۱۶ ورودی را میتوان پین کرد.
ویژگیها:
- •
- پیکربندی: host_keys
- •
- متغیر محیطی: RCLONE_SFTP_HOST_KEYS
- •
- نوع: CommaSepList
- •
- پیشفرض:
--sftp-ask-password
اجازه درخواست گذرواژه SFTP در صورت نیاز.
اگر این گزینه تنظیم شده باشد و هیچ گذرواژهای ارائه نشده باشد، rclone: - گذرواژه را درخواست میکند - با ssh agent ارتباط برقرار نمیکند
ویژگیها:
- •
- پیکربندی: ask_password
- •
- متغیر محیطی: RCLONE_SFTP_ASK_PASSWORD
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-path-override
بازنویسی مسیر مورد استفاده توسط دستورهای پوسته SSH.
این گزینه امکان محاسبه چِکسام (checksum) را هنگامی که مسیرهای SFTP و SSH متفاوت هستند فراهم میکند. این مسئله از جمله بر دستگاههای Synology NAS تأثیر میگذارد.
بهعنوان مثال، اگر پوشههای اشتراکی در دایرکتوریهایی که نشاندهنده volumeها هستند قرار داشته باشند:
-
rclone sync /home/local/directory remote:/directory --sftp-path-override /volume2/directory
بهعنوان مثال، اگر دایرکتوری خانه (home directory) در پوشه اشتراکی به نام "home" قرار داشته باشد:
-
rclone sync /home/local/directory remote:/home/directory --sftp-path-override /volume1/homes/USER/directory
برای تعیین تنها مسیر به ریشه (root) ریموت SFTP، و اجازه دادن به rclone برای افزودن خودکار زیرمسیرهای نسبی (از جمله unwrapping/رمزگشایی ریموتها در صورت نیاز)، نویسه '@' را به ابتدای مسیر اضافه کنید.
بهعنوان مثال، اولین مثال بالا را میتوان بهصورت زیر بازنویسی کرد:
-
rclone sync /home/local/directory remote:/directory --sftp-path-override @/volume2
توجه داشته باشید که هنگام استفاده از این روش با پوشههای "home" در Synology، باید مسیر کامل "/homes/USER" به جای "/home" مشخص شود.
بهعنوان مثال، دومین مثال بالا باید بهصورت زیر بازنویسی شود:
-
rclone sync /home/local/directory remote:/homes/USER/directory --sftp-path-override @/volume1
ویژگیها:
- •
- پیکربندی: path_override
- •
- متغیر محیطی: RCLONE_SFTP_PATH_OVERRIDE
- •
- نوع: string
- •
- الزامی: false.SS --sftp-encoding
کدگذاری برای بکاند.
برای اطلاعات بیشتر بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SFTP_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Del,Ctl,Dot
--sftp-set-modtime
در صورت تنظیم، زمان تغییر را روی ریموت تنظیم میکند.
ویژگیها:
- •
- پیکربندی: set_modtime
- •
- متغیر محیطی: RCLONE_SFTP_SET_MODTIME
- •
- نوع: bool
- •
- پیشفرض: true
--sftp-shell-type
نوع پوستهٔ SSH روی سرور ریموت، در صورت وجود.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: shell_type
- •
- متغیر محیطی: RCLONE_SFTP_SHELL_TYPE
- •
- نوع: string
- •
- الزامی: false
- •
- مثالها:
- •
- "none"
- •
- بدون دسترسی به پوسته
- •
- "unix"
- •
- پوستهٔ Unix
- •
- "powershell"
- •
- PowerShell
- •
- "cmd"
- •
- خط فرمان ویندوز
--sftp-hashes
فهرست جداشده با کاما از انواع چکسامهای پشتیبانیشده.
ویژگیها:
- •
- پیکربندی: hashes
- •
- متغیر محیطی: RCLONE_SFTP_HASHES
- •
- نوع: CommaSepList
- •
- پیشفرض:.SS --sftp-md5sum-command
دستور مورد استفاده برای خواندن هشهای MD5.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: md5sum_command
- •
- متغیر محیطی: RCLONE_SFTP_MD5SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-sha1sum-command
دستور مورد استفاده برای خواندن هشهای SHA-1.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: sha1sum_command
- •
- متغیر محیطی: RCLONE_SFTP_SHA1SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-crc32sum-command
دستور مورد استفاده برای خواندن هشهای CRC-32.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: crc32sum_command
- •
- متغیر محیطی: RCLONE_SFTP_CRC32SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-sha256sum-command
دستور مورد استفاده برای خواندن هشهای SHA-256.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: sha256sum_command
- •
- متغیر محیطی: RCLONE_SFTP_SHA256SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-blake3sum-command
دستور مورد استفاده برای خواندن هشهای BLAKE3.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: blake3sum_command
- •
- متغیر محیطی: RCLONE_SFTP_BLAKE3SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-xxh3sum-command
دستور مورد استفاده برای خواندن هشهای XXH3.
برای تشخیص خودکار خالی بگذارید.
ویژگیها:
- •
- پیکربندی: xxh3sum_command
- •
- متغیر محیطی: RCLONE_SFTP_XXH3SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false.SS --sftp-xxh128sum-command
دستوری که برای خواندن هشهای XXH128 استفاده میشود.
برای تشخیص خودکار، خالی بگذارید.
ویژگیها:
- •
- پیکربندی: xxh128sum_command
- •
- متغیر محیطی: RCLONE_SFTP_XXH128SUM_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-skip-links
تنظیم برای نادیدهگرفتن پیوندهای نمادین و هرگونه فایل غیرعادی دیگر.
این گزینه فقط بر فهرستبندی تأثیر میگذارد: پیوندهای نمادین و سایر فایلهای غیرعادی از فهرست دایرکتوریها حذف میشوند. این یک سازوکار امنیتی نیست و مانع از دنبال کردن پیوندهای نمادین روی سرور در هنگام نوشتن نمیشود - محدود کردن یک حساب SFTP به یک دایرکتوری باید در سمت سرور اعمال شود (برای مثال با یک chroot jail یا مجوزهای محدودشده).
ویژگیها:
- •
- پیکربندی: skip_links
- •
- متغیر محیطی: RCLONE_SFTP_SKIP_LINKS
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-subsystem
زیرسیستم SSH2 را روی میزبان دوردست مشخص میکند.
ویژگیها:
- •
- پیکربندی: subsystem
- •
- متغیر محیطی: RCLONE_SFTP_SUBSYSTEM
- •
- نوع: string
- •
- پیشفرض: "sftp"
--sftp-server-command
مسیر یا دستور را برای اجرای سرور sftp روی میزبان دوردست مشخص میکند.
هنگامی که server_command تعریف شده باشد، گزینه subsystem نادیده گرفته میشود.
در صورت افزودن server_command به فایل پیکربندی، توجه داشته باشید که نباید در گیومه قرار گیرد، زیرا باعث شکست rclone میشود.
یک مثال کاربردی:
-
[remote_name] type = sftp server_command = sudo /usr/libexec/openssh/sftp-server
ویژگیها:
- •
- پیکربندی: server_command
- •
- متغیر محیطی: RCLONE_SFTP_SERVER_COMMAND
- •
- نوع: string
- •
- الزامی: false
--sftp-use-fstat
در صورت تنظیم، بهجای stat از fstat استفاده میکند.
برخی سرورها تعداد فایلهای باز را محدود میکنند و فراخوانی Stat پس از باز کردن فایل موجب خطایی از سمت سرور خواهد شد. تنظیم این پرچم باعث فراخوانی Fstat بهجای Stat میشود که روی یک فایل هندل از پیش بازشده اجرا میگردد.
مشخص شده است که این گزینه به سرورهای IBM Sterling SFTP که سطح "extractability" آنها روی ۱ تنظیم شده است (به این معنی که در هر زمان تنها ۱ فایل میتواند باز باشد) کمک میکند.
ویژگیها:
- •
- پیکربندی: use_fstat
- •
- متغیر محیطی: RCLONE_SFTP_USE_FSTAT
- •
- نوع: bool
- •
- پیشفرض: false.SS --sftp-disable-concurrent-reads
در صورت تنظیم، از خواندنهای همروند استفاده نمیشود.
در حالت عادی، استفاده از خواندنهای همروند ایمن است و عدم استفاده از آنها کارایی را کاهش میدهد، بنابراین این گزینه بهطور پیشفرض غیرفعال است.
برخی کارسازها تعداد دفعاتی را که یک فایل میتواند بارگیری شود محدود میکنند. استفاده از خواندنهای همروند میتواند این محدودیت را فعال کند، بنابراین اگر کارسازی دارید که این خطا را بازمیگرداند:
-
Failed to copy: file does not exist
در این صورت ممکن است نیاز باشد این پرچم را فعال کنید.
اگر خواندنهای همروند غیرفعال شوند، گزینه use_fstat نادیده گرفته میشود.
ویژگیها:
- •
- پیکربندی: disable_concurrent_reads
- •
- متغیر محیطی: RCLONE_SFTP_DISABLE_CONCURRENT_READS
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-disable-concurrent-writes
در صورت تنظیم، از نوشتنهای همروند استفاده نمیشود.
بهطور معمول rclone برای بارگذاری فایلها از نوشتنهای همروند استفاده میکند. این کار کارایی را بهویژه برای کارسازهای دوردست بهطور چشمگیری بهبود میبخشد.
این گزینه در صورت لزوم، نوشتنهای همروند را غیرفعال میکند.
ویژگیها:
- •
- پیکربندی: disable_concurrent_writes
- •
- متغیر محیطی: RCLONE_SFTP_DISABLE_CONCURRENT_WRITES
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-idle-timeout
حداکثر زمان پیش از بستن اتصالات بیکار.
اگر در زمان تعیینشده هیچ اتصالی به استخر اتصالات بازگردانده نشود، rclone استخر اتصالات را خالی خواهد کرد.
برای باز نگه داشتن نامحدود اتصالات، مقدار را روی 0 قرار دهید.
ویژگیها:
- •
- پیکربندی: idle_timeout
- •
- متغیر محیطی: RCLONE_SFTP_IDLE_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--sftp-chunk-size
اندازه قطعه (chunk) برای بارگذاری و بارگیری.
این گزینه حداکثر اندازه محموله داده (payload) را در بستههای پروتکل SFTP کنترل میکند. استاندارد RFC این مقدار را به ۳۲۷۶۸ بایت (32k) محدود میکند که همان مقدار پیشفرض است. با این حال، بسیاری از کارسازها از اندازههای بزرگتر پشتیبانی میکنند که معمولاً به حداکثر اندازه کل بسته ۲۵۶k محدود است، و تنظیم آن روی مقداری بزرگتر، سرعت انتقال را در پیوندهای با تأخیر بالا بهطور چشمگیری افزایش میدهد. این شامل OpenSSH نیز میشود و برای نمونه، مقدار 255k بهخوبی کار میکند؛ فضای کافی برای سربار (overhead) باقی میگذارد و همچنان در محدوده حداکثر اندازه کل بسته ۲۵۶k قرار دارد.
حتماً پیش از استفاده از مقادیر بالاتر از 32k آزمایشهای کاملی انجام دهید و تنها در صورتی از آن استفاده کنید که همیشه به یک کارساز یکسان متصل میشوید یا پس از انجام آزمایشهای به اندازه کافی گسترده باشد. اگر هنگام کپی کردن فایلهای بزرگتر خطاهایی مانند "failed to send packet payload: EOF"، موارد مکرر "connection lost" یا "corrupted on transfer" دریافت کردید، مقدار را کاهش دهید. کارسازی که توسط rclone serve sftp اجرا میشود بستهها را با حداکثر محموله استاندارد 32k ارسال میکند، بنابراین هنگام بارگیری فایلها نباید chunk_size دیگری تنظیم کنید، اما این کارساز بستههایی با اندازه کل تا 256k را میپذیرد؛ بنابراین برای بارگذاریها میتوان chunk_size را مشابه مثال OpenSSH در بالا تنظیم کرد.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_SFTP_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 32Ki.SS --sftp-concurrency
حداکثر تعداد درخواستهای معلق برای یک فایل
این گزینه حداکثر تعداد درخواستهای معلق (outstanding) برای یک فایل را کنترل میکند. افزایش آن باعث افزایش توان عملیاتی روی پیوندهای با تاخیر زیاد میشود، اما به بهای مصرف حافظه بیشتر تمام خواهد شد.
ویژگیها:
- •
- پیکربندی: concurrency
- •
- متغیر محیطی: RCLONE_SFTP_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 64
--sftp-connections
حداکثر تعداد اتصالات همزمان SFTP؛ مقدار 0 به معنای نامحدود است.
توجه داشته باشید که تنظیم این گزینه به احتمال بسیار زیاد باعث ایجاد بنبست (deadlock) میشود، بنابراین باید با احتیاط استفاده شود.
اگر در حال اجرای sync یا copy هستید، اطمینان حاصل کنید که connections یک واحد بیشتر از مجموع --transfers و --checkers باشد.
اگر از --check-first استفاده میکنید، تنها کافی است یک واحد بیشتر از بیشترین مقدار بین --checkers و --transfers باشد.
بنابراین برای connections 3 باید از --checkers 2 --transfers 2 --check-first یا --checkers 1 --transfers 1 استفاده کنید.
ویژگیها:
- •
- پیکربندی: connections
- •
- متغیر محیطی: RCLONE_SFTP_CONNECTIONS
- •
- نوع: int
- •
- پیشفرض: 0
--sftp-set-env
متغیرهای محیطی برای ارسال به sftp و دستورات
متغیرهای محیطی را در این قالب تنظیم کنید:
-
VAR=value
تا به کلاینت sftp و هر دستور در حال اجرا (مانند md5sum) منتقل شوند.
چندین متغیر را با فاصله از یکدیگر جدا کنید، مانند:
-
VAR1=value VAR2=value
و متغیرهای دارای فاصله را داخل علامت نقلقول قرار دهید، مانند:
-
"VAR3=value with space" "VAR4=value with space" VAR5=nospacehere
ویژگیها:
- •
- پیکربندی: set_env
- •
- متغیر محیطی: RCLONE_SFTP_SET_ENV
- •
- نوع: SpaceSepList
- •
- پیشفرض:.SS --sftp-ciphers
فهرستی از سایفرها (رمزها) جدا شده با فاصله برای استفاده در رمزنگاری نشست، به ترتیب اولویت.
حداقل یکی از آنها باید با پیکربندی کارساز مطابقت داشته باشد. این مورد میتواند برای نمونه با استفاده از ssh -Q cipher بررسی شود.
اگر use_insecure_cipher برابر با true باشد، این گزینه نباید تنظیم شود.
مثال:
-
aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com
ویژگیها:
- •
- پیکربندی: ciphers
- •
- متغیر محیطی: RCLONE_SFTP_CIPHERS
- •
- نوع: SpaceSepList
- •
- پیشفرض:
--sftp-key-exchange
فهرستی از الگوریتمهای تبادل کلید جدا شده با فاصله، به ترتیب اولویت.
حداقل یکی از آنها باید با پیکربندی کارساز مطابقت داشته باشد. این مورد میتواند برای نمونه با استفاده از ssh -Q kex بررسی شود.
اگر use_insecure_cipher برابر با true باشد، این گزینه نباید تنظیم شود.
مثال:
-
sntrup761x25519-sha512@openssh.com curve25519-sha256 curve25519-sha256@libssh.org ecdh-sha2-nistp256
ویژگیها:
- •
- پیکربندی: key_exchange
- •
- متغیر محیطی: RCLONE_SFTP_KEY_EXCHANGE
- •
- نوع: SpaceSepList
- •
- پیشفرض:
--sftp-macs
فهرستی از الگوریتمهای MAC (کد اصالتسنجی پیام) جدا شده با فاصله، به ترتیب اولویت.
حداقل یکی از آنها باید با پیکربندی کارساز مطابقت داشته باشد. این مورد میتواند برای نمونه با استفاده از ssh -Q mac بررسی شود.
مثال:
-
umac-64-etm@openssh.com umac-128-etm@openssh.com hmac-sha2-256-etm@openssh.com
ویژگیها:
- •
- پیکربندی: macs
- •
- متغیر محیطی: RCLONE_SFTP_MACS
- •
- نوع: SpaceSepList
- •
- پیشفرض:
--sftp-host-key-algorithms
فهرستی از الگوریتمهای کلید میزبان جدا شده با فاصله، به ترتیب اولویت.
حداقل یکی از آنها باید با پیکربندی کارساز مطابقت داشته باشد. این مورد میتواند برای نمونه با استفاده از ssh -Q HostKeyAlgorithms بررسی شود.
نکته: این مورد میتواند بر نتیجهٔ مذاکره کلید با کارساز تأثیر بگذارد، حتی اگر اعتبارسنجی کلید میزبان کارساز فعال نشده باشد.
مثال:
-
ssh-ed25519 ssh-rsa ssh-dss
ویژگیها:
- •
- پیکربندی: host_key_algorithms
- •
- متغیر محیطی: RCLONE_SFTP_HOST_KEY_ALGORITHMS
- •
- نوع: SpaceSepList
- •
- پیشفرض:.SS --sftp-socks-proxy
میزبان پروکسی Socks 5.
از قالبهای user:pass@host:port، user@host:port و host:port پشتیبانی میکند.
مثال:
-
myUser:myPass@localhost:9005
ویژگیها:
- •
- پیکربندی: socks_proxy
- •
- متغیر محیطی: RCLONE_SFTP_SOCKS_PROXY
- •
- نوع: string
- •
- الزامی: false
--sftp-http-proxy
نشانی اینترنتی (URL) برای پروکسی HTTP CONNECT.
این گزینه را روی نشانی اینترنتی یک پروکسی HTTP که از دستور HTTP CONNECT پشتیبانی میکند، تنظیم کنید.
از قالبهای http://user:pass@host:port، http://host:port و http://host پشتیبانی میکند.
مثال:
ویژگیها:
- •
- پیکربندی: http_proxy
- •
- متغیر محیطی: RCLONE_SFTP_HTTP_PROXY
- •
- نوع: string
- •
- الزامی: false
--sftp-copy-is-hardlink
برای فعالسازی رونوشتهای سمت سرور با استفاده از پیوندهای سخت (hardlinks) این گزینه را تنظیم کنید.
پروتکل SFTP دستوری برای رونوشت تعریف نمیکند، بنابراین در حالت معمول رونوشتهای سمت سرور در بکاند sftp مجاز نیستند.
با این حال، پروتکل SFTP از ایجاد پیوند سخت پشتیبانی میکند و در صورت فعالسازی این پرچم، بکاند sftp از رونوشتهای سمت سرور پشتیبانی خواهد کرد. این رونوشتها با ایجاد یک پیوند سخت از مبدا به مقصد پیادهسازی میشوند.
همه سرورهای sftp از این قابلیت پشتیبانی نمیکنند.
توجه داشته باشید که ایجاد پیوند سخت میان دو فایل هیچ فضای اضافی مصرف نمیکند، زیرا مبدا و مقصد همان فایل یکسان خواهند بود.
این ویژگی ممکن است برای پشتیبانگیریهای ایجاد شده با --copy-dest مفید باشد.
ویژگیها:
- •
- پیکربندی: copy_is_hardlink
- •
- متغیر محیطی: RCLONE_SFTP_COPY_IS_HARDLINK
- •
- نوع: bool
- •
- پیشفرض: false
--sftp-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SFTP_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false.SS "محدودیتها (Limitations)"
در برخی سرورهای SFTP (مانند Synology) مسیرها برای SSH و SFTP متفاوت هستند، بنابراین هشها نمیتوانند به درستی محاسبه شوند. میتوانید از --sftp-path-override یا disable_hashcheck استفاده کنید.
تنها ssh agent پشتیبانیشده در Windows، برنامه pageant متعلق به Putty است.
کتابخانه SSH در Go به دلیل مسائل امنیتی، استفاده از رمزنگار aes128-cbc را به طور پیشفرض غیرفعال کرده است. این مورد میتواند به ازای هر اتصال با تنظیم مقدار use_insecure_cipher در فایل پیکربندی بر روی true دوباره فعال شود. جزئیات بیشتر درباره ناامنی این رمزنگار را میتوانید در این مقاله (http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf) بیابید.
پروتکل SFTP در plan9 پشتیبانی نمیشود تا زمانی که این مشکل (https://github.com/pkg/sftp/issues/156) برطرف شود.
توجه داشته باشید از آنجا که SFTP مبتنی بر HTTP نیست، گزینههای زیر با آن کار نمیکنند: --dump headers، --dump bodies، --dump auth.
توجه داشته باشید که هر دو گزینه --timeout و --contimeout پشتیبانی میشوند.
rsync.net
سرویس rsync.net از طریق بکاند SFTP پشتیبانی میشود.
مستندات rsync.net را برای مثالهای rclone ببینید (https://www.rsync.net/products/rclone.html).
Hetzner Storage Box
سرویس Hetzner Storage Box از طریق بکاند SFTP روی درگاه ۲۳ پشتیبانی میشود.
برای جزئیات، مستندات Hetzner را ببینید (https://docs.hetzner.com/robot/storage-box/access/access-ssh-rsync-borg#rclone)
Shade
این یک بکاند برای بستر Shade (https://shade.inc) است.
درباره Shade (About Shade)
سرویس Shade (https://shade.inc) یک NAS ابری مبتنی بر هوش مصنوعی است که فایلهای ابری شما را مانند یک دیسک محلی در دسترس قرار میدهد و برای جریانهای کاری رسانهای و خلاقانه بهینهسازی شده است. این بستر دسترسی سریع و امن را همراه با جستوجوی زبان طبیعی، اشتراکگذاری آسان و فضای ذخیرهسازی ابری مقیاسپذیر فراهم میکند.
حسابها و قیمتگذاری (Accounts & Pricing)
برای استفاده از این بکاند، باید یک حساب کاربری رایگان (https://app.shade.inc) در Shade ایجاد کنید. میتوانید با یک حساب رایگان شروع کرده و ۲۰ گیگابایت فضای ذخیرهسازی به صورت رایگان دریافت کنید.
کاربرد (Usage)
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق مورد نیازی تعیین شوند، مانند remote:directory/subdirectory.
پیکربندی (Configuration)
در اینجا نمونهای از ایجاد پیکربندی Shade آورده شده است.
ابتدا یک حساب کاربری رایگان (https://app.shade.inc) ایجاد کرده و یک طرح را انتخاب کنید.
باید وارد حساب خود شوید و به ترتیب API Key و Drive ID را از بخش تنظیمات حساب کاربری و درایو ایجادشده به دست آورید.
اکنون اجرا کنید:
rclone config
این فرایند تعاملی را دنبال کنید:
-
$ rclone config e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n Enter name for new remote. name> Shade Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. [OTHER OPTIONS] xx / Shade FS \ (shade) [OTHER OPTIONS] Storage> xx Option drive_id. The ID of your drive, see this in the drive settings. Individual rclone configs must be made per drive. Enter a value. drive_id> [YOUR_ID] Option api_key. An API key for your account. Enter a value. api_key> [YOUR_API_KEY] Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: shade - drive_id: [YOUR_ID] - api_key: [YOUR_API_KEY] Keep this "Shade" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
سرویس Shade از هشها و نوشتن زمانهای تغییر (mod times) پشتیبانی نمیکند.
انتقالها
سرویس Shade بهطور پیشفرض از بارگذاریهای چندبخشی (multipart uploads) استفاده میکند. این بدان معناست که فایلها تکهتکه شده و بهصورت همروند به Shade ارسال خواهند شد. به منظور پیکربندی تعداد بارگذاریهای همزمانی که میخواهید استفاده کنید، گزینه 'concurrency' را در بخش تنظیمات پیشرفته مشخص کنید. توجه داشته باشید که این کار حافظه بیشتری مصرف کرده و درخواستهای http بیشتری ایجاد میکند.
حذف فایلها
لطفاً توجه داشته باشید که هنگام حذف فایلها در Shade از طریق rclone، فایل بهجای انتقال به سطل زباله، فوراً حذف خواهد شد. این بدان معناست که فایل قابل بازیابی نخواهد بود.
گزینههای استاندارد
در اینجا گزینههای استاندارد مربوط به shade (Shade FS) آورده شده است.
--shade-drive-id
شناسه (ID) درایو شما؛ این مورد را در تنظیمات درایو مشاهده کنید. برای هر درایو باید پیکربندیهای مجزای rclone ایجاد شود.
ویژگیها:
- •
- پیکربندی: drive_id
- •
- متغیر محیطی: RCLONE_SHADE_DRIVE_ID
- •
- نوع: string
- •
- ضروری: true
--shade-api-key
یک کلید API برای حساب کاربری شما.
ویژگیها:
- •
- پیکربندی: api_key
- •
- متغیر محیطی: RCLONE_SHADE_API_KEY
- •
- نوع: string
- •
- ضروری: true
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مربوط به shade (Shade FS) آورده شده است.
--shade-endpoint
نقطه پایانی (Endpoint) برای سرویس.
در حالت عادی خالی بگذارید.
ویژگیها:
- •
- پیکربندی: endpoint
- •
- متغیر محیطی: RCLONE_SHADE_ENDPOINT
- •
- نوع: string
- •
- ضروری: false
--shade-chunk-size
اندازه تکه (Chunk size) مورد استفاده برای بارگذاری.
هر فایلی بزرگتر از این مقدار باشد، در تکههایی با این اندازه بارگذاری خواهد شد.
توجه داشته باشید که این مقدار به ازای هر انتقال در حافظه نگهداری میشود، بنابراین افزایش آن مصرف حافظه را افزایش خواهد داد.
حداقل 5MB و حداکثر 5GB است.
ویژگیها:
- •
- پیکربندی: chunk_size
- •
- متغیر محیطی: RCLONE_SHADE_CHUNK_SIZE
- •
- نوع: SizeSuffix
- •
- پیشفرض: 64Mi.SS --shade-upload-concurrency
همزمانی برای بارگذاریها و رونوشتهای چندبخشی. این مقدار، تعداد تکههایی از یک فایل است که بهصورت همزمان برای بارگذاریها و رونوشتهای چندبخشی بارگذاری میشوند.
ویژگیها:
- •
- پیکربندی: upload_concurrency
- •
- متغیر محیطی: RCLONE_SHADE_UPLOAD_CONCURRENCY
- •
- نوع: int
- •
- پیشفرض: 4
--shade-max-upload-parts
حداکثر تعداد بخشها در یک بارگذاری چندبخشی.
ویژگیها:
- •
- پیکربندی: max_upload_parts
- •
- متغیر محیطی: RCLONE_SHADE_MAX_UPLOAD_PARTS
- •
- نوع: int
- •
- پیشفرض: 10000
--shade-token
توکن JWT برای انجام عملیاتهای Shade FS. این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد
ویژگیها:
- •
- پیکربندی: token
- •
- متغیر محیطی: RCLONE_SHADE_TOKEN
- •
- نوع: string
- •
- الزامی: false
--shade-token-expiry
زمان انقضای توکن JWT. این مقدار را تنظیم نکنید - rclone آن را بهطور خودکار تنظیم خواهد کرد
ویژگیها:
- •
- پیکربندی: token_expiry
- •
- متغیر محیطی: RCLONE_SHADE_TOKEN_EXPIRY
- •
- نوع: string
- •
- الزامی: false
--shade-encoding
کدگذاری برای backend.
برای اطلاعات بیشتر، بخش کدگذاری را در بررسی اجمالی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SHADE_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
--shade-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SHADE_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false.SS محدودیتها
توجه داشته باشید که Shade به بزرگی و کوچکی حروف حساس نیست؛ بنابراین نمیتوانید بهطور همزمان فایلی به نام "Hello.doc" و فایلی به نام "hello.doc" داشته باشید.
سرویس Shade تنها از نامهای فایل تا حداکثر ۲۵۵ نویسه پشتیبانی میکند.
دستور rclone about توسط backend مربوط به Shade پشتیبانی نمیشود. پشتوانههای (backends) فاقد این قابلیت نمیتوانند فضای خالی را برای یک rclone mount مشخص کنند یا از سیاست mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست پشتوانههایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و همچنین rclone about (https://rclone.org/commands/rclone_about) را ببینید.
دستورهای Backend
در اینجا دستورهای اختصاصی backend مربوط به shade آورده شدهاند.
آنها را به این صورت اجرا کنید:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح میدهد که هر دستور چه آرگومانهایی میپذیرد.
برای اطلاعات بیشتر دربارهٔ نحوهٔ ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این موارد را میتوان روی یک backend در حال اجرا با استفاده از دستور rc مربوط به backend/command (https://rclone.org/rc/#backend-command) اجرا کرد.
SMB
پروتکل SMB یک پروتکل ارتباطی برای اشتراکگذاری فایلها از طریق شبکه است (https://en.wikipedia.org/wiki/Server_Message_Block).
این بخش برای ارتباط با پروتکل SMB به کتابخانهٔ go-smb2 متکی است (https://github.com/CloudSoda/go-smb2).
مسیرها بهصورت remote:sharename (یا remote: برای دستور lsd) مشخص میشوند. همچنین میتوانید دایرکتوریهای فرعی را نیز اضافه کنید، مانند remote:item/path/to/dir.
نکات
بخش نخست مسیر باید نام اشتراک (share) باشد که هنگام آغاز اشتراکگذاری در Windows تعیین کردهاید. در smbd، این مقدار همان عنوان بخش در فایل smb.conf (معمولاً در /etc/samba/) است. اگر مطمئن نیستید، میتوانید با پرسوجو از ریشه، اشتراکها را بیابید (مانند rclone lsd remote:).
بدیهی است که از طریق rclone نمیتوانید به چاپگرهای بهاشتراکگذاشتهشده دسترسی داشته باشید.
نمیتوانید برای ورود از دسترسی ناشناس (Anonymous) استفاده کنید؛ در عوض باید کاربر guest را با گذرواژهٔ خالی به کار ببرید. کلاینت rclone تلاش میکند هنگام بارگذاری فایلها با کدگذاری فاصلهها و نقطههای انتهایی، از نامگذاری 8.3 اجتناب کند. علاوه بر این، backend محلی (local) در ویندوز (https://rclone.org/local/#paths-on-windows) میتواند با استفاده از مسیرهای UNC بهصورت \\server\share به سرورهای SMB دسترسی یابد. این قابلیت برای سیستمعاملهای غیرویندوزی مانند Linux و macOS صدق نمیکند.
پیکربندی
در ادامه نمونهای از ساخت یک پیکربندی SMB آورده شده است.
ابتدا دستور زیر را اجرا کنید:
-
rclone config
این دستور شما را در طول یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد.
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / SMB / CIFS \ (smb) Storage> smb Option host. Samba hostname to connect to. E.g. "example.com". Enter a value. host> localhost Option user. Samba username. Enter a string value. Press Enter for the default (lesmi). user> guest Option port. Samba port number. Enter a signed integer. Press Enter for the default (445). port> Option pass. Samba password. Choose an alternative below. Press Enter for the default (n). y) Yes, type in my own password g) Generate random password n) No, leave this optional password blank (default) y/g/n> g Password strength in bits. 64 is just about memorable 128 is secure 1024 is the maximum Bits> 64 Your password is: XXXX Use this password? Please note that an obscured version of this password (and not the password itself) will be stored under your configuration file, so keep this generated password in a safe place. y) Yes (default) n) No y/n> y Option domain. Domain name for NTLM authentication. Enter a string value. Press Enter for the default (WORKGROUP). domain> Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: samba - host: localhost - user: guest - pass: *** ENCRYPTED *** Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> d
در اینجا گزینههای استاندارد مختص به smb (SMB / CIFS) آورده شدهاند.
--smb-host
نام میزبان (hostname) کارساز SMB برای اتصال به آن.
برای مثال: "example.com".
ویژگیها:
- •
- پیکربندی: host
- •
- متغیر محیطی: RCLONE_SMB_HOST
- •
- نوع: string
- •
- الزامی: true
--smb-user
نام کاربری SMB.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_SMB_USER
- •
- نوع: string
- •
- پیشفرض: "$USER"
--smb-port
شماره درگاه (پورت) SMB.
ویژگیها:
- •
- پیکربندی: port
- •
- متغیر محیطی: RCLONE_SMB_PORT
- •
- نوع: int
- •
- پیشفرض: 445
--smb-pass
گذرواژه SMB.
توجه: ورودی این گزینه باید مبهمسازی شود - به rclone obscure رجوع کنید (https://rclone.org/commands/rclone_obscure).
ویژگیها:
- •
- پیکربندی: pass
- •
- متغیر محیطی: RCLONE_SMB_PASS
- •
- نوع: string
- •
- الزامی: false
--smb-domain
نام دامنه برای احراز هویت NTLM.
ویژگیها:
- •
- پیکربندی: domain
- •
- متغیر محیطی: RCLONE_SMB_DOMAIN
- •
- نوع: string
- •
- پیشفرض: "WORKGROUP"
--smb-spn
نام اصلی خدمت (Service Principal Name).
برنامه rclone این نام را به کارساز ارائه میدهد. برخی کارسازها از این مورد برای احراز هویت تکمیلی استفاده میکنند و اغلب لازم است برای خوشهها (clusters) تنظیم شود. برای مثال:
-
cifs/remotehost:1020
اگر مطمئن نیستید خالی بگذارید.
ویژگیها:
- •
- پیکربندی: spn
- •
- متغیر محیطی: RCLONE_SMB_SPN
- •
- نوع: string
- •
- الزامی: false.SS --smb-use-kerberos
استفاده از احراز هویت Kerberos.
در صورت تنظیم، rclone به جای NTLM از احراز هویت Kerberos استفاده خواهد کرد. این مورد نیازمند در دسترس بودن پیکربندی و کش اعتبارنامه (credentials cache) معتبر Kerberos در مکانهای پیشفرض یا تعیینشده توسط متغیرهای محیطی KRB5_CONFIG و KRB5CCNAME است.
ویژگیها:
- •
- پیکربندی: use_kerberos
- •
- متغیر محیطی: RCLONE_SMB_USE_KERBEROS
- •
- نوع: bool
- •
- پیشفرض: false
گزینههای پیشرفته (Advanced options)
در این بخش گزینههای پیشرفته مختص smb (SMB / CIFS) آورده شدهاند.
--smb-idle-timeout
حداکثر زمان پیش از بستن اتصالات بیکار (idle).
اگر در مدتزمان مشخصشده هیچ اتصالی به استخر اتصالات (connection pool) بازگردانده نشود، rclone استخر اتصالات را خالی خواهد کرد.
برای باز نگه داشتن نامحدود اتصالات، مقدار را روی 0 تنظیم کنید.
ویژگیها:
- •
- پیکربندی: idle_timeout
- •
- متغیر محیطی: RCLONE_SMB_IDLE_TIMEOUT
- •
- نوع: Duration
- •
- پیشفرض: 1m0s
--smb-hide-special-share
مخفی کردن اشتراکهای ویژه (مانند print$) که کاربران نباید به آنها دسترسی داشته باشند.
ویژگیها:
- •
- پیکربندی: hide_special_share
- •
- متغیر محیطی: RCLONE_SMB_HIDE_SPECIAL_SHARE
- •
- نوع: bool
- •
- پیشفرض: true
--smb-case-insensitive
تعیین اینکه آیا سرور برای عدم حساسیت به بزرگی و کوچکی حروف (case-insensitive) پیکربندی شده است یا خیر.
روی اشتراکهای ویندوز همیشه true است.
ویژگیها:
- •
- پیکربندی: case_insensitive
- •
- متغیر محیطی: RCLONE_SMB_CASE_INSENSITIVE
- •
- نوع: bool
- •
- پیشفرض: true
--smb-kerberos-ccache
مسیر کش اعتبارنامه Kerberos (krb5cc).
متغیر محیطی پیشفرض KRB5CCNAME را بازنویسی کرده و به این نمونه از backend مربوط به SMB اجازه میدهد از یک فایل کش Kerberos متفاوت استفاده کند. این ویژگی هنگام سوار کردن (mount) چندین SMB با اعتبارنامههای مختلف یا اجرا در محیطهای چندکاربره کاربردی است.
قالبهای پشتیبانیشده: - FILE:/path/to/ccache – استفاده از فایل مشخصشده. - DIR:/path/to/ccachedir – استفاده از فایل اصلی درون دایرکتوری مشخصشده. - /path/to/ccache – تفسیرشده به عنوان مسیر فایل.
ویژگیها:
- •
- پیکربندی: kerberos_ccache
- •
- متغیر محیطی: RCLONE_SMB_KERBEROS_CCACHE
- •
- نوع: string
- •
- الزامی: false.SS --smb-encoding
کدگذاری مورد استفاده برای backend.
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SMB_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
--smb-description
توضیحات remote.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SMB_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
Storj
سرویس Storj (https://storj.io) در حال بازتعریف فضای ابری است تا از آیندهٔ دادهها بهشیوهای پایدار و اقتصادی پشتیبانی کند. استورج از عرضهٔ گسترده و جهانی منابع بلااستفاده بهره میبرد تا امنیت، پایداری و کارایی بهتری را در خدمات ارائه دهد. با Storj تا ۹۰٪ کاهش هزینهها و کاهش ردپای کربن را تجربه کنید.
استورج یک سرویس ذخیرهسازی شیء (object storage) رمزگذاریشده، امن و مقرونبهصرفه است که به شما امکان میدهد مقادیر انبوهی از دادهها را بهصورت غیرمتمرکز ذخیره، پشتیبانگیری و بایگانی کنید.
گزینههای Backend
از Storj میتوان هم با این backend بومی و هم با backend مربوط به s3 با استفاده از درگاه سازگار با S3 استورج (https://rclone.org/s3/#storj) (اشتراکی یا خصوصی) استفاده کرد.
از این backend برای بهرهمندی از رمزگذاری سمت کلاینت و همچنین دستیابی به بهترین عملکرد ممکن در بارگیری (دانلود) استفاده کنید. بارگذاریها بهصورت محلی تحت کدگذاری پاکشدگی (erasure coding) قرار میگیرند، بنابراین بارگذاری ۱ گیگابایت داده منجر به ارسال ۲٫۶۸ گیگابایت داده به گرههای ذخیرهسازی در سراسر شبکه خواهد شد.
از backend مربوط به s3 و یکی از درگاههای میزبانیشدهٔ سازگار با S3 برای افزایش کارایی بارگذاری و کاهش بار روی سیستمها و شبکهٔ خود استفاده کنید. بارگذاریها در سمت سرور رمزگذاری شده و تحت erasure coding قرار میگیرند، بنابراین بارگذاری ۱ گیگابایت داده تنها به ارسال ۱ گیگابایت داده به گرههای ذخیرهسازی در سراسر شبکه منتهی میشود.
مقایسهٔ شانهبهشانه با جزئیات بیشتر:
- •
- ویژگیها:
- •
- Storj backend: از پروتکل بومی RPC استفاده میکند و مستقیماً به گرههای ذخیرهسازی میزبان داده متصل میشود. به منابع CPU بیشتری برای کدگذاری/کدگشایی نیاز دارد، دارای تقویت ترافیک شبکه (بهویژه هنگام بارگذاری) است و اتصالات TCP متعددی را مصرف میکند.
- •
- S3 backend: از REST API سازگار با S3 از طریق درگاههای اشتراکی استفاده میکند. تقویت ترافیک شبکه وجود ندارد، اما کارایی به درگاههای اشتراکی وابسته است و کلید رمزگذاری محرمانه با درگاه به اشتراک گذاشته میشود.
- •
- کاربرد معمول:
- •
- Storj backend: محیطهای سرور و دسکتاپهایی با منابع، سرعت اینترنت و پایداری اتصال کافی؛ و برنامههایی که در آنها رمزگذاری سمت کلاینت Storj الزامی است.
- •
- S3 backend: دسکتاپها و موارد مشابه با منابع، سرعت اینترنت یا اتصال محدود.
- •
- امنیت:
- •
- Storj backend: قوی. کلید رمزگذاری خصوصی نیازی به خروج از رایانهٔ محلی ندارد.
- •
- S3 backend: ضعیفتر. کلید رمزگذاری خصوصی با سرویس احراز هویت درگاه میزبانیشده (https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#security-and-encryption) به اشتراک گذاشته میشود، جایی که بهصورت رمزگذاریشده ذخیره میشود. در صورت ترکیب با backend مربوط به crypt در rclone، امنیت آن میتواند تقویت شود.
- •
- مصرف پهنای باند (بارگذاری):
- •
- Storj backend: بیشتر. از آنجا که دادهها در سمت کلاینت erasure code میشوند، هم دادههای اصلی و هم بیتهای برابری (parities) باید بارگذاری شوند. حدود ~۲٫۷ برابر دادهٔ بیشتری برای بارگذاری لازم است. کلاینت ممکن است بارگذاری را با تعداد گرههای حتی بیشتری (حدود ~۳٫۷ برابر بیشتر) آغاز کند و بارگذاریهای کُند را رها یا متوقف کند.
- •
- S3 backend: معمولی. تنها دادههای خام بارگذاری میشوند و عملیات erasure coding روی درگاه انجام میگیرد.
- •
- مصرف پهنای باند (بارگیری):
- •
- Storj backend: تقریباً معمولی. تنها به حداقل مقدار داده نیاز است، اما برای اجتناب از ارائهدهندگان دادهٔ بسیار کُند، از چند منبع بیشتر استفاده شده و کُندترینها نادیده گرفته میشوند (حداکثر ۱٫۲ برابر سربار).
- •
- S3 backend: معمولی. تنها دادههای خام دریافت میشوند و بازسازی erasure coding روی درگاه اشتراکی رخ میدهد.
- •
- مصرف پردازنده (CPU):
- •
- Storj backend: بیشتر، اما قابل پیشبینیتر. عملیات Erasure code و رمزگذاری/رمزگشایی بهصورت محلی انجام میشود که به بار پردازشی قابلتوجهی نیاز دارد.
- •
- S3 backend: کمتر. عملیات Erasure code و رمزگذاری/رمزگشایی روی درگاههای اشتراکی s3 انجام میشود (و بنابراین به بار کاری فعلی روی درگاهها وابسته است).
- •
- مصرف اتصالات TCP:
- •
- Storj backend: بالا. به یک اتصال مستقیم به هر یک از گرههای Storj نیاز است که منجر به ۱۱۰ اتصال در بارگذاری و ۳۵ اتصال در بارگیری به ازای هر قطعهٔ ۶۴ مگابایتی میشود. همهٔ اتصالات بهطور فعال استفاده نمیشوند (اتصالات کند هرس میشوند)، اما همهٔ آنها باز میشوند. ممکن است تنظیم محدودیت حداکثر فایلهای باز (https://rclone.org/storj/#known-issues) لازم باشد.
- •
- S3 backend: معمولی. به ازای هر رشتهٔ (thread) بارگیری/بارگذاری، تنها یک اتصال به درگاه اشتراکی نیاز است.
- •
- کارایی کلی:
- •
- Storj backend: با منابع کافی (پردازنده و پهنای باند)، backend مربوط به storj میتواند حتی تا ۲ برابر کارایی بهتری ارائه دهد. دادهها بهجای درگاه، مستقیماً از/به کلاینت بارگیری یا بارگذاری میشوند.
- •
- S3 backend: میتواند در دستگاههای لبه (edge) با پردازنده و پهنای باند محدود سریعتر باشد؛ زیرا درگاههای اشتراکی سازگار با S3 رمزگذاری/رمزگشایی و erasure coding را بر عهده میگیرند و تقویت ترافیک شبکه رخ نمیدهد.
- •
- تمرکززدایی:
- •
- Storj backend: بالا. دادهها مستقیماً از شبکهٔ ابری توزیعشدهٔ ارائهدهندگان ذخیرهسازی دریافت میشوند.
- •
- S3 backend: پایین. نیازمند یک درگاه S3 فعال است (چه خودمیزبان باشد و چه میزبانیشده توسط Storj). محدودیتها:
- •
- بکاند Storj: اجرای rclone checksum بدون بارگیری امکانپذیر نیست، زیرا متادیتای checksum هنگام بارگذاری محاسبه نمیشود
- •
- بکاند S3: کلید رمزنگاری محرمانه با gateway به اشتراک گذاشته میشود
پیکربندی
برای ایجاد یک پیکربندی Storj جدید به یکی از موارد زیر نیاز دارید:
- •
- یک Access Grant که شخص دیگری با شما به اشتراک گذاشته است.
- •
- یک API Key (https://storj.dev/learn/concepts/access/access-grants/api-key) از پروژهٔ Storj که در آن عضو هستید.
در اینجا نمونهای از نحوهٔ ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی خواهد کرد:
راهاندازی با Access Grant
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Storj Decentralized Cloud Storage \ "storj" [snip] Storage> storj ** See help for storj backend at: https://rclone.org/storj ** Choose an authentication method. Enter a string value. Press Enter for the default ("existing"). Choose a number from below, or type in your own value 1 / Use an existing access grant. \ "existing" 2 / Create a new access grant from satellite address, API key, and passphrase. \ "new" provider> existing Access Grant. Enter a string value. Press Enter for the default (""). access_grant> your-access-grant-received-by-someone-else Remote config Configuration complete. Options: - type: storj - access_grant: your-access-grant-received-by-someone-else Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
راهاندازی با API Key و Passphrase
-
No remotes found, make a new one\? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Storj Decentralized Cloud Storage \ "storj" [snip] Storage> storj ** See help for storj backend at: https://rclone.org/storj ** Choose an authentication method. Enter a string value. Press Enter for the default ("existing"). Choose a number from below, or type in your own value 1 / Use an existing access grant. \ "existing" 2 / Create a new access grant from satellite address, API key, and passphrase. \ "new" provider> new Satellite Address. Custom satellite address should match the format: `<nodeid>@<address>:<port>`. Enter a string value. Press Enter for the default ("us1.storj.io"). Choose a number from below, or type in your own value 1 / US1 \ "us1.storj.io" 2 / EU1 \ "eu1.storj.io" 3 / AP1 \ "ap1.storj.io" satellite_address> 1 API Key. Enter a string value. Press Enter for the default (""). api_key> your-api-key-for-your-storj-project Encryption Passphrase. To access existing objects enter passphrase used for uploading. Enter a string value. Press Enter for the default (""). passphrase> your-human-readable-encryption-passphrase Remote config Configuration complete. Options: - type: storj - satellite_address: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us1.storj.io:7777 - api_key: your-api-key-for-your-storj-project - passphrase: your-human-readable-encryption-passphrase - access_grant: the-access-grant-generated-from-the-api-key-and-passphrase Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
در اینجا گزینههای استاندارد مختص به storj (ذخیرهسازی ابری غیرمتمرکز Storj) آورده شده است.
--storj-provider
یک روش احراز هویت را انتخاب کنید.
ویژگیها:
- •
- پیکربندی: provider
- •
- متغیر محیطی: RCLONE_STORJ_PROVIDER
- •
- نوع: string
- •
- پیشفرض: "existing"
- •
- مثالها:
- •
- "existing"
- •
- استفاده از یک مجوز دسترسی (access grant) موجود.
- •
- "new"
- •
- ایجاد یک مجوز دسترسی جدید از طریق نشانی ماهواره (satellite address)، کلید API و عبارت عبور (passphrase).
--storj-access-grant
مجوز دسترسی (Access grant).
ویژگیها:
- •
- پیکربندی: access_grant
- •
- متغیر محیطی: RCLONE_STORJ_ACCESS_GRANT
- •
- ارائهدهنده: existing
- •
- نوع: string
- •
- الزامی: false
--storj-satellite-address
نشانی ماهواره (Satellite address).
نشانی سفارشی ماهواره باید با این قالب مطابقت داشته باشد: <nodeid>@<address>:<port>.
ویژگیها:
- •
- پیکربندی: satellite_address
- •
- متغیر محیطی: RCLONE_STORJ_SATELLITE_ADDRESS
- •
- ارائهدهنده: new
- •
- نوع: string
- •
- پیشفرض: "us1.storj.io"
- •
- مثالها:
- •
- "us1.storj.io"
- •
- US1
- •
- "eu1.storj.io"
- •
- EU1
- •
- "ap1.storj.io"
- •
- AP1
کلید API.
ویژگیها:
- •
- پیکربندی: api_key
- •
- متغیر محیطی: RCLONE_STORJ_API_KEY
- •
- ارائهدهنده: new
- •
- نوع: string
- •
- الزامی: false
--storj-passphrase
عبارت عبور رمزنگاری.
برای دسترسی به اشیاء موجود، عبارت عبور استفادهشده هنگام بارگذاری را وارد کنید.
ویژگیها:
- •
- پیکربندی: passphrase
- •
- متغیر محیطی: RCLONE_STORJ_PASSPHRASE
- •
- ارائهدهنده: new
- •
- نوع: string
- •
- الزامی: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص به storj (فضای ذخیرهسازی ابری غیرمتمرکز Storj) آمده است.
--storj-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_STORJ_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
کاربرد
مسیرها به صورت remote:bucket (یا remote: برای دستور lsf) مشخص میشوند. همچنین میتوانید زیردایرکتوریها را نیز وارد کنید، مانند remote:bucket/path/to/dir.
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید.
ساخت یک باکت جدید
از دستور mkdir برای ایجاد یک باکت جدید استفاده کنید، مثلاً bucket.
-
rclone mkdir remote:bucket
فهرست کردن همه باکتها
از دستور lsf برای فهرست کردن همه باکتها استفاده کنید.
-
rclone lsf remote:
به نویسه دونقطه (:) در انتهای خط فرمان توجه کنید.
حذف یک باکت
از دستور rmdir برای حذف یک باکت خالی استفاده کنید.
-
rclone rmdir remote:bucket
از دستور purge برای حذف یک باکت غیرخالی به همراه تمامی محتویات آن استفاده کنید.
-
rclone purge remote:bucket
برای بارگذاری یک شیء از دستور copy استفاده کنید.
-
rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
گزینهٔ --progress برای نمایش اطلاعات پیشرفت کار است. اگر نیازی به این اطلاعات ندارید، آن را حذف کنید.
از یک پوشه در مسیر محلی برای بارگذاری تمامی اشیاء آن استفاده کنید.
-
rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
تنها فایلهای تغییریافته کپی خواهند شد.
فهرست کردن اشیاء
برای فهرست کردن بازگشتی تمام اشیاء درون یک باکت، از دستور ls استفاده کنید.
-
rclone ls remote:bucket
پوشه را به مسیر دوردست (remote) اضافه کنید تا تمام اشیاء درون این پوشه بهصورت بازگشتی فهرست شوند.
-
$ rclone ls remote:bucket /path/to/dir/
برای فهرست کردن غیربازگشتی تمام اشیاء درون یک باکت یا یک پوشه، از دستور lsf استفاده کنید.
-
rclone lsf remote:bucket/path/to/dir/
بارگیری اشیاء
برای بارگیری یک شیء از دستور copy استفاده کنید.
-
rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
گزینهٔ --progress برای نمایش اطلاعات پیشرفت کار است. اگر نیازی به این اطلاعات ندارید، آن را حذف کنید.
از یک پوشه در مسیر دوردست (remote) برای بارگیری تمامی اشیاء آن استفاده کنید.
-
rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
حذف اشیاء
برای حذف یک شیء منفرد از دستور deletefile استفاده کنید.
-
rclone deletefile remote:bucket/path/to/dir/file.ext
برای حذف تمام اشیاء درون یک پوشه از دستور delete استفاده کنید.
-
rclone delete remote:bucket/path/to/dir/
از دستور size برای چاپ حجم کل اشیاء در یک باکت یا یک پوشه استفاده کنید.
-
rclone size remote:bucket/path/to/dir/
همگامسازی دو مکان
از دستور sync برای همگامسازی مبدأ با مقصد استفاده کنید؛ بهگونهای که تنها مقصد تغییر کند و فایلهای اضافی حذف شوند.
-
rclone sync --interactive --progress /home/local/directory/ remote:bucket/path/to/dir/
پرچم --progress برای نمایش اطلاعات پیشرفت کار است. در صورتی که به این اطلاعات نیازی ندارید، آن را حذف کنید.
از آنجا که این عملیات میتواند باعث از دست رفتن دادهها شود، ابتدا با پرچم --dry-run آن را بیازمایید تا دقیقاً ببینید چه مواردی کپی و حذف خواهند شد.
همگامسازی میتواند از Storj به سیستم فایل محلی نیز انجام شود.
-
rclone sync --interactive --progress remote:bucket/path/to/dir/ /home/local/directory/
یا بین دو باکت Storj.
-
rclone sync --interactive --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
یا حتی بین یک ذخیرهسازی ابری دیگر و Storj.
-
rclone sync --interactive --progress s3:bucket/path/to/dir/ storj:bucket/path/to/dir/
محدودیتها
دستور rclone about توسط پسبند Storj در rclone پشتیبانی نمیشود. پسبندهای فاقد این قابلیت نمیتوانند فضای آزاد را برای یک rclone mount تعیین کنند یا از سیاست mfs (بیشترین فضای آزاد) بهعنوان عضوی از یک remote ترکیبی (union) در rclone بهره ببرند.
به فهرست پسبندهایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) مراجعه کنید.
مشکلات شناختهشده
اگر با خطاهایی مانند too many open files مواجه شدید، این حالت معمولاً زمانی رخ میدهد که از حد پیشفرض ulimit برای حداکثر فایلهای باز سیستم فراتر رفته باشید. پروتکل بومی Storj تعداد زیادی اتصال TCP باز میکند (که هر یک از آنها یک فایل باز بهشمار میرود). برای یک جریان بارگذاری واحد، میتوانید انتظار باز شدن ۱۱۰ اتصال TCP را داشته باشید. برای یک جریان بارگیری واحد، میتوانید انتظار ۳۵ اتصال را داشته باشید. این دسته از اتصالات برای هر قطعهٔ 64 MiB باز خواهد شد و همچنین باید انتظار استفادهٔ مجدد از اتصالات TCP را داشته باشید. اگر انتقالهای زیادی انجام دهید، در نهایت به اکثر گرههای ذخیرهسازی (هزاران گره) اتصال باز خواهید کرد.
برای رفع این موارد، لطفاً محدودیتهای سیستم خود را افزایش دهید. میتوانید این کار را با اجرای دستور ulimit -n 65536 دقیقاً پیش از اجرای rclone انجام دهید. برای تغییر دائمیتر محدودیتها، میتوانید این مقدار را به اسکریپت راهاندازی پوستهٔ خود، مانند $HOME/.bashrc اضافه کنید، یا پیکربندی سراسری سیستم را که معمولاً در /etc/sysctl.conf و/یا /etc/security/limits.conf قرار دارد تغییر دهید؛ اما لطفاً به راهنمای سیستمعامل خود مراجعه کنید..SH SugarSync
سرویس SugarSync (https://sugarsync.com) یک سرویس ابری است که امکان همگامسازی فعال فایلها را میان رایانهها و سایر دستگاهها برای پشتیبانگیری، دسترسی، همگامسازی و اشتراکگذاری فایل فراهم میکند.
پیکربندی (Configuration)
راهاندازی اولیه SugarSync شامل دریافت یک توکن از SugarSync است که میتوانید آن را با rclone انجام دهید. فرمان rclone config شما را در این مراحل راهنمایی میکند.
در اینجا نمونهای از نحوه ایجاد یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این فرمان شما را در یک فرایند راهاندازی تعاملی هدایت میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value [snip] XX / Sugarsync \ "sugarsync" [snip] Storage> sugarsync ** See help for sugarsync backend at: https://rclone.org/sugarsync ** Sugarsync App ID. Leave blank to use rclone's. Enter a string value. Press Enter for the default (""). app_id> Sugarsync Access Key ID. Leave blank to use rclone's. Enter a string value. Press Enter for the default (""). access_key_id> Sugarsync Private Access Key Leave blank to use rclone's. Enter a string value. Press Enter for the default (""). private_access_key> Permanently delete files if true otherwise put them in the deleted files. Enter a boolean value (true or false). Press Enter for the default ("false"). hard_delete> Edit advanced config? (y/n) y) Yes n) No (default) y/n> n Remote config Username (email address)> nick@craig-wood.com Your Sugarsync password is only required during setup and will not be stored. password: Configuration complete. Options: - type: sugarsync - refresh_token: https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
توجه داشته باشید که فرایند پیکربندی، ایمیل و گذرواژه شما را درخواست میکند اما آنها را ذخیره نمیکند؛ بلکه تنها برای دریافت توکن اولیه از آنها استفاده میکند.
پس از انجام پیکربندی، میتوانید از rclone به این صورت استفاده کنید (نام ریموت خود را به جای remote قرار دهید):
فهرست کردن دایرکتوریها (پوشههای همگامسازی) در بالاترین سطح از SugarSync شما:
-
rclone lsd remote:
فهرست کردن همه فایلها در پوشه "Test" در SugarSync:
-
rclone ls remote:Test
برای کپی کردن یک دایرکتوری محلی به پوشهای در SugarSync به نام backup:
-
rclone copy /home/source remote:backup
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند تا عمق مورد نیاز مشخص شوند، به عنوان مثال remote:directory/subdirectory.
نکته مهم: شما نمیتوانید در پوشه بالاترین سطح فایلی ایجاد کنید؛ بلکه باید یک پوشه بسازید که rclone آن را به عنوان یک "Sync Folder" در SugarSync ایجاد خواهد کرد..SS زمانهای تغییر و هشها
سرویس SugarSync از زمانهای تغییر یا هشها پشتیبانی نمیکند، بنابراین همگامسازی بهطور پیشفرض با بررسی --size-only انجام خواهد شد. توجه داشته باشید که استفاده از --update کار خواهد کرد، زیرا rclone میتواند زمان بارگذاری فایلها را بخواند.
نویسههای محدودشده نام فایل
سرویس SugarSync نویسههای مجموعه پیشفرض نویسههای محدودشده (https://rclone.org/overview/#restricted-characters) را بهجز DEL جایگزین میکند.
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای XML استفاده کرد.
حذف فایلها
فایلهای حذفشده بهطور پیشفرض به پوشه "Deleted items" منتقل میشوند.
با این حال، اگر میخواهید فایلها بلافاصله حذف شوند، میتوانید پرچم --sugarsync-hard-delete را ارائه داده یا پارامتر پیکربندی hard_delete = true را تنظیم کنید.
گزینههای استاندارد
در اینجا گزینههای استاندارد مخصوص sugarsync (Sugarsync) آورده شده است.
--sugarsync-app-id
شناسه برنامه Sugarsync (App ID).
جهت استفاده از شناسه rclone، این مقدار را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: app_id
- •
- متغیر محیطی: RCLONE_SUGARSYNC_APP_ID
- •
- نوع: string
- •
- الزامی: false
--sugarsync-access-key-id
شناسه کلید دسترسی Sugarsync (Access Key ID).
جهت استفاده از کلید rclone، این مقدار را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: access_key_id
- •
- متغیر محیطی: RCLONE_SUGARSYNC_ACCESS_KEY_ID
- •
- نوع: string
- •
- الزامی: false
--sugarsync-private-access-key
کلید دسترسی خصوصی Sugarsync (Private Access Key).
جهت استفاده از کلید rclone، این مقدار را خالی بگذارید.
ویژگیها:
- •
- پیکربندی: private_access_key
- •
- متغیر محیطی: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
- •
- نوع: string
- •
- الزامی: false
--sugarsync-hard-delete
در صورت true بودن، فایلها بهصورت دائمی حذف میشوند؛ در غیر این صورت درون بخش فایلهای حذفشده قرار میگیرند.
ویژگیها:
- •
- پیکربندی: hard_delete
- •
- متغیر محیطی: RCLONE_SUGARSYNC_HARD_DELETE
- •
- نوع: bool
- •
- پیشفرض: false.SS گزینههای پیشرفته
در اینجا گزینههای پیشرفتهٔ ویژهٔ sugarsync (Sugarsync) آورده شده است.
--sugarsync-refresh-token
توکن تازهسازی Sugarsync.
در حالت عادی خالی بگذارید؛ بهطور خودکار توسط rclone پیکربندی میشود.
ویژگیها:
- •
- پیکربندی: refresh_token
- •
- متغیر محیطی: RCLONE_SUGARSYNC_REFRESH_TOKEN
- •
- نوع: string
- •
- ضروری: false
--sugarsync-authorization
مجوز دسترسی Sugarsync.
در حالت عادی خالی بگذارید؛ بهطور خودکار توسط rclone پیکربندی میشود.
ویژگیها:
- •
- پیکربندی: authorization
- •
- متغیر محیطی: RCLONE_SUGARSYNC_AUTHORIZATION
- •
- نوع: string
- •
- ضروری: false
--sugarsync-authorization-expiry
تاریخ انقضای مجوز دسترسی Sugarsync.
در حالت عادی خالی بگذارید؛ بهطور خودکار توسط rclone پیکربندی میشود.
ویژگیها:
- •
- پیکربندی: authorization_expiry
- •
- متغیر محیطی: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
- •
- نوع: string
- •
- ضروری: false
--sugarsync-user
کاربر Sugarsync.
در حالت عادی خالی بگذارید؛ بهطور خودکار توسط rclone پیکربندی میشود.
ویژگیها:
- •
- پیکربندی: user
- •
- متغیر محیطی: RCLONE_SUGARSYNC_USER
- •
- نوع: string
- •
- ضروری: false
--sugarsync-root-id
شناسه ریشه Sugarsync.
در حالت عادی خالی بگذارید؛ بهطور خودکار توسط rclone پیکربندی میشود.
ویژگیها:
- •
- پیکربندی: root_id
- •
- متغیر محیطی: RCLONE_SUGARSYNC_ROOT_ID
- •
- نوع: string
- •
- ضروری: false
--sugarsync-deleted-id
شناسه پوشهٔ حذفشدههای Sugarsync.
در حالت عادی خالی بگذارید؛ بهطور خودکار توسط rclone پیکربندی میشود.
ویژگیها:
- •
- پیکربندی: deleted_id
- •
- متغیر محیطی: RCLONE_SUGARSYNC_DELETED_ID
- •
- نوع: string
- •
- ضروری: false.SS --sugarsync-encoding
کدگذاری (encoding) برای بکاند.
برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_SUGARSYNC_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Ctl,InvalidUtf8,Dot
--sugarsync-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_SUGARSYNC_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
دستور rclone about توسط بکاند SugarSync پشتیبانی نمیشود. بکاندهای فاقد این قابلیت نمیتوانند فضای خالی را برای یک rclone mount تعیین کنند یا از سیاست mfs (بیشترین فضای خالی) بهعنوان عضوی از یک ریموت union در rclone استفاده نمایند.
فهرست بکاندهایی که از rclone about پشتیبانی نمیکنند (https://rclone.org/overview/#optional-features) و rclone about (https://rclone.org/commands/rclone_about) را ببینید.
Uloz.to
مسیرها به صورت remote:path مشخص میشوند.
مسیرها میتوانند به هر عمق مورد نیازی باشند، مانند remote:directory/subdirectory.
راهاندازی اولیه Uloz.to شامل وارد کردن اطلاعات کاربری است. دستور rclone config شما را مرحله به مرحله راهنمایی میکند.
پیکربندی (Configuration)
در اینجا مثالی از نحوه ساخت یک ریموت به نام remote آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Uloz.to \ "ulozto" [snip] Storage> ulozto Option app_token. The application token identifying the app. An app API key can be either found in the API doc https://uloz.to/upload-resumable-api-beta or obtained from customer service. Enter a value. Press Enter to leave empty. app_token> token_value Option username. The username of the principal to operate as. Enter a value. Press Enter to leave empty. username> user Option password. The password for the user. Choose an alternative below. Press Enter for the default (n). y) Yes, type in my own password g) Generate random password n) No, leave this optional password blank (default) y/g/n> y Enter the password: password: Confirm the password: password: Edit advanced config? y) Yes n) No (default) y/n> n Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (به جای remote نامی را که به ریموت خود اختصاص دادهاید جایگزین نمایید):
فهرست کردن پوشهها در پوشه سطح ریشه:
-
rclone lsd remote:
فهرست کردن تمام فایلها در پوشه ریشه شما:
-
rclone ls remote:
برای کپی کردن یک پوشه محلی به یک پوشه Uloz.to به نام backup:
-
rclone copy /home/source remote:backup
تنها روش قابل اطمینان، احراز هویت کاربر با استفاده از نام کاربری و گذرواژه است. سرویس Uloz.to یک کلید API نیز ارائه میدهد، اما برای استفاده در برنامههای داخلی خود Uloz.to رزرو شده است و استفاده از آن در شرایط دیگر قابل اطمینان نیست.
زمانهای ویرایش و هشها (Modification times and hashes)
سرویس Uloz.to به کاربر اجازه نمیدهد زمان ویرایش سفارشی تعیین کند، یا هشها را پس از بارگذاری دریافت نماید. در نتیجه، این ادغام از یک فیلد با قالب آزاد که API فراهم میکند برای کدگذاری برچسبهای زمانی و هشهای ارائهشده توسط کلاینت استفاده میکند. برچسبهای زمانی با دقت میکروثانیه ذخیره میشوند.
یک هش MD5 محاسبهشده توسط سرور برای فایل در هنگام بارگذاری اعتبارسنجی میشود. پس از آن، backend فقط هشهای محاسبهشده در سمت کلاینت را ارائه میدهد. همچنین میتوان هشها را هنگام ایجاد پیوند بارگیری فایل دریافت کرد، اما این کار برای موارد استفاده مشابه list غیرعملی است.
نویسههای محدودشده در نام فایل (Restricted filename characters)
علاوه بر مجموعه نویسههای محدودشده پیشفرض (https://rclone.org/overview/#restricted-characters) نویسههای زیر نیز جایگزین میشوند:
| نویسه | مقدار | جایگزین |
| \ | 0x5C | \ |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد.
انتقالها (Transfers)
در حال حاضر تمامی فایلها با استفاده از یک درخواست HTTP منفرد بارگذاری میشوند، بنابراین برای بارگذاری فایلهای حجیم یک اتصال پایدار ضروری است. ابزار Rclone همزمان تا سقف --transfers تکه را بارگذاری خواهد کرد (که میان تمام بارگذاریها به اشتراک گذاشته میشود).
حذف فایلها (Deleting files)
بهطور پیشفرض، فایلها به سطل بازیافت منتقل میشوند در حالی که پوشهها فوراً حذف میشوند. فایلهای حذفشده پس از ۳۰ روز ماندن در سطل بازیافت، برای همیشه پاک میشوند.
خالی کردن سطل زباله در حال حاضر در rclone پیادهسازی نشده است.
شناسه پوشه ریشه (Root folder ID)
شما میتوانید root_folder_slug را برای rclone تنظیم کنید. این پوشهای است (که با Folder slug خود شناخته میشود) که rclone آن را به عنوان ریشه درایو Uloz.to شما در نظر میگیرد.
در حالت عادی این مقدار را خالی میگذارید و خود rclone ریشه صحیح را برای استفاده تعیین میکند. با این حال میتوانید این مقدار را تنظیم کنید تا rclone را به سلسلهمراتب پوشه خاصی محدود نمایید.
برای انجام این کار باید Folder slug پوشهای را که میخواهید به عنوان ریشه استفاده کنید بیابید. این مقدار آخرین بخش از URL هنگام باز کردن پوشه مربوطه در رابط کاربری وب Uloz.to خواهد بود.
برای مثال، برای کاوش در پوشهای با نشانی اینترنتی https://uloz.to/fm/my-files/foobar، باید از foobar به عنوان اسلاگ ریشه استفاده شود.
میتوان از root_folder_slug در کنار یک مسیر مشخص در مسیر ریموت استفاده کرد. برای مثال، اگر root_folder_slug ریموت شما با /foo/bar مطابقت داشته باشد، remote:baz/qux به ABSOLUTE_ULOZTO_ROOT/foo/bar/baz/qux اشاره خواهد کرد..SS گزینههای استاندارد
در اینجا گزینههای استاندارد مختص ulozto (Uloz.to) آمده است.
--ulozto-app-token
توکن برنامه که برنامه را شناسایی میکند. کلید API برنامه را میتوان در مستندات API در آدرس https://uloz.to/upload-resumable-api-beta یافت یا از خدمات مشتریان دریافت کرد.
ویژگیها:
- •
- پیکربندی: app_token
- •
- متغیر محیطی: RCLONE_ULOZTO_APP_TOKEN
- •
- نوع: string
- •
- ضروری: false
--ulozto-username
نام کاربری هویتی که عملیات تحت آن انجام میشود.
ویژگیها:
- •
- پیکربندی: username
- •
- متغیر محیطی: RCLONE_ULOZTO_USERNAME
- •
- نوع: string
- •
- ضروری: false
--ulozto-password
گذرواژه کاربر.
توجه: ورودی این مقدار باید مبهمسازی (obscure) شده باشد - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید.
ویژگیها:
- •
- پیکربندی: password
- •
- متغیر محیطی: RCLONE_ULOZTO_PASSWORD
- •
- نوع: string
- •
- ضروری: false
گزینههای پیشرفته
در اینجا گزینههای پیشرفته مختص ulozto (Uloz.to) آمده است.
--ulozto-root-folder-slug
در صورت تنظیم، rclone از این پوشه بهعنوان پوشه ریشه برای تمام عملیات استفاده خواهد کرد. برای مثال، اگر slug مشخصکننده 'foo/bar/' باشد، 'ulozto:baz' معادل 'ulozto:foo/bar/baz' بدون تنظیم هیچ root slug خواهد بود.
ویژگیها:
- •
- پیکربندی: root_folder_slug
- •
- متغیر محیطی: RCLONE_ULOZTO_ROOT_FOLDER_SLUG
- •
- نوع: string
- •
- ضروری: false
--ulozto-list-page-size
اندازه یک صفحه برای دستورهای فهرستگیری (list). 1-500
ویژگیها:
- •
- پیکربندی: list_page_size
- •
- متغیر محیطی: RCLONE_ULOZTO_LIST_PAGE_SIZE
- •
- نوع: int
- •
- پیشفرض: 500.SS --ulozto-encoding
کدگذاری برای پشتوانه (backend).
برای اطلاعات بیشتر، بخش کدگذاری را در نمای کلی (https://rclone.org/overview/#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_ULOZTO_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
--ulozto-description
توضیحات ریموت.
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_ULOZTO_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
محدودیتها (Limitations)
نامهای فایل Uloz.to نمیتوانند شامل نویسهٔ \ باشند. دستور rclone این نویسه را به معادل یونیکد همشکل آن یعنی \ (U+FF3C Fullwidth Reverse Solidus) و برعکس نگاشت میکند.
سرویس Uloz.to تنها از نامهای فایل با طول حداکثر ۲۵۵ نویسه پشتیبانی میکند.
سرویس Uloz.to نرخ دسترسی به API را محدود (rate limit) میکند، اما جزئیات دقیق آن فاش نشده است. آزمایشهای عملی نشان میدهند که مواجه شدن با محدودیت نرخ در طول استفادهٔ معمول بسیار نادر است، اگرچه با تعداد بالاتر فایلهای آپلودشده بهطور همزمان، غیرممکن نیست.
دستور rclone about توسط پشتوانهٔ Uloz.to پشتیبانی نمیشود. اگرچه یک نقطهٔ پایانی (endpoint) برای دریافت اطلاعات رابط کاربری وجود دارد، اما در API ارائه نشده است. پشتوانههای فاقد این قابلیت نمیتوانند فضای خالی را برای یک سوار کردن (mount) در rclone تعیین کنند یا از سیاست mfs (بیشترین فضای خالی - most free space) بهعنوان عضوی از یک ریموت union در rclone استفاده نمایند.
بخش فهرست پشتوانههایی که از rclone about پشتیبانی نمیکنند در (https://rclone.org/overview/#optional-features) و rclone about را در (https://rclone.org/commands/rclone_about) ببینید.
اتحادیه (Union)
پشتوانهٔ union چندین ریموت را به یکدیگر متصل میکند تا نمایی واحد و یکپارچه از آنها ایجاد کند.
در طول راهاندازی اولیه با rclone config شما ریموتهای بالادستی (upstream) را بهصورت فهرستی جداشده با فاصله (space) مشخص خواهید کرد. ریموتهای بالادستی میتوانند مسیرهای محلی یا ریموتهای دیگر باشند.
صفتهای :ro، :nc و :writeback میتوانند به انتهای ریموت پیوست شوند تا ریموت را بهعنوان فقطخواندنی (read only)، بدون ایجاد (no create) یا writeback برچسبگذاری کنند؛ مانند remote:directory/subdirectory:ro یا remote:directory/subdirectory:nc.
- •
- :ro به این معنی است که فایلها فقط از اینجا خوانده میشوند و هرگز در آن نوشته نخواهند شد
- •
- :nc به این معنی است که فایلها یا دایرکتوریهای جدید در اینجا ایجاد نخواهند شد
- •
- :writeback به این معنی است که فایلهای یافتشده در ریموتهای مختلف، در اینجا بازنویسی خواهند شد. برای اطلاعات بیشتر بخش writeback را ببینید.
میتوان از زیرپوشهها در ریموتهای بالادستی استفاده کرد. یک ریموت union به نام backup را با ریموتهای mydrive:private/backup در نظر بگیرید. اجرای دستور rclone mkdir backup:desktop دقیقاً معادل اجرای rclone mkdir mydrive:private/backup/desktop است.
هیچ پردازش ویژهای برای مسیرهای حاوی بخشهای .. وجود ندارد. اجرای دستور rclone mkdir backup:../desktop دقیقاً معادل اجرای rclone mkdir mydrive:private/backup/../desktop است..SS پیکربندی
در اینجا مثالی از نحوه ایجاد یک union به نام remote برای پوشههای محلی آورده شده است. ابتدا اجرا کنید:
-
rclone config
این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند:
-
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Union merges the contents of several remotes \ "union" [snip] Storage> union List of space separated upstreams. Can be 'upstreama:test/dir upstreamb:', '\"upstreama:test/space:ro dir\" upstreamb:', etc. Enter a string value. Press Enter for the default (""). upstreams> remote1:dir1 remote2:dir2 remote3:dir3 Policy to choose upstream on ACTION class. Enter a string value. Press Enter for the default ("epall"). action_policy> Policy to choose upstream on CREATE class. Enter a string value. Press Enter for the default ("epmfs"). create_policy> Policy to choose upstream on SEARCH class. Enter a string value. Press Enter for the default ("ff"). search_policy> Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used. Enter a signed integer. Press Enter for the default ("120"). cache_time> Remote config Configuration complete. Options: - type: union - upstreams: remote1:dir1 remote2:dir2 remote3:dir3 Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== remote union e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید:
فهرست کردن دایرکتوریهای سطح بالا در remote1:dir1، remote2:dir2 و remote3:dir3
-
rclone lsd remote:
فهرست کردن تمام فایلها در remote1:dir1، remote2:dir2 و remote3:dir3
-
rclone ls remote:
کپی کردن یک دایرکتوری محلی دیگر در دایرکتوری union به نام source، که در remote3:dir3 قرار خواهد گرفت
-
rclone copy C:\source remote:source
رفتار بکاند union از trapexit/mergerfs (https://github.com/trapexit/mergerfs) الهام گرفته شده است. تمام توابع در ۳ دسته گروهبندی میشوند: action، create و search. به این توابع و دستهها میتوان سیاستی اختصاص داد که تعیین میکند هنگام اجرای آن رفتار، چه فایل یا دایرکتوریای انتخاب شود. هر سیاستی را میتوان به یک تابع یا دسته اختصاص داد، اگرچه ممکن است برخی از آنها در عمل چندان مفید نباشند. برای نمونه: rand (تصادفی) ممکن است برای ایجاد فایل (create) مفید باشد، اما در صورت وجود بیش از یک نسخه از فایل، استفاده از آن برای delete میتواند به رفتار بسیار عجیبی منجر شود.
طبقهبندی توابع / دستهها (Function / Category classifications)
| دسته | توضیحات | توابع |
| action | نوشتن روی فایل موجود | move، rmdir، rmdirs، delete، purge و copy، sync (بهعنوان مقصد، زمانی که فایل وجود دارد) |
| create | ایجاد فایل ناموجود | copy، sync (بهعنوان مقصد، زمانی که فایل وجود ندارد) |
| search | خواندن و فهرستکردن فایل | ls، lsd، lsl، cat، md5sum، sha1sum و copy، sync (بهعنوان مبدأ) |
| N/A | size، about |
حفظ مسیر (Path Preservation)
سیاستها، همانطور که در زیر شرح داده شده است، از دو نوع اساسی هستند: path preserving (حفظکننده مسیر) و non-path preserving (عدم حفظ مسیر).
تمام سیاستهایی که با ep آغاز میشوند (epff، eplfs، eplus، epmfs، eprand) از نوع path preserving هستند. ep مخفف existing path (مسیر موجود) است.
یک سیاست حفظ مسیر (path preserving) تنها بالادستهایی (upstreams) را در نظر میگیرد که مسیر نسبیِ در حال دسترسی، از قبل در آنها موجود باشد.
هنگام استفاده از سیاستهای غیرحافظ مسیر (non-path preserving)، مسیرها در صورت نیاز در بالادستهای هدف ایجاد خواهند شد.
سیاستهای مرتبط با سهمیه (Quota Relevant Policies)
برخی از سیاستها به اطلاعات سهمیه (quota) متکی هستند. این سیاستها تنها باید در صورتی استفاده شوند که بالادستهای شما از فیلدهای سهمیه مربوطه پشتیبانی کنند.
| سیاست | فیلد مورد نیاز |
| lfs, eplfs | Free |
| mfs, epmfs | Free |
| lus, eplus | Used |
| lno, eplno | Objects |
برای بررسی اینکه آیا بالادست شما از فیلد مورد نظر پشتیبانی میکند یا خیر، دستور rclone about remote: [flags] را اجرا کرده و بررسی کنید که آیا فیلد مورد نیاز وجود دارد یا خیر..SS "فیلترها (Filters)"
سیاستها (Policies) اساساً ریموتهای بالادست (upstream remotes) را جستجو کرده و فهرستی از فایلها / مسیرها را برای کارکرد توابع ایجاد میکنند. سیاست مسئول فیلتر کردن و مرتبسازی است. نوع سیاست مرتبسازی را تعیین میکند، اما فیلتر کردن همانطور که در زیر شرح داده شده تا حد زیادی یکنواخت است.
- •
- هیچیک از سیاستهای search فیلتر انجام نمیدهند.
- •
- تمام سیاستهای action ریموتهایی را که با عنوان read-only نشانهگذاری شدهاند، فیلتر (حذف) میکنند.
- •
- تمام سیاستهای create ریموتهایی را که با عنوان read-only یا no-create نشانهگذاری شدهاند، فیلتر (حذف) میکنند.
اگر همهٔ ریموتها فیلتر شوند، یک خطا بازگردانده خواهد شد.
توضیحات سیاستها (Policy descriptions)
تعریف سیاستها از trapexit/mergerfs (https://github.com/trapexit/mergerfs) الهام گرفته شده است، اما دقیقاً یکسان نیست. برخی تعاریف سیاستها ممکن است به دلیل تأخیر بسیار بیشتر سیستمهای فایل راه دور (remote file systems) متفاوت باشند.
| سیاست | توضیحات |
| all | دستهبندی search: همانند epall. دستهبندی action: همانند epall. دستهبندی create: عمل روی تمام بالادستها (upstreams). |
| epall (existing path, all) | دستهبندی search: با توجه به این ترتیب پیکربندیشده، روی اولین موردی که مسیر نسبی در آن وجود دارد عمل میکند. دستهبندی action: اعمال روی تمام موارد یافتهشده. دستهبندی create: عمل روی تمام بالادستهایی که مسیر نسبی در آنها وجود دارد. |
| epff (existing path, first found) | روی اولین موردی که تا زمان پاسخگویی بالادستها یافت شود و مسیر نسبی در آن وجود داشته باشد، عمل میکند. |
| eplfs (existing path, least free space) | از میان تمام بالادستهایی که مسیر نسبی در آنها وجود دارد، موردی با کمترین فضای خالی انتخاب میشود. |
| eplus (existing path, least used space) | از میان تمام بالادستهایی که مسیر نسبی در آنها وجود دارد، موردی با کمترین فضای استفادهشده انتخاب میشود. |
| eplno (existing path, least number of objects) | از میان تمام بالادستهایی که مسیر نسبی در آنها وجود دارد، موردی با کمترین تعداد اشیاء (objects) انتخاب میشود. |
| epmfs (existing path, most free space) | از میان تمام بالادستهایی که مسیر نسبی در آنها وجود دارد، موردی با بیشترین فضای خالی انتخاب میشود. |
| eprand (existing path, random) | سیاست epall را فراخوانی کرده و سپس بهصورت تصادفی انتخاب میکند. تنها یک بالادست را بازمیگرداند. |
| ff (first found) | دستهبندی search: همانند epff. دستهبندی action: همانند epff. دستهبندی create: عمل روی اولین موردی که تا زمان پاسخگویی بالادستها یافت شود. |
| lfs (least free space) | دستهبندی search: همانند eplfs. دستهبندی action: همانند eplfs. دستهبندی create: انتخاب بالادست با کمترین فضای خالی در دسترس. |
| lus (least used space) | دستهبندی search: همانند eplus. دستهبندی action: همانند eplus. دستهبندی create: انتخاب بالادست با کمترین فضای استفادهشده. |
| lno (least number of objects) | دستهبندی search: همانند eplno. دستهبندی action: همانند eplno. دستهبندی create: انتخاب بالادست با کمترین تعداد اشیاء. |
| mfs (most free space) | دستهبندی search: همانند epmfs. دستهبندی action: همانند epmfs. دستهبندی create: انتخاب بالادست با بیشترین فضای خالی در دسترس. |
| newest | فایل / دایرکتوری دارای بیشترین مقدار mtime (جدیدترین زمان تغییر) را انتخاب میکند. |
| rand (random) | سیاست all را فراخوانی کرده و سپس بهصورت تصادفی انتخاب میکند. تنها یک بالادست را بازمیگرداند. |
| برچسب :writeback روی یک ریموت بالادست (upstream) میتواند برای ایجاد یک سامانه حافظه نهان (cache) ساده مانند زیر استفاده شود: | |
| [union] |
| type = union |
| action_policy = all |
| create_policy = all |
| search_policy = ff |
| upstreams = /local:writeback remote:dir |
| هنگامی که فایلها برای خواندن باز میشوند، اگر فایل در remote:dir باشد اما در /local موجود نباشد، rclone پیش از بازگرداندن ارجاع به فایل در /local، آن را بهطور کامل در /local کپی خواهد کرد. |
| این کپی با معادل دستور rclone copy انجام خواهد شد، بنابراین در صورت پیکربندی، از --multi-thread-streams استفاده خواهد کرد. |
| هرگونه کپی با یک پیام در سطح INFO ثبت خواهد شد. |
| هنگامی که فایلها نوشته میشوند، در هر دو مسیر remote:dir و /local نوشته خواهند شد. |
| میتوان هر تعداد ریموت دلخواهی را به upstreams اضافه کرد، اما تنها باید یک برچسب :writeback وجود داشته باشد. |
| دستور rclone ریموت دارای :writeback را به هیچ روش دیگری به جز نوشتن مجدد فایلها در آن، مدیریت نمیکند. |
| بنابراین اگر نیاز دارید فایلهای قدیمی را منقضی کنید یا اندازه را مدیریت نمایید، باید این کار را خودتان انجام دهید. |
| گزینههای استاندارد (Standard options) |
| در اینجا گزینههای استاندارد مختص به union (اتحادیه محتویات چند سامانه فایل بالادست را ادغام میکند) آورده شده است. |
| --union-upstreams |
| فهرستی از بالادستها که با فاصله (space) از هم جدا شدهاند. |
| میتواند 'upstreama:test/dir upstreamb:'، یا '"upstreama:test/space:ro dir" upstreamb:' و غیره باشد. |
| ویژگیها: |
| • 2 |
| پیکربندی: upstreams |
| • 2 |
| متغیر محیطی: RCLONE_UNION_UPSTREAMS |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| --union-action-policy |
| شیوهنامه برای انتخاب بالادست در دستهبندی ACTION. |
| ویژگیها: |
| • 2 |
| پیکربندی: action_policy |
| • 2 |
| متغیر محیطی: RCLONE_UNION_ACTION_POLICY |
| • 2 |
| نوع: string |
| • 2 |
| پیشفرض: "epall" |
| --union-create-policy |
| شیوهنامه برای انتخاب بالادست در دستهبندی CREATE. |
| ویژگیها: |
| • 2 |
| پیکربندی: create_policy |
| • 2 |
| متغیر محیطی: RCLONE_UNION_CREATE_POLICY |
| • 2 |
| نوع: string |
| • 2 |
| پیشفرض: "epmfs".SS --union-search-policy |
| سیاست انتخاب بالادست در دستهبندی SEARCH. |
| ویژگیها: |
| • 2 |
| پیکربندی: search_policy |
| • 2 |
| متغیر محیطی: RCLONE_UNION_SEARCH_POLICY |
| • 2 |
| نوع: string |
| • 2 |
| پیشفرض: "ff" |
| --union-cache-time |
| مدتزمان نگهداری کش فضای مصرفی و آزاد (به ثانیه). |
| این گزینه تنها زمانی کاربرد دارد که یک سیاست حفظ مسیر به کار گرفته شود. |
| ویژگیها: |
| • 2 |
| پیکربندی: cache_time |
| • 2 |
| متغیر محیطی: RCLONE_UNION_CACHE_TIME |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 120 |
| گزینههای پیشرفته (Advanced options) |
| در این بخش گزینههای پیشرفته مختص به union آورده شده است (union محتویات چند سامانه فایل بالادست را ادغام میکند). |
| --union-min-free-space |
| حداقل فضای آزاد قابلقبول برای سیاستهای lfs/eplfs. |
| اگر فضای آزاد یک ریموت از این مقدار کمتر باشد، برای استفاده در سیاستهای lfs یا eplfs در نظر گرفته نخواهد شد. |
| ویژگیها: |
| • 2 |
| پیکربندی: min_free_space |
| • 2 |
| متغیر محیطی: RCLONE_UNION_MIN_FREE_SPACE |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 1Gi |
| --union-description |
| توضیحات ریموت. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_UNION_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| فراداده (Metadata) |
| هرگونه فراداده پشتیبانیشده توسط ریموت زیرین خوانده شده و نوشته میشود. |
| برای اطلاعات بیشتر مستندات فراداده (https://rclone.org/docs/#metadata) را ببینید. |
| WebDAV |
| مسیرها بهصورت remote:path مشخص میشوند. |
| مسیرها میتوانند تا هر عمق موردنیازی باشند، مانند: |
| remote:directory/subdirectory. |
| پیکربندی (Configuration) |
| برای پیکربندی ریموت WebDAV به یک URL برای آن و یک نام کاربری و گذرواژه نیاز خواهید داشت. |
| اگر نوع سامانهای را که به آن متصل میشوید بدانید، rclone میتواند قابلیتهای بیشتری را فعال کند. |
| در اینجا نمونهای از نحوه ایجاد یک ریموت به نام remote آورده شده است. |
| ابتدا اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| q) Quit config |
| n/s/q> n |
| name> remote |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / WebDAV |
| \ "webdav" |
| [snip] |
| Storage> webdav |
| URL of http host to connect to |
| Choose a number from below, or type in your own value |
| 1 / Connect to example.com |
| \ "https://example.com" |
| url> https://example.com/remote.php/webdav |
| Name of the WebDAV site/service/software you are using |
| Choose a number from below, or type in your own value |
| 1 / Fastmail Files |
| \ (fastmail) |
| 2 / Nextcloud |
| \ (nextcloud) |
| 3 / Owncloud |
| \ (owncloud) |
| 4 / Sharepoint Online, authenticated by Microsoft account |
| \ (sharepoint) |
| 5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises |
| \ (sharepoint-ntlm) |
| 6 / rclone WebDAV server to serve a remote over HTTP via the WebDAV protocol |
| \ (rclone) |
| 7 / Other site/service or software |
| \ (other) |
| vendor> 2 |
| User name |
| user> user |
| Password. |
| y) Yes type in my own password |
| g) Generate random password |
| n) No leave this optional password blank |
| y/g/n> y |
| Enter the password: |
| password: |
| Confirm the password: |
| password: |
| Bearer token instead of user/pass (e.g. a Macaroon) |
| bearer_token> |
| Remote config |
| Configuration complete. |
| Options: |
| - type: webdav |
| - url: https://example.com/remote.php/webdav |
| - vendor: nextcloud |
| - user: user |
| - pass: *** ENCRYPTED *** |
| - bearer_token: |
| Keep this "remote" remote? |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (remote را با نامی که به ریموت خود دادهاید جایگزین کنید): |
| فهرست کردن دایرکتوریها در بالاترین سطح WebDAV شما |
| rclone lsd remote: |
| فهرست کردن تمام فایلها در WebDAV شما |
| rclone ls remote: |
| برای کپی کردن یک دایرکتوری محلی به یک دایرکتوری WebDAV به نام backup |
| rclone copy /home/source remote:backup |
| WebDAV معمولی از زمانهای تغییر پشتیبانی نمیکند. |
| با این حال، هنگام استفاده با Fastmail Files، ownCloud یا Nextcloud، ابزار rclone از |
| زمانهای تغییر پشتیبانی خواهد کرد. |
| به همین ترتیب WebDAV معمولی از هشها پشتیبانی نمیکند؛ اما هنگام استفاده با |
| Fastmail Files، ownCloud یا Nextcloud، ابزار rclone از هشهای SHA1 و MD5 پشتیبانی |
| خواهد کرد. |
| بسته به نسخه دقیق ownCloud یا Nextcloud، ممکن است هشها روی تمام اشیاء ظاهر |
| شوند، یا تنها روی اشیائی که همراه با آنها هشی بارگذاری شده است. |
| در Nextcloud، ابزار rclone از سرور میخواهد تا SHA1 بارگذاریهایی را که هشی برای |
| ارسال نداشتند (مانند بارگذاریهای جریانی)، و همچنین پس از تنظیم زمان تغییر |
| (که هش ذخیرهشده را حذف میکند)، محاسبه کند. |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مختص webdav (WebDAV) آورده شده است. |
| --webdav-url |
| نشانی URL میزبان http برای اتصال به آن. |
| برای نمونه: |
| https://example.com. |
| ویژگیها: |
| • 2 |
| پیکربندی: url |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_URL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: true |
| --webdav-vendor |
| نام وبگاه/سرویس/نرمافزار WebDAV که از آن استفاده میکنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: vendor |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_VENDOR |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "fastmail" |
| 2 |
| • 2 |
| Fastmail Files |
| • 2 |
| "nextcloud" |
| 2 |
| • 2 |
| Nextcloud |
| • 2 |
| "owncloud" |
| 2 |
| • 2 |
| سرور WebDAV مبتنی بر PHP برای Owncloud 10 |
| • 2 |
| "infinitescale" |
| 2 |
| • 2 |
| ownCloud Infinite Scale |
| • 2 |
| "sharepoint" |
| 2 |
| • 2 |
| سرویس Sharepoint Online، احراز هویت با حساب Microsoft |
| • 2 |
| "sharepoint-ntlm" |
| 2 |
| • 2 |
| سرویس Sharepoint با احراز هویت NTLM، معمولاً خودمیزبان (self-hosted) یا درونسازمانی (on-premises) |
| • 2 |
| "rclone" |
| 2 |
| • 2 |
| سرور WebDAV ابزار rclone برای سرویسدهی یک ریموت بر بستر HTTP از طریق پروتکل WebDAV |
| • 2 |
| "other" |
| 2 |
| • 2 |
| سایر وبگاهها/سرویسها یا نرمافزارها |
| نام کاربری. |
| در صورتی که از احراز هویت NTLM استفاده شود، نام کاربری باید در قالب 'Domain' باشد. |
| ویژگیها: |
| • 2 |
| پیکربندی: user |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_USER |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --webdav-pass |
| گذرواژه. |
| نکته: ورودی این گزینه باید مبهمسازی شود - به rclone obscure (https://rclone.org/commands/rclone_obscure) مراجعه کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: pass |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_PASS |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --webdav-bearer-token |
| توکن حامل (Bearer token) به جای نام کاربری/گذرواژه (برای نمونه Macaroon). |
| ویژگیها: |
| • 2 |
| پیکربندی: bearer_token |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_BEARER_TOKEN |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| گزینههای پیشرفته (Advanced options) |
| در اینجا گزینههای پیشرفته مخصوص webdav (WebDAV) آورده شده است. |
| --webdav-bearer-token-command |
| دستوری که برای دریافت توکن حامل (bearer token) اجرا میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: bearer_token_command |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --webdav-encoding |
| کدگذاری برای backend. |
| برای اطلاعات بیشتر بخش کدگذاری را در بررسی اجمالی (https://rclone.org/overview/#encoding) ببینید. |
| کدگذاری پیشفرض برای sharepoint-ntlm برابر با |
| Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8 |
| و در غیر این صورت identity است. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_ENCODING |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --webdav-headers |
| تنظیم هدرهای HTTP برای تمامی تراکنشها. |
| از این گزینه برای تنظیم هدرهای HTTP اضافی برای تمامی تراکنشها استفاده کنید. |
| قالب ورودی فهرستی از جفتهای key,value است که با ویرگول از یکدیگر جدا شدهاند. |
| میتوان از کدگذاری استاندارد CSV (https://godoc.org/encoding/csv) استفاده کرد. |
| برای نمونه، جهت تنظیم یک Cookie از 'Cookie,name=value' یا |
| '"Cookie","name=value"' استفاده کنید. |
| میتوانید چندین هدر را تنظیم کنید، مانند: |
| '"Cookie","name=value","Authorization","xxx"'. |
| ویژگیها: |
| • 2 |
| پیکربندی: headers |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_HEADERS |
| • 2 |
| نوع: CommaSepList |
| • 2 |
| پیشفرض: |
| --webdav-pacer-min-sleep |
| حداقل زمان توقف میان فراخوانیهای API. |
| ویژگیها: |
| • 2 |
| پیکربندی: pacer_min_sleep |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_PACER_MIN_SLEEP |
| • 2 |
| نوع: Duration |
| • 2 |
| پیشفرض: 10ms |
| --webdav-nextcloud-chunk-size |
| اندازه تکههای بارگذاری Nextcloud. |
| توصیه میکنیم نمونه NextCloud خود را پیکربندی کنید تا حداکثر اندازه تکه را برای عملکرد بهتر در بارگذاری به 1 گیگابایت افزایش دهید. |
| ببینید: |
| https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#adjust-chunk-size-on-nextcloud-side |
| برای غیرفعال کردن بارگذاری تکهای، آن را روی 0 تنظیم کنید. |
| ویژگیها: |
| • 2 |
| پیکربندی: nextcloud_chunk_size |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_NEXTCLOUD_CHUNK_SIZE |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 10Mi |
| --webdav-owncloud-exclude-shares |
| مستثنی کردن اشتراکگذاریهای ownCloud |
| ویژگیها: |
| • 2 |
| پیکربندی: owncloud_exclude_shares |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_OWNCLOUD_EXCLUDE_SHARES |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --webdav-owncloud-exclude-mounts |
| مستثنی کردن فضاهای ذخیرهسازی متصلشده (mounted) در ownCloud |
| ویژگیها: |
| • 2 |
| پیکربندی: owncloud_exclude_mounts |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_OWNCLOUD_EXCLUDE_MOUNTS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false.SS --webdav-unix-socket |
| مسیر یک سوکت دامنه یونیکس (unix domain socket) برای برقراری ارتباط، بهجای باز کردن مستقیم یک اتصال TCP |
| ویژگیها: |
| • 2 |
| پیکربندی: unix_socket |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_UNIX_SOCKET |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --webdav-auth-redirect |
| حفظ احراز هویت در هنگام تغییر مسیر (redirect). |
| اگر سرور هنگام تلاش rclone برای خواندن یک فایل، آن را به یک دامنه جدید تغییر مسیر دهد، در حالت عادی rclone سرآیند Authorization: را از درخواست حذف میکند. |
| این یک اقدام امنیتی استاندارد است تا از ارسال اطلاعات هویتی شما به یک وبسرور ناشناخته جلوگیری شود. |
| با این حال، در برخی شرایط این رفتار مطلوب است. |
| اگر هنگام تلاش rclone برای خواندن فایلها از سرور webdav با خطایی مانند "401 Unauthorized" مواجه شدید، میتوانید این گزینه را امتحان کنید. |
| توجه داشته باشید که فعالسازی این گزینه همچنین اجازه میدهد تا در صورت تغییر مسیر از HTTPS به HTTP توسط سرور، اطلاعات هویتی شما روی یک اتصال متنآشکار (plaintext) HTTP ارسال شود؛ کاری که rclone در غیر این صورت از انجام آن خودداری میکند. |
| ویژگیها: |
| • 2 |
| پیکربندی: auth_redirect |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_AUTH_REDIRECT |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --webdav-description |
| توضیحات ریموت (remote). |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_WEBDAV_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| نکات مربوط به ارائهدهندگان (Provider notes) |
| برای نکات مربوط به ارائهدهندگان خاص، موارد زیر را ببینید. |
| Fastmail Files |
| از https://webdav.fastmail.com/ یا یکی از زیرپوشههای آن بهعنوان URL، و از رایانامه Fastmail خود بهصورت username@domain.tld بهعنوان نام کاربری استفاده کنید. |
| این مستندات (https://www.fastmail.help/hc/en-us/articles/360058752854-App-passwords) را برای ساخت یک گذرواژه برنامه (app password) با دسترسی به Files (WebDAV) دنبال کرده و از آن بهعنوان گذرواژه استفاده کنید. |
| سرویس Fastmail از زمانهای اصلاحشده با استفاده از سرآیند X-OC-Mtime پشتیبانی میکند. |
| ownCloud |
| روی آیکون چرخدنده تنظیمات در پایین سمت راست صفحه کلیک کنید؛ این کار URL مربوط به WebDAV را که rclone در مرحله پیکربندی به آن نیاز دارد نمایش میدهد. |
| این نشانی چیزی شبیه به https://example.com/remote.php/webdav/ خواهد بود. |
| سرویس ownCloud از زمانهای اصلاحشده با استفاده از سرآیند X-OC-Mtime پشتیبانی میکند. |
| Nextcloud |
| این سرویس دقیقاً مشابه ownCloud پیکربندی میشود. |
| توجه داشته باشید که Nextcloud در ابتدا بر خلاف ownCloud از ارسال جریانی (streaming) فایلها (rcat) پشتیبانی نمیکرد، اما به نظر میرسد این مورد (https://github.com/nextcloud/nextcloud-snap/issues/365) از تاریخ ۲۰۲۰-۱۱-۲۷ برطرف شده است (آزمایششده با rclone نسخه v1.53.1 و Nextcloud Server نسخه v19)..SS ownCloud Infinite Scale |
| نشانی وب (URL) مربوط به WebDAV برای Infinite Scale را میتوان در پانل جزئیات هر فضا (space) در Infinite Scale پیدا کرد، در صورتی که نمایش آن در تنظیمات شخصی کاربر از طریق جعبهٔ انتخاب (checkbox) فعال شده باشد. |
| ابزار Infinite Scale با پروتکل بارگذاری تکهتکهٔ tus (https://tus.io) کار میکند. |
| اندازهٔ هر تکه (chunk size) در حال حاضر روی ۱۰ مگابایت ثابت است. |
| Sharepoint Online |
| ابزار Rclone میتواند با Sharepoint ارائهشده توسط حسابهای کاربری OneDrive for Business یا Office365 Education استفاده شود. |
| این ویژگی تنها برای تعداد معدودی از این حسابها لازم است، که عمدتاً حسابهای Office365 Education هستند. |
| این حسابها گاهی اوقات توسط مالک دامنه تأیید نشدهاند: github#1975 (https://github.com/rclone/rclone/issues/1975) |
| این بدان معناست که این حسابها را نمیتوان با استفاده از API رسمی اضافه کرد (سایر حسابها باید با گزینهٔ "onedrive" کار کنند). |
| با این وجود، دسترسی به آنها از طریق webdav امکانپذیر است. |
| برای استفاده از یک ریموت sharepoint با rclone، آن را به این صورت اضافه کنید: ابتدا باید URL ریموت خود را به دست آورید: |
| • 2 |
| برای باز کردن OneDrive خود یا ورود به سیستم، به اینجا (https://onedrive.live.com/about/en-us/signin) بروید |
| • 2 |
| اکنون به نوار آدرس مرورگر خود نگاه کنید؛ URL باید به این شکل باشد: |
| https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_layouts/15/onedrive.aspx |
| شما تنها تا بخش آدرس ایمیل به این URL نیاز خواهید داشت. |
| پس از آن، به احتمال زیاد مایل به افزودن "/Documents" خواهید بود. |
| این زیرشاخه حاوی دادههای واقعی ذخیرهشده در OneDrive شماست. |
| ریموت را به این صورت به rclone اضافه کنید: مقدار url را به عنوان |
| https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents |
| پیکربندی کرده و از ایمیل و گذرواژهٔ معمول حساب کاربری خود برای user و |
| pass استفاده کنید. |
| اگر احراز هویت دومرحلهای (2FA) را فعال کردهاید، باید یک گذرواژهٔ برنامه (app password) ایجاد کنید. |
| مقدار vendor را روی sharepoint تنظیم نمایید. |
| فایل پیکربندی شما باید به این شکل باشد: |
| [sharepoint] |
| type = webdav |
| url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents |
| vendor = sharepoint |
| user = YourEmailAddress |
| pass = encryptedpassword |
| "Sharepoint با احراز هویت NTLM (Sharepoint with NTLM Authentication)" |
| از این گزینه در صورتی استفاده کنید که Sharepoint (میزبانیشدهٔ) شما به حسابهای OneDrive متصل نبوده و از احراز هویت NTLM استفاده میکند. |
| برای به دست آوردن مقدار پیکربندی url، همانند بالا، ابتدا در مرورگر خود به دایرکتوری مورد نظر بروید تا URL را دریافت کنید، سپس همه چیز را بعد از نام دایرکتوری بازشده حذف کنید. |
| مثال: اگر URL به این صورت باشد: |
| https://example.sharepoint.com/sites/12345/Documents/Forms/AllItems.aspx |
| پیکربندی مورد استفاده به این صورت خواهد بود: |
| https://example.sharepoint.com/sites/12345/Documents |
| مقدار vendor را برابر sharepoint-ntlm قرار دهید. |
| پروتکل NTLM از ترکیب نام دامنه و نام کاربری برای احراز هویت استفاده میکند؛ user را به صورت DOMAIN\username تنظیم کنید. |
| فایل پیکربندی شما باید به این شکل باشد: |
| [sharepoint] |
| type = webdav |
| url = https://[YOUR-DOMAIN]/some-path-to/Documents |
| vendor = sharepoint-ntlm |
| user = DOMAIN\user |
| pass = encryptedpassword |
| از آنجا که SharePoint پردازشهای خاصی روی سندهای بارگذاریشده انجام میدهد، شما |
| قادر نخواهید بود از اندازهٔ سند یا هش سندها برای مقایسهٔ اینکه آیا فایلی از زمان بارگذاری تغییر کرده است یا خیر / کدام فایل جدیدتر است، استفاده کنید. |
| برای فراخوانیهای Rclone در رونوشت فایلها (بهویژه فایلهای Office مانند .docx، |
| .xlsx و غیره) |
| از/به SharePoint (مانند copy، sync و غیره)، باید این پرچمها را اضافه کنید تا مطمئن شوید Rclone از ویژگی تاریخ و زمان "Last Modified" برای مقایسهٔ سندهای شما استفاده میکند: |
| --ignore-size --ignore-checksum --update |
| Rclone |
| اگر ریموتها را روی WebDAV ارائهشده توسط rclone میزبانی میکنید، از این گزینه استفاده کنید. |
| برای جزئیات بیشتر rclone serve webdav را بخوانید. |
| دستور rclone serve با استفاده از سرایند X-OC-Mtime از زمانهای تغییر پشتیبانی میکند. |
| dCache |
| سامانهٔ dCache یک سیستم ذخیرهسازی است که از پروتکلها و طرحهای احراز هویت/مجوزدهی متعددی پشتیبانی میکند. |
| برای کلاینتهای WebDAV، به کاربران امکان میدهد با نام کاربری و گذرواژه (BASIC)، X.509، Kerberos و توکنهای حامل (bearer tokens) گوناگون، از جمله Macaroons (https://www.dcache.org/manuals/workshop-2017-05-29-Umea/000-Final/anupam_macaroons_v02.pdf) |
| و توکنهای دسترسی OpenID-Connect (https://en.wikipedia.org/wiki/OpenID_Connect) احراز هویت کنند. |
| پیکربندی را طبق روال معمول با نوع other انجام دهید. |
| نام کاربری یا گذرواژهای وارد نکنید، در عوض Macaroon خود را بهعنوان bearer_token وارد نمایید. |
| پیکربندی در نهایت چیزی شبیه به این خواهد بود: |
| [dcache] |
| type = webdav |
| url = https://dcache... |
| vendor = other |
| user = |
| pass = |
| bearer_token = your-macaroon |
| یک |
| اسکریپت (https://github.com/sara-nl/GridScripts/blob/master/get-macaroon) |
| وجود دارد که یک Macaroon را از یک اندپوینت WebDAV در dCache دریافت کرده و یک فایل پیکربندی rclone ایجاد میکند. |
| همچنین میتوان Macaroonها را از کلاینت مرورگر وب/جاوااسکریپت dCacheView که همراه با dCache ارائه میشود دریافت کرد. |
| OpenID-Connect |
| همچنین dCache از احراز هویت با توکنهای دسترسی OpenID-Connect پشتیبانی میکند. |
| پروتکل OpenID-Connect پروتکلی (مبتنی بر OAuth 2.0) است که به سرویسها اجازه میدهد کاربرانی را که نزد یک سرویس مرکزی احراز هویت کردهاند، شناسایی کنند. |
| پشتیبانی از OpenID-Connect در rclone در حال حاضر با استفاده از بستهٔ نرمافزاری دیگری به نام |
| oidc-agent (https://github.com/indigo-dc/oidc-agent) |
| انجام میشود. |
| این یک ابزار خط فرمانی است که دریافت توکن دسترسی را تسهیل میکند. |
| پس از نصب و پیکربندی، با اجرای دستور oidc-token یک توکن دسترسی به دست میآید. |
| مثال زیر یک توکن دسترسی (کوتاهشده) را نشان میدهد که از تأمینکنندهٔ OIDC با عنوان XDC دریافت شده است. |
| paul@celebrimbor:~$ oidc-token XDC |
| eyJraWQ[...]QFXDt0 |
| paul@celebrimbor:~$ |
| نکته پیش از آنکه دستور oidc-token کار کند، |
| توکن نوسازی (refresh token) باید در oidc agent بارگذاری شود. |
| این کار با دستور oidc-add انجام میشود (مانند |
| oidc-add XDC). |
| این کار معمولاً یکبار در هر نشست ورود (login session) انجام میپذیرد. |
| جزئیات کامل دربارهٔ این موضوع و نحوهٔ ثبت oidc-agent با تأمینکنندهٔ OIDC شما در مستندات |
| oidc-agent (https://indigo-dc.gitbooks.io/oidc-agent) |
| ارائه شده است. |
| گزینهٔ پیکربندی bearer_token_command در rclone برای واکشی توکن دسترسی از oidc-agent استفاده میشود. |
| بهعنوان یک اندپوینت WebDAV معمولی با استفاده از سازندهٔ 'other' پیکربندی کنید و نام کاربری و گذرواژه را خالی بگذارید. |
| هنگام درخواست، ویرایش پیکربندی پیشرفته را انتخاب کنید و دستور لازم برای دریافت توکن حامل را وارد نمایید (مانند oidc-agent XDC). |
| مثال پیکربندی زیر یک اندپوینت WebDAV را نشان میدهد که از oidc-agent برای ارائهٔ توکن دسترسی از تأمینکنندهٔ OIDC با عنوان XDC استفاده میکند. |
| [dcache] |
| type = webdav |
| url = https://dcache.example.org |
| vendor = other |
| bearer_token_command = oidc-token XDC |
| یاندکس دیسک (https://disk.yandex.com) یک راهکار ذخیرهسازی ابری است که توسط یاندکس (https://yandex.com) ارائه شده است. |
| "پیکربندی (Configuration)" |
| در ادامه نمونهای از ایجاد یک پیکربندی yandex آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| name> remote |
| Type of storage to configure. |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Yandex Disk |
| \ "yandex" |
| [snip] |
| Storage> yandex |
| Yandex Client Id - leave blank normally. |
| client_id> |
| Yandex Client Secret - leave blank normally. |
| client_secret> |
| Remote config |
| Use web browser to automatically authenticate rclone with remote? |
| * Say Y if the machine running rclone has a web browser you can use |
| * Say N if running rclone on a (remote) machine without web browser access |
| If not sure try Y. If Y failed, try N. |
| y) Yes |
| n) No |
| y/n> y |
| If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth |
| Log in and authorize rclone for access |
| Waiting for code... |
| Got code |
| Configuration complete. |
| Options: |
| - type: yandex |
| - client_id: |
| - client_secret: |
| - token: {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"OAuth","expiry":"2016-12-29T12:27:11.362788025Z"} |
| Keep this "remote" remote? |
| y) Yes this is OK |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> y |
| برای چگونگی راهاندازی آن روی ماشینی بدون مرورگر وب متصل به اینترنت، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید. |
| توجه داشته باشید که rclone یک وبسرور روی ماشین محلی شما اجرا میکند تا توکن بازگرداندهشده از Yandex Disk را دریافت کند. |
| این وبسرور تنها از لحظه باز شدن مرورگر تا لحظه دریافت کد تأیید اجرا میشود. |
| این سرویس روی http://127.0.0.1:53682 فعال است و در صورتی که فایروال میزبان فعال باشد، ممکن است نیاز به رفع مسدودیت موقت آن داشته باشید. |
| پس از پیکربندی، میتوانید از rclone به این صورت استفاده کنید (به جای remote نامی را که به ریموت خود اختصاص دادهاید قرار دهید): |
| مشاهده دایرکتوریهای سطح بالا |
| rclone lsd remote: |
| ایجاد یک دایرکتوری جدید |
| rclone mkdir remote:directory |
| فهرست کردن محتویات یک دایرکتوری |
| rclone ls remote:directory |
| همگامسازی /home/local/directory با مسیر ریموت، با حذف هرگونه فایل اضافی در مسیر مقصد. |
| rclone sync --interactive /home/local/directory remote:directory |
| مسیرهای Yandex میتوانند به میزان مورد نیاز تودرتو باشند، به عنوان مثال: |
| remote:directory/subdirectory..SS زمانهای تغییر و هشها |
| زمانهای تغییر پشتیبانی میشوند و با دقت ۱ نانوثانیه در متادیتای سفارشی به نام rclone_modified در قالب RFC3339 همراه با نانوثانیهها ذخیره میگردند. |
| الگوریتم هش MD5 بهطور بومی توسط Yandex Disk پشتیبانی میشود. |
| خالی کردن سطل زباله |
| اگر مایل به خالی کردن سطل زباله خود هستید، میتوانید از دستور |
| rclone cleanup remote: استفاده کنید که تمامی فایلهای سطل زباله را برای همیشه حذف خواهد کرد. |
| این دستور هیچ آرگومان مسیری نمیپذیرد. |
| اطلاعات سهمیه (Quota) |
| برای مشاهده سهمیه فعلی خود میتوانید از دستور |
| rclone about remote: استفاده کنید که محدودیت استفاده (سهمیه) و میزان مصرف فعلی شما را نمایش میدهد. |
| نویسههای محدودشده در نام فایل |
| مجموعه پیشفرض نویسههای محدودشده |
| (https://rclone.org/overview/#restricted-characters) جایگزین میشوند. |
| بایتهای نامعتبر UTF-8 نیز جایگزین خواهند |
| شد (https://rclone.org/overview/#invalid-utf8)، زیرا نمیتوان از آنها در رشتههای JSON استفاده کرد. |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مختص yandex (Yandex Disk) آورده شده است. |
| --yandex-client-id |
| شناسه کلاینت OAuth (OAuth Client Id). |
| در حالت عادی خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: client_id |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_CLIENT_ID |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| --yandex-client-secret |
| رمز کلاینت OAuth (OAuth Client Secret). |
| در حالت عادی خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: client_secret |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_CLIENT_SECRET |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| گزینههای پیشرفته |
| در اینجا گزینههای پیشرفته مختص yandex (Yandex Disk) آورده شده است. |
| --yandex-token |
| توکن دسترسی OAuth در قالب یک JSON blob. |
| ویژگیها: |
| • 2 |
| پیکربندی: token |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_TOKEN |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false |
| --yandex-auth-url |
| نشانی اینترنتی (URL) سرور احراز هویت. |
| برای استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: auth_url |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_AUTH_URL |
| • 2 |
| نوع: string |
| • 2 |
| ضروری: false.SS --yandex-token-url |
| نشانی اینترنتی (URL) سرور توکن. |
| جهت استفاده از پیشفرضهای ارائهدهنده، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: token_url |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_TOKEN_URL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --yandex-client-credentials |
| استفاده از جریان اعتبارسنجی client credentials در OAuth. |
| این گزینه از جریان Client Credentials در OAUTH2، همانطور که در RFC 6749 شرح داده شده است، استفاده خواهد کرد. |
| توجه داشته باشید که این گزینه توسط همهٔ backendها پشتیبانی نمیشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: client_credentials |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_CLIENT_CREDENTIALS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --yandex-hard-delete |
| حذف دائمی فایلها به جای انتقال آنها به سطل زباله. |
| ویژگیها: |
| • 2 |
| پیکربندی: hard_delete |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_HARD_DELETE |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --yandex-encoding |
| کدگذاری برای backend. |
| برای اطلاعات بیشتر بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: Slash,Del,Ctl,InvalidUtf8,Dot |
| --yandex-spoof-ua |
| تنظیم شناسه کاربر (User Agent) برای مطابقت با نسخهٔ رسمی کلاینت Yandex Disk. |
| ممکن است به کارایی بارگذاری کمک کند. |
| ویژگیها: |
| • 2 |
| پیکربندی: spoof_ua |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_SPOOF_UA |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: true |
| --yandex-upload-wait |
| میزان انتظار پس از بارگذاری پیش از تنظیم زمان تغییر (modification time). |
| سرویس Yandex Disk پس از اتمام بارگذاری، آن را بهصورت ناهمگام روی سرورهای خود نهایی میکند. |
| اگر زمان تغییر در حالی که این نهاییسازی هنوز در جریان است تنظیم شود، سرور خطاهای 500 Internal Server Error بازمیگرداند. |
| اگر هنگام بارگذاری با خطاهای 500 مواجه میشوید، تنظیم این مقدار روی 2s معمولاً برای متوقف کردن آنها کافی است، هرچند به بهای کندتر شدن بارگذاریها تمام میشود. |
| پشتیبانی Yandex مقداری بین 1.5s تا 3s را پیشنهاد میکند. |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_wait |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_UPLOAD_WAIT |
| • 2 |
| نوع: Duration |
| • 2 |
| پیشفرض: 0s.SS --yandex-description |
| توضیحات ریموت. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_YANDEX_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| محدودیتها |
| هنگام بارگذاری فایلهای بسیار بزرگ (بزرگتر از حدود ۵ گیبیبایت) نیاز خواهید داشت |
| که مقدار پارامتر --timeout را افزایش دهید. |
| این امر به این دلیل است که Yandex پیش از بازگرداندن تأییدیه مبنی بر اتمام بارگذاری |
| فایل، مکث میکند (احتمالاً برای محاسبهی MD5SUM کل فایل). |
| رفتار پیشفرض rclone در مواجهه با مهلت زمانی (timeout)، تلقی کردن مکث ۵ دقیقهای |
| به عنوان خطا و بستن اتصال است - در صورتی که این اتفاق بیفتد خطاهای |
| net/http: timeout awaiting response headers را در گزارشها |
| مشاهده خواهید کرد. |
| تنظیم مهلت زمانی روی دو برابر حداکثر اندازهی فایل بر حسب گیبیبایت باید کافی باشد؛ |
| بنابراین اگر میخواهید یک فایل ۳۰ گیبیبایتی را بارگذاری کنید، مهلت زمانی را روی |
| 2 * 30 = 60m قرار دهید، یعنی --timeout 60m. |
| اگر درست پس از بارگذاریها، بهویژه هنگام بارگذاری همزمان چندین فایل، با خطای |
| 500 Internal Server Error مواجه شدید، تنظیم |
| --yandex-upload-wait 2s را امتحان کنید. |
| سرویس Yandex Disk فرایند بارگذاری را روی سرورهای خود بهصورت ناهمگام نهایی میکند |
| و ممکن است اندکی قبل از آماده شدن کامل فایل، وضعیت را تکمیلشده گزارش دهد؛ |
| بنابراین دسترسی زودهنگام به متادیتای فایل موجب بروز این خطاها میشود. |
| پشتیبانی Yandex توصیه میکند پس از هر بارگذاری بین ۱.۵ تا ۳ ثانیه صبر کنید. |
| داشتن یک حساب Yandex Mail برای استفاده از اشتراک Yandex.Disk الزامی است. |
| تولید توکن بدون حساب ایمیل انجام خواهد شد، اما Rclone قادر به انجام |
| هیچ عملیاتی نخواهد بود. |
| [403 - DiskUnsupportedUserAccountTypeError] User account type is not supported. |
| Zoho Workdrive |
| سرویس Zoho WorkDrive (https://www.zoho.com/workdrive) یک راهکار ذخیرهسازی ابری |
| است که توسط Zoho (https://zoho.com) توسعه یافته است. |
| پیکربندی |
| در اینجا مثالی از ایجاد پیکربندی zoho آورده شده است. |
| ابتدا دستور زیر را اجرا کنید: |
| rclone config |
| این دستور شما را در یک فرایند راهاندازی تعاملی راهنمایی میکند: |
| No remotes found, make a new one? |
| n) New remote |
| s) Set configuration password |
| n/s> n |
| name> remote |
| Type of storage to configure. |
| Enter a string value. Press Enter for the default (""). |
| Choose a number from below, or type in your own value |
| [snip] |
| XX / Zoho |
| \ "zoho" |
| [snip] |
| Storage> zoho |
| ** See help for zoho backend at: https://rclone.org/zoho ** |
| OAuth Client Id |
| Leave blank normally. |
| Enter a string value. Press Enter for the default (""). |
| client_id> |
| OAuth Client Secret |
| Leave blank normally. |
| Enter a string value. Press Enter for the default (""). |
| client_secret> |
| Edit advanced config? (y/n) |
| y) Yes |
| n) No (default) |
| y/n> n |
| Remote config |
| Use web browser to automatically authenticate rclone with remote? |
| * Say Y if the machine running rclone has a web browser you can use |
| * Say N if running rclone on a (remote) machine without web browser access |
| If not sure try Y. If Y failed, try N. |
| y) Yes (default) |
| n) No |
| y/n> |
| If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ |
| Log in and authorize rclone for access |
| Waiting for code... |
| Got code |
| Choose a number from below, or type in your own value |
| 1 / MyTeam |
| \ "4u28602177065ff22426787a6745dba8954eb" |
| Enter a Team ID> 1 |
| Choose a number from below, or type in your own value |
| 1 / General |
| \ "4u2869d2aa6fca04f4f2f896b6539243b85b1" |
| Enter a Workspace ID> 1 |
| Configuration complete. |
| Options: |
| - type: zoho |
| - token: {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Zoho-oauthtoken","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expiry":"2020-10-12T00:54:52.370275223+02:00"} |
| - root_folder_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| Keep this "remote" remote? |
| y) Yes this is OK (default) |
| e) Edit this remote |
| d) Delete this remote |
| y/e/d> |
| برای اطلاع از نحوهی راهاندازی روی سامانهای که به مرورگر وب متصل به اینترنت دسترسی |
| ندارد، اسناد راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید. |
| برنامه Rclone برای دریافت توکن احراز هویت از Zoho Workdrive، یک وبسرور را روی |
| رایانهی محلی شما اجرا میکند. |
| این وبسرور فقط از لحظهی باز شدن مرورگر تا زمان دریافت توکن فعال است. |
| وبسرور روی http://127.0.0.1:53682 اجرا میشود. |
| اگر درگاه محلی 53682 توسط فایروال مسدود شده است، ممکن است لازم باشد |
| برای تکمیل فرایند احراز هویت، فایروال را موقتاً باز کنید. |
| پس از پیکربندی میتوانید از rclone به این صورت استفاده کنید |
| (به جای remote، نامی را که به ریموت خود اختصاص دادهاید وارد کنید): |
| مشاهدهی دایرکتوریهای سطح بالا |
| rclone lsd remote: |
| ایجاد یک دایرکتوری جدید |
| rclone mkdir remote:directory |
| فهرست کردن محتویات یک دایرکتوری |
| rclone ls remote:directory |
| همگامسازی /home/local/directory با مسیر ریموت، و حذف هرگونه فایل |
| اضافی موجود در آن مسیر. |
| rclone sync --interactive /home/local/directory remote:directory |
| مسیرهای Zoho میتوانند تا هر عمق مورد نیازی مشخص شوند، مانند |
| remote:directory/subdirectory..SS زمانهای تغییر و مقادیر هش |
| زمانهای تغییر در حال حاضر برای Zoho Workdrive پشتیبانی نمیشوند. |
| هیچ الگوریتم هشی پشتیبانی نمیشود. |
| اطلاعات میزان مصرف |
| برای مشاهدهٔ سهمیهٔ فعلی خود میتوانید از دستور |
| rclone about remote: استفاده کنید که میزان مصرف فعلی |
| شما را نمایش میدهد. |
| نویسههای محدودشدهٔ نام فایل |
| تنها نویسههای کنترلی و UTF-8 نامعتبر جایگزین میشوند. |
| علاوه بر این، بیشتر نویسههای تمامعرض یونیکد بههیچوجه پشتیبانی نمیشوند |
| و هنگام بارگذاری از نام فایلها حذف خواهند شد. |
| گزینههای استاندارد |
| در اینجا گزینههای استاندارد مختص zoho (Zoho) آورده شده است. |
| --zoho-client-id |
| شناسهٔ کلاینت OAuth. |
| در حالت عادی خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: client_id |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_CLIENT_ID |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| --zoho-client-secret |
| رمز کلاینت OAuth. |
| در حالت عادی خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: client_secret |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_CLIENT_SECRET |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| --zoho-region |
| ناحیهٔ Zoho برای اتصال. |
| باید از ناحیهای استفاده کنید که سازمان شما در آن ثبت شده است. |
| اگر مطمئن نیستید، از همان دامنهٔ سطحبالایی استفاده کنید که در |
| مرورگر خود به آن متصل میشوید. |
| ویژگیها: |
| • 2 |
| پیکربندی: region |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_REGION |
| • 2 |
| نوع: string |
| • 2 |
| اجباری: false |
| • 2 |
| مثالها: |
| 2 |
| • 2 |
| "com" |
| 2 |
| • 2 |
| ایالات متحده / سراسری |
| • 2 |
| "eu" |
| 2 |
| • 2 |
| اروپا |
| • 2 |
| "in" |
| 2 |
| • 2 |
| هند |
| • 2 |
| "jp" |
| 2 |
| • 2 |
| ژاپن |
| • 2 |
| "com.cn" |
| 2 |
| • 2 |
| چین |
| • 2 |
| "com.au" |
| 2 |
| • 2 |
| استرالیا |
| در اینجا گزینههای پیشرفته مختص zoho (Zoho) آمده است. |
| --zoho-token |
| توکن دسترسی OAuth بهصورت یک JSON blob. |
| ویژگیها: |
| • 2 |
| پیکربندی: token |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_TOKEN |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --zoho-auth-url |
| نشانی اینترنتی (URL) سرور احراز هویت. |
| برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: auth_url |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_AUTH_URL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --zoho-token-url |
| نشانی اینترنتی (URL) سرور توکن. |
| برای استفاده از مقادیر پیشفرض ارائهدهنده، خالی بگذارید. |
| ویژگیها: |
| • 2 |
| پیکربندی: token_url |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_TOKEN_URL |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false |
| --zoho-client-credentials |
| استفاده از جریان OAuth با اعتبارسنجی کلاینت (client credentials). |
| این گزینه از جریان Client Credentials در OAUTH2 طبق آنچه در RFC |
| 6749 شرح داده شده است استفاده خواهد کرد. |
| توجه داشته باشید که این گزینه توسط همه بکاندها پشتیبانی نمیشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: client_credentials |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_CLIENT_CREDENTIALS |
| • 2 |
| نوع: bool |
| • 2 |
| پیشفرض: false |
| --zoho-root-folder-id |
| شناسه پوشه ریشه. |
| در حالت عادی خالی بگذارید. |
| این فیلد را تکمیل کنید تا rclone از یک پوشه غیر ریشه بهعنوان نقطه آغازین خود استفاده کند. |
| ویژگیها: |
| • 2 |
| پیکربندی: root_folder_id |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_ROOT_FOLDER_ID |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS --zoho-upload-cutoff |
| آستانهٔ جابهجایی به API بارگذاری فایلهای بزرگ (>= 10 MiB). |
| ویژگیها: |
| • 2 |
| پیکربندی: upload_cutoff |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_UPLOAD_CUTOFF |
| • 2 |
| نوع: SizeSuffix |
| • 2 |
| پیشفرض: 10Mi |
| --zoho-tpslimit |
| حداکثر تعداد تراکنشهای API در هر ثانیه. |
| سرویس Zoho WorkDrive نرخ دسترسی به API خود را محدود میکند و هنگامی که فراخوانیها بیش از حد سریع باشند، خطای HTTP 429 (خطای F7008، با پیام "Request rate limit exceeded") بازمیگرداند؛ بنابراین فراخوانیهای API داده (list، upload، download، copy، move، delete) با این نرخ تنظیم میشوند. |
| برای غیرفعال کردن سقف، آن را روی 0 تنظیم کنید که با --tpslimit سراسری هماهنگ است؛ با این حال تنظیم سرعت را نمیتوان کاملاً خاموش کرد زیرا عقبنشینی (backoff) و Retry-After همواره اعمال میشوند. |
| مقدار پیشفرض 6 یک نرخ ایمن و پایدار است. |
| مقادیر بالاتر میتوانند باعث توقفهای طولانی Retry-After ناشی از خطای 429 شوند که توان عملیاتی را بدتر میکند، بنابراین فقط در صورتی آن را افزایش دهید که حساب شما ظرفیت بیشتری را تحمل کند. |
| ویژگیها: |
| • 2 |
| پیکربندی: tpslimit |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_TPSLIMIT |
| • 2 |
| نوع: float64 |
| • 2 |
| پیشفرض: 6 |
| --zoho-tpslimit-burst |
| تعداد فراخوانیهای API مجاز بهصورت متوالی و بدون وقفه (sleeping)، برای --zoho-tpslimit. |
| این مقدار ظرفیت سطل توکن (token-bucket) است. |
| برای Zoho آن را روی 1 نگه دارید: مقدار burst بزرگتر از 1 اجازه میدهد پس از یک وقفهٔ بیباری، چندین فراخوانی بهطور همزمان ارسال شوند که میتواند خوشههای همزمانی از خطاهای 429 ایجاد کند. |
| ویژگیها: |
| • 2 |
| پیکربندی: tpslimit_burst |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_TPSLIMIT_BURST |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 1 |
| --zoho-list-folder-limit |
| حداکثر دفعات مجاز فهرستکردن یک پوشهٔ یکسان در هر --zoho-list-folder-window. |
| سرویس Zoho WorkDrive نرخ دسترسی API فهرستبندی خود (GET files/{id}/files) را بهازای هر پوشه، مستقل از --zoho-tpslimit محدود میکند: فهرستکردن بیش از حد یک پوشه در مدتزمانی کوتاه، خطای HTTP 429 (خطای F7008) با جریمهٔ Retry-After چند دقیقهای بازمیگرداند؛ چیزی که یک حلقهٔ فشردهٔ بررسی وضعیت (tight polling loop) حتی در یک نرخ کلی پایین نیز ممکن است با آن مواجه شود. |
| طبق اندازهگیریهای عملی، Zoho در هر بازهٔ زمانی لغزانِ حدوداً ۶۰ ثانیهای، اجازهٔ ~19 بار فهرستکردن یک پوشه را میدهد و تلاش بیستم ناموفق خواهد بود، که مقادیر پیشفرض (19 در هر 60s) دقیقاً همین رفتار را شبیهسازی میکنند. |
| این یک سقف واقعی بهازای هر بازه برای هر نوع الگوی ترافیکی است: هر بازه با عبور متوالیِ تعداد --zoho-list-folder-burst فهرستبندی آغاز میشود (burst در هر مرز بازه مجدداً فعال میشود) و بقیه با فاصلهٔ --zoho-list-folder-window/(limit - burst) از یکدیگر پخش میشوند (مقادیر پیشفرض حدود ~4.6s فاصله میدهند)، در حالی که گزارش لغزانی از فهرستبندیهای اخیر، سقف را در مرزهای بازه اعمال میکند. |
| مقدار 0 محدودکننده را غیرفعال میکند. |
| تنها فهرستبندیهای مکرر یک پوشه به تأخیر میافتند؛ پوشههای مختلف، یا پوشهای که کمتر از --zoho-list-folder-burst بار فهرست شده باشد، هرگز دچار تأخیر نمیشوند. |
| مقدار بالاتر به معنای فهرستبندیهای بیشتر در هر بازه است، نه ایمنی بیشتر: افزایش آن به بالاتر از 19 خطای F7008 را ایجاد میکند. |
| برای ایجاد حاشیهٔ امن بیشتر آن را کاهش دهید، هرچند به قیمت کاهش سرعت پاسخگویی فهرستبندی تمام میشود. |
| ویژگیها: |
| • 2 |
| پیکربندی: list_folder_limit |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_LIST_FOLDER_LIMIT |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 19.SS --zoho-list-folder-window |
| پنجره زمانی برای --zoho-list-folder-limit. |
| مقدار پیشفرض 60s (نمایشدادهشده بهصورت 1m0s) با پنجره لغزان واقعی Zoho مطابقت دارد: حداکثر به تعداد --zoho-list-folder-limit فهرستکردن یک پوشه در هر پنجرهای با این طول مجاز است. |
| یک عدد تنها بر حسب ثانیه پردازش میشود ("60" = "60s"). |
| برای داشتن حاشیه امنیت بیشتر، آن را افزایش دهید (یا حد مجاز را کاهش دهید)؛ فاصله پیوسته میان فهرستکردنهای یک پوشه مشابه عبارت است از window/(limit - burst). |
| ویژگیها: |
| • 2 |
| پیکربندی: list_folder_window |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_LIST_FOLDER_WINDOW |
| • 2 |
| نوع: Duration |
| • 2 |
| پیشفرض: 1m0s |
| --zoho-list-folder-burst |
| تعداد دفعات فهرستکردن پشتسرهم یک پوشه پیش از آنکه --zoho-list-folder-limit سرعت آنها را تنظیم کند. |
| این رگبار (burst) از دل --zoho-list-folder-limit کسر میشود، بنابراین افزایش آن هرگز مجموع در هر پنجره را افزایش نمیدهد: این تعداد فهرستکردن میتواند بلافاصله انجام شود و مابقی (limit - burst) با فواصل زمانی window/(limit - burst) از هم قرار میگیرند. |
| رگبار در مرز هر پنجره زمانی مجدداً فعال میشود (RE-ARMS)، بنابراین فهرستکردن مداوم در هر پنجره یک رگبار تازه دریافت میکند، در حالی که گزارش لغزانِ فهرستکردنهای اخیر همچنان سقف هر پنجره را اعمال میکند. |
| پوشهای که فقط چند بار فهرست شود (حالت رایج - یک همگامسازی که یک دایرکتوری را چند بار فهرست کرده و سپس عبور میکند) هرگز معطل نخواهد شد. |
| مقدار پیشفرض 6 بزرگترین رگباری است که بهصورت زنده تحت سقف پیشفرض ۱۹ مورد در هر ۶۰ ثانیه تأیید شده است (رگبارهای ۴، ۵ و ۶ همگی بدون خطا اجرا شدند؛ یک آزمایش فراتر از سقف دقیقاً در بیستمین فهرستکردن در یک پنجره منجر به خطای F7008 شد). |
| آن را بسیار کمتر از حدود ۱۵ (~15) نگه دارید - Zoho بدون در نظر گرفتن پنجره زمانی، یک سقف لحظهای پشتسرهم حدود ۱۵-۱۶ نیز دارد. |
| برای سرعتبندی از دومین فهرستکردن، آن را روی 1 تنظیم کنید. |
| مقادیر >= حد مجاز به limit - 1 محدود میشوند. |
| ویژگیها: |
| • 2 |
| پیکربندی: list_folder_burst |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_LIST_FOLDER_BURST |
| • 2 |
| نوع: int |
| • 2 |
| پیشفرض: 6 |
| --zoho-encoding |
| کدگذاری برای بکاند. |
| برای اطلاعات بیشتر، بخش encoding را در نمای کلی (https://rclone.org/overview/#encoding) ببینید. |
| ویژگیها: |
| • 2 |
| پیکربندی: encoding |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_ENCODING |
| • 2 |
| نوع: Encoding |
| • 2 |
| پیشفرض: Del,Ctl,InvalidUtf8 |
| --zoho-description |
| توضیحات remote. |
| ویژگیها: |
| • 2 |
| پیکربندی: description |
| • 2 |
| متغیر محیطی: RCLONE_ZOHO_DESCRIPTION |
| • 2 |
| نوع: string |
| • 2 |
| الزامی: false.SS راهاندازی client_id اختصاصی خود |
| برای Zoho توصیه میکنیم client_id اختصاصی خود را تنظیم کنید. |
| برای این کار، باید مراحل زیر را انجام دهید: |
| "1." 3 |
| به Zoho API Console (https://api-console.zoho.com) وارد شوید. |
| "2." 3 |
| یک کلاینت جدید از نوع "Server-based Application" ایجاد کنید. |
| نام و وبسایت اهمیتی ندارند، اما باید redirect URL به نشانی |
| http://localhost:53682 را اضافه کنید. |
| "3." 3 |
| پس از ایجاد کلاینت، میتوانید به برگهٔ تنظیمات (settings) رفته و آن را |
| در دیگر مناطق (regions) فعال کنید. |
| اکنون میتوان از client id و client secret در rclone استفاده کرد. |
| "سیستم فایل محلی (Local Filesystem)" |
| مسیرهای محلی مانند مسیرهای عادی سیستم فایل مشخص میشوند، مانند |
| /path/to/wherever؛ بنابراین |
| rclone sync --interactive /home/source /tmp/destination |
| مسیر /home/source را با /tmp/destination همگامسازی خواهد کرد. |
| پیکربندی |
| برای حفظ یکپارچگی، میتوان یک ریموت از نوع |
| local را نیز در فایل پیکربندی تنظیم کرد و با استفاده از مسیرهای ریموت rclone به سیستم فایل محلی دسترسی داشت، مانند |
| remote:path/to/wherever؛ اما احتمالاً آسانتر است که این کار را نکنید. |
| زمانهای تغییر |
| ابزار rclone زمانهای تغییر را با دقتی که توسط سیستمعامل تعیین میشود، میخواند و مینویسد. |
| معمولاً این مقدار در Linux برابر با 1ns، در Windows برابر با 10 ns و در OS X برابر با 1 Second است. |
| نام فایلها |
| نام فایلها روی دیسک باید با کدگذاری UTF-8 ذخیره شوند. |
| این حالت معمول برای Windows و OS X است. |
| در دنیای Linux ابهام کمی بیشتر است، اما توزیعهای جدید نام فایلها را با کدگذاری UTF-8 ذخیره میکنند. |
| اگر از یک سیستم فایل قدیمی Linux با نامهای غیر UTF-8 (مانند latin1) استفاده میکنید، میتوانید از ابزار convmv برای تبدیل سیستم فایل به UTF-8 استفاده کنید. |
| این ابزار در مدیر بستههای بیشتر توزیعها در دسترس است. |
| اگر یک نام فایل نامعتبر (غیر UTF-8) خوانده شود، نویسههای نامعتبر با یک نمایش نقلقولشده از بایتهای نامعتبر جایگزین خواهند شد. |
| نام gro\xdf به صورت gro‛DF منتقل خواهد شد. |
| ابزار rclone در این حالت یک پیام اشکالزدایی صادر خواهد کرد (برای مشاهده از -v استفاده کنید)، مانند: |
| Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf" |
| نویسههای محدودشده | |
| در بکاند محلی، محدودیتهای مربوط به نویسههای قابل استفاده در نام فایلها یا دایرکتوریها به سیستمعامل بستگی دارد. | |
| برای بررسی اینکه rclone بهطور پیشفرض در سیستم شما چه مواردی را جایگزین میکند، دستور | |
| rclone help flags local-encoding را اجرا کنید. | |
| در پلتفرمهای غیر Windows، هنگام پردازش نام فایلها نویسههای زیر جایگزین میشوند. | |
| tab( | ); |
| l c c. | |
| نویسه | مقدار |
| جایگزین | |
| T} | |
| NUL | 0x00 |
| ␀ | |
| T} | |
| / | 0x2F |
| / | |
| T} |
هنگام اجرا در Windows، نویسههای زیر جایگزین میشوند. این فهرست بر اساس قواعد نامگذاری فایل در Windows (https://docs.microsoft.com/windows/desktop/FileIO/naming-a-file#naming-conventions) تهیه شده است.
| نویسه | مقدار | جایگزین |
| NUL | 0x00 | ␀ |
| SOH | 0x01 | ␁ |
| STX | 0x02 | ␂ |
| ETX | 0x03 | ␃ |
| EOT | 0x04 | ␄ |
| ENQ | 0x05 | ␅ |
| ACK | 0x06 | ␆ |
| BEL | 0x07 | ␇ |
| BS | 0x08 | ␈ |
| HT | 0x09 | ␉ |
| LF | 0x0A | ␊ |
| VT | 0x0B | ␋ |
| FF | 0x0C | ␌ |
| CR | 0x0D | ␍ |
| SO | 0x0E | ␎ |
| SI | 0x0F | ␏ |
| DLE | 0x10 | ␐ |
| DC1 | 0x11 | ␑ |
| DC2 | 0x12 | ␒ |
| DC3 | 0x13 | ␓ |
| DC4 | 0x14 | ␔ |
| NAK | 0x15 | ␕ |
| SYN | 0x16 | ␖ |
| ETB | 0x17 | ␗ |
| CAN | 0x18 | ␘ |
| EM | 0x19 | ␙ |
| SUB | 0x1A | ␚ |
| ESC | 0x1B | ␛ |
| FS | 0x1C | ␜ |
| GS | 0x1D | ␝ |
| RS | 0x1E | ␞ |
| US | 0x1F | ␟ |
| / | 0x2F | / |
| " | 0x22 | " |
| * | 0x2A | * |
| : | 0x3A | : |
| < | 0x3C | < |
| > | 0x3E | > |
| ? | 0x3F | ? |
| \ | 0x5C | \ |
| | | 0x7C | | |
| نامهای فایل در Windows همچنین نمیتوانند با نویسههای زیر خاتمه یابند. | ||
| این نویسهها تنها در صورتی جایگزین میشوند که آخرین نویسه در نام باشند: | ||
| tab( | ); | |
| l c c. | ||
| نویسه | مقدار | جایگزین |
| SP | 0x20 | ␠ |
| . | 0x2E | . |
بایتهای نامعتبر UTF-8 نیز جایگزین خواهند شد (https://rclone.org/overview/#invalid-utf8)، چرا که امکان تبدیل آنها به UTF-16 وجود ندارد.
مسیرها در Windows
در Windows روشهای متعددی برای مشخص کردن مسیر به یک منبع سامانهٔ فایل وجود دارد. مسیرهای محلی میتوانند مطلق باشند، مانند C:\path\to\wherever، یا نسبی، مانند ..\wherever. مسیرهای شبکهای در قالب UNC مانند \\server\share نیز پشتیبانی میشوند. جداکنندهٔ مسیر میتواند \ (مانند C:\path\to\wherever) یا / (مانند C:/path/to/wherever) باشد. طول این مسیرها برای فایلها به ۲۵۹ نویسه و برای دایرکتوریها به ۲۴۷ نویسه محدود شده است، اما قالب مسیر بسطیافتهٔ دیگری وجود دارد که این محدودیت را به (تقریباً) ۳۲٬۷۶۷ نویسه افزایش میدهد. این قالب نیازمند مسیرهای مطلق و استفاده از پیشوند \\?\ است، برای نمونه: \\?\D:\some\very\long\path. برای سهولت کار، rclone بهطور خودکار مسیرهای معمولی را به مسیرهای بسطیافتهٔ متناظر تبدیل میکند، بنابراین در اکثر موارد نیازی نیست نگران این موضوع باشید (توضیحات بیشتر در ادامه آمده است). همچنین با استفاده از همان پیشوند \\?\ میتوان مسیر حجمهایی را که با شناسهٔ GUID مشخص شدهاند تعیین کرد، مانند \\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\some\path.
مسیرهای طولانی
دستور rclone مسیرهای طولانی را بهطور خودکار با تبدیل تمام مسیرها به قالب مسیر بسطیافته (https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation) مدیریت میکند، که امکان استفاده از مسیرهایی تا ۳۲٬۷۶۷ نویسه را فراهم میسازد.
این تبدیل تضمین میکند که مسیرها مطلق بوده و پیشوند \\?\ به آنها اضافه میشود. به همین دلیل است که مشاهده خواهید کرد مسیرهای شما، برای نمونه .\files در خروجی بهصورت مسیر \\?\C:\files، و \\server\share بهصورت \\?\UNC\server\share نمایش داده میشوند.
با این حال، در موارد نادر ممکن است این امر در درایورهای سامانهفایل دارای باگ مانند EncFS (https://github.com/rclone/rclone/issues/261) مشکلاتی ایجاد کند. برای غیرفعال کردن سراسری تبدیل UNC، این خطوط را به فایل .rclone.conf خود اضافه کنید:
-
[local] nounc = true
اگر میخواهید تبدیل UNC را بهصورت انتخابی غیرفعال کنید، میتوانید آن را به یک مدخل جداگانه مانند زیر اضافه نمایید:
-
[nounc] type = local nounc = true
و rclone را اینگونه به کار ببرید:
rclone copy c:\src nounc:z:\dst
این کار در c:\src از مسیرهای UNC استفاده میکند، اما در z:\dst خیر. البته در صورتی که طول مسیر مطلق یک فایل روی z از ۲۵۹ نویسه فراتر رود، این کار مشکلاتی ایجاد خواهد کرد؛ بنابراین تنها در صورت ضرورت از این گزینه استفاده کنید..SS پیوندهای نمادین / نقاط اتصال (Symlinks / Junction points)
به طور معمول rclone پیوندهای نمادین (symlinks) یا نقاط اتصال (junction points، که در ویندوز رفتاری شبیه به پیوندهای نمادین دارند) را نادیده میگیرد.
اگر گزینهٔ --copy-links یا -L را مشخص کنید، rclone پیوند نمادین را دنبال کرده و فایل یا دایرکتوری مورد اشاره را کپی میکند. توجه داشته باشید که این پرچم با --links / -l ناسازگار است.
این پرچم برای تمامی دستورها اعمال میشود.
برای مثال، فرض کنید ساختار دایرکتوریای به این صورت دارید:
-
$ tree /tmp/a /tmp/a ├── b -> ../b ├── expected -> ../expected ├── one └── two └── three
سپس میتوانید تفاوت را با و بدون این پرچم به این صورت مشاهده کنید:
-
$ rclone ls /tmp/a 6 one 6 two/three
و
-
$ rclone -L ls /tmp/a 4174 expected 6 one 6 two/three 6 b/two 6 b/one
--local-links, --links, -l
به طور معمول rclone پیوندهای نمادین یا نقاط اتصال (که در ویندوز رفتاری شبیه به پیوندهای نمادین دارند) را نادیده میگیرد.
اگر این پرچم را مشخص کنید، rclone پیوندهای نمادین را از حافظهٔ محلی کپی کرده و آنها را به عنوان فایلهای متنی با پسوند .rclonelink در حافظهٔ دوردست ذخیره میکند.
این فایل متنی حاوی مقصد پیوند نمادین خواهد بود (مثال را ببینید).
این پرچم برای تمامی دستورها اعمال میشود.
برای مثال، فرض کنید ساختار دایرکتوریای به این صورت دارید:
-
$ tree /tmp/a /tmp/a ├── file1 -> ./file4 └── file2 -> /home/user/file3
کپی کردن کل دایرکتوری با '-l':
-
rclone copy -l /tmp/a/ remote:/tmp/a/
فایلهای دوردست با پسوند .rclonelink ایجاد میشوند:
-
$ rclone ls remote:/tmp/a 5 file1.rclonelink 14 file2.rclonelink
فایلهای دوردست شامل مقصد پیوندهای نمادین خواهند بود:
-
$ rclone cat remote:/tmp/a/file1.rclonelink ./file4 $ rclone cat remote:/tmp/a/file2.rclonelink /home/user/file3
کپی کردن دوبارهٔ آنها با '-l':
-
$ rclone copy -l remote:/tmp/a/ /tmp/b/ $ tree /tmp/b /tmp/b ├── file1 -> ./file4 └── file2 -> /home/user/file3
با این حال، در صورت کپی بازگشتی بدون '-l':
-
$ rclone copyto remote:/tmp/a/ /tmp/b/ $ tree /tmp/b /tmp/b ├── file1.rclonelink └── file2.rclonelink
اگر میخواهید یک تکفایل را با -l کپی کنید، باید از پسوند .rclonelink استفاده کنید.
-
$ rclone copy -l remote:/tmp/a/file1.rclonelink /tmp/c $ tree /tmp/c /tmp/c └── file1 -> ./file4
توجه داشته باشید که --local-links این ویژگی را صرفاً برای بکاند محلی (local backend) فعال میکند. --links و -l این ویژگی را برای تمام بکاندهای پشتیبانیشده و VFS فعال میسازند.
توجه داشته باشید که این پرچم با -copy-links / -L ناسازگار است..SS مقصدهای پیوند نمادین و مقصد
هنگامی که rclone یک فایل .rclonelink را به عنوان پیوند نمادین (symlink) روی فضای ذخیرهسازی محلی بازسازی میکند، این پیوند میتواند به هر جایی اشاره کند — از جمله با یک مسیر مطلق یا مسیری با استفاده از ../ — به مکانی خارج از دایرکتوری مورد نظری که درون آن کپی میکنید. این رفتاری عادی است؛ rclone دقیقاً همان مقصدی را که پیوند داشته بازتولید میکند تا نسخههای پشتیبان بدون نقص بازگردانی شوند.
کاری که rclone انجام نخواهد داد، نوشتن از طریق چنین پیوندی است. اگر یک ریموت که از آن کپی میکنید، هم حاوی یک پیوند نمادین باشد و هم فایل یا دایرکتوری دیگری که باید درون آن قرار گیرد — برای مثال یک dir.rclonelink که به نقطهای خارج از مقصد اشاره دارد، در کنار یک dir/file.txt — ابزار rclone هنگام نوشتن dir/file.txt از دنبال کردن پیوند نمادین خودداری میکند. فایل مورد نظر همراه با یک خطا نادیده گرفته میشود، مابقی فرآیند انتقال ادامه مییابد، و فایل نادیدهگرفتهشده در خلاصه خطاهای چاپشده در انتهای اجرا شمارش میشود.
این ویژگی از شما در برابر یک ریموت مخرب یا آسیبدیده محافظت میکند که بخواهد با استفاده از -l / --links یک پیوند نمادین ایجاد کرده و سپس از طریق آن، در مکانی بیرون از مقصد تعیینشده بنویسد. جابهجاییهای عادی پیوندهای نمادین، و پیوندهایی که درون دایرکتوری مقصد باقی میمانند، تحت تأثیر این موضوع قرار نمیگیرند.
اگر عمداً از قبل یک دایرکتوری با پیوند نمادین در داخل مقصد خود ایجاد کردهاید و میخواهید rclone در دایرکتوری مورد اشارهٔ آن بنویسد، برای آن عملیات کپی از -l / --links استفاده نکنید، یا ابتدا آن پیوند نمادین را حذف کنید.
محدود کردن فایلسیستمها با --one-file-system
در حالت عادی rclone به صورت بازگشتی از تمام فایلسیستمهای مونتشده عبور میکند.
با این حال اگر گزینه --one-file-system یا -x را تنظیم کنید، این کار به rclone اعلام میکند که در فایلسیستم مشخصشده توسط ریشه باقی بماند و وارد فایلسیستمهای دیگر نشود.
برای مثال اگر سلسلهمراتبی از دایرکتوریها به این شکل داشته باشید:
-
root ├── disk1 - disk1 mounted on the root │ └── file3 - stored on disk1 ├── disk2 - disk2 mounted on the root │ └── file4 - stored on disk12 ├── file1 - stored on the root disk └── file2 - stored on the root disk
استفاده از rclone --one-file-system copy root remote: تنها file1 و file2 را کپی خواهد کرد. به عنوان مثال:
-
$ rclone -q --one-file-system ls root 0 file1 0 file2 -
$ rclone -q ls root 0 disk1/file3 0 disk2/file4 0 file1 0 file2
نکته: ابزار Rclone (مانند اغلب ابزارهای یونیکس نظیر du، rsync و tar) با یک bind mount به همان دستگاه، مانند عضوی از همان فایلسیستم رفتار میکند.
نکته: این پرچم تنها در سیستمهای مبتنی بر یونیکس موجود است. در سیستمهایی که این قابلیت پشتیبانی نمیشود (مانند Windows)، نادیده گرفته خواهد شد..SS گزینههای پیشرفته
در اینجا گزینههای پیشرفته مخصوص local (دیسک محلی) آورده شده است.
--local-nounc
غیرفعال کردن تبدیل UNC (نامهای مسیر طولانی) در Windows.
ویژگیها:
- •
- پیکربندی: nounc
- •
- متغیر محیطی: RCLONE_LOCAL_NOUNC
- •
- نوع: bool
- •
- پیشفرض: false
- •
- مثالها:
- •
- "true"
- •
- نامهای فایل طولانی را غیرفعال میکند.
--copy-links / -L
دنبال کردن پیوندهای نمادین (symlinks) و کپی کردن موردی که به آن اشاره شده است.
ویژگیها:
- •
- پیکربندی: copy_links
- •
- متغیر محیطی: RCLONE_LOCAL_COPY_LINKS
- •
- نوع: bool
- •
- پیشفرض: false
--local-links
تبدیل پیوندهای نمادین (symlinks) به/از فایلهای معمولی با پسوند '.rclonelink' برای backend محلی.
ویژگیها:
- •
- پیکربندی: links
- •
- متغیر محیطی: RCLONE_LOCAL_LINKS
- •
- نوع: bool
- •
- پیشفرض: false
--skip-links
عدم نمایش هشدار درباره پیوندهای نمادین (symlinks) نادیدهگرفتهشده.
این پرچم پیامهای هشدار درباره پیوندهای نمادین (symlinks) یا نقاط اتصال (junction points) نادیدهگرفتهشده را غیرفعال میکند، چرا که شما صراحتاً تأیید کردهاید که باید نادیده گرفته شوند.
ویژگیها:
- •
- پیکربندی: skip_links
- •
- متغیر محیطی: RCLONE_LOCAL_SKIP_LINKS
- •
- نوع: bool
- •
- پیشفرض: false
--skip-specials
عدم نمایش هشدار درباره لولهها (pipes)، سوکتها (sockets) و اشیاء دستگاهی (device objects) نادیدهگرفتهشده.
این پرچم پیامهای هشدار درباره لولهها (pipes)، سوکتها (sockets) و اشیاء دستگاهی (device objects) نادیدهگرفتهشده را غیرفعال میکند، چرا که شما صراحتاً تأیید کردهاید که باید نادیده گرفته شوند.
ویژگیها:
- •
- پیکربندی: skip_specials
- •
- متغیر محیطی: RCLONE_LOCAL_SKIP_SPECIALS
- •
- نوع: bool
- •
- پیشفرض: false.SS --local-zero-size-links
فرض صفر بودن اندازه Stat پیوندها (و خواندن آنها به جای آن) (منسوخشده).
در گذشته rclone از اندازه Stat پیوندها به عنوان اندازه پیوند استفاده میکرد، اما این کار در چندین مورد با شکست مواجه میشود:
- •
- Windows
- •
- در برخی فایلسیستمهای مجازی (مانند LucidLink)
- •
- Android
بنابراین اکنون rclone همیشه پیوند را میخواند.
ویژگیها:
- •
- پیکربندی: zero_size_links
- •
- متغیر محیطی: RCLONE_LOCAL_ZERO_SIZE_LINKS
- •
- نوع: bool
- •
- پیشفرض: false
--local-unicode-normalization
اعمال نرمالسازی یونیکد NFC روی مسیرها و نام فایلها.
این پرچم میتواند برای نرمالسازی نام فایلهای خواندهشده از فایلسیستم محلی به فرم یونیکد NFC استفاده شود.
بهطور معمول rclone کدگذاری نام فایلهایی را که از فایلسیستم میخواند تغییر نمیدهد.
این ویژگی میتواند هنگام استفاده از macOS مفید باشد، زیرا این سیستمعامل معمولاً یونیکد تجزیهشده (NFD) ارائه میدهد که در برخی زبانها (مانند کرهای) در بعضی سیستمعاملها بهدرستی نمایش داده نمیشود.
توجه داشته باشید که rclone در روال همگامسازی نام فایلها را با نرمالسازی یونیکد مقایسه میکند، بنابراین این پرچم معمولاً نباید استفاده شود.
ویژگیها:
- •
- پیکربندی: unicode_normalization
- •
- متغیر محیطی: RCLONE_LOCAL_UNICODE_NORMALIZATION
- •
- نوع: bool
- •
- پیشفرض: false
--local-no-check-updated
بررسی نکردن تغییر فایلها در حین بارگذاری.
بهطور معمول rclone اندازه و زمان تغییر فایلها را هنگام بارگذاری بررسی میکند و اگر فایل در طول بارگذاری تغییر کند، با پیامی که با "can't copy - source file is being updated" آغاز میشود عملیات را متوقف میکند.
با این حال در برخی فایلسیستمها ممکن است این بررسی زمان تغییر با خطا مواجه شود (برای نمونه Glusterfs شماره 2206 در https://github.com/rclone/rclone/issues/2206)، بنابراین این بررسی را میتوان با این پرچم غیرفعال کرد.
اگر این پرچم تنظیم شود، rclone تمام تلاش خود را برای انتقال فایلی که در حال بهروزرسانی است به کار خواهد بست. اگر تنها به انتهای فایل مواردی افزوده میشود (مانند یک فایل log)، در این صورت rclone فایل log را با اندازهای که در اولین بار مشاهده آن داشت منتقل خواهد کرد.
اگر فایل در سراسر آن تغییر یابد (نه اینکه فقط به انتهای آن افزوده شود)، انتقال ممکن است با شکست در بررسی هش (hash check) مواجه شود.
بهطور دقیقتر، هنگامی که برای نخستین بار stat() روی فایل فراخوانی شد:
- •
- تنها اندازهای را که stat ارائه داده انتقال میدهیم
- •
- تنها مجموع مقابلهای (checksum) اندازهای را که stat ارائه داده محاسبه میکنیم
- •
- اطلاعات stat فایل را بهروزرسانی نمیکنیم
توجه: از این پرچم روی Windows Volume Shadow (VSS) استفاده نکنید. به دلایلی نامعلوم، فایلها در یک VSS گاهی بین فهرست پوشه (جایی که مقدار اولیه stat در Windows از آن میآید) و زمانی که stat مستقیماً روی آنها فراخوانی میشود، اندازههای متفاوتی نشان میدهند. سایر ابزارهای کپی همیشه از مقدار مستقیم stat استفاده میکنند و تنظیم این پرچم این سازوکار را غیرفعال خواهد کرد.
ویژگیها:
- •
- پیکربندی: no_check_updated
- •
- متغیر محیطی: RCLONE_LOCAL_NO_CHECK_UPDATED
- •
- نوع: bool
- •
- پیشفرض: false.SS --one-file-system / -x
عدم عبور از مرزهای فایلسیستم (فقط unix/macOS).
ویژگیها:
- •
- پیکربندی: one_file_system
- •
- متغیر محیطی: RCLONE_LOCAL_ONE_FILE_SYSTEM
- •
- نوع: bool
- •
- پیشفرض: false
--local-case-sensitive
فایلسیستم را وادار میکند تا خود را حساس به بزرگی و کوچکی حروف گزارش دهد.
بهطور معمول، backend محلی در Windows/macOS خود را غیرحساس به بزرگی و کوچکی حروف، و برای سایر سیستمها حساس به بزرگی و کوچکی حروف معرفی میکند. از این پرچم برای لغو انتخاب پیشفرض استفاده کنید.
ویژگیها:
- •
- پیکربندی: case_sensitive
- •
- متغیر محیطی: RCLONE_LOCAL_CASE_SENSITIVE
- •
- نوع: bool
- •
- پیشفرض: false
--local-case-insensitive
فایلسیستم را وادار میکند تا خود را غیرحساس به بزرگی و کوچکی حروف گزارش دهد.
بهطور معمول، backend محلی در Windows/macOS خود را غیرحساس به بزرگی و کوچکی حروف، و برای سایر سیستمها حساس به بزرگی و کوچکی حروف معرفی میکند. از این پرچم برای لغو انتخاب پیشفرض استفاده کنید.
ویژگیها:
- •
- پیکربندی: case_insensitive
- •
- متغیر محیطی: RCLONE_LOCAL_CASE_INSENSITIVE
- •
- نوع: bool
- •
- پیشفرض: false
--local-no-clone
غیرفعالسازی کلونینگ reflink برای رونوشتهای سمت سرور.
بهطور معمول، برای انتقالهای محلی به محلی، rclone در صورت امکان فایل را "کلون" میکند و تنها در صورتی که کلونسازی پشتیبانی نشود، به "کپی کردن" رجوع میکند.
کلونسازی یک رونوشت سطحی (یا "reflink") ایجاد میکند که در ابتدا بلوکها را با فایل اصلی به اشتراک میگذارد. برخلاف یک "hardlink"، این دو فایل مستقل هستند و در صورت تغییرات بعدی، هیچکدام بر دیگری تأثیر نخواهد گذاشت.
کلونسازی معمولاً نسبت به کپی کردن ارجحیت دارد، زیرا بسیار سریعتر است و بهطور پیشفرض دادههای تکراری در آن حذف میشود (یعنی داشتن دو فایل یکسان، فضای ذخیرهسازی بیشتری نسبت به داشتن تنها یکی مصرف نمیکند). با این حال، برای مواردی که افزونگی دادهها ترجیح داده میشود، میتوان از --local-no-clone برای غیرفعال کردن کلونسازی و اجبار رونوشتهای "عمیق" استفاده کرد.
در حال حاضر، کلونسازی تنها هنگام استفاده از APFS در macOS پشتیبانی میشود (ممکن است در آینده پشتیبانی از سایر پلتفرمها اضافه شود).
ویژگیها:
- •
- پیکربندی: no_clone
- •
- متغیر محیطی: RCLONE_LOCAL_NO_CLONE
- •
- نوع: bool
- •
- پیشفرض: false.SS --local-no-preallocate
غیرفعالسازی تخصیص از پیش فضای دیسک برای فایلهای منتقلشده.
تخصیص از پیش فضای دیسک به جلوگیری از تکهتکهشدن (fragmentation) سیستمفایل کمک میکند. با این حال، برخی از لایههای سیستمفایل مجازی (مانند Google Drive File Stream) ممکن است به اشتباه اندازه واقعی فایل را برابر با فضای از پیش تخصیصیافته تنظیم کنند که باعث شکست در بررسیهای checksum و اندازه فایل میشود. از این پرچم برای غیرفعال کردن تخصیص از پیش استفاده کنید.
ویژگیها:
- •
- پیکربندی: no_preallocate
- •
- متغیر محیطی: RCLONE_LOCAL_NO_PREALLOCATE
- •
- نوع: bool
- •
- پیشفرض: false
--local-no-sparse
غیرفعالسازی فایلهای پراکنده (sparse files) برای دریافتهای چندرشتهای.
در سیستمعاملهای Windows، برنامه rclone هنگام انجام دریافتهای چندرشتهای فایلهای پراکنده ایجاد میکند. این کار از مکثهای طولانی در فایلهای بزرگ که در آن سیستمعامل فایل را با صفر پر میکند، جلوگیری مینماید. با این حال ممکن است فایلهای پراکنده نامطلوب باشند زیرا باعث تکهتکهشدن دیسک میشوند و کار با آنها میتواند کُند باشد.
ویژگیها:
- •
- پیکربندی: no_sparse
- •
- متغیر محیطی: RCLONE_LOCAL_NO_SPARSE
- •
- نوع: bool
- •
- پیشفرض: false
--local-no-set-modtime
غیرفعالسازی تنظیم modtime.
به طور معمول rclone زمان تغییر فایلها را پس از اتمام بارگذاری آنها بهروزرسانی میکند. این امر میتواند در سیستمعاملهای Linux هنگامی که کاربری که rclone تحت آن اجرا میشود مالک فایل بارگذاریشده نباشد، مانند زمان کپی در یک اتصال CIFS متعلق به کاربری دیگر، باعث بروز مشکلات دسترسی شود. اگر این گزینه فعال باشد، rclone پس از کپی کردن فایل دیگر modtime را بهروزرسانی نخواهد کرد.
ویژگیها:
- •
- پیکربندی: no_set_modtime
- •
- متغیر محیطی: RCLONE_LOCAL_NO_SET_MODTIME
- •
- نوع: bool
- •
- پیشفرض: false
--local-metadata-restore-special-bits
بازیابی بیتهای setuid، setgid و sticky از فراداده (metadata).
هنگام بازیابی فراداده با --metadata، برنامه rclone مقدار "mode" را از مبدأ اعمال میکند. به طور پیشفرض rclone فقط بیتهای مجوز را اعمال کرده و بیتهای setuid، setgid و sticky را حذف میکند.
مقدار "mode" از ریموت مبدأ میآید که ممکن است قابل اعتماد نباشد. بازیابی بیت setuid یا setgid بر روی محتوای تازه نوشتهشده و تحت کنترل مبدأ میتواند یک باینری setuid ایجاد کند، که این امر بهویژه هنگام بازیابی از یک منبع نامعتبر در حین اجرا به عنوان کاربر ریشه (root) خطرناک است. به همین دلیل این بیتها بهطور پیشفرض بازیابی نمیشوند.
اگر به منبع اعتماد دارید و میخواهید بیتهای setuid، setgid و sticky بازیابی شوند - برای مثال هنگام بازیابی نسخه پشتیبان سیستمی که توسط rclone ایجاد شده است - این پرچم را فعال کنید.
ویژگیها:
- •
- پیکربندی: metadata_restore_special_bits
- •
- متغیر محیطی: RCLONE_LOCAL_METADATA_RESTORE_SPECIAL_BITS
- •
- نوع: bool
- •
- پیشفرض: false.SS --local-fatal-if-no-space
تبدیل خطاهای کمبود فضا به خطاهای مهلک در حین انتقال.
در صورت فعال بودن، بروز خطای ENOSPC در حین نوشتن، یک خطای مهلک برمیگرداند تا rclone بهجای تلاش دوباره، عملیات را بیدرنگ متوقف کند. برای اسکریپتهای پشتیبانگیری که هنگام پر شدن دیسک باید با اعلان خطا متوقف شوند و در حلقهٔ تلاش مجدد گیر نکنند، مفید است.
ویژگیها:
- •
- پیکربندی: fatal_if_no_space
- •
- متغیر محیطی: RCLONE_LOCAL_FATAL_IF_NO_SPACE
- •
- نوع: bool
- •
- پیشفرض: false
--local-time-type
مشخص کردن نوع زمان بازگرداندهشده.
بهطور معمول rclone تمام عملیات را بر اساس mtime یا همان زمان تغییر محتوا (Modification time) انجام میدهد.
اگر این پرچم را تنظیم کنید، rclone مقدار زمان اصلاح را برابر با مقداری که اینجا تعیین کردهاید بازمیگرداند. بنابراین اگر از "rclone lsl --local-time-type ctime" استفاده کنید، ctimeها را در فهرست خروجی خواهید دید.
اگر سیستمعامل از بازگرداندن time_type مشخصشده پشتیبانی نکند، rclone آن را بیسروصدا با زمان تغییر محتوا که در همهٔ سیستمهای عامل پشتیبانی میشود جایگزین میکند.
- •
- مقدار mtime در همهٔ سیستمهای عامل پشتیبانی میشود
- •
- مقدار atime در همهٔ سیستمهای عامل به جز plan9 و js پشتیبانی میشود
- •
- مقدار btime فقط در سیستمهای عامل Windows، macOS، freebsd و netbsd پشتیبانی میشود
- •
- مقدار ctime در همهٔ سیستمهای عامل به جز Windows، plan9 و js پشتیبانی میشود
توجه داشته باشید که تنظیم زمان همچنان زمان تغییر محتوا (modified time) را تغییر خواهد داد، بنابراین این گزینه فقط برای خواندن کاربرد دارد.
ویژگیها:
- •
- پیکربندی: time_type
- •
- متغیر محیطی: RCLONE_LOCAL_TIME_TYPE
- •
- نوع: mtime|atime|btime|ctime
- •
- پیشفرض: mtime
- •
- مثالها:
- •
- "mtime"
- •
- زمان آخرین تغییر محتوا.
- •
- "atime"
- •
- زمان آخرین دسترسی.
- •
- "btime"
- •
- زمان ایجاد.
- •
- "ctime"
- •
- زمان آخرین تغییر وضعیت.
فهرست جداشده با کاما از انواع چکسامهای (checksum) پشتیبانیشده.
ویژگیها:
- •
- پیکربندی: hashes
- •
- متغیر محیطی: RCLONE_LOCAL_HASHES
- •
- نوع: CommaSepList
- •
- پیشفرض:
--local-encoding
کدگذاری مربوط به بکاند (backend).
برای اطلاعات بیشتر، بخش encoding را در overview (https://rclone.org/overview#encoding) ببینید.
ویژگیها:
- •
- پیکربندی: encoding
- •
- متغیر محیطی: RCLONE_LOCAL_ENCODING
- •
- نوع: Encoding
- •
- پیشفرض: Slash,Dot
--local-description
توضیحات ریموت (remote).
ویژگیها:
- •
- پیکربندی: description
- •
- متغیر محیطی: RCLONE_LOCAL_DESCRIPTION
- •
- نوع: string
- •
- الزامی: false
متاداده (Metadata)
بسته به اینکه کدام سیستمعامل در حال استفاده است، بکاند محلی ممکن است فقط بخشی از متادادههای سیستم را بازگرداند. تنظیم متاداده سیستم روی همه سیستمعاملها پشتیبانی میشود، اما تنظیم متاداده کاربر فقط در linux، freebsd، netbsd، macOS و Solaris پشتیبانی میگردد. این قابلیت هنوز روی Windows پشتیبانی نمیشود (ببینید: pkg/attrs#47 (https://github.com/pkg/xattr/issues/47)).
متاداده کاربر بهصورت مشخصههای توسعهیافته (که ممکن است توسط همه سیستمهای فایل پشتیبانی نشوند) تحت پیشوند "user.*" ذخیره میشود.
متاداده روی فایلها و دایرکتوریها پشتیبانی میشود.
هنگام بازیابی متاداده با --metadata، رکلون (rclone) مقادیر "mode"، "uid" و "gid" را از مبدأ اعمال میکند. این مقادیر از ریموت مبدأ میآیند که ممکن است قابل اعتماد نباشد؛ بنابراین بازیابی متاداده بهعنوان ریشه (root) از یک منبع غیرقابل اعتماد میتواند مالکیت فایل را تغییر دهد و توصیه نمیشود. بیتهای setuid، setgid و sticky بهطور پیشفرض بازیابی نمیشوند - پرچم --local-metadata-restore-special-bits را ببینید.
در ادامه موارد ممکن متاداده سیستم برای بکاند محلی آورده شده است.
| نام | راهنما | نوع | مثال | فقطخواندنی |
| atime | زمان آخرین دسترسی | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| btime | زمان ایجاد (تولد) فایل | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| gid | شناسه گروهی مالک | عدد دهدهی | 500 | N |
| mode | نوع و حالت فایل | هشتهشتی، سبک یونیکس | 0100664 | N |
| mtime | زمان آخرین تغییر | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
| rdev | شناسه دستگاه (در صورت فایل ویژه) | هگزادسیمال | 1abc | N |
| uid | شناسه کاربری مالک | عدد دهدهی | 500 | N |
برای اطلاعات بیشتر، مستندات metadata (https://rclone.org/docs#metadata) را ببینید..SS دستورات Backend
در اینجا دستورات مختص backend محلی (local) آورده شده است.
اجرای آنها با:
-
rclone backend COMMAND remote:
راهنمای زیر توضیح خواهد داد که هر دستور چه آرگومانهایی میگیرد.
برای اطلاعات بیشتر درباره نحوه ارسال گزینهها و آرگومانها، دستور backend (https://rclone.org/commands/rclone_backend) را ببینید.
این دستورات را میتوان با استفاده از دستور rc به نشانی backend/command (https://rclone.org/rc/#backend-command) روی یک backend در حال اجرا فراخوانی کرد.
noop
یک عملیات پوچ (null operation) برای آزمایش دستورات backend.
-
rclone backend noop remote: [options] [<arguments>+]
این یک دستور آزمایشی است که گزینههایی برای تغییر دادن خروجی دارد.
گزینهها:
- •
- "echo": بازتاب دادن آرگومانهای ورودی (Echo).
- •
- "error": بازگرداندن یک خطا بر اساس مقدار گزینه.
گزارش تغییرات (CHANGELOG)
v1.75.1 - 2026-09-04
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.75.0...v1.75.1)
- •
- امنیت
- •
- archive
- •
- رفع پیمایش مسیر zip slip در فایلهای zip غیرقابلاعتماد GHSA-66hp-wgxq-6f5q CVE-PENDING (Nick Craig-Wood)
- •
- پنهانسازی هر مدخل بایگانی که از دایرکتوری در حال فهرستبندی خارج میشود GHSA-66hp-wgxq-6f5q (Nick Craig-Wood)
- •
- رد نامهای مدخل ناامن هنگام mount کردن ایمیجهای squashfs شناسه GHSA-66hp-wgxq-6f5q (Nick Craig-Wood)
- •
- رفع تطابق ریشه زیردایرکتوری zip با دایرکتوریهای همسطح GHSA-66hp-wgxq-6f5q (Nick Craig-Wood)
- •
- رفع مشکل مدخل zip با نام "." که سایر فایلها را پنهان میکرد GHSA-66hp-wgxq-6f5q (Nick Craig-Wood)
- •
- رفع خطای "directory not found" برای مسیرهای بایگانی حاوی "./" یا "//" شناسه GHSA-66hp-wgxq-6f5q (Nick Craig-Wood)
- •
- build
- •
- رفع چندین CVE با ارتقا به go1.26.6 (Nick Craig-Wood)
- •
- CVE-2026-56860: net/url: پیچیدگی درجه دوم در resolvePath
- •
- CVE-2026-56858: html/template: ردیابی زمینه عبارت منظم (regexp) در JavaScript
- •
- CVE-2026-56862: crypto/tls: محدود کردن پیامهای دستتکانی پذیرفتهشده پس از دستتکانی (post-handshake)
- •
- CVE-2026-56853: net/http: اعمال ReadHeaderTimeout روی بررسی رمزگذارینشده HTTP/2
- •
- CVE-2026-56859: encoding/xml: محافظ عمق بازگشت هنگام دیکود
- •
- CVE-2026-33818: encoding/asn1: اعمال حداکثر عمق بازگشت
- •
- CVE-2026-46600: net: رخداد خطای وحشت (panic) هنگام تجزیه رکورد منبع نامعتبر SVCB یا HTTPS در dnsmessage
- •
- CVE-2026-39821: net/http: رد برچسبهای کدگذاریشده Punycode با کاراکترهای صرفاً ASCII در idna
- •
- بهروزرسانی golang.org/x/crypto به v0.56.0 جهت رفع چندین CVE (Nick Craig-Wood)
- •
- CVE-2026-56854: ssh: گزینه حیاتی source-address برای فراخوانیهای احراز هویت غیرکلید عمومی اعمال نمیشد
- •
- CVE-2026-78662: ssh: یک همتای مخرب میتوانست درخواستهای ورودی کانال نامشخص را اشباع کرده و اتصال را دچار بنبست کند
- •
- CVE-2026-56855: ssh: یک همتای مخرب میتوانست پیامهای ساختگی روی یک کانال برقرارشده ارسال کرده و اتصال را دچار بنبست کند
- •
- بهروزرسانی golang.org/x/image به v0.45.0 جهت رفع CVE-2026-46603 (Nick Craig-Wood)
- •
- CVE-2026-46603: تخصیص بیش از حد حافظه هنگام رمزگشایی VP8L
- •
- fs: محدود کردن مدخلهای فهرست دایرکتوری که از ریشه خارج میشوند GHSA-3vxh-3pcx-9m8q GHSA-38xv-hf3p-h7mq CVE-PENDING (Nick Craig-Wood)
- •
- fshttp: عدم ارسال مقادیر --header به سایر میزبانها در زمان تغییر مسیر (redirect) شناسه GHSA-486v-q2wf-fp2r CVE-PENDING (Nick Craig-Wood)
- •
- http: عدم نشت هدرهای پیکربندیشده به سایر میزبانها یا در بستر متن ساده در زمان redirect شناسه GHSA-486v-q2wf-fp2r CVE-PENDING (Nick Craig-Wood)
- •
- lib/rest: بررسی تنزل درجه HTTPS نسبت به درخواست اصلی هنگام redirect شناسه GHSA-486v-q2wf-fp2r CVE-PENDING (Nick Craig-Wood)
- •
- local
- •
- رفع خروج متادیتای دایرکتوری از ریشه از طریق یک پیوند نمادین (symlink) تعبیهشده GHSA-f8g7-2xjc-7mfh CVE-PENDING (Nick Craig-Wood)
- •
- رفع خروج btime از ریشه از طریق یک پیوند نمادین تعبیهشده GHSA-f8g7-2xjc-7mfh CVE-PENDING (Nick Craig-Wood)
- •
- رفع panic در درخواست Range فراتر از انتهای یک symlink شناسه GHSA-p6m2-r3w9-mpxw CVE-PENDING (Nick Craig-Wood)
- •
- serve docker
- •
- رد نامهای volume که از دایرکتوری پایه خارج میشوند GHSA-p6vx-hf7p-98j6 (Nick Craig-Wood)
- •
- رد نامهای volume که به خود دایرکتوری پایه منتهی میشوند GHSA-p6vx-hf7p-98j6 (Nick Craig-Wood)
- •
- اشتقاق مجدد نقطه اتصال (mountpoint) حجم بر اساس نام هنگام بازیابی وضعیت GHSA-p6vx-hf7p-98j6 (Nick Craig-Wood)
- •
- serve ftp: رفع اشتراکگذاری اعتبارنامههای نشستهای auth-proxy بر اساس نام کاربری GHSA-c476-6w5q-jw77 CVE-PENDING (Nick Craig-Wood)
- •
- serve s3
- •
- رفع اتمام حافظه ناشی از اندازه قطعه multipart اعلامشده توسط کلاینت GHSA-2p48-j3qc-rx9f CVE-PENDING (Nick Craig-Wood)
- •
- رد اندازههای نامعتبر قطعه multipart در بافر مرتبسازی مجدد GHSA-2p48-j3qc-rx9f (Nick Craig-Wood)
- •
- رفع پذیرش هر درخواست امضا شده با یک کلید محرمانه خالی توسط auth proxy شناسه GHSA-xwwr-4h3p-r22c CVE-PENDING (Nick Craig-Wood)
- •
- نکته: پروتکل auth proxy برای serve s3 تغییر کرده است - برنامه پراکسی اکنون شناسه access key را با نام user دریافت میکند و باید کلید محرمانه را به عنوان _secret_access_key بازگرداند
- •
- رفع پذیرش اعتبارنامههای --auth-key سایر سرورها توسط هر سرور (Nick Craig-Wood)
- •
- رفع ثبت گزارش گمراهکننده دسترسی ناشناس هنگام استفاده از auth proxy از طریق rc شناسه GHSA-p569-5gjg-9cmj CVE-PENDING (Nick Craig-Wood) serve sftp: رفع نادیده گرفتهشدن بیصدای auth proxy پیکربندیشده از طریق rc GHSA-p569-5gjg-9cmj CVE-PENDING (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting
- •
- رفع نشت حافظه در rcd با اجرای طولانیمدت (nielash)
- •
- رفع نشت حافظه از گروههای stats در rcd با اجرای طولانیمدت (nielash)
- •
- رفع سرریز burst در bwlimit (Rayan Salhab)
- •
- bisync
- •
- رفع نشت حافظه هنگام اجرا از طریق rc (nielash)
- •
- رفع ثبتشدن انتقالهای ناموفق فایلهای خالی بهعنوان همگامسازیشده (Nick Craig-Wood)
- •
- build: تعیین go1.26 بهعنوان حداقل نسخهٔ مورد نیاز بر اساس نیازمندی golang.org/x/crypto v0.56.0 (Nick Craig-Wood)
- •
- config: سانسور مقادیر پیکربندی متغیرهای محیطی در گزارشها (Pastalikek65)
- •
- اصلاحات مستندات (Anton Karpov, CAOShurong, Dean Chen, Nick Craig-Wood, Recoordinate, Rodrigo Rodrigues, Shantanav Mukherjee, shaurya)
- •
- lib/batcher: جلوگیری از شرایط رقابتی میان commitها و خاموششدن برنامه (Loi Nguyen)
- •
- lib/transform: رفع panic در truncate_keep_extension (VXNCXNX)
- •
- multipart: رفع ذخیره شدن اشیاء ناقص در آپلودهای تکهای (chunked) هنگام پایان زودهنگام منبع (Nick Craig-Wood)
- •
- operations: رفع ناقص شدن بیصدای آپلودهای جریانی هنگام پایان زودهنگام منبع (Nick Craig-Wood)
- •
- serve
- •
- رفع نشت نمونههای VFS هنگام شکست در راهاندازی یا خاموش شدن سرور (Hakan İSMAİL)
- •
- ارسال آدرس IP کلاینت به auth proxy (am-at-enrollvb)
- •
- serve http: جلوگیری از اسکرول به بالای صفحه هنگام بارگذاری مجدد (Sune Mølgaard)
- •
- serve nfs: رفع خطای EIO هنگام ایجاد پیوندهای نمادین با --vfs-links (SillyZir)
- •
- serve s3
- •
- رفع حذف یا معیوبشدن شیء در کلید مربوطه در اثر آپلودهای ناموفق (Nick Craig-Wood)
- •
- رفع خرابی (crash) هنگام لغو یک multipart upload در حین آپلود یکی از بخشها (Nick Craig-Wood)
- •
- رفع تنظیم نشدن modtime زمانی که فقط فرادادهٔ mtime در درخواست PUT ارائه میشود (Nick Craig-Wood)
- •
- انجام تمام multipart uploadها از طریق VFS بهمنظور رعایت --bwlimit و نمایش در آمارها (Nick Craig-Wood)
- •
- رزرو پیشوند .rclone_temp_ برای اشیاء موقت (Nick Craig-Wood)
- •
- پاکسازی multipart uploadهای رهاشده پس از --multipart-expiry (Nick Craig-Wood)
- •
- vfscache
- •
- رفع بنبست (deadlock) خواننده هنگام کاهش اندازهٔ مورد به کمتر از آفست خواندن (Dave)
- •
- رفع رشد نامحدود پیام گزارش هنگام رخداد مکرر خطاهای نوشتن (Vijay Misal)
- •
- walk: توقف پیمایش دایرکتوری در صورت لغو شدن context (Rahman Yilmaz)
- •
- VFS
- •
- همگامسازی بهروزرسانیهای poll با خاموش شدن برنامه (Loi Nguyen)
- •
- قطعیسازی چرخهٔ حیات خاموش شدن poll (Loi Nguyen)
- •
- Crypt
- •
- رفع عدم تطابق هش با no_data_encryption در بکاندهایی که هشهای آپلود را بررسی میکنند (Nick Craig-Wood)
- •
- رفع مشکل نام دایرکتوریهایی که شبیه نام فایلهای نسخهبندیشده هستند (TowyTowy)
- •
- هشدار دربارهٔ دایرکتوریهایی با نامهای رمزنگاریشدهٔ قدیمی و مشابه فایلهای نسخهبندیشده (Nick Craig-Wood)
- •
- Azure Blob
- •
- رفع مشکل احراز هویت مبدا در کپی سمت سرور Entra ID (Edward Klesel)
- •
- رفع خطاهای کاذب خرابی vfs cache هنگام خواندنهای تکهای (Nick Craig-Wood)
- •
- Azurefiles
- •
- رفع ایجاد فایلهای پرشده با صفر هنگام پایان زودهنگام منبع (Nick Craig-Wood)
- •
- Box
- •
- رفع آپلود موفق فایلهای ناقص هنگام پایان زودهنگام منبع (Rohit Behera)
- •
- Compress
- •
- رفع ایجاد اشیاء معیوب هنگام پایان زودهنگام منبع (Nick Craig-Wood)
- •
- Drive
- •
- فهرست نکردن فایلهای سطل بازیافت هنگام انتقال دایرکتوری به سطل بازیافت (alliasgher)
- •
- Dropbox
- •
- حفظ مسیرهای خروجی Paper هنگام lookup (Loi Nguyen)
- •
- رفع متوقف نشدن درخواستهای در حال انجام هنگام لغو شدن context (مانند محدودیت --max-duration) (debaditya)
- •
- رفع پایان نیافتن آپلودهای تکهای (chunked) مربوط به فایلهای ناقص (Nick Craig-Wood)
- •
- تلاش مجدد نکردن برای درخواستهای آپلود تکهای در صورت لغو شدن آپلود (Nick Craig-Wood)
- •
- رمزگشایی نام فایلهای بهاشتراکگذاشتهشدهٔ دریافتی (Sanjay Kanth A)
- •
- رفع مشکل ChangeNotify در صورت تفاوت در بزرگی و کوچکی حروف میان ریشه و Dropbox (Loi Nguyen)
- •
- Filelu
- •
- رفع آپلود موفق فایلهای ناقص هنگام پایان زودهنگام منبع (Nick Craig-Wood)
- •
- رفع مسیر ریشهٔ تکراری در زمان ایجاد پوشههای multipart (kingston125) Huaweidrive
- •
- رفع مشکل بارگذاری موفقیتآمیز فایلهای ناقص هنگامی که منبع پیش از موعد به پایان میرسد (Rohit Behera)
- •
- Iclouddrive
- •
- رفع شکست بارگذاریها در کانتینر برنامه با خطای 412 (Christian De Santis)
- •
- Internetarchive
- •
- رفع مشکل ایجاد فایلهای خراب هنگامی که منبع پیش از موعد به پایان میرسد (Nick Craig-Wood)
- •
- Internxt
- •
- ماندگار کردن توکن چرخشیافتهٔ بازگرداندهشده توسط فراخوانی user info (0rangeSeaW0lf)
- •
- Onedrive
- •
- رفع خطای 403 Forbidden در پیکربندی onedrive شخصی (machsix)
- •
- بازگشت به وارد کردن دستی شناسهٔ درایو در صورت عدم موفقیت در فهرستکردن درایو (SillyZir)
- •
- عدم تلاش مجدد برای تکهٔ بارگذاری چندبخشی در صورت دریافت 404 (نشست بارگذاری پیدا نشد) (water)
- •
- Overview
- •
- رفع خطای "internal error: no overview data found" در معماریهای ۳۲ بیتی (Nick Craig-Wood)
- •
- Pikpak
- •
- رفع مشکل ایجاد فایلهای ناقص هنگامی که منبع پیش از موعد به پایان میرسد (Nick Craig-Wood)
- •
- رفع گزارش موفقیت برای بارگذاریهای تکبخشی ناقص هنگامی که منبع پیش از موعد به پایان میرسد (Nick Craig-Wood)
- •
- Protondrive
- •
- رفع خوانده نشدن فایلهای بارگذاریشده با v1.75.0 در برنامههای Proton (Nick Craig-Wood)
- •
- رفع بارگذاریهای خراب پس از خطای تلاش مجدد برای بارگذاری (Nick Craig-Wood)
- •
- Quatrix
- •
- رفع مشکل تلاشهای مجدد در بارگذاری تکهها و رفع نشت حافظه (Nick Craig-Wood)
- •
- S3
- •
- بهروزرسانی پایانههای Mega (Nick Craig-Wood)
- •
- تلقی موفقیت UploadPart بدون ETag بهعنوان خطای قابل تلاش مجدد (CAOShurong)
- •
- رفع شکست رونوشت سمت سرور با --s3-no-head-object (Anatoly Tarnavsky)
- •
- Sia
- •
- رفع مشکل ایجاد فایلهای خراب هنگامی که منبع پیش از موعد به پایان میرسد (Nick Craig-Wood)
- •
- Smb
- •
- استفادهٔ مجدد از اتصال بارگذاری برای SetModTime (alliasgher)
- •
- WebDAV
- •
- رفع شکست SetModTime و نبود هشها در Nextcloud (Nick Craig-Wood)
- •
- Yandex
- •
- رفع مشکل بارگذاری موفقیتآمیز فایلهای ناقص هنگامی که منبع پیش از موعد به پایان میرسد (Rohit Behera)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.74.0...v1.75.0)
- •
- ارائهدهندگان جدید S3
- •
- Scality (https://rclone.org/s3/#scality) (RING / ARTESCA)
- •
- Zero Services (https://rclone.org/s3/#zero-z3) (ZERO-Z3)
- •
- امنیت
- •
- archive: عدم فروپاشی هنگام مواجهه با ایمیجهای نامعتبر squashfs GHSA-6jcg-q3wp-x2f4 (Nick Craig-Wood)
- •
- ftp: رفع مشکل تزریق دستور ftp زمانی که کدگذاری شامل CRLF نباشد GHSA-8c48-q9wj-3w37 CVE-2026-71311 (Nick Craig-Wood)
- •
- lib/http: استفاده از TLS روی تمامی شنوندههای --addr زمانی که --cert و --key تنظیم شده باشند GHSA-mfvx-7rcj-9m5g (Nick Craig-Wood)
- •
- lib/proxy: رفع مشکل هدرهای نامحدود HTTP CONNECT که موجب رخ دادن OOM میشدند GHSA-xhf4-832v-7xcr CVE-2026-71310 (Nick Craig-Wood)
- •
- local: جلوگیری از خروج نام فایلهای مبدأ از دایرکتوری مقصد GHSA-7p4m-qxvv-g567 CVE-2026-71313 (Nick Craig-Wood)
- •
- rc
- •
- عدم افشای گردانندههای دیباگ pprof روی سرور احراز هویتنشده GHSA-mfvx-7rcj-9m5g CVE-PENDING (Nick Craig-Wood)
- •
- الزام به احراز هویت جهت فهرست کردن ریموتها با --rc-serve GHSA-mfvx-7rcj-9m5g (Nick Craig-Wood)
- •
- رفع نشت ردپای پشته هنگام بروز وحشت (panic) GHSA-gwfq-86j8-7qhv (Nick Craig-Wood)
- •
- s3
- •
- رفع نشت گواهیهای اعتباری در تغییر مسیر، رد کردن تغییر مسیرهای HTTPS->HTTP و حذف اسرار GHSA-8mxv-9xhp-86h4 (Nick Craig-Wood)
- •
- حذف توکن نشست S3 Express در تغییر مسیرهای بین چند میزبان GHSA-8mxv-9xhp-86h4 (Nick Craig-Wood)
- •
- serve ftp: استفاده از مقایسه زمانثابت (constant time) برای بررسی گذرواژه GHSA-mfvx-7rcj-9m5g (Nick Craig-Wood)
- •
- serve restic: رفع پیمایش مسیر (path traversal) به خارج از دایرکتوری ارائهشده GHSA-45pq-889g-fcgh CVE-2026-71309 (Nick Craig-Wood)
- •
- serve sftp: عدم فروپاشی کل سرور هنگام دریافت درخواست نامعتبر GHSA-6jcg-q3wp-x2f4 (Nick Craig-Wood)
- •
- sftp: رفع مشکل تزریق دستور از طریق نامفایلهای دستکاریشده در ریموتهای PowerShell GHSA-2m8m-jhrm-w6j2 CVE-2026-71312 (Nick Craig-Wood)
- •
- vfs: عدم فروپاشی فرایند در صورت بروز وحشت (panic) در پشتیبان روی یک goroutine پسزمینه GHSA-6jcg-q3wp-x2f4 (Nick Craig-Wood)
- •
- webdav
- •
- رفع مشکل نشت اطلاعات اعتباری در تغییر مسیرهای HTTPS به HTTP GHSA-h4mf-4v27-hggj (Nick Craig-Wood)
- •
- Tus: رفع فروپاشی احتمالی ناشی از اشارهگر تهی (nil pointer) GHSA-3x6r-wxxg-53vv (Nick Craig-Wood)
- •
- بهروزرسانی google.golang.org/grpc برای رفع چندین مشکل امنیتی (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- build: بهروزرسانی تمام وابستگیها (Nick Craig-Wood)
- •
- config
- •
- افزودن دستور config unset برای حذف گزینهها از یک ریموت (Nick Craig-Wood)
- •
- افزودن tier به راهنمای گامبهگام پیکربندی (dougal)
- •
- docker serve
- •
- افزودن مهلت زمانی به بازیابی حجم تا ریموتهای کند مانع راهاندازی نشوند (Nick Craig-Wood)
- •
- بازیابی همروند حجمها تا یک ریموت کُند مانع عملکرد سایرین نشود (Nick Craig-Wood)
- •
- همانتوان (idempotent) کردن Create جهت جلوگیری از خطای "volume already exists" پس از راهاندازی مجدد (Nick Craig-Wood)
- •
- اصلاحات مستندات (blackflytech, dougal, Giridhar, KTibow, mathieulongtin, Nick Craig-Wood, p1, Socialpranker, Søren Lindberg, yashanil98)
- •
- filter
- •
- پشتیبانی از جایگزینهای تو در توی {} در فیلترهای glob (maximilize)
- •
- افزودن --files-from0 برای پشتیبانی از ورودیهای جداشده با NUL (Gaurav)
- •
- fserrors: تبدیل خطای "server sent GOAWAY" در http2 به یک خطای قابل تلاش مجدد (phatlc)
- •
- fshttp
- •
- افزودن --dump errors برای ثبت اطلاعات فقط تراکنشهای ناموفق HTTP (Nick Craig-Wood)
- •
- افزودن --dump trace برای ثبت وقایع سطح اتصال از طریق httptrace (Nick Craig-Wood)
- •
- gui
- •
- ارائه فایلهای ایستا با فشردهسازی gzip/deflate (Leon Brocard)
- •
- رعایت مقدار صریح --rc-allow-origin به جای استخراج همیشگی آن از آدرس bind (Kyue)
- •
- بهروزرسانی نسخه تعبیهشده به 1.1.11 (Nick Craig-Wood)
- •
- mount2: افزودن --allow-idmap برای اعلان FUSE_ALLOW_IDMAP (Valerij Fredriksen)
- •
- nfsmount: فراخوانی مستقیم mount_nfs در OpenBSD تا گزینه -T پذیرفته شود (Socialpranker)
- •
- rc
- •
- پاسخ با کد 202 در صورت ارسال هدر prefer-async (FTCHD)
- •
- افزودن config/oauthstop و config/oauthstatus برای کنترل شنونده oauth (FTCHD)
- •
- گنجاندن URL مجوزدهی OAuth در پاسخ config/oauthstatus در rc (Hakan İSMAİL)
- •
- امکان تنظیم گزینههای config و filter در rc به صورت پارامترهای مسطح (Hakan İSMAİL)
- •
- serve
- •
- پشتیبانی از هدرهای سفارشی پاسخ http (kkocdko)
- •
- بهروزرسانی کنترل از راه دور serve برای پذیرش گزینههای تو در تو و همچنین مسطح (Hakan İSMAİL)
- •
- serve dlna: محدود کردن بدنه درخواستهای SOAP (Acts1631)
- •
- serve nfs
- •
- امکانپذیر کردن اتصال (mount) زیرمسیرهای ریموت ارائهشده برای کلاینتهای NFS (Nick Craig-Wood).IP • 2 اعلان AUTH_UNIX تا کلاینتهای NFS در *BSD بتوانند متصل (mount) شوند (Socialpranker)
- •
- serve s3: ارسال جریانی بارگذاریهای چندبخشی به بکاند بهجای بافر کردن در حافظه (Nick Craig-Wood)
- •
- serve sftp
- •
- پیادهسازی statvfs@openssh.com جهت گزارش مصرف دیسک (Nick Craig-Wood)
- •
- استفاده از atime درخواستی هنگام تنظیم زمانهای فایل (Nick Craig-Wood)
- •
- serve webdav: افزودن فشردهسازی gzip برای پاسخهای فشردهپذیر (Leon Brocard)
- •
- serve http: افزودن پرچم --disable-dir-list (Leon Brocard)
- •
- رفع باگها (Bug Fixes)
- •
- archive/squashfs: رفع خواندن ایمیجهای بدون جدول fragment یا xattr (maximilize)
- •
- chunkedreader: رفع خطاهای کاذب هنگام بستهشدن زودهنگام یک جریان موازی (Nick Craig-Wood)
- •
- config
- •
- رفع نادیدهگرفتهشدن config_template_file و config_template از طریق config/create (hexbinoct)
- •
- رفع نرمالسازی هنگام مبهمسازی گذرواژهها (Nick Craig-Wood)
- •
- docker serve: رفع اتمام مهلت زمانی (timeout) افزونه هنگام راهاندازی مجدد در صورت وجود اتصالات فعال حجمها (Nick Craig-Wood)
- •
- fs: رفع نمایش گذرواژهها و نشانهها در گزارش اشکالزدایی هنگام اجرای rclone config (Nick Craig-Wood)
- •
- gui: رفع درخواستهای متقاطع API (cross-origin) هنگام اتصال به آدرس عامنویسه (wildcard) (FTCHD)
- •
- hash: رفع اندازه هشساز xxh128 (Yuhang Cao)
- •
- log: رفع عوارض جانبی هنگام واردکردن rclone به عنوان یک کتابخانه (Sven Rebhan)
- •
- march
- •
- رفع فهرستکردن غیرضروری دایرکتوری dst پس از پایان فهرستکردن src (Nick Craig-Wood)
- •
- رفع نشت goroutine در کارهای ناهمگام پایانیافته rc (Yash Anil)
- •
- nfsmount: رفع ناسازگاری گزینههای mount_nfs با OpenBSD (Socialpranker)
- •
- rc
- •
- رفع مشکل operations/stat برای دایرکتوریهایی با دایرکتوری والد بزرگ (Nick Craig-Wood)
- •
- رفع نادیدهگرفتهشدن پارامترهای _filter و _config توسط دستورهای mount/* (Hakan İSMAİL)
- •
- serve: رفع استفاده پراکسی احراز هویت از پارامترهای کهنه پیکربندی هنگام ایجاد بکاند (Nick Craig-Wood)
- •
- serve s3
- •
- رفع نمایش بارگذاریهای چندبخشی لغوشده بهصورت شبح (Nick Craig-Wood)
- •
- رفع اتمیک نبودن بارگذاریهای چندبخشی جریانی (Nick Craig-Wood)
- •
- رفع خطاهای OOM و InvalidPart در بارگذاریهای چندبخشی همروند (Nick Craig-Wood)
- •
- sync: رفع تغییر نام --fix-case در بکاندهایی که پیش از رونویسی به بارگذاری نیاز دارند (Nick Craig-Wood)
- •
- Mount
- •
- پشتیبانی از گزینههای مسطح VFS و Mount در دستور RC مربوط به mount (Hakan İSMAİL)
- •
- VFS
- •
- رفع خطای ورودی/خروجی با ایجاد مجدد فایل حافظه پنهان در صورت حذف شدن آن (Nick Craig-Wood)
- •
- رفع خطای "invalid seek position" زمانی که فایلهای حافظه پنهان از ریموت بزرگتر هستند (Nick Craig-Wood)
- •
- رفع متوقف نشدن تایمر پسنویسی حافظه پنهان vfs هنگامی که به سقف --transfers میرسد (Nick Craig-Wood)
- •
- رفع فروپاشی هنگام اشتراک یک VFS یکسان میان چندین سوارکردن یا سرور (Nick Craig-Wood)
- •
- Local
- •
- افزودن پرچم --local-fatal-if-no-space (ferrumclaudepilgrim)
- •
- عدم تبدیل ریشههای نسبی به مسیرهای مطلق (Nick Craig-Wood)
- •
- Archive
- •
- رفع شکست فهرستکردن squashfs با خطای آرگومان نامعتبر پس از بهروزرسانی (Nick Craig-Wood)
- •
- Azure Blob
- •
- رفع حذف شدن MD5 در خواندنهای محدودهای که باعث بارگیری مجدد حافظه پنهان vfs میشد (Nick Craig-Wood)
- •
- افزودن پرچم use_arrow_list برای فهرستبندی آزمایشی با Apache Arrow (Nick Craig-Wood)
- •
- فهرستکردن کانتینرهای بسیار بزرگ بهصورت موازی با list_parallelism (Nick Craig-Wood)
- •
- Azurefiles
- •
- رفع modtime نادرست پس از بارگذاری فایل یا تنظیم modtime آن (Nick Craig-Wood)
- •
- بهبود دقت modtime از ۱ ثانیه به ۱۰۰ نانوثانیه (Nick Craig-Wood)
- •
- Combine
- •
- عدم بازگرداندن پیام خطا بهعنوان نام ریموت برای شیء نامعتبر (Nick Craig-Wood)
- •
- Drime
- •
- حذف فیلد کهنه mux_status از Item (Nick Craig-Wood)
- •
- Drive
- •
- هشدار در ویزارد پیکربندی پیش از استفاده از client_id مشترک (Nick Craig-Wood)
- •
- تشخیص حلقههای میانبر برای جلوگیری از بازگشت نامتناهی (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن پشتیبانی از impersonate_admin (Gaurav)
- •
- افزودن --dropbox-skip-shared-folders و --dropbox-skip-unowned-folders (Gaurav).IP • 2 کاهش یک فراخوانی API در Rmdir (Socialpranker)
- •
- استفاده بسیار کمتر از حافظه هنگام بارگذاری فایلهای کوچک (Nick Craig-Wood)
- •
- حذف یک فراخوانی غیرضروری API هنگام بارگذاری فایلهای کوچک (Nick Craig-Wood)
- •
- Filen
- •
- رفع نادرست بودن modtime پس از بهروزرسانی فایل یا تنظیم modtime آن (Nick Craig-Wood)
- •
- Filescom
- •
- رفع مفقود شدن هش MD5 پس از بارگذاری فایل (Nick Craig-Wood)
- •
- FTP
- •
- رفع نادرست بودن modtime پس از بارگذاری فایل یا تنظیم modtime آن (Nick Craig-Wood)
- •
- Googlephotos
- •
- هشدار در دستیار پیکربندی پیش از استفاده از client_id مشترک (Nick Craig-Wood)
- •
- Hasher
- •
- رفع عدم ذخیرهسازی هشها در bolt DB توسط Update پس از جایگزینی فایل (Nick Craig-Wood)
- •
- Hdfs
- •
- رفع نادرست بودن modtime پس از بارگذاری فایل یا تنظیم modtime آن (Nick Craig-Wood)
- •
- Hidrive
- •
- رفع نادرست بودن modtime پس از تنظیم modtime فایل (Nick Craig-Wood)
- •
- HTTP
- •
- عدم فهرست کردن دایرکتوری والد هنگام اشاره به یک تکفایل (Nick Craig-Wood)
- •
- افزودن Prefer به هدر Access-Control-Allow-Headers در CORS (sijie-Z)
- •
- Iclouddrive
- •
- رفع خطای "cannot unmarshal number" هنگام فهرست کردن آلبومهای عکس (Nick Craig-Wood)
- •
- رفع شکست 2FA با خطای 409 حتی در صورت معتبر بودن کد (Punya Jain)
- •
- Imagekit
- •
- رفع بازگرداندن دادههای نادرست توسط Open همراه با RangeOption (Nick Craig-Wood)
- •
- افزودن mtime به فرادادههای موجود (Nick Craig-Wood)
- •
- Internxt
- •
- افزودن متدهای Move و DirMove برای عملیات سمت سرور روی فایلها و دایرکتوریها (jzunigax2)
- •
- مدیریت خطاهای محدودیت اندازه فایل در حین بارگذاری (jzunigax2)
- •
- نمایش خطای ورود مجدد هنگام شکست احراز هویت دوباره در NewFs (0rangeSeaW0lf)
- •
- Jottacloud
- •
- رفع نادرست بودن modtime پس از تنظیم modtime فایل (Nick Craig-Wood)
- •
- Linkbox
- •
- تلاش مجدد در پاسخهای چالش HTML محافظت از ربات به جای شکست (Nick Craig-Wood)
- •
- Mailru
- •
- رفع نادرست بودن modtime پس از بهروزرسانی فایل یا تنظیم modtime آن (Nick Craig-Wood)
- •
- Mega
- •
- رفع نمایش دوباره فایلها در فهرستها پس از تغییر نام (Nick Craig-Wood)
- •
- رفع ناپدید شدن فایلهای منتقلشده از فهرستها میان ریموتها (Nick Craig-Wood)
- •
- Netstorage
- •
- رفع مفقود شدن هش MD5 پس از بارگذاری فایل (Nick Craig-Wood)
- •
- Onedrive
- •
- افزودن پشتیبانی از حالت بدون دسترسی مدیر (no admin mode) (TaterLi)
- •
- در نظر گرفتن بارگیری preauth با وضعیت غیر 2xx به عنوان خطا (ifloppy)
- •
- بارگیری فایلهای علامتگذاریشده به عنوان بدافزار از طریق هدر Prefer در Graph (ifloppy)
- •
- Opendrive
- •
- رفع بازگرداندن هش و modtime نادرست توسط اشیاء بارگذاریشده (Nick Craig-Wood)
- •
- Oracleobjectstorage
- •
- رفع فروپاشی هنگام بارگیری اشیاء با طول نامشخص (Nick Craig-Wood)
- •
- افزودن گزینه --oos-decompress برای بارگیری فایلهای کدگذاریشده با gzip (Nick Craig-Wood)
- •
- Pixeldrain
- •
- رفع نادرست بودن modtime و مفقود شدن هش پس از بارگذاری فایل (Nick Craig-Wood)
- •
- Protondrive
- •
- پیادهسازی منطق مناسب برای تلاش مجدد (tomholford)
- •
- رفع خطای gopenpgp: invalid data: user ID signature with wrong type روی حساب دامنه اختصاصی (Nick Craig-Wood)
- •
- رفع توقفهای طولانیمدت در صورت شکستهای دائمی اعتبارسنجی (Nick Craig-Wood)
- •
- رفع نادرست بودن modtime پس از بارگذاری فایل (Nick Craig-Wood)
- •
- Putio
- •
- رفع نادرست بودن modtime پس از تنظیم modtime فایل (Nick Craig-Wood).IP • 2 رفع شکست حذفهای همگامسازی با خطای 400 TRASH_LOCK_TIMEOUT (Nick Craig-Wood)
- •
- Quatrix
- •
- رفع مقدار نادرست modtime پس از بارگذاری فایل (Nick Craig-Wood)
- •
- S3
- •
- افزودن ارائهدهنده Zero Services (ZERO-Z3) (Zero Services GmbH)
- •
- افزودن ارائهدهنده Scality (RING / ARTESCA) (Dzmitry Nianakhau)
- •
- Seafile
- •
- رفع مشکل همگامسازی مکرر فایلهای با اندازه یکسان در rclone (TowyTowy)
- •
- SFTP
- •
- افزودن --sftp-pin-host-key - تثبیت کلید میزبان با روش اعتماد در اولین استفاده (Trust On First Use) (Nick Craig-Wood)
- •
- افزودن پشتیبانی از --sftp-encoding (Puneet Dixit)
- •
- عدم تلاش مجدد برای خطاهای دائمی اتصال (Nick Craig-Wood)
- •
- امکان بیصدا کردن هشدار عدم اعتبارسنجی hostkey (Noah Zalev)
- •
- رفع اجرای دستورات پوسته cmd برای مسیرهای حاوی بسط متغیر یا نویسههای خط جدید (Nick Craig-Wood)
- •
- Shade
- •
- تلاش مجدد در صورت خطاهای سرور بهجای متوقف کردن انتقال (Nick Craig-Wood)
- •
- رفع شکست بارگذاریها با خطای EOF هنگام تکمیل بارگذاریهای چندبخشی (Nick Craig-Wood)
- •
- Smb
- •
- رفع مشکل بارگذاری مجدد گواهیهای احراز هویت Kerberos برای هر اتصال (Nick Craig-Wood)
- •
- رفع نشت اتصال TCP هنگام شکست در برقراری اتصال (Nick Craig-Wood)
- •
- رفع مشکل جابهجایی سمت سرور پوشههای حاوی نویسههای خاص در نام (Nick Craig-Wood)
- •
- رفع خطاهای کاذب "Directory already exists" هنگام جابهجایی پوشهها (Nick Craig-Wood)
- •
- Ulozto
- •
- رفع مشکل از دست رفتن فایلها هنگام جابهجایی سمت سرور بین ریموتهای با ریشه متفاوت (Nick Craig-Wood)
- •
- WebDAV
- •
- رفع مقدار نادرست modtime پس از تنظیم modtime فایل (Nick Craig-Wood)
- •
- Yandex
- •
- رفع خطاهای 500 با انتظار برای تکمیل بارگذاریها قبل از تنظیم modtime (Nick Craig-Wood)
- •
- رفع مشکل نبود هش MD5 پس از بارگذاری فایل (Nick Craig-Wood)
- •
- رفع بازگشت تصادفی modtime به زمان بارگذاری پس از آپلود (Nick Craig-Wood)
- •
- افزودن --yandex-upload-wait جهت رفع خطاهای 500 هنگام بارگذاری (Nick Craig-Wood)
- •
- Zoho
- •
- رعایت سرآیند Retry-After در پاسخهای 429 (Erol Ozcan)
- •
- افزودن --zoho-tpslimit و --zoho-tpslimit-burst (Erol Ozcan)
- •
- ثبت گزارش محدودسازی نرخ (throttling) تنها یکبار در هر رخداد در سطح NOTICE (Erol Ozcan)
- •
- محدودسازی نرخ برای فهرستگیریهای مکرر از یک پوشه (Erol Ozcan)
- •
- رفع ناپایداری آزمون محدودکننده فهرست پوشهها تحت فهرستگیریهای همزمان (Nick Craig-Wood)
- •
- رفع مشکل رونویسی فایل بزرگ که بهجای جایگزینی، یک نسخهٔ تکراری ایجاد میکرد (Erol Ozcan)
- •
- در نظر گرفتن خطای R008 unauthorized به عنوان پوشه یافت نشد (Erol Ozcan)
- •
- حفظ root_folder_id هنگام اتصال مجدد و امکان تنظیم آن (Erol Ozcan)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.74.3...v1.74.4)
- •
- رفع باگها
- •
- accounting
- •
- رفع نشت goroutine در ResetCounters (Nick Craig-Wood)
- •
- رفع نشت goroutine در NewStatsGroup برای کارهای rc بدون انتقال (Sanjays2402)
- •
- archive extract: رفع آسیبپذیری پیمایش مسیر که به آرشیوها اجازه خروج از مقصد را میداد CVE-2026-59732 (Nick Craig-Wood)
- •
- build
- •
- رفع چندین CVE با ارتقا به go1.26.5 (Nick Craig-Wood)
- •
- CVE-2026-39822: os: فرار از ریشه از طریق پیوند نمادین بههمراه اسلش پایانی
- •
- CVE-2026-42505: crypto/tls: نشت حریم خصوصی در Encrypted Client Hello
- •
- بهروزرسانی golang.org/x/image به v0.43.0 برای رفع آسیبپذیریهای رمزگشایی تصویر (Nick Craig-Wood)
- •
- CVE-2026-46604: خطای panic هنگام رمزگشایی تصویر TIFF با strip offset خارج از محدوده
- •
- CVE-2026-46602: مصرف حافظه نامحدود به دلیل نبود محدودیت روی اندازه کاشیهای TIFF
- •
- CVE-2026-46601: خطای panic هنگام عدم تطابق اندازه کانال آلفای WEBP VP8
- •
- CVE-2026-33813: خطای panic هنگام رمزگشایی تصویر بزرگ WEBP در بسترهای ۳۲ بیتی
- •
- cmd/mount2
- •
- رفع مشکل ایجاد فایل NFS با پیادهسازی Mknod (Sandy Luppino)
- •
- رفع خطای ESTALE روی NFS با گزارش شمارههای inode پایدار (Sandy Luppino)
- •
- رفع مشکل فهرستبندی دایرکتوری NFS با پشتیبانی از آفستهای غیرصفر Seekdir (Sandy Luppino)
- •
- completion: رفع خرابی نامهای غیر ASCII در تکمیل خودکار powershell (Yash Anil)
- •
- اصلاحات مستندات (Bryan Stenson, Castronaut, Filippo, Gaurav, happysnaker, Jan-Philipp Reßler, Nick Craig-Wood, user77)
- •
- filter: رفع توقف کپی --files-from در اولین فایل غیرقابل خواندن (Nick Craig-Wood)
- •
- fs
- •
- رفع نادیده گرفته شدن گزینه خط فرمان هنگام تنظیم روی مقدار پیشفرض آن (Nick Craig-Wood)
- •
- رفع آفست منفی هنگامی که درخواست پسوند Range از اندازه شیء فراتر میرود (Amit Mishra)
- •
- gui: بهروزرسانی نگارش تعبیهشده به 1.1.10 (Nick Craig-Wood)
- •
- ncdu: رفع تکرار فشرده شدن کلیدها در Windows با تثبیت tcell روی v2.9.0 (Nick Craig-Wood)
- •
- serve restic: رفع دور زدن جداسازی --private-repos شناسه CVE-2026-59733 (Nick Craig-Wood)
- •
- serve s3
- •
- رفع خطای کاذب 404 در HEAD/GET هنگام بازنویسی VFS (max)
- •
- رفع پیمایش مسیر که به کلاینتها امکان دیدن فایلها در ریشه را میداد GHSA-8v25-v8p6-qf7v (Nick Craig-Wood)
- •
- serve webdav: رفع شکست بازنویسی MOVE بدون سرآیند Overwrite (Sanjay Santhanam)
- •
- serve/http: اصلاح --disable-zip برای کارکرد روی rc (Nick Craig-Wood)
- •
- VFS
- •
- رفع قفل کردن هنگام بازگشایی مجدد فایل در طول مهلت حافظه پنهان دستگیره (Nick Craig-Wood)
- •
- Local
- •
- جلوگیری از خروج پیوندهای نمادین --links از دایرکتوری مقصد CVE-2026-54572 (Nick Craig-Wood)
- •
- عدم بازیابی بیتهای setuid/setgid/sticky از فراداده بهطور پیشفرض GHSA-945v-v9p3-v5xw (Nick Craig-Wood)
- •
- Drive
- •
- هشدار هنگام رد شدن از سندهای غیرقابل خروجیگیری Google (Nick Craig-Wood)
- •
- رفع نویسه سرگردان %!(EXTRA) در پیام ثبت رویداد سند غیرقابل خروجیگیری Google (Nick Craig-Wood)
- •
- هشدار هنگام استفاده از client_id اشتراکی rclone (Nick Craig-Wood)
- •
- Filelu
- •
- رفع مدیریت مسیر فهرستبندی بازگشتی و پالایش فایلها (kingston125)
- •
- Googlephotos
- •
- هشدار هنگام استفاده از client_id اشتراکی rclone (Nick Craig-Wood)
- •
- Mega
- •
- انتظار برای رویدادهای سرور پس از بارگذاری، حذف و انتقال (Nick Craig-Wood)
- •
- رفع نمایش مجدد فایلهای بهطور دائم حذفشده در فهرستها (Nick Craig-Wood)
- •
- S3
- •
- حذف نشانه جلسه (session token) در بازمسیردهیهای بینمیزبانی (IceLocke)
- •
- حذف نشانه امنیتی STS در بازمسیردهی درونمیزبانی HTTPS->HTTP شناسه GHSA-cf44-9pgv-m4xc (Nick Craig-Wood)
- •
- اصلاح نگاشت خطا در GetObject برای مطابقت با HeadObject (lewoberst)
- •
- تصحیح حداقل مقدار مستندشده copy_cutoff به ۱ بایت (max)
- •
- رفع خطای 403 هنگام سوار کردن یک پیشوند در صورت مجاز نبودن HEAD (Nick Craig-Wood)
- •
- Smb
- •
- رفع مشکل برای IBM iSeries و اعتبارسنجی امضا (dithwick)
- •
- WebDAV
- •
- رفع تداخل وضعیت ویژگیها در پاسخهای multi-status (nako-ruru)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.74.2...v1.74.3)
- •
- رفع باگها
- •
- rc
- •
- رفع اجرای دستور بدون احراز هویت از طریق ریموتهای درونخطی --rc-serve، شناسه CVE-2026-49980 (Nick Craig-Wood)
- •
- جلوگیری از تغییر پیکربندی توسط گزینههای رشته اتصال global.*، شناسه CVE-2026-49980 (Nick Craig-Wood)
- •
- build: رفع چندین CVE با ارتقا به go1.26.4 (Nick Craig-Wood)
- •
- CVE-2026-42504: mime: پیچیدگی درجه دوم در WordDecoder.DecodeHeader
- •
- CVE-2026-42507: net/textproto: ورودیهای دلخواه بدون هیچگونه گریزدهی در خطاها گنجانده میشوند
- •
- CVE-2026-27145: crypto/x509: تفکیک نام میزبان کاندید فقط یکبار
- •
- log: رفع مبدأ اشتباه file:line در لاگهای JSON حاصل از ساختهای نهایی (Nick Craig-Wood)
- •
- mount2: رفع خالی بودن فهرست دایرکتوری در خواندن مجدد (Janne Beate Bakeng)
- •
- serve s3: رفع مشکل بازگرداندن شماره بخشهای اشتباه در صفحهبندی چندبخشی ListParts (Nick Craig-Wood)
- •
- serve sftp
- •
- رفع خراب شدن فایل هنگامی که کلاینت بارگذاری را از سر میگیرد (Nick Craig-Wood)
- •
- رفع نادیده گرفته شدن بیصدای درخواست truncate (Nick Craig-Wood)
- •
- Local
- •
- رفع بازگرداندن map خالی بهجای nil توسط getXattr (Leon Brocard)
- •
- Drime
- •
- رفع شکست کپی و انتقال سمت سرور با خطای Cloudflare 520 (Nick Craig-Wood)
- •
- رفع بارگذاری فایلها در دایرکتوری اشتباه (Nick Craig-Wood)
- •
- حذف گزینه پیکربندی تکراری upload_cutoff (Nick Craig-Wood)
- •
- رفع خالی ماندن پوشه تغییرنامیافته در VFS پس از تغییر نام دایرکتوری (Nick Craig-Wood)
- •
- Drive
- •
- رفع شکست انتقال سمت سرور در درایوهای اشتراکی دارای دایرکتوریهای تکراری (Nick Craig-Wood)
- •
- Iclouddrive
- •
- رفع مشکل دریافت کوکی ADP/PCS برای iCloud Drive (Yakov Till)
- •
- رفع خطای "Index has invalid data" هنگام فهرستبندی iCloud Photos (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.74.1...v1.74.2)
- •
- رفع باگها
- •
- build
- •
- بهروزرسانی golang.org/x/net به v0.55.0 برای رسیدگی به:
- •
- CVE-2026-42506: html: مدیریت نادرست المانهای دارای فضای نام (namespaced) در محتوای خارجی
- •
- CVE-2026-39821: idna: عدم رد برچسبهای کدگذاریشده با Punycode که فقط شامل کاراکترهای ASCII هستند
- •
- CVE-2026-42502: html: مدیریت نادرست المانهای HTML در محتوای خارجی
- •
- CVE-2026-25680: html: منع سرویس (DoS) هنگام تجزیه HTML دلخواه
- •
- CVE-2026-25681: html: مدیریت نادرست ارجاعات نویسه در گرههای DOCTYPE
- •
- CVE-2026-27136: html: صفات تکراری میتوانند موجب XSS شوند
- •
- بهروزرسانی golang.org/x/crypto به v0.52.0 برای رسیدگی به:
- •
- CVE-2026-46598: ssh/agent: ورودیهای ناهنجار میتوانند منجر به panic در کلاینت شوند
- •
- CVE-2026-46597: ssh: محاسبات بایتی موجب underflow و panic میشود
- •
- CVE-2026-39828: ssh: دور زدن محدودیتهای گواهی
- •
- CVE-2026-39835: ssh: رخ دادن panic در سرور هنگام CheckHostKey/Authenticate
- •
- CVE-2026-39833: ssh/agent: عدم اعمال محدودیتهای کلید
- •
- CVE-2026-39832: ssh/agent: نادیده گرفته شدن محدودیتهای agent هنگام بازارسال (forwarding) کلیدها
- •
- CVE-2026-39827: ssh: نشت حافظه هنگام رد کانالها میتواند به DoS منجر شود
- •
- CVE-2026-39830: ssh: کلاینت میتواند باعث deadlock در سرور روی پاسخهای غیرمنتظره شود
- •
- CVE-2026-39829: ssh: پارامترهای ناهنجار RSA/DSA ممکن است باعث DoS شوند
- •
- CVE-2026-39831: ssh: دور زدن تعامل فیزیکی کلیدهای امنیتی FIDO/U2F
- •
- CVE-2026-39834: ssh: حلقه بینهایت هنگام نوشتن روی کانالهای بزرگ
- •
- CVE-2026-42508: ssh/knownhosts: دور زدن احراز هویت از طریق اعمال نشدن وضعیت @revoked
- •
- CVE-2026-46595: ssh: عدم اعمال مجوزهای VerifiedPublicKeyCallback
- •
- بهروزرسانی golang.org/x/image به v0.41.0 برای رسیدگی به:
- •
- CVE-2026-42500: bmp: رخ دادن panic هنگام خواندن اندیس پالت خارج از محدوده
- •
- CVE-2026-33809: tiff: مصرف بیش از حد منابع در باز کردن فشردهسازی PackBits
- •
- بهروزرسانی golang.org/x/sys به نسخه v0.45.0 برای رسیدگی به:
- •
- CVE-2026-39824: windows: سرریز عدد صحیح در NewNTUnicodeString
- •
- بهروزرسانی github.com/go-git/go-billy/v5 به 5.9.0 برای رفع CVE-2026-44740
- •
- bisync: رفع نام مسیر --conflict-loser همراه با --conflict-resolve newer (توسط nielash)
- •
- gui: بهروزرسانی انتشار تعبیهشده به 1.1.8 (توسط Nick Craig-Wood)
- •
- lib/http: جایگزینی h2c.NewHandler منسوخشده با http.Server.Protocols (توسط Nick Craig-Wood)
- •
- rc: حذف ثبت تکراری گزینه metrics_addr (توسط Nick Craig-Wood)
- •
- vfs/vfscache: رفع شکست خاموش نوشتن هنگام اتصال (mount) با remote:. (توسط Lucky945H)
- •
- اصلاحات مستندات (توسط FTCHD، Iizuki، Leon Brocard، Nick Craig-Wood)
- •
- Drime
- •
- رفع خطای file doesn't exists هنگام تلاش برای حذف (توسط John Volk)
- •
- رفع خطاهای 500 هنگام فهرست کردن پوشههای اشتراکی (توسط Alvinwylim)
- •
- Jottacloud
- •
- پشتیبانی از سرویس ارائهدهنده اختصاصی (whitelabel) بنام Phonero Sky (توسط Tore Anderson)
- •
- Protondrive
- •
- رفع خطای corrupted on transfer: sha1 hashes differ (توسط William Tange)
- •
- S3
- •
- افزودن نقاط پایانی (endpoints) جدید MEGA S4 روی megas4.com شامل منطقه آسیا-اقیانوسیه (توسط Nick Craig-Wood)
- •
- WebDAV
- •
- رعایت auth_redirect در دستور PROPFIND برای listAll (توسط Sai Asish Y)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.74.0...v1.74.1)
- •
- رفع باگها
- •
- bisync: رفع پیام خطای retryable without --resync هنگامی که --resync با شکست بحرانی مواجه میشود (Gustavo V. F.)
- •
- build
- •
- رفع چندین آسیبپذیری CVE با ارتقا به go1.26.3 (Nick Craig-Wood)
- •
- CVE-2026-42501: cmd/go: پروکسی ماژول مخرب میتواند پایگاه داده چکسام را دور بزند
- •
- CVE-2026-39825: net/http/httputil: ابزار ReverseProxy پرسوجوها با بیش از urlmaxqueryparams پارامتر را هدایت میکند
- •
- CVE-2026-39836: net: بروز panic در Dial و LookupPort هنگام پردازش بایت NUL در Windows
- •
- CVE-2026-42499: net/mail: الحاق درجه دوم رشته در consumePhrase
- •
- CVE-2026-39820: net/mail: الحاق درجه دوم رشته در consumeComment
- •
- CVE-2026-39819: cmd/go: دستور "go bug" پیوندهای نمادین را در نام فایلهای موقت قابل پیشبینی دنبال میکند
- •
- CVE-2026-39817: cmd/go: دستور "go tool pack" مسیرهای خروجی را پاکسازی نمیکند
- •
- CVE-2026-33814: net/http: حلقه بینهایت در انتقال HTTP/2 در صورت دریافت SETTINGS_MAX_FRAME_SIZE نامعتبر
- •
- CVE-2026-39826: html/template: دور زدن سیستم گریز (escaper) منجر به XSS میشود
- •
- CVE-2026-33811: net: کرش هنگام مدیریت پاسخهای طولانی CNAME
- •
- CVE-2026-39823: html/template: دور زدن گریزدهی نشانی وب meta content منجر به بروز XSS میشود
- •
- بهروزرسانی golang.org/x/net به v0.53.0 جهت رفع CVE-2026-33814 (Nick Craig-Wood)
- •
- cmd/serve/s3: بازگرداندن فهرست اشیاء طبق ترتیب کلیدها (Leon Brocard)
- •
- Cloudinary
- •
- اصلاح تلاش مجدد برای همه خطاها و تصحیح واحدهای خواب pacer (Nick Craig-Wood)
- •
- Drime
- •
- اصلاح آپلود فایلهای حجیم که به جای پوشه پیکربندیشده در ریشه درایو قرار میگرفتند (Nick Craig-Wood)
- •
- اصلاح بارگذاری فایلهای 100..200M (Nick Craig-Wood)
- •
- Protondrive
- •
- مسیریابی HTTP از طریق ترنسپورت rclone (Nick Craig-Wood)
- •
- مسیریابی ثبت گزارشهای کتابخانه از طریق ثبتکننده rclone (Nick Craig-Wood)
- •
- رفع خطای segfault هنگام کپی فایلهای فاقد متادیتای بازبینی (Nick Craig-Wood)
- •
- S3
- •
- اصلاح فراخوانی STS در هر درخواست با کش کردن اعتبارنامههای AssumeRole (Nick Craig-Wood)
- •
- افزودن ناحیههای جدید Fastly Object Storage (Leon Brocard)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.73.0...v1.74.0)
- •
- بکاندهای جدید
- •
- Huawei Drive (https://rclone.org/huaweidrive) (王一赫)
- •
- iCloud Photos (https://rclone.org/iclouddrive/#icloud-photos) (فقطخواندنی) (Yakov Till)
- •
- ارائهدهندگان جدید S3
- •
- Fastly Object Storage (https://rclone.org/s3/#fastly) (Leon Brocard)
- •
- HCP (https://rclone.org/s3/#hcp) (Chris)
- •
- Impossible Cloud (https://rclone.org/s3/#impossible-cloud) (Nick Craig-Wood)
- •
- UCloud US3 (https://rclone.org/s3/#us3) (jinkeyuu)
- •
- Zadara (https://rclone.org/s3/#zadara) (Shlomi Avihou)
- •
- دستورهای جدید
- •
- gui (https://rclone.org/gui): راهاندازی رابط گرافیکی وب توکار جدید برای عملیات پایهای rclone (FTCHD, Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- build
- •
- بهروزرسانی golang.org/x/image/webp به v0.39.0 جهت رفع CVE-2026-33813 (Nick Craig-Wood)
- •
- ارتقای github.com/Azure/go-ntlmssp به 0.1.1 جهت رفع CVE-2026-32952 (dependabot[bot])
- •
- بهروزرسانی به go1.26 و تعیین go1.25 به عنوان حداقل نسخه مورد نیاز (Nick Craig-Wood)
- •
- بهروزرسانی تمام وابستگیها (Nick Craig-Wood)
- •
- مدرنسازی کد Go با استفاده از go fix برای go1.25 (Nick Craig-Wood)
- •
- رفع مشکل ساخت در loong64 و s390x (Suyun)
- •
- docs
- •
- مدرنسازی طراحی وبسایت rclone.org (Nick Craig-Wood)
- •
- رفع اشکالات (albertony, Enduriel, Jason, Luke Cyca, mathieulongtin, Nick Craig-Wood, SyoBoN)
- •
- fshttp: افزودن --dump curl جهت تخلیه درخواستهای HTTP به صورت دستورهای curl (Nick Craig-Wood)
- •
- graphics: بهینهسازی بدون اتلاف تصاویر با ImageOptim (Leon Brocard)
- •
- listremotes: افزودن پرچم --exact برای فیلتر کردن (Anton Bordwine)
- •
- rc
- •
- تغییر حالت پیشفرض احراز هویت به گونهای که همه نقاط پایانی نیازمند احراز هویت باشند مگر آنکه انصراف داده شود (Nick Craig-Wood)
- •
- افزودن core/disks جهت شمارش دیسکهای متصل (Nick Craig-Wood)
- •
- افزودن آمار deletedDirs به خروجی راهنمای core/stats (Billy Hughes)
- •
- serve http
- •
- افزودن favicon توکار یدکی (Leon Brocard)
- •
- افزودن فشردهسازی gzip برای پاسخهای متنی (Leon Brocard)
- •
- حالت تاریک برای مرورگر فایل (FTCHD)
- •
- افزودن پشتیبانی از HTTP/2 متنآشکار (cleartext) برای تمام سرورهای http (TheBabu)
- •
- touch: افزودن متادیتا هنگام استفاده از --metadata-set (Prakhar Chhalotre)
- •
- رفع باگها
- •
- accounting
- •
- بهروزرسانی قالب خروجی متد String جهت شفافیت بیشتر در نمایش نرخ انتقال (Prakhar Chhalotre)
- •
- رفع مشکل rcat/copyurl برای files.com (Nick Craig-Wood)
- •
- bisync
- •
- افزودن پارامترهای rc مفقود (nielash)
- •
- افزودن اطلاعات ساختاریافتهتر به خروجی rc (nielash)
- •
- تولید خودکار اسناد راهنمای rc (nielash)
- •
- رفع مشکل مدیریت فایلهای قفل غیرقابل خواندن (lif)
- •
- رفع ناپایداری آزمون TestBisyncConcurrent از طریق افزایش آنتروپی نام تصادفی (Nick Craig-Wood)
- •
- رفع مشکل آزمونهای یکپارچهسازی پس از تغییرات در لاگهای sftp (Nick Craig-Wood)
- •
- copyurl: رفع نادیده گرفته شدن --upload-headers و --download-headers (Andriy Senyshyn)
- •
- librclone/ctest: افزودن پشتیبانی از Windows و رفع مشکل مدیریت حافظه (BizaNator)
- •
- log: رفع رقابت دادهای (data race) در فیلد OutputHandler.format (Nick Craig-Wood)
- •
- operations
- •
- کپی چندنخی: تخصیص حافظه پیش از ایجاد goroutineها (Nick Craig-Wood)
- •
- serve dlna: رفع مشکل سازگاری با تلویزیونهای سامسونگ (Nick Craig-Wood)
- •
- serve nfs: رفع مشکل تنظیم نشدن پرچم EOF در پاسخ READ هنگام رسیدن به انتهای فایل (Nick Craig-Wood)
- •
- Mount
- •
- rc: رفع مشکل بازنویسی متقابل نقاط اتصالی که با mountPoint "*" ایجاد شدهاند (Nick Craig-Wood)
- •
- VFS
- •
- رفع کندی nfs serve با افزودن --vfs-handle-caching (Nick Craig-Wood)
- •
- افزودن پارامتر context به New() جهت انتشار پیکربندی (Nick Craig-Wood)
- •
- جایگزینی context.TODO/Background با کانتکست ذخیرهشدهٔ VFS (Nick Craig-Wood)
- •
- Local
- •
- حذف فراخوانیهای fadvise که موجب رقابت بر سر spinlock میشدند (Patrick Farrell)
- •
- Azure Blob
- •
- افزودن --azureblob-copy-total-concurrency جهت محدود کردن همزمانی کل کپیهای چندبخشی (Duncan F).IP • 2 افزودن محاسبه بلادرنگ کپی سمت سرور (Nick Craig-Wood)
- •
- افزودن پرچم --azureblob-decompress برای بارگیری فایلهای کدگذاریشده با gzip (Nick Craig-Wood)
- •
- Azurefiles
- •
- رفع نبود سربرگ x-ms-file-request-intent همراه با OAuth (Nick Craig-Wood)
- •
- B2
- •
- افزودن محاسبه بلادرنگ کپی سمت سرور (Nick Craig-Wood)
- •
- Drime
- •
- پیادهسازی About (Cohinem)
- •
- رفع مشکل فهرستگیری دایرکتوریهای بزرگ (John Volk)
- •
- Drive
- •
- افزودن آزمون یکپارچهسازی برای مدیریت نام پوشههای دارای علامت نقلقول تکی (Prakhar Chhalotre)
- •
- Filelu
- •
- افزودن نوع پاسخ آغازین چندبخشی (multipart init) (kingston125)
- •
- مهاجرت فراخوانیهای API به lib/rest (kingston125)
- •
- Filen
- •
- امکان تلاش مجدد جداگانه برای تکههای بارگذاری چندرشتهای (Enduriel)
- •
- Iclouddrive
- •
- جایگزینی ورود با متنآشکار با احراز هویت SRP (Mike GIllan)
- •
- استفاده از مبدأ پویا برای سربرگهای احراز هویت SRP (Xiangzhe)
- •
- کوچک کردن حروف Apple ID برای احراز هویت SRP (Mike GIllan)
- •
- افزودن پشتیبانی فقطخواندنی از iCloud Photos و احراز هویت SRP (Yakov Till)
- •
- Internxt
- •
- پیادهسازی بارگذاریهای چندبخشی (José Zúniga)
- •
- Jottacloud
- •
- افزودن کدگذاری نویسه درصد به کدگذاری پیشفرض بکاند (albertony)
- •
- Linkbox
- •
- رفع مشکل بارگیری فایلها با استفاده از API وب (Nick Craig-Wood)
- •
- Mega
- •
- رفع خرابی هنگام شکست در ورود با کلیدهای احراز هویت قبلی (Andrew Gunnerson)
- •
- Pcloud
- •
- رفع مشکل فهرستگیری بازگشتی از ریشه (Nick Craig-Wood)
- •
- Pikpak
- •
- پشتیبانی از نامفایلهای سفارشی برای دستور بکاند addurl (wiserain)
- •
- Protondrive
- •
- همگامسازی بکاند با پشته جدیدتر Proton SDK (tdawe)
- •
- بهروزرسانی به جدیدترین go-proton-api برای استفاده از میزبان جدید (dlaumen)
- •
- رفع مشکل moveto و DirMove سمت سرور مطابق با API فعلی (Nick Craig-Wood)
- •
- S3
- •
- افزودن ارائهدهنده Fastly Object Storage (Leon Brocard)
- •
- افزودن ارائهدهنده HCP و رفتار خاص list_versions_oldest_first (Chris)
- •
- افزودن Impossible Cloud به عنوان یک ارائهدهنده جدید S3 (Nick Craig-Wood)
- •
- افزودن ارائهدهنده UCloud Object Storage (#9230) (jinkeyuu)
- •
- افزودن ارائهدهنده Zadara Object Storage (Shlomi Avihou)
- •
- حذف ارائهدهنده StackPath Object Storage (Leon Brocard)
- •
- افزودن محاسبه بلادرنگ کپی سمت سرور (Nick Craig-Wood)
- •
- افزودن کلاسهای ذخیرهسازی OVHcloud (Bjoern Franke)
- •
- افزودن پشتیبانی از Object Lock (Chris)
- •
- افزودن منطقههای جدید Fastly Object Storage (Leon Brocard)
- •
- Scaleway: مقدار ONEZONE_IA در همه منطقهها در دسترس است، GLACIER فقط در FR-PAR (Bjoern Franke)
- •
- Ionos: بهروزرسانی منطقهها و پایانهها (hxnd)
- •
- IBM COS: ارائه ibm_iam_endpoint به عنوان پارامتری قابل پیکربندی برای احراز هویت مبتنی بر IBM IAM (Bhagyashreek8)
- •
- رفع Content-MD5 برای بارگذاریهای Object Lock و افزودن رفتار خاص GCS (Chris)
- •
- رفع پسرفت مربوط به شکست PutObject با خوانندههای غیرقابل پیمایش (Chris)
- •
- رفع نادیده گرفته شدن پرچم --s3-versions توسط cleanup-hidden هنگام شکست GetBucketVersioning (Chris)
- •
- رفع شکست ایجاد باکت در Ceph/radosgw (Jan Heylen)
- •
- SFTP
- •
- هشدار به کاربر در صورت عدم پیکربندی اعتبارسنجی کلید میزبان (Nick Craig-Wood)
- •
- WebDAV
- •
- مجاز دانستن تغییر مسیرها در PROPFIND برای فراداده (Brian Bockelman)
- •
- درخواست تنها مشخصههای مورد نیاز در listAll برای بهبود کارایی (ZRHan)
- •
- بهینهسازی کارایی با استفاده از Depth=0 برای درخواستهای فراداده (ZRHan)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.73.4...v1.73.5)
- •
- رفع باگها
- •
- operations: افزودن AuthRequired به operations/fsinfo جهت جلوگیری از ایجاد backend به شماره CVE-2026-41179 (Nick Craig-Wood)
- •
- rc
- •
- افزودن AuthRequired به options/set برای جلوگیری از دور زدن احراز هویت CVE-2026-41176 (Nick Craig-Wood)
- •
- گرفتن Snapshot از NoAuth در هنگام راهاندازی برای جلوگیری از دور زدن احراز هویت در زمان اجرا CVE-2026-41176 (Nick Craig-Wood)
- •
- filter: رفع مشکل ثبت لاگهای دیباگ که پیش از پیکربندی لاگر اجرا میشدند (Nick Craig-Wood)
- •
- Azureblob
- •
- افزودن پیشوند User-Agent مربوط به Microsoft Partner Network (Nick Craig-Wood)
- •
- Drime
- •
- رفع اشکال JSON unmarshalling در User.EntryPermissions (a1pcm)
- •
- Iclouddrive
- •
- رفع خطای 'directory not found' هنگامی که نام دایرکتوری شامل نشانههای اکسان (accent marks) است (Brais Couce)
- •
- S3
- •
- رفع شکست بررسی باکت در اندپوینت CDN مربوط به TencentCOS (Mozi)
- •
- رفع رد شدن پارامتر خالی delimiter توسط سرور Archiware P5 (Nick Craig-Wood)
v1.73.4 - 2026-04-08
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.73.3...v1.73.4)
- •
- رفع باگها
- •
- build
- •
- بروزرسانی به go 1.25.9 برای رفع چندین آسیبپذیری CVE (Nick Craig-Wood)
- •
- CVE-2026-32282: بسته os: تابع Root.Chmod در لینوکس میتواند پیوندهای نمادین (symlinks) را به خارج از ریشه دنبال کند
- •
- CVE-2026-32289: بسته html/template: زمینه متغیر الگوی جاوااسکریپت (JS template literal) به نادرستی ردگیری میشد
- •
- CVE-2026-33810: بسته crypto/x509: محدودیتهای مستثنا شده DNS به درستی بر دامنههای دارای نویسه عام (wildcard) اعمال نمیشد
- •
- CVE-2026-27144: بسته cmd/compile: تبدیل بدونعمل (no-op) رابط، بررسی همپوشانی را دور میزند
- •
- CVE-2026-27143: بسته cmd/compile: احتمال خرابی حافظه پس از حذف بررسی محدوده (bound check elimination)
- •
- CVE-2026-32288: بسته archive/tar: تخصیص نامحدود حافظه هنگام تجزیه ساختار قدیمی نقشه تنک گنو (GNU sparse map)
- •
- CVE-2026-32283: بسته crypto/tls: پیامهای متعدد دستتکانی بهروزرسانی کلید میتواند باعث بنبست اتصال شود
- •
- CVE-2026-27140: بسته cmd/go: دور زدن لایه اعتماد هنگام استفاده از cgo و SWIG
- •
- CVE-2026-32280: بسته crypto/x509: پردازش غیرمنتظره در حین ساخت زنجیره (chain building)
- •
- CVE-2026-32281: بسته crypto/x509: اعتبارسنجی ناکارآمد خطمشی
- •
- رفع اشکال منع سرویس (DoS) ناشی از Panic در EventStream Decoder از AWS SDK for Go v2 SDK (dependabot[bot])
- •
- بروزرسانی golang.org/x/image به 0.38.0 برای رفع CVE-2026-33809 (dependabot[bot])
- •
- docs
- •
- اصلاح سطح سربرگ برای گزینه metadata (Clément Notin)
- •
- رفع اشکالات markdown در مستندات mount (albertony)
- •
- اصلاح پیوند به گونهای که وابسته به زبان خاصی نباشد (Ross Smith II)
- •
- اشاره به پشتیبانی از macOS 10.15 (Catalina) در نسخه v1.70.3 (kapitainsky)
- •
- Filen
- •
- بروزرسانی نسخه SDK (Enduriel)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.73.2...v1.73.3)
- •
- رفع اشکالات
- •
- ساخت
- •
- بهروزرسانی به google.golang.org/grpc 1.79.3 جهت رفع CVE-2026-33186 (dependabot[bot])
- •
- بهروزرسانی به github.com/buger/jsonparser 1.1.2 جهت رفع GHSA-6g7g-w4f8-9c9x (dependabot[bot])
- •
- اصلاحات مستندات
- •
- افزودن متن به برچسب برای نمایش اطلاعات نسخه معرفیشده (Jan-Philipp Reßler)
- •
- شفافسازی اینکه تغییر گذرواژه Filen نیازمند بهروزرسانی گذرواژه و کلید API در پیکربندی rclone است (Jason)
- •
- s3: شفافسازی پشتیبانی چندمستأجری (multi tenant) برای Cubbit (Marco Ferretti)
- •
- jottacloud: رفع پیوند خراب (albertony)
- •
- lib/rest: رفع مشکل URLPathEscapeAll که باعث اختلال در سرورهای WebDAV (مانند nzbdav) با تطبیق دقیق مسیر میشد (Andrew Furman)
- •
- list: رفع خطای panic ناشی از اشارهگر nil در Sorter هنگامی که ایجاد فایل موقت با شکست مواجه میشود (Nick Craig-Wood)
v1.73.2 - 2026-03-06
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.73.1...v1.73.2)
- •
- رفع اشکالات
- •
- ساخت
- •
- بهروزرسانی به go 1.25.8 جهت رفع CVE-2026-27137 CVE-2026-27138 CVE-2026-25679 CVE-2026-27142 (Nick Craig-Wood)
- •
- بهروزرسانی github.com/cloudflare/circl به v1.6.3 جهت رفع CVE-2026-1229 (Nick Craig-Wood)
- •
- بهروزرسانی به golang.org/x/net v0.51.0 جهت رفع CVE-2026-27141 (Nick Craig-Wood)
- •
- اصلاحات مستندات:
- •
- bisync: افزودن گروه Sync به دستور bisync (Jan-Philipp Reßler)
- •
- تذکر اینکه --use-server-modtime فقط روی برخی بکاندها کار میکند (Nick Craig-Wood)
- •
- مستندسازی عدم پشتیبانی از کلیدهای شیء S3 با اسلش دوتایی (Adam Kasztenny)
- •
- اصلاح سلسلهمراتب سربرگها برای mount.md (Dark Dragon)
- •
- رفع غلط تایپی گزینه جدید drive در گزارش تغییرات (razorloves)
- •
- Archive
- •
- Extract: رفع اشکال استخراج با پیشوند "./" از مسیرهای مدخلهای فایل tar (Varun Chawla)
- •
- Drime
- •
- رفع مشکل نادیده گرفته شدن شناسه workspace در فایلهای آپلود شده به صورت قطعهای (chunk-uploaded) (a1pcm)
- •
- Internxt
- •
- رفع خطاهای Entry doesn't belong in directory در ویندوز (jzunigax2)
- •
- WebDAV
- •
- گریزدهی (escape) نویسههای رزرو شده در بخشهای مسیر URL (Varun Chawla)
- •
- افزودن هدرهای ناموجود برای CORS (Romāns Potašovs)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.73.0...v1.73.1)
- •
- رفع باگها
- •
- accounting: رفع مشکل عدم نمایش آمار سمت سرور در core/stats rc (Nick Craig-Wood)
- •
- build
- •
- رفع CVE-2025-68121 با بهروزرسانی go به 1.25.7 یا جدیدتر (Nick Craig-Wood)
- •
- ارتقای github.com/go-chi/chi/v5 از 5.2.3 به 5.2.5 برای رفع GO-2026-4316 (albertony)
- •
- docs: گسترش مستندات copyurl با افزودن مثالی از FILENAMEهای CSV که با یک مسیر آغاز میشوند. (Jack Kelly)
- •
- march: رفع خطای runtime: program exceeds 10000-thread limit (Nick Craig-Wood)
- •
- pacer
- •
- رفع بنبست بین توکن pacer و --max-connections (Nick Craig-Wood)
- •
- خواندن دوباره مدت زمان خواب (sleep time) از آنجا که ممکن است کهنه باشد (Nick Craig-Wood)
- •
- Drime
- •
- رفع مشکل ایجاد فایلها و دایرکتوریها در فضای کاری (workspace) پیشفرض (Nick Craig-Wood)
- •
- Filelu
- •
- جلوگیری از بافر کردن کل فایل در حافظه (kingston125)
- •
- افزودن پشتیبانی از بارگذاری چندبخشی (multipart upload) با حد آستانه (cutoff) قابل پیکربندی (kingston125)
- •
- Filen
- •
- رفع مشکل عدم توانایی مقصدهای ۳۲ بیتی در فهرست کردن دایرکتوریها (Enduriel)
- •
- رفع panic بالقوه در صورت بروز خطا حین بارگذاری (Enduriel)
- •
- Internxt
- •
- پیادهسازی ورود مجدد ذیل منطق نوسازی (refresh)، بهبود منطق تلاش مجدد (José Zúniga) -S3
- •
- تنظیم list_version روی 2 برای پیکربندی FileLu S3 (kingston125)
v1.73.0 - 2026-01-30
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.72.0...v1.73.0)
- •
- بکاندهای جدید
- •
- Shade (https://rclone.org/shade) (jhasse-shade)
- •
- Drime (https://rclone.org/drime) (dougal)
- •
- Filen (https://rclone.org/filen) (Enduriel)
- •
- Internxt (https://rclone.org/internxt) (jzunigax2)
- •
- ارائهدهندگان جدید S3
- •
- Bizfly Cloud Simple Storage (https://rclone.org/s3/#bizflycloud) (vupn0712)
- •
- قابلیتهای جدید
- •
- docs: افزودن سطوح پشتیبانی (Support Tiers) (https://rclone.org/tiers) به مستندات (Nick Craig-Wood)
- •
- rc: افزودن operations/hashsumfile (https://rclone.org/rc/#operations-hashsumfile) جهت محاسبه هش تنها برای یک فایل (Nick Craig-Wood)
- •
- serve webdav: پیادهسازی دانلود دایرکتوری به عنوان فایل Zip (Leo)
- •
- رفع باگها
- •
- fs: رفع مشکل bwlimit: گزارشدهی صحیح (Mikel Olasagasti Uranga)
- •
- log: رفع مشکل اضافه شدن خط جدید اضافی توسط systemd (dougal)
- •
- docs: اصلاحات (albertony, darkdragon-001, Duncan Smart, hyusap, Marc-Philip, Nick Craig-Wood, vicerace, vyv03354, yuval-cloudinary, yy)
- •
- serve s3: مهلک (fatal) کردن خطاهای --s3-auth-key (Nick Craig-Wood)
- •
- Mount
- •
- رفع مشکل پشتیبانی از mount در OpenBSD. (Nick Owens)
- •
- Azure Blob
- •
- افزودن پشتیبانی از متادیتا و تگها در مسیرهای بارگذاری و کپی (Cliff Frey)
- •
- تفکیک احراز هویت مشترک در قالب یک کتابخانه (Nick Craig-Wood)
- •
- Azurefiles
- •
- تفکیک احراز هویت مشترک در قالب یک کتابخانه (Nick Craig-Wood)
- •
- B2
- •
- پشتیبانی از احراز هویت با کلیدهای برنامهای جدید با دسترسی محدود به باکت (DianaNites)
- •
- Drive
- •
- افزودن گزینه --drive-metadata-enforce-expansive-access (Nick Craig-Wood)
- •
- رفع کرش هنگام تلاش برای ایجاد میانبر به یک Google doc (Nick Craig-Wood)
- •
- FTP
- •
- افزودن پشتیبانی از احراز هویت پراکسی http (Nicolas Dessart)
- •
- Mega
- •
- بازگردانی راهکار موقت TLS (necaran)
- •
- Memory
- •
- افزودن گزینه --memory-discard برای تست سرعت (Nick Craig-Wood)
- •
- OneDrive
- •
- رفع مشکل لغو بارگذاری چندبخشی (Nick Craig-Wood)
- •
- رفع مشکل تنظیم زمان ویرایش روی دایرکتوریها برای OneDrive Personal (Nick Craig-Wood)
- •
- رفع مشکل عدم پشتیبانی OneDrive Personal از description (Nick Craig-Wood)
- •
- رفع مشکل الزام به ورود به سیستم (require sign in) برای OneDrive Personal (Nick Craig-Wood).IP • 2 رفع مشکل مجوزها در OneDrive Personal (Nick Craig-Wood)
- •
- Oracle Object Storage
- •
- حذف تخصیص غیرضروری حافظه heap (Qingwei Li)
- •
- Pcloud
- •
- افزودن پشتیبانی از ChangeNotify برای فعالسازی بهروزرسانیهای بلادرنگ در mount (masrlinu)
- •
- Protondrive
- •
- بهروزرسانی برای استفاده از فورکهای ماژولهای بالادست به منظور رفع موانع توسعه (Nick Craig-Wood)
- •
- S3
- •
- افزودن قابلیت تعیین نقش IAM برای تعامل میانحسابی (cross-account) (Vladislav Tropnikov)
- •
- Linode: بهروزرسانی endpointها برای استفاده از استاندارد ISO 3166-1 alpha-2 (jbagwell-akamai)
- •
- رفع مشکل نادیده گرفتن storage class توسط Copy (vupn0712)
- •
- SFTP
- •
- افزودن پشتیبانی از احراز هویت پراکسی http (Nicolas Dessart)
- •
- حذف تخصیص غیرضروری حافظه heap (Qingwei Li)
v1.72.1 - 2025-12-10
مشاهدهٔ کامیتها (https://github.com/rclone/rclone/compare/v1.72.0...v1.72.1)
- •
- رفع باگها
- •
- build: بهروزرسانی به go1.25.5 برای رفع CVE-2025-61729 (https://pkg.go.dev/vuln/GO-2025-4155)
- •
- اصلاحات مستندات (Duncan Smart, Nick Craig-Wood)
- •
- configfile: رفع مشکل پشتیبانی از پیکربندی پایپشده (piped config) (Jonas Tingeborn)
- •
- log
- •
- رفع مشکل عدم درج PID در خروجی لاگ JSON (Tingsong Xu)
- •
- رفع مشکل ارسال نشدن backtrace به --log-file (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- بهبود مستندات پارامتر endpoint (Johannes Rothe)
- •
- S3
- •
- افزودن ناحیههای (regions) ناموجود برای ارائهدهنده Selectel (Nick Craig-Wood)
v1.72.0 - 2025-11-21
مشاهدهٔ کامیتها (https://github.com/rclone/rclone/compare/v1.71.0...v1.72.0)
- •
- بکاندهای جدید
- •
- بکاند Archive برای خواندن آرشیوها روی فضای ذخیرهسازی ابری. (Nick Craig-Wood)
- •
- ارائهدهندگان جدید S3
- •
- Cubbit Object Storage (https://rclone.org/s3/#Cubbit) (Marco Ferretti)
- •
- FileLu S5 Object Storage (https://rclone.org/s3/#filelu-s5) (kingston125)
- •
- Hetzner Object Storage (https://rclone.org/s3/#hetzner) (spiffytech)
- •
- Intercolo Object Storage (https://rclone.org/s3/#intercolo) (Robin Rolf)
- •
- ذخیرهسازی ابری امن سازگار با S3 شرکت Rabata (https://rclone.org/s3/#Rabata) (dougal)
- •
- Servercore Object Storage (https://rclone.org/s3/#servercore) (dougal)
- •
- SpectraLogic (https://rclone.org/s3/#spectralogic) (dougal)
- •
- دستورهای جدید
- •
- rclone archive (https://rclone.org/commands/rclone_archive): دستوری برای ایجاد و خواندن فایلهای آرشیو (Fawzib Rojas)
- •
- rclone config string (https://rclone.org/commands/rclone_config_string): برای ساخت رشتههای اتصال (Nick Craig-Wood)
- •
- rclone test speed (https://rclone.org/commands/rclone_test_speed): افزودن دستوری برای آزمایش سرعت ریموت مشخصشده (dougal)
- •
- قابلیتهای جدید
- •
- backends: به بسیاری از بکاندها رابط فهرستبندی صفحهبندیشده (ListP) افزوده شد
- •
- این امر امکان نمایش میزان پیشرفت هنگام فهرست کردن دایرکتوریهای بزرگ و کاهش مصرف حافظه را فراهم میآورد
- •
- build
- •
- ارتقای golang.org/x/crypto از 0.43.0 به 0.45.0 برای رفع CVE-2025-58181 (dependabot[bot])
- •
- مدرنسازی کدها و آزمونها (Nick Craig-Wood, russcoss, juejinyuxitu, reddaisyy, dulanting, Oleksandr Redko)
- •
- بهروزرسانی تمامی وابستگیها (Nick Craig-Wood)
- •
- فعالسازی پشتیبانی از aix/ppc64 (Lakshmi-Surekha)
- •
- check: بهبود گزارشدهی تفاوتها در اندازهها و محتوا (albertony)
- •
- copyurl: افزودن --url برای خواندن URLها از فایل CSV (S-Pegg1, dougal)
- •
- docs:
- •
- بررسی انطباق نگارشی (linting) مارکداون (albertony)
- •
- اصلاحات (albertony, Andrew Gunnerson, anon-pradip, Claudius Ellsel, dougal, iTrooz, Jean-Christophe Cura, Joseph Brownlee, kapitainsky, Matt LaPaglia, n4n5, Nick Craig-Wood, nielash, SublimePeace, Ted Robertson, vastonus)
- •
- fs: حذف فراخوانی غیرضروری Seek روی فایل لاگ (Aneesh Agrawal)
- •
- hashsum: بهبود قالب خروجی هنگام فهرست کردن الگوریتمها (albertony)
- •
- lib/http: تمیزکاری دندانهگذاری و سایر فاصلههای خالی در الگوی http serve (albertony)
- •
- lsf: افزودن پشتیبانی از قالبهای زمانی unix و unixnano (Motte)
- •
- oauthutil: بهبود لاگهای اشکالزدایی در فرایند بازنشانی توکن (token refresh) (albertony)
- •
- rc
- •
- افزودن job/batch (https://rclone.org/rc/#job-batch) برای ارسال دستهای دستورهای rc جهت اجرای همزمان (Nick Craig-Wood).IP • 2 افزودن runningIds و finishedIds به job/list (https://rclone.org/rc/#job-list) (n4n5)
- •
- افزودن osVersion، osKernel و osArch به core/version (https://rclone.org/rc/#core-version) (Nick Craig-Wood)
- •
- اطمینان از اینکه خطاهای مهلک اجرا شده از طریق rc باعث از کار افتادن rclone نمیشوند (Nick Craig-Wood)
- •
- افزودن executeId به وضعیت کارها در job/list (https://rclone.org/rc/#job-list) (Nikolay Kiryanov)
- •
- config/unlock: تغییر نام پارامتر به configPassword و همچنین پذیرش نام قدیمی (Nick Craig-Wood)
- •
- serve http: دانلود پوشهها به صورت zip (dougal)
- •
- رفع اشکالها
- •
- build
- •
- رفع خطای tls: failed to verify certificate: x509: negative serial number (Nick Craig-Wood)
- •
- march
- •
- رفع مشکل کندی شدید --no-traverse (Nick Craig-Wood)
- •
- serve s3: اصلاح خروجی لاگ جهت حذف پیامهای EXTRA (iTrooz)
- •
- Mount
- •
- Windows: بهبود پیام خطا در صورت عدم وجود WinFSP (divinity76)
- •
- Local
- •
- افزودن --skip-specials برای نادیده گرفتن فایلهای خاص (Adam Dinwoodie)
- •
- Azure Blob
- •
- افزودن رابط ListP (dougal)
- •
- Azurefiles
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- B2
- •
- افزودن رابط ListP (dougal)
- •
- افزودن پشتیبانی از رمزنگاری سمت سرور (fries1234)
- •
- رفع خطای "expected a FileSseMode but found: ''" (dougal)
- •
- امکان حذف مجزای نسخههای قدیمی با --b2-versions (dougal)
- •
- Box
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- امکان پیکربندی با محتوای فایل پیکربندی (Dominik Sander)
- •
- Compress
- •
- افزودن فشردهسازی zstd (Alex)
- •
- Drive
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- رفع خطا هنگام جابهجایی اشیاء تازهساختهشده (Nick Craig-Wood)
- •
- FTP
- •
- اصلاح پشتیبانی از پراکسی SOCKS (dougal)
- •
- اصلاح انتقالها از سرورهایی که پیام 250 ok برمیگردانند (jijamik)
- •
- Google Cloud Storage
- •
- افزودن رابط ListP (dougal)
- •
- اصلاح --gcs-storage-class جهت کار با کپی سمت سرور برای اشیاء (Riaz Arbi)
- •
- HTTP
- •
- افزودن فراداده پایه و ارائه آن از طریق serve (Oleg Kunitsyn)
- •
- Jottacloud
- •
- افزودن پشتیبانی از Let's Go Cloud (از MediaMarkt) بهعنوان سرویس whitelabel (albertony)
- •
- افزودن پشتیبانی از MediaMarkt Cloud بهعنوان سرویس whitelabel (albertony)
- •
- افزودن پشتیبانی از احراز هویت سنتی oauth برای سرویس اصلی نیز (albertony)
- •
- لغو تلاشها برای اجرای دستور پشتیبانینشده rclone authorize (albertony)
- •
- بهبود مدیریت تازهسازی توکن (albertony)
- •
- رفع مشکل احراز هویت قدیمی (legacy) (albertony)
- •
- اصلاح احراز هویت برای سرویسهای whitelabel از شرکتهای تابعه Elkjøp (albertony)
- •
- Mega
- •
- پیادهسازی ورود با احراز هویت دومرحلهای (2FA) (iTrooz)
- •
- Memory
- •
- افزودن رابط ListP (dougal)
- •
- Onedrive
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- Oracle Object Storage
- •
- افزودن رابط ListP (dougal)
- •
- Pcloud
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- Proton Drive
- •
- S3
- •
- سادهتر کردن افزودن ارائهدهندگان جدید S3 (dougal)
- •
- افزودن سازگاری (quirk) --s3-use-data-integrity-protections برای رفع خطای BadDigest در Alibaba و Tencent (hunshcn)
- •
- افزودن پشتیبانی از --upload-header، If-Match و If-None-Match (Sean Turner)
- •
- رفع رفتار کپی تکفایل با دسترسی پایین (hunshcn)
- •
- SFTP
- •
- رفع فرایندهای زامبی SSH با --sftp-ssh (Copilot)
- •
- Smb
- •
- بهینهسازی کارایی اتصال smb با اجتناب از بررسیهای stat در حین مقداردهی اولیه (Sudipto Baral)
- •
- Swift
- •
- افزودن رابط ListP (dougal)
- •
- اگر storage_policy تنظیم نشده باشد، از خطمشی کانتینرهای ریشه استفاده شود (Andrew Ruthven)
- •
- گزارش مصرف دیسک در کانتینرهای segment (Andrew Ruthven)
- •
- Ulozto
- •
- پیادهسازی قابلیت About (Lukas Krejci)
- •
- رفع بازگرداندن صفحه خطای HTML در بارگیریها (aliaj1)
- •
- WebDAV
- •
- بهینهسازی دریافت bearer token با singleflight (hunshcn)
- •
- افزودن رابط ListP (Nick Craig-Wood)
- •
- استفاده از SpaceSepList برای تجزیه دستور bearer token (hunshcn)
- •
- افزودن سرآیند Access-Control-Max-Age برای کشکردن پیشدرخواستهای CORS (viocha)
- •
- رفع کمبود حافظه با sharepoint-ntlm هنگام بارگذاری فایلهای بزرگ (Nick Craig-Wood)
v1.71.2 - 2025-10-20
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.71.1...v1.71.2)
- •
- رفع باگها
- •
- build
- •
- بهروزرسانی Go به 1.25.3
- •
- بهروزرسانی نسخه Alpine تصویر Docker برای رفع CVE-2025-9230
- •
- bisync: رفع شرایط رقابتی هنگام استفاده همزمان از CaptureOutput (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, dougal, iTrooz, Matt LaPaglia, Nick Craig-Wood)
- •
- index: افزودن ارائهدهندگان از قلمافتاده (dougal)
- •
- serve http: رفع باگ: ثبت نشانی (URL) در لاگ هنگام شروع (dougal)
- •
- Azurefiles
- •
- رفع عدم انتظار رونوشت سمت سرور برای تکمیل فرایند (Vikas Bhansali)
- •
- B2
- •
- رفع بارگذاریهای بالای 1TB (dougal)
- •
- Google Cloud Storage
- •
- افزودن منطقه us-east5 (Dulani Woods)
- •
- Mega
- •
- رفع خطاهای 402 payment required (Nick Craig-Wood)
- •
- Pikpak
- •
- رفع تلاشهای مجدد غیرضروری با استفاده از پارامتر expire در URL (Youfu Zhang)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.71.0...v1.71.1)
- •
- رفع باگها
- •
- bisync: رفع مدیریت خطا برای تداخلهای تغییرنامیافته (nielash)
- •
- march: رفع بنبست هنگام استفاده از --fast-list در همگامسازیها (Nick Craig-Wood)
- •
- operations: رفع تداخل نسبی نامها برای کپیهای غیر --inplace (Nick Craig-Wood)
- •
- pacer: رفع بنبست با --max-connections (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, anon-pradip, Claudius Ellsel, dougal, Jean-Christophe Cura, Nick Craig-Wood, nielash)
- •
- Mount
- •
- عدم ثبت unmount موفقیتآمیز به عنوان خطا در گزارش (Tilman Vogel)
- •
- VFS
- •
- رفع مشکل خاتمه یافتن serve توسط SIGHUP به جای تخلیه حافظه پنهان دایرکتوریها (dougal)
- •
- Local
- •
- رفع خطای "Access is denied" دستور rmdir در windows (nielash)
- •
- Box
- •
- رفع مشکل about پس از تغییر در مقدار بازگشتی API (Nick Craig-Wood)
- •
- Combine
- •
- انتشار قابلیت SlowHash (skbeh)
- •
- Drive
- •
- بهروزرسانی دستورالعملهای ایجاد client ID اختصاصی (Ed Craig-Wood)
- •
- Internet Archive
- •
- رفع مشکل کپی سمت سرور برای فایلهای دارای فاصله (Nick Craig-Wood)
v1.71.0 - 2025-08-22
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.70.0...v1.71.0)
- •
- ارائهدهندگان جدید S3
- •
- Exaba (https://rclone.org/s3/#exaba) (Nick Craig-Wood)
- •
- ما با Exaba همکاری داشتهایم و آنها از کاربران پیشگام، میزبانهای شخصی و آزمایشکنندگان استقبال میکنند
- •
- OVHcloud Object Storage (https://rclone.org/s3/#ovhcloud) (Florent Vennetier)
- •
- Zata (https://rclone.org/s3/#Zata) ($@M@RTH_)
- •
- قابلیتهای جدید
- •
- امکان بازنویسی یا تعیین پیکربندی سراسری هنگام ایجاد backend (https://rclone.org/docs/#globalconfig) (Nick Craig-Wood)
- •
- bisync: ارتقا از نسخه آزمایشی (beta) به پایدار (stable) (nielash)
- •
- build
- •
- بهروزرسانی به go1.25 و تعیین go1.24 به عنوان حداقل نسخه مورد نیاز (Nick Craig-Wood)
- •
- بهروزرسانی تمامی وابستگیها (Nick Craig-Wood)
- •
- ارتقای golangci-lint به نسخه v2 و اصلاح کد و پیکربندی (albertony)
- •
- افزودن اعتبارسنجی markdown به گردشکار و اصلاح تمامی مستندات (albertony)
- •
- گسترش بررسی ویرایش فایلهای تولید خودکار به تمامی کامیتها در یک pull request (albertony)
- •
- تعیین شل پیشفرض روی bash در build.yml (Ross Smith II)
- •
- config
- •
- یکپارچهسازی تجزیه گزینههای Duration (albertony)
- •
- افزودن خطا در صورت مشخص شدن RCLONE_CONFIG_PASS اما عدم رمزگشایی پیکربندی (n4n5)
- •
- copy, copyto: پیادهسازی پرچمهای گزارشگیر برای ذخیره نتیجه همگامسازی (Marvin Rösch)
- •
- اصلاحات مستندات (albertony, Ali Zein Yousuf, Binbin Qian, curlwget, Ed Craig-Wood, jinjingroad, Lucas Bremgartner, n4n5, Nick Craig-Wood)
- •
- hash: افزودن پشتیبانی از BLAKE3, XXH3, XXH128 (albertony)
- •
- http
- •
- افزودن پشتیبانی از --client-pass برای فایلهای --client-key رمزگذاریشده (Nick Craig-Wood)
- •
- امکان تنظیم --http-proxy از طریق خط فرمان (Nick Craig-Wood)
- •
- lib/mmap: تبدیل به استفاده از unsafe.Slice جهت پرهیز از بهکارگیری reflect.SliceHeader منسوخشده (cui)
- •
- lib/transform: پرهیز از ورودی خالی در charmap (albertony)
- •
- log: افزودن گزینههای چرخش گزارش هنگام استفاده از --log-file (https://rclone.org/docs/#log-file-string) (Nick Craig-Wood)
- •
- move, moveto: پیادهسازی پرچمهای گزارشگیر برای ذخیره نتیجه همگامسازی (Marvin Rösch)
- •
- pool: یکپارچهسازی حافظه میان multipart و asyncreader جهت استفاده از یک pool واحد (Nick Craig-Wood)
- •
- purge: خروج با خطای مهلک در صورت مشخص بودن فیلترها روی rclone purge (Nick Craig-Wood)
- •
- rc
- •
- افزودن config/unlock برای باز کردن قفل فایل پیکربندی (n4n5)
- •
- اصلاح config/listremotes برای ارسال یک آرایه خالی به جای nil (n4n5)
- •
- مقداردهی عکس لحظهای انتقال با مقدار "what" (Timothy Jacobs)
- •
- serve sftp: افزودن پشتیبانی از مقادیر هش بیشتر (crc32, sha256, blake3, xxh3, xxh128) (albertony)
- •
- transform: افزودن truncate_keep_extension و truncate_bytes (nielash)
- •
- رفع باگها
- •
- about: رفع سرریز احتمالی about در backendهای مختلف (Nick Craig-Wood)
- •
- accounting
- •
- رفع آمارهای نادرست با --transfers=1 (Yu Xin).IP • 2 رفع مشکل آمار (speed=0 و eta=nil) هنگام شروع کارها از طریق rc (Nick Craig-Wood)
- •
- bisync
- •
- رفع مشکل اجراهای همروند از طریق rc (nielash)
- •
- رفع تنظیمات --no-slow-hash روی path2 (nielash)
- •
- config: رفع مشکل خواندن توکنهای پیستشدهٔ بیش از ۴۰۹۵ بایت (Nick Craig-Wood)
- •
- oauthutil: رفع خرابی ناشی از اشارهگر تهی (nil pointer) هنگام شروع با توکن منقضیشده (Nick Craig-Wood)
- •
- operations: رفع باز ماندن بیش از حد اتصالات هنگام استفاده از --max-buffer-memory (Nick Craig-Wood)
- •
- pool: رفع بنبست (deadlock) در صورت استفاده همزمان از --max-buffer-memory و انتقالهای چندبخشی (Nick Craig-Wood)
- •
- rc: رفع مشکل نادیده گرفتن پارامتر oneWay توسط operations/check (houance)
- •
- Mount
- •
- رفع مشکل شناسایی پیوندهای نمادین در فهرستبندی دایرکتوریها (huangnauh)
- •
- Local
- •
- قابلیت پیکربندی هشهای پشتیبانیشده (albertony)
- •
- رفع مشکل --copy-links در Windows هنگام فهرستبندی Junction pointها (Anagh Kumar Baranwal)
- •
- Azure Blob
- •
- افزودن پشتیبانی از احراز هویت مبتنی بر client assertion (Vikas Bhansali)
- •
- رفع بنبست هنگام استفاده از --max-connections همراه با خطاهای InvalidBlockOrBlob (Nick Craig-Wood)
- •
- رفع محاسبهٔ مضاعف در بارگذاریهای چندبخشی (Nick Craig-Wood)
- •
- Azurefiles
- •
- افزودن پشتیبانی از احراز هویت مبتنی بر client assertion (Vikas Bhansali)
- •
- رفع پاک شدن هش هنگام تنظیم modtime (nielash)
- •
- Box
- •
- رفع خطای about: cannot unmarshal number 1.0e+18 into Go struct field (Nick Craig-Wood)
- •
- Combine
- •
- رفع خطاهای عدم یافتن دایرکتوری در رابط ListP (Nick Craig-Wood)
- •
- Filescom
- •
- مستندسازی نیاز به فعالسازی هشها (Nick Craig-Wood)
- •
- FTP
- •
- مجاز کردن الگوریتمهای رمزنگاری ناامن TLS (Anagh Kumar Baranwal)
- •
- تنظیم پیشفرض پیکربندی TLS بر روی پیکربندی سراسری TLS (Nick Craig-Wood)
- •
- این تغییر امکان استفاده از --ca-cert، --client-cert و غیره را فراهم میکند.
- •
- همچنین امکان استفاده از override.ca_cert = XXX در فایل پیکربندی فراهم میشود.
- •
- Googlephotos
- •
- افزودن هشدار برای اصلاحات سازگاری Google Photos (raider13209)
- •
- Imagekit
- •
- بازگرداندن خطای صحیح هنگام تلاش برای بارگذاری فایلهای با طول صفر (Nick Craig-Wood)
- •
- عدم تلاش مجدد در سطح پایین برای بارگذاریها (Nick Craig-Wood)
- •
- حذف متد Copy سمت سرور به دلیل انجام بارگیری و بارگذاری (Nick Craig-Wood)
- •
- Internetarchive
- •
- رفع مشکل کپی سمت سرور فایلهای حاوی & (Nick Craig-Wood)
- •
- Mega
- •
- رفع شکست در دستتکانی TLS (necaran)
- •
- Oracleobjectstorage
- •
- افزودن پشتیبانی از فرادادههای فقطخواندنی (praveen-solanki-oracle)
- •
- Pikpak
- •
- بازنویسی بارگذاری برای دور زدن مدیریتکنندهٔ AWS S3 (wiserain)
- •
- بهبود Move برای مدیریت بهتر خطاها و تداخل نامها (wiserain)
- •
- بهبود متد Copy برای مدیریت تداخل نامها و ارتقای مدیریت خطا (wiserain)
- •
- افزودن بررسی یکپارچگی نام فایل در حین بارگذاری (wiserain)
- •
- S3
- •
- افزودن پرچم --s3-use-arn-region (Nick Craig-Wood)
- •
- رفع نشت حافظه با شبیهسازی رشتهها (liubingrun)
- •
- رفع مشکل بارگذاری چندبخشی و کپی سمت سرور هنگام استفاده از سیاست باکت SSE-C (Albin Parou)
- •
- رفع مشکل Content-Type: aws-chunked که با --metadata باعث خطای بارگذاری میشد (Nick Craig-Wood)
- •
- SFTP
- •
- افزودن پشتیبانی از هشهای بیشتر (crc32، sha256، blake3، xxh3، xxh128) (albertony)
- •
- Smb
- •
- افزودن گزینهٔ --smb-kerberos-ccache برای تنظیم ccache مربوط به kerberos به ازای هر بکاند smb (Sudipto Baral)
- •
- تازهسازی اعتبارنامههای Kerberos هنگام تغییر فایل ccache (Sudipto Baral)
- •
- بهبود عملکرد بارگذاری چندریسمانی با استفاده از چندین اتصال (Sudipto Baral)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.70.2...v1.70.3)
- •
- رفع باگها
- •
- check: رفع مشکل گزارش تفاوتها (بهاشتباه تعداد خطاها را گزارش میکرد) (albertony)
- •
- march: رفع بنبست هنگام استفاده از --no-traverse (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, Nick Craig-Wood)
- •
- Azure Blob
- •
- رفع خطای کپی سمت سرور "requires exactly one scope" (Nick Craig-Wood)
- •
- B2
- •
- رفع مشکل یافتن اشیاء هنگام استفاده از --b2-version-at (Davide Bizzarri)
- •
- Linkbox
- •
- رفع خطای بارگذاری "user upload file not exist" (Nick Craig-Wood)
- •
- Pikpak
- •
- بهبود مدیریت خطا برای پیوندهای ناموجود و خطاهای غیرقابلبازیابی 500 (wiserain)
- •
- WebDAV
- •
- رفع اشکال تنظیم modtime به زمان شیء محلی بهجای شیء راه دور (WeidiDeng)
v1.70.2 - 2025-06-27
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.70.1...v1.70.2)
- •
- رفع باگها
- •
- convmv: کاهش پیامهای اضافی و شلوغی لاگ در --dry-run (nielash)
- •
- sync: جلوگیری از کپی کردن متادیتای پوشه روی خودش (nielash)
- •
- build: ارتقای github.com/go-chi/chi/v5 از 5.2.1 به 5.2.2 جهت رفع GHSA-vrw8-fxc6-2r93 (dependabot[bot])
- •
- convmv: رفع مشکل انتقال به نام معادل یونیکد (nielash)
- •
- log: رفع بنبست هنگام استفاده از ثبت وقایع با systemd (Nick Craig-Wood)
- •
- pacer: رفع خطای nil pointer deref در RetryError (Nick Craig-Wood)
- •
- اصلاحات مستندات (Ali Zein Yousuf, Nick Craig-Wood)
- •
- Local
- •
- رفع مشکل --skip-links در Windows هنگام نادیدهگرفتن Junction pointها (Nick Craig-Wood)
v1.70.1 - 2025-06-19
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.70.0...v1.70.1)
- •
- رفع باگها
- •
- convmv: رفع خطای کاذب "error running command echo" در Windows (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, Ed Craig-Wood, jinjingroad)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
- •
- بکاندهای جدید
- •
- DOI (https://rclone.org/doi) (Flora Thiebaut)
- •
- FileLu (https://rclone.org/filelu) (kingston125)
- •
- ارائهدهندگان جدید S3:
- •
- MEGA S4 (https://rclone.org/s3#mega) (Nick Craig-Wood)
- •
- Pure Storage FlashBlade (https://rclone.org/s3#pure-storage-flashblade) (Jeremy Daer)
- •
- دستورهای جدید
- •
- convmv (https://rclone.org/commands/rclone_convmv): برای جابهجایی و دگرگونسازی فایلها (nielash)
- •
- ویژگیهای جدید
- •
- افزودن --max-connections (https://rclone.org/docs#max-connections-n) جهت کنترل حداکثر همزمانی بکاند (Nick Craig-Wood)
- •
- افزودن --max-buffer-memory (https://rclone.org/docs#max-buffer-memory) جهت محدود کردن کل حافظه بافر مصرفی (Nick Craig-Wood)
- •
- افزودن کتابخانه transform و پرچم --name-transform (https://rclone.org/docs#name-transform-stringarray) (nielash)
- •
- sync: پیادهسازی --list-cutoff (https://rclone.org/docs#list-cutoff) جهت امکان مرتبسازی روی دیسک به منظور کاهش مصرف حافظه (Nick Craig-Wood)
- •
- accounting: افزودن آمار فهرستشده برای تعداد مدخلهای فهرستشده پوشه (Nick Craig-Wood)
- •
- backend: صرفنظر از محاسبه درهمسازی در صورت None بودن hashType (Oleksiy Stashok)
- •
- build
- •
- بروزرسانی به go1.24 و تعیین go1.22 به عنوان حداقل نسخه مورد نیاز (Nick Craig-Wood)
- •
- غیرفعالسازی ساختهای docker در PRها و افزودن تغییرات جاافتاده در dockerfile (Anagh Kumar Baranwal)
- •
- مدرنسازی شیوههای استفاده از Go (Nick Craig-Wood)
- •
- بروزرسانی تمام وابستگیها (Nick Craig-Wood)
- •
- cmd/authorize: نمایش آرگومانهای لازم در متن راهنما (simwai)
- •
- cmd/config: افزودن گزینه --no-output (Jess)
- •
- cmd/gitannex
- •
- بهبود تجزیه پیکربندی "rcloneremotename" (Dan McArdle)
- •
- مجاز دانستن ریموتها به همراه گزینهها (Dan McArdle)
- •
- رد حالتهای طرحبندی ناشناخته در INITREMOTE (Dan McArdle)
- •
- docker image: افزودن برچسب org.opencontainers.image.source برای یادداشتهای انتشار در بهروزرسانیهای وابستگی Renovate (Robin Schneider)
- •
- اصلاحات مستندات (albertony, Andrew Kreimer, Ben Boeckel, Christoph Berger, Danny Garside, Dimitri Papadopoulos, eccoisle, Ed Craig-Wood, Fernando Fernández, jack, Jeff Geerling, Jugal Kishore, kingston125, luzpaz, Markus Gerstel, Matt Ickstadt, Michael Kebe, Nick Craig-Wood, PrathameshLakawade, Ser-Bul, simonmcnair, Tim White, Zachary Vorhies)
- •
- filter:
- •
- افزودن --hash-filter برای انتخاب قطعی زیرمجموعهای از فایلها (Nick Craig-Wood)
- •
- نمایش --min-size و --max-size در فیلترهای --dump (Nick Craig-Wood)
- •
- hash: افزودن پشتیبانی از SHA512 برای درهمسازی فایلها (Enduriel)
- •
- http servers: افزودن --user-from-header جهت استفاده برای احراز هویت (Moises Lima)
- •
- lib/batcher: منسوخ کردن گزینه استفادهنشده: batch_commit_timeout (Dan McArdle)
- •
- log:
- •
- حذف github.com/sirupsen/logrus و جایگزینی با log/slog (Nick Craig-Wood)
- •
- افزودن --windows-event-log-level برای پشتیبانی از Windows Event Log (Nick Craig-Wood)
- •
- rc
- •
- افزودن پارامتر short به core/stats برای بازنگرداندن transferring و checking (Nick Craig-Wood)
- •
- در options/info، قرار دادن یک "." در صورت تودرتو بودن FieldName (Nick Craig-Wood)
- •
- افزودن کنترل rc برای دستورهای serve (Nick Craig-Wood)
- •
- rcserver: بهبود بررسی content-type (Jonathan Giannuzzi)
- •
- serve nfs
- •
- بروزرسانی مستندات برای یادآوری عدم پشتیبانی از Windows (Zachary Vorhies)
- •
- تغییر قالب دستگیرههای فایل مربوط به --nfs-cache-type symlink (Nick Craig-Wood)
- •
- تخصیص دستگیرههای فایل ویژه به فایلهای فراداده (Nick Craig-Wood)
- •
- touch: واداشتن touch به پیروی از --transfers (Nick Craig-Wood)
- •
- version: افزودن پرچم --deps برای نمایش وابستگیها و سایر اطلاعات ساخت (Nick Craig-Wood)
- •
- رفع باگها
- •
- serve s3:
- •
- اصلاح پاسخ ListObjectsV2 (fhuber)
- •
- حذف مقداردهی اولیه اضافی گرداننده (Tho Neyugn)
- •
- stats: رفع نشت goroutine و بهبود فرآیند ثبت آمار (Nathanael Demacon)
- •
- VFS
- •
- افزودن --vfs-metadata-extension برای نمایش فایلهای جانبی فراداده (Nick Craig-Wood)
- •
- Azure Blob
- •
- افزودن پشتیبانی از سرآیند x-ms-tags (Trevor Starick)
- •
- پاکسازی بلوکهای تثبیتنشده هنگام بروز خطاهای بارگذاری (Nick Craig-Wood)
- •
- افزایش سرعت کپیهای سمت سرور برای فایلهای کوچک (Nick Craig-Wood)
- •
- پیادهسازی کپی چندبخشی سمت سرور (Nick Craig-Wood).IP • 2 حذف بلوکهای تاییدنشده هنگام خطای InvalidBlobOrBlock (Nick Craig-Wood)
- •
- رفع مشکل مدیریت اشیاء دارای // (Nick Craig-Wood)
- •
- مدیریت دقیقتر کدهای خطای نیازمند تلاش مجدد (Nick Craig-Wood)
- •
- رفع مشکل عدم تلاش مجدد برای خطاها هنگام انجام رونوشت تکبخشی (Nick Craig-Wood)
- •
- اصلاح رونوشتهای چندبخشی سمت سرور برای فایلهای با اندازه 0 (Nick Craig-Wood)
- •
- Azurefiles
- •
- افزودن --azurefiles-use-az و --azurefiles-disable-instance-discovery (b-wimmer)
- •
- B2
- •
- افزودن مدیریت SkipDestructive به دستورهای backend (Pat Patterson)
- •
- استفاده از شناسه فایل از فهرست در صورت ارائه نشدن در سرآیندها (ahxxm)
- •
- Cloudinary
- •
- افزودن/حذف خودکار پسوند فایلهای چندرسانهای شناختهشده (yuval-cloudinary)
- •
- قرارداد نامگذاری متغیرها (yuval-cloudinary)
- •
- Drive
- •
- افزودن دستور backend moveid (Spencer McCullough)
- •
- Dropbox
- •
- پشتیبانی از Dropbox Paper (Dave Vasilevsky)
- •
- FTP
- •
- افزودن --ftp-http-proxy برای اتصال از طریق پراکسی HTTP CONNECT
- •
- Gofile
- •
- بهروزرسانی برای استفاده از نقطه پایانی جدید بارگذاری مستقیم (wbulot)
- •
- Googlephotos
- •
- بهروزرسانی محدودههای دسترسی فقطخواندنی و خواندن/نوشتن برای انطباق با الزامات Google. (Germán Casares)
- •
- Iclouddrive
- •
- رفع اشکال panic و احتمال دانلود دوباره فایلها (Clément Wehrung)
- •
- Internetarchive
- •
- افزودن --internetarchive-metadata="key=value" برای تنظیم متادادههای مورد (Corentin Barreau)
- •
- Onedrive
- •
- رفع خطاهای "The upload session was not found" (Nick Craig-Wood)
- •
- افزودن مجدد پرچم --onedrive-upload-cutoff (Nick Craig-Wood)
- •
- رفع اشکال کرش در صورت بهروزرسانی نشدن هیچ متادادهای (Nick Craig-Wood)
- •
- Opendrive
- •
- افزودن پرچم --opendrive-access برای مدیریت مجوزها (Joel K Biju)
- •
- Pcloud
- •
- رفع خطای "Access denied. You do not have permissions to perform this operation" در بارگذاریهای حجیم (Nick Craig-Wood)
- •
- S3
- •
- رفع مشکل مدیریت اشیاء دارای // (Nick Craig-Wood)
- •
- افزودن امضاکننده IBM IAM (Alexander Minbaev)
- •
- تفکیک رفتارهای خاص GCS به --s3-use-x-id و --s3-sign-accept-encoding (Nick Craig-Wood)
- •
- پیادهسازی رابط فهرستبندی صفحهبندیشده ListP (Nick Craig-Wood)
- •
- افزودن پشتیبانی از ارائهدهنده Pure Storage FlashBlade (Jeremy Daer)
- •
- نیاز به نقطه پایانی سفارشی برای پشتیبانی از Lyve Cloud v2 (PrathameshLakawade)
- •
- پشتیبانی از MEGA S4 (Nick Craig-Wood)
- •
- SFTP
- •
- افزودن --sftp-http-proxy برای اتصال از طریق پراکسی HTTP CONNECT (Nick Craig-Wood)
- •
- Smb
- •
- افزودن پشتیبانی از احراز هویت kerberos (Jonathan Giannuzzi)
- •
- بهبود کارایی تجمیع اتصالات (Jonathan Giannuzzi)
- •
- WebDAV
- •
- تلاش مجدد propfind در وضعیت 425 (Jörn Friedrich Dreyer)
- •
- افزودن ارائهدهنده ownCloud Infinite Scale برای فعالسازی پشتیبانی از بارگذاری تکهتکهای tus (Klaas Freitag)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.69.2...v1.69.3)
- •
- رفع باگها
- •
- build: اعمال مجدد بهروزرسانی github.com/golang-jwt/jwt/v5 از 5.2.1 به 5.2.2 جهت رفع CVE-2025-30204 (dependabot[bot])
- •
- build: بهروزرسانی github.com/ebitengine/purego برای دور زدن باگ در go1.24.3 (Nick Craig-Wood)
v1.69.2 - 2025-05-01
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.69.1...v1.69.2)
- •
- رفع باگها
- •
- accounting: رفع مشکل محاسبه percentDiff -- (Anagh Kumar Baranwal)
- •
- build
- •
- بهروزرسانی github.com/golang-jwt/jwt/v4 از 4.5.1 به 4.5.2 جهت رفع CVE-2025-30204 (dependabot[bot])
- •
- بهروزرسانی github.com/golang-jwt/jwt/v5 از 5.2.1 به 5.2.2 جهت رفع CVE-2025-30204 (dependabot[bot])
- •
- بهروزرسانی golang.org/x/crypto به v0.35.0 جهت رفع CVE-2025-22869 (Nick Craig-Wood)
- •
- بهروزرسانی golang.org/x/net از 0.36.0 به 0.38.0 جهت رفع CVE-2025-22870 (dependabot[bot])
- •
- بهروزرسانی golang.org/x/net به 0.36.0. جهت رفع CVE-2025-22869 (dependabot[bot])
- •
- توقف ساخت با نسخههای go < go1.23 به دلیل منع آن توسط بهروزرسانیهای امنیتی (Nick Craig-Wood)
- •
- رفع مشکل ساخت پلاگین docker (Anagh Kumar Baranwal)
- •
- cmd: رفع مشکل کرش در صورت فراخوانی rclone بدون هیچ آرگومانی (Janne Hellsten)
- •
- config: خواندن گذرواژههای پیکربندی از stdin حتی در صورت خاتمه با EOF (Samantha Bowen)
- •
- اصلاحات مستندات (Andrew Kreimer, Danny Garside, eccoisle, Ed Craig-Wood, emyarod, jack, Jugal Kishore, Markus Gerstel, Michael Kebe, Nick Craig-Wood, simonmcnair, simwai, Zachary Vorhies)
- •
- fs: رفع خرابی SizeSuffix همراه با پسوند "B" در پیکربندی (مانند --min-size) (Nick Craig-Wood)
- •
- lib/http: رفع شرایط رقابتی (race) میان Serve() و Shutdown() (Nick Craig-Wood)
- •
- object: رفع خطای Seek خارج از محدوده شیء حافظه (Nick Craig-Wood)
- •
- operations: رفع فراخوانی fmt.Errorf با err نادرست (alingse)
- •
- rc
- •
- غیرفعالسازی سرور معیارها (metrics server) هنگام اجرای rclone rc (hiddenmarten)
- •
- رفع مشکل در دسترس نبودن دستورات debug/* از طریق سوکتهای unix (Nick Craig-Wood)
- •
- serve nfs: رفع یک کرش نامحتمل (Nick Craig-Wood)
- •
- stats: رفع مشکل بهروزرسانی نشدن سرعت پس از مکث در پردازش (Anagh Kumar Baranwal)
- •
- sync
- •
- رفع مشکل چرخش بیوقفه CPU (cpu spinning) هنگام یافتن دایرکتوری خالی با اسلشهای ابتدایی (Nick Craig-Wood)
- •
- کپی زمانهای تغییر (modtimes) دایرکتوری حتی زمانی که copyEmptySrcDirs برابر false باشد (ll3006)
- •
- VFS
- •
- رفع مشکل ارائه دادههای کهنه توسط حافظه نهان دایرکتوری (Lorenz Brun)
- •
- رفع ناکارآمدی حافظه نهان دایرکتوری هنگامی که خواندن دایرکتوریها کند است (huanghaojun)
- •
- رفع شکستهای آزمون یکپارچهسازی (Nick Craig-Wood)
- •
- Drive
- •
- Metadata: رفع خطا هنگام تنظیم copy-requires-writer-permission روی یک پوشه (Nick Craig-Wood)
- •
- Dropbox
- •
- تلاش مجدد برای لینک بدون انقضا (Dave Vasilevsky)
- •
- HTTP
- •
- اصلاح root در صورتی که قطعاً به یک فایل اشاره دارد (nielash)
- •
- Iclouddrive
- •
- رفع مشکل بهگونهای که فایلهای ایجادشده قابل نوشتن باشند (Ben Alex)
- •
- Onedrive
- •
- رفع ترتیب فرادادهها (metadata) در مجوزها (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.69.0...v1.69.1)
- •
- رفع باگها
- •
- lib/oauthutil: رفع خطاهای عدم تطابق URL بازنشانی (Nick Craig-Wood)
- •
- bisync: رفع مشکل از قلم افتادن تغییرات همزمان در فهرستبندیها (nielash)
- •
- serve s3: رفع مشکل encoding-type در فهرست شیءها (Nick Craig-Wood)
- •
- fs: رفع خطای گیجکنندهٔ "didn't find section in config file" (Nick Craig-Wood)
- •
- اصلاحات مستندات (Christoph Berger, Dimitri Papadopoulos, Matt Ickstadt, Nick Craig-Wood, Tim White, Zachary Vorhies)
- •
- build: افزودن ساخت موازی docker و حافظهٔ موقت برای go build در کانتینر (Anagh Kumar Baranwal)
- •
- VFS
- •
- رفع مشکل شکست حافظهٔ موقت در بارگذاری پیوندهای نمادین هنگامی که --links مشخص شده بود (Nick Craig-Wood)
- •
- رفع وضعیت رقابتی شناساییشده توسط race detector (Nick Craig-Wood)
- •
- بستن کانال اعلان تغییرات هنگام Shutdown (izouxv)
- •
- B2
- •
- رفع "fatal error: concurrent map writes" (Nick Craig-Wood)
- •
- Iclouddrive
- •
- افزودن یادداشتهایی دربارهٔ ADP و کوکیهای مفقود PCS (Nick Craig-Wood)
- •
- Onedrive
- •
- علامتگذاری منطقهٔ آلمان (de) بهعنوان منسوخشده (Nick Craig-Wood)
- •
- S3
- •
- افزودن کلاس ذخیرهسازی جدید به ارائهدهندهٔ magalu (Bruno Fernandes)
- •
- افزودن مناطق DigitalOcean شامل SFO2، LON1، TOR1، BLR1 (jkpe)
- •
- افزودن آخرین پایانههای Linode Object Storage (jbagwell-akamai)
v1.69.0 - 2025-01-12
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.68.0...v1.69.0)
- •
- بکاندهای جدید
- •
- ICloud Drive (https://rclone.org/iclouddrive) (lostb1t)
- •
- Cloudinary (https://rclone.org/cloudinary) (yuval-cloudinary)
- •
- ارائهدهندگان جدید S3:
- •
- Outscale (https://rclone.org/s3/#outscale) (Matthias Gatto)
- •
- Selectel (https://rclone.org/s3/#selectel) (Nick Craig-Wood)
- •
- اصلاحات امنیتی
- •
- serve sftp: رفع CVE-2024-45337 - استفادهٔ نادرست از ServerConfig.PublicKeyCallback ممکن است باعث دور زدن احراز هویت شود (dependabot)
- •
- ابزار Rclone در برابر این مورد آسیبپذیر نبود.
- •
- مشاهدهٔ https://github.com/advisories/GHSA-v778-237x-gjrc
- •
- build: بهروزرسانی golang.org/x/net به v0.33.0 برای رفع CVE-2024-45338 - تجزیهٔ غیرخطی محتوای غیرحساس به بزرگی و کوچکی حروف (Nick Craig-Wood)
- •
- ابزار Rclone در برابر این مورد آسیبپذیر نبود.
- •
- مشاهدهٔ https://github.com/advisories/GHSA-w32m-9786-jp63
- •
- ویژگیهای جدید
- •
- accounting: ثبت bwlimit فعلی در لاگ هنگام دریافت سیگنال SIGUSR2 (Nick Craig-Wood)
- •
- bisync: تغییر وضعیت خروج از ۲ به ۷ برای توقف بحرانی اجرا (albertony)
- •
- build
- •
- بهروزرسانی تمامی وابستگیها (Nick Craig-Wood)
- •
- جایگزینی NewLazyDLL ویژهٔ ویندوز با NewLazySystemDLL (albertony)
- •
- cmd: تغییر وضعیت خروج از ۱ به ۲ برای خطاهای ساختاری و نحوهٔ استفاده (albertony)
- •
- docker serve: حصول اطمینان از تجزیهٔ تمام گزینههای mount و VFS (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, Alexandre Hamez, Anthony Metzidis, buengese, Dan McArdle, David Seifert, Francesco Frassinelli, Michael R. Davis, Nick Craig-Wood, Pawel Palucha, Randy Bush, remygrandin, Sam Harrison, shenpengfeng, tgfisher, Thomas ten Cate, ToM, Tony Metzidis, vintagefuture, Yxxx)
- •
- fs: سراسری کردن گزینهٔ --links و افزودن گزینههای جدید --local-links و --vfs-links (Nick Craig-Wood)
- •
- http servers: غیرفعالسازی گذر خودکار از احراز هویت برای سوکتهای unix در کارگزارهای http (Moises Lima)
- •
- این مسئله استفاده از سوکتهای unix همراه با یک پراکسی را غیرممکن میساخت
- •
- این تغییر ممکن است اکنون باعث شود rclone در جاهایی که پیشتر نیازی نداشت، به احراز هویت نیاز پیدا کند
- •
- oauthutil: افزودن پشتیبانی از جریان client credentials در OAuth (Martin Hassack, Nick Craig-Wood)
- •
- operations: یکپارچهسازی پیامهای لاگ برای mkdir/rmdir در سطح INFO (Nick Craig-Wood)
- •
- rc: افزودن relative به vfs/queue-set-expiry (https://rclone.org/rc/#vfs-queue-set-expiry) (Nick Craig-Wood)
- •
- serve dlna: مرتبسازی مدخلهای دایرکتوری با اولویت دادن به دایرکتوریها و سپس بر پایهٔ الفبا بر اساس نام (Nick Craig-Wood)
- •
- serve nfs
- •
- معرفی پشتیبانی از پیوندهای نمادین (Nick Craig-Wood)
- •
- پیادهسازی پیوند نمادین در --nfs-cache-type (Nick Craig-Wood)
- •
- size: سازگار کردن خروجی با -P (Nick Craig-Wood)
- •
- test makefiles: افزودن گزینهٔ --flat برای ایجاد دایرکتوریهایی با مدخلهای پرتعداد (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting
- •
- رفع مشکل چاپ اشکالزدایی هنگامی که اشکالزدایی تنظیم نشده بود (Nick Craig-Wood)
- •
- رفع وضعیت رقابتی در متوقف کردن/آغاز کردن شمارنده آمار (Nick Craig-Wood)
- •
- rc/job: استفاده از mutex برای ایمنی نخها هنگام افزودن شنوندهها (hayden.pan)
- •
- serve docker: رفع انتساب نادرست GID (TAKEI Yuya)
- •
- serve nfs: رفع نبود شمارههای inode که خروجی ls -laR را با اختلال مواجه میکرد (Nick Craig-Wood)
- •
- serve s3: اصلاح برچسب زمانی Last-Modified (Nick Craig-Wood)
- •
- serve sftp: رفع بارگذاری فایل authorized keys دارای توضیح در خط پایانی (albertony)
- •
- Mount
- •
- معرفی پشتیبانی از پیوندهای نمادین (Filipe Azevedo, Nick Craig-Wood)
- •
- بهبود پیام خطای سوار کردن snap (divinity76)
- •
- mount2: رفع مدخلهای گمشدهی . و .. (Filipe Azevedo)
- •
- VFS
- •
- با --vfs-used-is-size مقدار محاسبه شده و سپس دور انداخته میشد (Ilias Ozgur Can Leonard)
- •
- افزودن پشتیبانی از پیوندهای نمادین به VFS (Filipe Azevedo, Nick Craig-Wood)
- •
- این قابلیت میتواند با پرچم اختصاصی --vfs-links یا پرچم سراسری --links فعال شود
- •
- رفع ناپدید شدن فایلهای باز از فهرست دایرکتوری (Nick Craig-Wood)
- •
- افزودن نام remote به پیامهای گزارش حافظه نهان VFS (Nick Craig-Wood)
- •
- Cache
- •
- رفع پین نشدن والد زمانی که remote یک فایل است (nielash)
- •
- Azure Blob
- •
- افزودن --azureblob-disable-instance-discovery (Nick Craig-Wood)
- •
- افزودن --azureblob-use-az برای اجبار به استفاده از Azure CLI جهت احراز هویت (Nick Craig-Wood)
- •
- توقف بارگذاریهای چندبخشی در صورت لغو شدن context (Nick Craig-Wood)
- •
- Azurefiles
- •
- رفع هدر گمشدهی x-ms-file-request-intent (Nick Craig-Wood)
- •
- B2
- •
- افزودن daysFromStartingToCancelingUnfinishedLargeFiles به دستور backend lifecycle (Louis Laureys)
- •
- Box
- •
- رفع کپی سمت سرور یک فایل بر روی dst موجود (nielash)
- •
- رفع خرابی panic هنگام رمزگشایی PEM آسیبدیده از فایل JWT (Nick Craig-Wood)
- •
- Drive
- •
- افزودن پشتیبانی از قالب markdown (Noam Ross)
- •
- پیادهسازی rclone backend rescue جهت نجات فایلهای رهاشده (Nick Craig-Wood)
- •
- Dropbox
- •
- رفع کپی سمت سرور بر روی شیء موجود (Nick Craig-Wood)
- •
- اصلاح وضعیت بازگشتی هنگام پر بودن به صورت خطای مهلک (Nick Craig-Wood)
- •
- FTP
- •
- پیادهسازی --ftp-no-check-upload برای اجازه بارگذاری در دایرکتوریهای فقطنوشتنی (Nick Craig-Wood)
- •
- رفع بازگرداندن خروجی خالی توسط دستورهای ls در سرورهای "Microsoft FTP Service" (Francesco Frassinelli)
- •
- Gofile
- •
- رفع کپی سمت سرور بر روی شیء موجود (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- افزودن احراز هویت با توکن دسترسی از طریق --gcs-access-token (Leandro Piccilli)
- •
- بهروزرسانی مستندات توکنهای دسترسی حساب سرویس (Anthony Metzidis)
- •
- Googlephotos
- •
- پیادهسازی --gphotos-proxy برای امکان بارگیری رسانهها با وضوح کامل (Nick Craig-Wood)
- •
- رفع خرابی ناشی از اشارهگر تهی (nil pointer crash) هنگام بارگذاری (Nick Craig-Wood)
- •
- HTTP
- •
- رفع نشانیهای وب نادرست با اسلش ابتدایی (Oleg Kunitsyn)
- •
- Onedrive
- •
- افزودن پشتیبانی از گردش اعتبارنامه کلاینت (client credential flow) در OAuth (Martin Hassack, Nick Craig-Wood)
- •
- رفع دقت زمانی برای OneDrive شخصی (Nick Craig-Wood)
- •
- رفع کپی سمت سرور بر روی شیء موجود (Nick Craig-Wood)
- •
- Opendrive
- •
- افزودن پشتیبانی از rclone about به backend (quiescens)
- •
- Oracle Object Storage
- •
- اختیاری کردن تعیین compartmentid (Manoj Ghosh)
- •
- توقف بارگذاریهای چندبخشی در صورت لغو شدن context (Nick Craig-Wood)
- •
- Pikpak
- •
- افزودن گزینه جهت استفاده از پیوندهای فایل اصلی (wiserain)
- •
- Protondrive
- •
- بهبود کارایی backend پروتون درایو (Lawrence Murray) Putio
- •
- رفع مشکل کپی سمت سرور روی شیء موجود (Nick Craig-Wood)
- •
- S3
- •
- افزودن گزینهٔ اولیهٔ --s3-directory-bucket برای پشتیبانی از AWS Directory Buckets (Nick Craig-Wood)
- •
- افزودن منطقهٔ eu-south-1 در Wasabi (Diego Monti)
- •
- رفع مشکل بارگیری فایلهای فشردهشده از Cloudflare R2 (Nick Craig-Wood)
- •
- تغییر نام کلاس ذخیرهسازی glacier به flexible retrieval (Henry Lee)
- •
- خروج از بارگذاریهای چندبخشی (multipart uploads) در صورت لغو context (Nick Craig-Wood)
- •
- SFTP
- •
- امکان استفاده از گواهی عمومی ssh درونخطی (inline) برای sftp (Dimitar Ivanov)
- •
- رفع خطای بررسی nil هنگام استفاده از پروکسی احراز هویت (Nick Craig-Wood)
- •
- Smb
- •
- افزودن پشتیبانی اولیه از احراز هویت Kerberos (نیازمند کار بیشتر). (Francesco Frassinelli)
- •
- رفع panic در صورت شکست stat (Nick Craig-Wood)
- •
- Sugarsync
- •
- رفع مشکل کپی سمت سرور روی شیء موجود (Nick Craig-Wood)
- •
- WebDAV
- •
- Nextcloud: پیادهسازی عقبنشینی (backoff) و تلاش مجدد برای خطاهای 423 LOCKED (Nick Craig-Wood)
- •
- ایجاد --webdav-auth-redirect برای رفع خطای 401 unauthorized در تغییر مسیر (Nick Craig-Wood)
- •
- Yandex
- •
- رفع مشکل کپی سمت سرور روی شیء موجود (Nick Craig-Wood)
- •
- Zoho
- •
- استفاده از سرور بارگیری برای افزایش سرعت بارگیریها (buengese)
- •
- تغییر به API بارگذاری فایلهای بزرگ برای پروندههای حجیمتر، رفع مشکل عدم کدگذاری URL نام فایلها برای API بارگذاری (buengese)
- •
- چاپ پیام خطای واضح هنگام نبود حوزهٔ (scope) مربوط به oauth (buengese)
- •
- تلاش برای مدیریت بهتر محدودیتهای نرخ (rate limits) (buengese)
- •
- افزودن پشتیبانی از فضاهای خصوصی (private spaces) (buengese)
- •
- امکان پیکربندی آستانهٔ قطع بارگذاری (upload cutoff) (buengese)
v1.68.2 - 2024-11-15
مشاهدهٔ کامیتها (https://github.com/rclone/rclone/compare/v1.68.1...v1.68.2)
- •
- اصلاحات امنیتی
- •
- پشتانهٔ محلی (local backend): CVE-2024-52522: رفع مشکل مجوز و مالکیت پیوندهای نمادین با --links و --metadata (Nick Craig-Wood)
- •
- تنها کاربرانی را تحت تأثیر قرار میدهد که از --metadata و --links استفاده کرده و فایلها را به پشتانهٔ محلی کپی میکنند
- •
- ببینید https://github.com/rclone/rclone/security/advisories/GHSA-hrxh-9w67-g4cv
- •
- ساخت: ارتقای github.com/golang-jwt/jwt/v4 از 4.5.0 به 4.5.1 (dependabot)
- •
- این یک مشکل در وابستگی مورد استفاده برای گواهیهای JWT است
- •
- ببینید https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r
- •
- رفع باگها
- •
- accounting: رفع پیام نادرست در SIGUSR2 برای فعال/غیرفعالسازی bwlimit (Nick Craig-Wood)
- •
- bisync: رفع بازگردانی نادرست خروجی ضبطشده برای logrus (Dimitrios Slamaris)
- •
- dlna: رفع نادیده گرفتن سطح گزارش (log level) توسط loggingResponseWriter (Simon Bos)
- •
- serve s3: رفع قفلگذاری بیش از حد که موجب تکرشتهای شدن serve s3 میشد (Nick Craig-Wood)
- •
- اصلاحات مستندات (Nick Craig-Wood, tgfisher, Alexandre Hamez, Randy Bush)
- •
- Local
- •
- رفع مشکل مجوزها و مالکیت در پیوندهای نمادین با --links و --metadata (Nick Craig-Wood)
- •
- رفع مشکل --copy-links در macOS هنگام شبیهسازی (nielash)
- •
- Onedrive
- •
- اصلاح رسیدگی به Retry-After برای بررسی خطاهای 503 نیز (Nick Craig-Wood)
- •
- Pikpak
- •
- رفع محاسبات cid/gcid برای fs.OverrideRemote (wiserain)
- •
- رفع کرش مهلک هنگام راهاندازی با توکنی که قابل تازهسازی نیست (Nick Craig-Wood)
- •
- S3
- •
- رفع کرش هنگام استفاده از --s3-download-url پس از مهاجرت به SDKv2 (Nick Craig-Wood)
- •
- ارائهدهندهٔ Storj: رفع مشکل کپی سمت سرور فایلهای بزرگتر از 5GB (Kaloyan Raev)
- •
- رفع بارگذاریهای چندبخشی چندمستأجری (multitenant) با CEPH (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.68.0...v1.68.1)
- •
- رفع اشکالها
- •
- build: رفع اشکال ساخت نسخه انتشار docker (ttionya)
- •
- اصلاحات مستندات (Nick Craig-Wood, Pawel Palucha)
- •
- fs
- •
- رفع اشکال عدم نمایش همیشگی --dump filters (Nick Craig-Wood)
- •
- رفع اشکال مقداردهی مقادیر پیکربندی stringArray از متغیرهای محیطی (Nick Craig-Wood)
- •
- rc: اصلاح مقدار پیشفرض --metrics-addr (Nick Craig-Wood)
- •
- serve docker: افزودن گزینه جاافتاده vfs-read-chunk-streams در درایور حجم docker (Divyam)
- •
- Onedrive
- •
- رفع پیام خطای کاذب اشکالزدایی "Couldn't decode error response: EOF" (Nick Craig-Wood)
- •
- Pikpak
- •
- رفع مشکل ورود به سیستم هنگام شکست در دریافت توکن (wiserain)
- •
- S3
- •
- رفع مشکل نادیده گرفتن اعتبارنامههای ایستا توسط rclone هنگامی که env_auth=true باشد (Nick Craig-Wood)
v1.68.0 - 2024-09-08
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.67.0...v1.68.0)
- •
- بکاندهای جدید
- •
- Files.com (Sam Harrison)
- •
- Gofile (https://rclone.org/gofile) (Nick Craig-Wood)
- •
- Pixeldrain (https://rclone.org/pixeldrain) (Fornax)
- •
- بکاندهای تغییریافته
- •
- بکاند S3 (https://rclone.org/s3) برای استفاده از AWS SDKv2 (https://github.com/aws/aws-sdk-go-v2) بهروزرسانی شد، زیرا پشتیبانی از نسخه ۱ به پایان رسیده است.
- •
- ماتریس ارائهدهندگان و روشهای احراز هویت بسیار وسیع است و ممکن است در ترکیبهای نامتعارف مشکلاتی وجود داشته باشد.
- •
- لطفاً مشکلات را در قالب یک گزارش جدید (issue) در گیتهاب (https://github.com/rclone/rclone/issues/new/choose) مطرح کنید.
- •
- دستورهای جدید
- •
- دستور config encryption (https://rclone.org/commands/rclone_config_encryption): زیردستورهای set، remove و check برای مدیریت رمزنگاری فایل پیکربندی (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- build
- •
- ارتقا به go1.23 و تعیین go1.21 به عنوان حداقل نسخه مورد نیاز (Nick Craig-Wood)
- •
- بهروزرسانی تمام وابستگیها (Nick Craig-Wood)
- •
- غیرفعالسازی ساخت wasm/js به دلیل باگ شماره ۶۴۸۵۶ در go (https://github.com/golang/go/issues/64856) (Nick Craig-Wood)
- •
- فعالسازی قواعد بررسی کد (linting) سفارشی با ruleguard از طریق gocritic (albertony)
- •
- بهروزرسانی عبارتهای لاگگیری تا --use-json-log همیشه کار کند (albertony)
- •
- افزودن آزمونهای جدید کیفیت کد و اصلاح تبعات آن (albertony)
- •
- config
- •
- سازماندهی مجدد پیکربندی داخلی جهت سازگاری بیشتر و در دسترس قرار گرفتن آن از طریق rc (Nick Craig-Wood)
- •
- جلوگیری از ایجاد ریموتهایی با نام خالی از متغیرهای محیطی (albertony)
- •
- یکپارچهتر کردن فهرستبندی ریموتها (albertony)
- •
- یکپارچهتر کردن دریافت مقادیر پیکربندی (albertony)
- •
- استفاده از --password-command برای تنظیم گذرواژه فایل پیکربندی در صورت ارائه شدن (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, crystalstall, David Seifert, Eng Zer Jun, Ernie Hershey, Florian Klink, John Oxley, kapitainsky, Mathieu Moreau, Nick Craig-Wood, nipil, Pétr Bozsó, Russ Bubley, Sam Harrison, Thearas, URenko, Will Miles, yuval-cloudinary)
- •
- fs: مجاز بودن استفاده از نقطهویرگول علاوه بر فاصله در تجزیه جدول زمانی --bwlimit (Kyle Reynolds)
- •
- help
- •
- دستور راهنمای پرچمهای سراسری اکنون از فیلتر الگو (glob) پشتیبانی میکند (albertony)
- •
- کاهش آشفتگی و خلوتتر کردن خروجی دستور راهنما (albertony)
- •
- lib/encoder: افزودن کدگذاری Raw برای استفاده در مواقعی که به هیچ کدگذاریای نیاز نیست، مانند --local-encoding Raw (URenko)
- •
- listremotes: افزودن گزینههایی برای فیلتر کردن، مرتبسازی و خروجی json (albertony)
- •
- nfsmount
- •
- کارکرد پرچم --sudo برای umount به همراه mount (Nick Craig-Wood)
- •
- افزودن گزینه -o tcp به گزینههای اتصال NFS برای رفع اشکال اتصال در لینوکس (Nick Craig-Wood)
- •
- operations: copy: تولید پسوند پایدار برای بخشهای ناقص (Georg Welzel)
- •
- rc
- •
- افزودن فراخوانی options/info (https://rclone.org/rc/#options-info) جهت شمارش گزینهها (Nick Craig-Wood)
- •
- افزودن پارامتر بلوکهای گزینه به options/get (https://rclone.org/rc/#options-get) و options/info (Nick Craig-Wood)
- •
- افزودن vfs/queue (https://rclone.org/rc/#vfs-queue) برای نمایش وضعیت صف بارگذاری (Nick Craig-Wood)
- •
- افزودن vfs/queue-set-expiry (https://rclone.org/rc/#vfs-queue-set-expiry) جهت تنظیم انقضای موارد در صف VFS (Nick Craig-Wood)
- •
- افزودن گزینه --unix-socket به دستور rc (Florian Klink)
- •
- جلوگیری از ارسال پیام sd-notify حاوی STOPPING=1 توسط دستور unmount در rc (AThePeanut4)
- •
- rcserver: پیادهسازی معیارهای prometheus (https://rclone.org/docs/#metrics) روی یک درگاه اختصاصی (Oleg Kunitsyn).IP • 2 serve dlna
- •
- همچنین بررسی زیرپوشهٔ "Subs" (Florian Klink)
- •
- نادیدهنگرفتن video.{idx,sub} (Florian Klink)
- •
- تنظیم نوع mime صحیحتر (Florian Klink)
- •
- serve nfs
- •
- پیادهسازی کَش روی دیسک برای دستگیرههای فایل انتخابشده با --nfs-cache-type (Nick Craig-Wood)
- •
- افزودن ردگیری به فراخوانیهای سامانه فایل (Nick Craig-Wood)
- •
- پوشاندن خطای پیادهسازینشده از chmod (Nick Craig-Wood)
- •
- یکپارچهسازی بهتر ثبت وقایع کتابخانهٔ nfs با ثبت وقایع rclone (Nick Craig-Wood)
- •
- رفع شناسهٔ کاربر و شناسهٔ گروه نادرست صادرشده به NFS (Nick Craig-Wood)
- •
- serve s3
- •
- پیادهسازی --auth-proxy (Sawjan Gurung)
- •
- ارتقا به AWS SDKv2 با بهروزرسانی github.com/rclone/gofakes3 (Nick Craig-Wood)
- •
- رفع باگها
- •
- bisync: رفع مشکلات زمان همگامسازی با بکاندهایی که زمان را گرد میکنند (مانند Dropbox) (nielash)
- •
- serve dlna: رفع خطای panic: invalid argument to Int63n (Nick Craig-Wood)
- •
- VFS
- •
- افزودن --vfs-read-chunk-streams (https://rclone.org/commands/rclone_mount/#vfs-read-chunk-streams-0-1) برای خواندن موازی تکهها از فایلها (Nick Craig-Wood)
- •
- این قابلیت میتواند کارایی mount را در پیوندهایی با پهنای باند بالا یا تأخیر زیاد افزایش دهد
- •
- رفع مشکل کدگذاری کَش با نویسههای خاص (URenko)
- •
- Local
- •
- رفع مشکل کدگذاری مسیر ریشه (URenko)
- •
- افزودن کپی سمت سرور (با استفاده از clone) همراه با xattrs در macOS (nielash)
- •
- گزینهٔ --local-no-clone برای غیرفعالکردن کلون در رونوشتهای سمت سرور (nielash)
- •
- پشتیبانی از تنظیم --metadata سفارشی در حین Copy سمت سرور (nielash)
- •
- Azure Blob
- •
- امکان دسترسی ناشناس برای منابع عمومی (Nick Craig-Wood)
- •
- B2
- •
- گنجاندن هدرهای سفارشی بارگذاری در اطلاعات فایلهای بزرگ (Pat Patterson)
- •
- Drive
- •
- رفع مشکل کپی کردن Google Docs به بکاندی که فقط از SHA1 پشتیبانی میکند (Nick Craig-Wood)
- •
- Fichier
- •
- رفع تشخیص خطای Flood Detected (Nick Craig-Wood)
- •
- رفع مشکل جابهجایی سمت سرور (Nick Craig-Wood)
- •
- HTTP
- •
- بارگذاری مجدد گواهیهای کلاینت در زمان انقضا (Saleh Dindar)
- •
- پشتیبانی از شنود روی FDهای ارائهشده (Florian Klink)
- •
- Jottacloud
- •
- رفع مشکل تنظیم متادیتا در جابهجایی سمت سرور (albertony)
- •
- Onedrive
- •
- رفع خطای اشارهگر nil هنگام بارگذاری فایلهای کوچک (Nick Craig-Wood)
- •
- Pcloud
- •
- پیادهسازی SetModTime (Georg Welzel)
- •
- پیادهسازی قابلیت OpenWriterAt برای فعالسازی بارگذاریهای چندبخشی (Georg Welzel)
- •
- رفع شکست بارگذاری فایلهای بزرگ (Georg Welzel)
- •
- Pikpak
- •
- بهبود سازگاری دادهها با اطمینان از تکمیل وظایف ناهمگام (wiserain)
- •
- پیادهسازی هش سفارشی برای جایگزینی sha1 نادرست (wiserain)
- •
- رفع خطا در دستور copyto (wiserain)
- •
- بهینهسازی جابهجایی فایل با حذف فراخوانی غیرضروری readMetaData() (wiserain)
- •
- محاسبهٔ بدون بافر هش برای فایلهای مبدأ محلی (wiserain)
- •
- بهینهسازی بارگذاری با واکشی اولیهٔ gcid از API (wiserain)
- •
- اصلاح پیشرفت انتقال فایل برای بارگذاریهای مبتنی بر هش (wiserain)
- •
- بهروزرسانی برای استفاده از AWS SDK v2 (wiserain)
- •
- S3
- •
- بهروزرسانی برای استفاده از AWS SDK v2 (Nick Craig-Wood)
- •
- افزودن --s3-sdk-log-mode برای واپایش اشکالزدایی SDKv2 (Nick Craig-Wood)
- •
- رفع ناحیهٔ نادرست برای ارائهدهندهٔ Magalu (Filipe Herculano)
- •
- امکان بازیابی از کلاس ذخیرهسازی intelligent-tiering (Pawel Palucha)
- •
- SFTP
- •
- استفاده از uint32 برای mtime بهمنظور صرفهجویی در حافظه (Tomasz Melcer)
- •
- نادیدهگرفتن خطاهای غیرضروری هنگام بستن استخر اتصالات (Nick Craig-Wood)
- •
- پشتیبانی از شنود روی FDهای ارائهشده (Florian Klink) Swift
- •
- افزودن راهحلهای موقت برای فهرستبندیهای نادرست در Ceph RGW (Paul Collins)
- •
- افزودن اطلاعات فضای کل/آزاد در دستور about. (fsantagostinobietti)
- •
- Ulozto
- •
- رفع بارگذاری فایلهای بزرگتر از ۲ گیگابایت در پلتفرمهای ۳۲ بیتی (Tobias Markus)
- •
- WebDAV
- •
- افزودن --webdav-unix-socket-path برای اتصال به یک سوکت یونیکس (Florian Klink)
- •
- Yandex
- •
- پیادهسازی user agent سفارشی برای کمک به سرعتهای بارگذاری (Sebastian Bünger)
- •
- Zoho
- •
- رفع ناکارآمدیهای بارگذاری با API جدید جهت جلوگیری از throttling (Nick Craig-Wood)
v1.67.0 - 2024-06-14
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.66.0...v1.67.0)
- •
- بکاندهای جدید
- •
- uloz.to (https://rclone.org/ulozto) (iotmaestro)
- •
- ارائهدهندگان جدید S3
- •
- Magalu Object Storage (https://rclone.org/s3/#magalu) (Bruno Fernandes)
- •
- دستورهای جدید
- •
- gitannex (https://rclone.org/commands/rclone_gitannex): امکان ذخیره و بازیابی محتوا از یک ریموت rclone را برای git-annex فراهم میکند (Dan McArdle)
- •
- ویژگیهای جدید
- •
- accounting: افزودن مجموع حجم فایلهای حذفشده به خط خلاصه وضعیت (Kyle Reynolds)
- •
- build
- •
- رفع CVE-2023-45288 با ارتقای golang.org/x/net (Nick Craig-Wood)
- •
- رفع CVE-2024-35255 با ارتقای github.com/Azure/azure-sdk-for-go/sdk/azidentity به 1.6.0 (dependabot)
- •
- تبدیل پایان سطرهای فایلهای سورس از CRLF به LF (albertony)
- •
- بهروزرسانی تمام وابستگیها (Nick Craig-Wood)
- •
- بهروزرسانیهای مستندات (albertony, Alex Garel, Dave Nicolson, Dominik Joe Pantůček, Eric Wolf, Erisa A, Evan Harris, Evan McBeth, Gachoud Philippe, hidewrong, jakzoe, jumbi77, kapitainsky, Kyle Reynolds, Lewis Hook, Nick Craig-Wood, overallteach, pawsey-kbuckley, Pieter van Oostrum, psychopatt, racerole, static-moonlight, Warrentheo, yudrywet, yumeiyin )
- •
- ncdu: عدم خروج با فشردن کلید Esc جهت بهبود سهولت کاربری (Katia Esposito)
- •
- rcserver: تنظیم ModTime برای دایرکتوریها و فایلهای ارائهشده با --rc-serve (Nikita Shoshin)
- •
- رفع باگها
- •
- bisync: افزودن آزمونهای یکپارچهسازی در برابر تمام بکاندها و رفع ایرادات بسیار متعدد (nielash)
- •
- config: تصحیح مقدار پیشفرض برای description (Nick Craig-Wood)
- •
- copy: رفع خطای ارجاع به اشارهگر nil هنگام بروز خرابی داده در انتقال با مقصد (nil dst) تهی (nielash)
- •
- fs
- •
- بهبود پردازش JSON Unmarshalling برای انواع داده Duration (Kyle Reynolds)
- •
- بستن پروفایل CPU در هنگام خروج (guangwu)
- •
- جایگزینی /bin/bash با /usr/bin/env bash (Florian Klink)
- •
- oauthutil: پاک کردن client secret در صورت تنظیم بودن client ID (Michael Terry)
- •
- operations
- •
- بازنویسی rcat بهگونهای که --metadata-mapper را دو بار فراخوانی نکند (Nick Craig-Wood)
- •
- اطمینان از مقداردهی صحیح SrcFsType هنگام استفاده از --metadata-mapper (Nick Craig-Wood)
- •
- رفع خطای "optional feature not implemented" با یک باگ sftp رمزگذاریشده (Nick Craig-Wood)
- •
- رفع مشکل نامهای بسیار طولانی فایل هنگام استفاده از copy با --partial (Nick Craig-Wood)
- •
- رفع بارگیری حجم زیادی از داده در تلاشهای مجدد در برخی بکاندها (Nick Craig-Wood)
- •
- رفع مشکل move زمانی که dst برابر nil است و fdst غیرحساس به بزرگی و کوچکی حروف است (nielash)
- •
- رفع مشکل lsjson --encrypted هنگام استفاده از پارامترهای --crypt-XXX (Nick Craig-Wood)
- •
- رفع مشکل متادیتای مفقود در انتقالهای چندبخشی (multipart) به دیسک محلی (Nick Craig-Wood)
- •
- اصلاح modtime نادرست در برخی انتقالهای چندبخشی (Nick Craig-Wood)
- •
- رفع مشکل مقدار درهمسازی (hashing) در آزمونهای یکپارچهسازی (Nick Craig-Wood)
- •
- rc
- •
- رفع نادیده گرفته شدن گروههای آماری در operations/check (Nick Craig-Wood)
- •
- اصلاح مقدار نادرست هدر Content-Type در API تحت HTTP (Kyle Reynolds)
- •
- serve s3
- •
- اصلاح ساختار سرآیند Last-Modified (Butanediol)
- •
- رفع مشکل ذخیرهسازی modtime اشتباه در متادیتای مقیم حافظه (nielash)
- •
- اصلاح ساختار XML پیام خطا (Nick Craig-Wood)
- •
- serve webdav: اصلاح عملکرد webdav همراه با --baseurl در Windows (Nick Craig-Wood)
- •
- serve dlna: سازگارتر ساختن BrowseMetadata با استاندارد (albertony)
- •
- serve http: افزودن سرآیند Content-Length هنگام ارائه فهرست دایرکتوری بهصورت HTML (Sunny)
- •
- sync
- •
- عدم همگامسازی دایرکتوریها در صورتی که تغییر نیافته باشند (Nick Craig-Wood).IP • 2 عدم آزمایش خواندن متادیتا در صورت عدم امکان نوشتن آن (Nick Craig-Wood)
- •
- رفع مشکل نرمالسازی بزرگی و کوچکی حروف (مشکل در s3) (Nick Craig-Wood)
- •
- اصلاح مدیریت دایرکتوریهای خالی برای دقیقتر کردن آن (Nick Craig-Wood)
- •
- رفع مشکل ایجاد دایرکتوریهای خالی هنگام تنظیم --create-empty-src-dirs=false (Nick Craig-Wood)
- •
- رفع مشکل تنظیم نشدن زمانهای تغییر دایرکتوری (Nick Craig-Wood)
- •
- رفع خطای "failed to update directory timestamp or metadata: directory not found" (Nick Craig-Wood)
- •
- رفع انتظار SFTP برای داشتن متد MkdirMetadata: ویژگی اختیاری پیادهسازی نشده است (Nick Craig-Wood)
- •
- test info: بهبود پاکسازی فایلهای موقت (Kyle Reynolds)
- •
- touch: رفع مشکل استفاده از -R روی برخی بکاندها (Nick Craig-Wood)
- •
- Mount
- •
- افزودن پرچم --direct-io برای اجبار دسترسی بدون کَش (Nick Craig-Wood)
- •
- VFS
- •
- رفع حلقه بارگیری هنگام کاهش اندازه فایل (Nick Craig-Wood)
- •
- رفع مشکل تغییر نام دایرکتوری (nielash)
- •
- Local
- •
- افزودن --local-time-type برای استفاده از mtime/atime/btime/ctime به عنوان زمان (Nick Craig-Wood)
- •
- اجازه دادن به کارکرد SeBackupPrivilege و/یا SeRestorePrivilege روی ویندوز (Charles Hamilton)
- •
- Azure Blob
- •
- رفع مشکل کدگذاری در مقایسه مسیر دایرکتوری (nielash)
- •
- B2
- •
- افزودن دستورات بکاند جدید cleanup (https://rclone.org/b2/#cleanup) و cleanup-hidden. (Pat Patterson)
- •
- بهروزرسانی URLهای B2 به نشانی جدید (Nick Craig-Wood)
- •
- Chunker
- •
- رفع مشکل راهاندازی هنگامی که ریشه به فایل چندبخشی ترکیبی بدون متادیتا اشاره میکند (nielash)
- •
- رفع مقایسه غیرحساس به حروف کوچک و بزرگ روی سیستم محلی بدون متادیتا (nielash)
- •
- رفع خطای "finalizer already set" (nielash)
- •
- Drive
- •
- افزودن دستور بکاند query (https://rclone.org/drive/#query) برای پرسوجوی چندمنظوره فایلها (John-Paul Smith)
- •
- توقف ارسال ایمیلهای اعلان هنگام تنظیم مجوزها (Nick Craig-Wood)
- •
- رفع مشکل کپی سمت سرور با متادیتا از my drive به shared drive (Nick Craig-Wood)
- •
- تنظیم تمامی مجوزهای متادیتا و بازگرداندن خلاصه خطا به جای توقف در نخستین خطا (Nick Craig-Wood)
- •
- تبدیل خطاهای تنظیم مجوزها به خطاهای بدون تلاش مجدد (Nick Craig-Wood)
- •
- رفع مشکل بازنویسی توضیحات در هنگام جابهجاییهای سمت سرور (Nick Craig-Wood)
- •
- اجازه به ناموفق بودن تنظیم متادیتا در صورت تنظیم بودن پرچم failok (Nick Craig-Wood)
- •
- رفع خرابی مهلک (panic) هنگام استفاده از --metadata-mapper روی فایلهای بزرگ google doc (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن --dropbox-root-namespace برای لغو و بازنویسی فضای نام ریشه (Bill Fraser)
- •
- Google Cloud Storage
- •
- رفع مشکل کدگذاری در مقایسه مسیر دایرکتوری (nielash)
- •
- Hdfs
- •
- رفع مشکل عدم درج زیرمسیر در f.String() (nielash)
- •
- Http
- •
- افزودن --http-no-escape برای گریز ندادن متانویسههای URL در نامهای مسیر (Kyle Reynolds)
- •
- Jottacloud
- •
- تنظیم متادیتا در کپی و جابهجایی سمت سرور (albertony)
- •
- Linkbox
- •
- رفع مشکل کار با نامهای طولانیتر از ۸-۲۵ نویسه یونیکد. (Vitaly)
- •
- رفع صفحهبندی فهرست و همگامسازی بهینهشده. (gvitali)
- •
- Mailru
- •
- تلاش برای رفع کنترل نرخ مصرف (throttling) با افزایش حداقل زمان انتظار به 100ms (Nick Craig-Wood)
- •
- Memory
- •
- رفع تغییر داده شدن src توسط dst پس از کپی سمت سرور (nielash)
- •
- رفع بنبست در operations.Purge (nielash)
- •
- رفع ورودیهای نادرست فهرست هنگام قرار داشتن ریشه در یک زیردایرکتوری (nielash)
- •
- Onedrive
- •
- افزودن --onedrive-hard-delete برای حذف دائمی فایلها (Nick Craig-Wood)
- •
- عملکرد کپی سمت سرور در سناریوهای بیشتر (YukiUnHappy)
- •
- رفع خطاهای "unauthenticated: Unauthenticated" هنگام بارگیری (Nick Craig-Wood)
- •
- رفع مشکل دو بار فراخوانی شدن --metadata-mapper هنگام نوشتن مجوزها (nielash)
- •
- تنظیم تمامی مجوزهای متادیتا و بازگرداندن خلاصه خطا به جای توقف در نخستین خطا (nielash).IP • 2 تبدیل خطاهای تنظیم مجوزها به خطاهای بدون تلاش مجدد (Nick Craig-Wood)
- •
- صرفنظر از نوشتن مجوزها با نقش 'owner' (nielash)
- •
- رفع ارجاعات به ویژگیهای منسوخشدهی مجوزها (nielash)
- •
- افزودن پشتیبانی از مجوزهای گروهی (nielash)
- •
- مجاز دانستن شکست در تنظیم مجوزها در صورت تنظیم بودن پرچم failok (Nick Craig-Wood)
- •
- Pikpak
- •
- بهینهتر کردن استفاده از getFile() برای جلوگیری از رسیدن به محدودیت دانلود (wiserain)
- •
- بهبود پایداری بارگذاری و رفع تداخلات احتمالی فایل (wiserain)
- •
- پیادهسازی اندازه قطعات قابل پیکربندی برای بارگذاری چندبخشی (multipart) (wiserain)
- •
- Protondrive
- •
- عدم احراز هویت با توکن دسترسی خالی (Michał Dzienisiewicz)
- •
- Qingstor
- •
- غیرفعالسازی آزمونهای یکپارچگی به دلیل تعلیق حساب آزمایشی (Nick Craig-Wood)
- •
- Quatrix
- •
- رفع مشکل عدم گنجاندن زیرمسیر در f.String() (nielash)
- •
- S3
- •
- افزودن منطقه جدید AWS با شناسه il-central-1 در Tel Aviv (yoelvini)
- •
- بهروزرسانی گزینههای پیکربندی Scaleway (Alexandre Lavigne)
- •
- Ceph: رفع رفتارهای نامتعارف هنگام ساخت باکتها جهت رفع تلاش برای ساخت باکت از پیش موجود (Thomas Schneider)
- •
- رفع مشکل انکودینگ در مقایسه مسیر دایرکتوری (nielash)
- •
- رفع خطای 405 در درخواست HEAD برای نشانگر حذف (delete marker) دارای versionId (nielash)
- •
- اعتبارسنجی اندازه --s3-copy-cutoff پیش از کپی (hoyho)
- •
- SFTP
- •
- افزودن --sftp-connections برای محدود کردن حداکثر تعداد اتصالها (Tomasz Melcer)
- •
- Storj
- •
- بهروزرسانی storj.io/uplink به آخرین نسخه انتشاریافته (JT Olio)
- •
- بهروزرسانی bio طبق درخواست (Nick Craig-Wood)
- •
- Swift
- •
- پیادهسازی --swift-use-segments-container برای پشتیبانی از فایلهای >5G در Blomp (Nick Craig-Wood)
- •
- Union
- •
- رفع مشکل حذف دایرکتوریها زمانی که هیچکدام از ریموتها قابلیت داشتن دایرکتوری خالی را ندارند (Nick Craig-Wood)
- •
- WebDAV
- •
- رفع مشکل پاک شدن چکسامها هنگام تنظیم زمانهای تغییر در owncloud و nextcloud (nielash)
- •
- owncloud: افزودن --webdav-owncloud-exclude-mounts که امکان مستثنی کردن پوشههای متصلشده را هنگام فهرستکردن منابع ریموت فراهم میکند (Thomas Müller)
- •
- Zoho
- •
- رفع مشکل کنترل نرخ ارسال (throttling) هنگام بارگذاری فایلها (Nick Craig-Wood)
- •
- استفاده از فهرستبندی مبتنی بر مکاننما برای بهبود کارایی (Nick Craig-Wood)
- •
- تلاش مجدد برای خواندن اطلاعات پس از بارگذاری در صورت برگردانده نشدن اندازه (Nick Craig-Wood)
- •
- حذف پیچیدگی مربوط به نامهای ساده فایل که دیگر مورد نیاز نیست (Nick Craig-Wood)
- •
- توقف ۶۰ ثانیهای در صورت دریافت خطای محدودیت نرخ (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.65.0...v1.66.0)
- •
- ویژگیهای اصلی
- •
- اکنون rclone در صورت پشتیبانی بکاند، زمان تغییر دایرکتوری را همگامسازی میکند.
- •
- این قابلیت را میتوان با --no-update-dir-modtime (https://rclone.org/docs/#no-update-dir-modtime) غیرفعال کرد.
- •
- برای مشاهده اینکه کدام بکاندها از آن پشتیبانی میکنند، بررسی اجمالی (https://rclone.org/overview/#features) را ببینید و به دنبال پرچمهای D در ستون ModTime بگردید.
- •
- اکنون rclone در صورت استفاده از -M/--metadata و پشتیبانی بکاند، متادیتای دایرکتوری را همگامسازی میکند.
- •
- برای مشاهده اینکه کدام بکاندها از آن پشتیبانی میکنند، بررسی اجمالی (https://rclone.org/overview/#features) را ببینید و به دنبال پرچمهای D در ستون Metadata بگردید.
- •
- ابزار bisync بهروزرسانیهای متعددی دریافت کرده است؛ برای جزئیات بیشتر به بخشهای زیر یا تغییرات نوشت bisync (https://rclone.org/bisync/#changelog) مراجعه کنید.
- •
- بکاندهای حذفشده
- •
- amazonclouddrive: حذف کد و مستندات بکاند Amazon Drive (توسط Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- backend
- •
- افزودن فیلد توضیحات برای تمامی بکاندها (Paul Stern)
- •
- build
- •
- بهروزرسانی به go1.22 و تعیین go1.20 بهعنوان حداقل نسخه موردنیاز (Nick Craig-Wood)
- •
- رفع CVE-2024-24786 با ارتقای google.golang.org/protobuf (Nick Craig-Wood)
- •
- check: رعایت --no-unicode-normalization و --ignore-case-sync برای --checkfile (nielash)
- •
- cmd: بهبود چشمگیر تکمیل خودکار شل که حجم فایل تکمیل را کاهش داده و سریعتر کار میکند (Nick Craig-Wood)
- •
- بهروزرسانی مستندات (albertony, ben-ba, Eli, emyarod, huajin tong, Jack Provance, kapitainsky, keongalvin, Nick Craig-Wood, nielash, rarspace01, rzitzer, Tera, Vincent Murphy)
- •
- fs: افزودن گزارشگیری (لاگینگ) با جزئیات بیشتر برای include/exclude فایلها (Kyle Reynolds)
- •
- lsf
- •
- افزودن پرچم --time-format (nielash)
- •
- نمایش متادیتا برای دایرکتوریها (Nick Craig-Wood)
- •
- lsjson: نمایش متادیتا برای دایرکتوریها (Nick Craig-Wood)
- •
- rc
- •
- افزودن srcFs و dstFs به آمارهای core/stats و core/transferred (Nick Craig-Wood)
- •
- افزودن operations/hashsum به rc بهعنوان معادل rclone hashsum (Nick Craig-Wood)
- •
- افزودن config/paths به rc بهعنوان معادل rclone config paths (Nick Craig-Wood)
- •
- sync
- •
- گزارش اختیاری فهرست مسیرهای همگامسازیشده در فایل (nielash)
- •
- پیادهسازی همگامسازی دایرکتوری برای زمانهای تغییر و متادیتا (Nick Craig-Wood)
- •
- عدم تنظیم زمان تغییر دایرکتوری در صورت تنظیم بودن از قبل (nielash)
- •
- عدم همگامسازی زمان تغییر دایرکتوری از بکاندهایی که فاقد دایرکتوری هستند (Nick Craig-Wood)
- •
- رفع باگها
- •
- backend
- •
- پیادهسازی Shutdown در بکاندهایی که از oauth استفاده میکنند و خاموشسازی درست oauth (rkonfj)
- •
- bisync
- •
- مدیریت یکپارچه نرمالسازی یونیکد و بزرگی و کوچکی حروف (nielash)
- •
- مشکل شناختهشده بارگذاریهای ناقص روی local/ftp/sftp برطرف شد (مگر در صورت استفاده از --inplace) (nielash)
- •
- اصلاح مدیریت نرمالسازی یونیکد و عدم حساسیت به بزرگی و کوچکی حروف، پشتیبانی از --fix-case (https://rclone.org/docs/#fix-case)، --ignore-case-sync، --no-unicode-normalization (nielash)
- •
- ابزار bisync دیگر در یافتن فایل فهرست صحیح هنگامی که پیکربندیها با پرچمهای ویژه بکاند بازنویسی شدهاند، با خطا مواجه نمیشود. (nielash)
- •
- nfsmount
- •
- اصلاح خروج پس از unmount خارجی (nielash)
- •
- رفع مشکل نادیده گرفته شدن --volname (nielash)
- •
- operations
- •
- رفع مشکل تغییر نام فایل در macOS (nielash)
- •
- رفع جابهجاییهای غیرحساس به بزرگی و کوچکی حروف در operations.Move (nielash)
- •
- رفع TestCaseInsensitiveMoveFileDryRun در تستهای یکپارچگی chunker (nielash)
- •
- رفع آزمون TestMkdirModTime (Nick Craig-Wood)
- •
- رفع TestSetDirModTime برای بکاندهایی که دارای SetDirModTime هستند ولی فاقد Metadata میباشند (Nick Craig-Wood)
- •
- رفع غلط املایی در پیامهای لاگ (nielash)
- •
- serve nfs: رفع مشکل نوشتن فایلها از طریق Finder در macOS (nielash)
- •
- serve restic: اصلاح مدیریت خطا (Michael Eischer)
- •
- serve webdav: اصلاح --baseurl بدون / ابتدایی (Nick Craig-Wood)
- •
- stats: رفع شرایط رقابتی (race) بین ResetCounters و stopAverageLoop فراخوانیشده از time.AfterFunc (Nick Craig-Wood)
- •
- sync
- •
- پرچم --fix-case برای تغییر نام مقصد غیرحساس به بزرگی و کوچکی حروف (nielash)
- •
- استفاده از operations.DirMove بهجای sync.MoveDir برای --fix-case (nielash)
- •
- Mount
- •
- رفع مشکل عدم تشخیص خطاها در macOS هنگام استفاده از --daemon (Nick Craig-Wood)
- •
- تشخیص بسیار سریعتر متوقف شدن daemon (Nick Craig-Wood)
- •
- VFS
- •
- رفع مشکل نرمالسازی یونیکد در macOS (nielash)
- •
- Bisync
- •
- کپیها و حذفها اکنون بهجای دو عملیات، در یک عملیات انجام میشوند (nielash)
- •
- گزینههای --track-renames و --backup-dir اکنون پشتیبانی میشوند (nielash)
- •
- فهرستهای نهایی اکنون برای جلوگیری از نیاز به فهرستگیری مجدد، از نتایج sync ایجاد میشوند (nielash)
- •
- ابزار Bisync اکنون در برابر تغییراتی که در حین اجرای bisync رخ میدهند بسیار تابآورتر است و بسیار کمتر دچار خطاهای بحرانی یا تغییرات تشخیصدادهنشده میشود (nielash)
- •
- ابزار Bisync اکنون قادر است در موارد عدم قطعیت، فهرست فایل را بازگردانی کند؛ در واقع فایل را به عنوان نیازمند بررسی مجدد در دفعه بعد علامتگذاری میکند. (nielash)
- •
- چندین رنگ پایهای ترمینال اکنون پشتیبانی میشوند که با --color (https://rclone.org/docs/#color-autoneveralways) قابل کنترل هستند (AUTO|NEVER|ALWAYS) (nielash)
- •
- تصاویر لحظهای (snapshots) فهرست اولیه از Path1 و Path2 اکنون بهصورت همروند و با استفاده از همان زیرساخت "march" مانند check و sync ایجاد میشوند، جهت بهبود عملکرد و کاهش خطر خطا. (nielash)
- •
- گزینه --resync اکنون بسیار کارآمدتر شده است (بهویژه برای کاربران --create-empty-src-dirs) (nielash)
- •
- فایلهای Google Docs (و سایر فایلهای با اندازه نامشخص) اکنون پشتیبانی میشوند (با همان گزینههای موجود در sync) (nielash)
- •
- بررسیهای برابری پیش از تغییر نام ناشی از تداخل همگامسازی، اکنون در صورت در دسترس نبودن check، بهجای --size-only در صورت امکان به cryptcheck یا --download واگذار میشوند (fallback) (nielash)
- •
- ابزار Bisync اکنون بهطور کامل از مقایسه بر اساس هر ترکیبی از size، modtime و checksum پشتیبانی میکند و محدودیت قبلی در backendهای بدون پشتیبانی از modtime را برمیدارد. (nielash)
- •
- ابزار Bisync اکنون از حالت "Graceful Shutdown" برای لغو پاکیزه و زودهنگام یک اجرا بدون نیاز به --resync پشتیبانی میکند. (nielash)
- •
- پرچم جدید --recover امکان بازیابی پایدار در صورت بروز وقفه را بدون نیاز به --resync فراهم میکند. (nielash)
- •
- تنظیم جدید --max-lock امکان تمدید و انقضای خودکار فایلهای قفل را برای بازیابی خودکار بهتر هنگام بروز وقفه در اجرا فراهم میکند. (nielash)
- •
- ابزار Bisync اکنون از حل خودکار تداخلهای sync و شخصیسازی رفتار تغییر نام با پرچمهای جدید --conflict-resolve، --conflict-loser و --conflict-suffix پشتیبانی میکند. (nielash)
- •
- پرچم جدید --resync-mode امکان کنترل بیشتر روی اینکه کدام نسخه از یک فایل در طول یک --resync نگه داشته شود را فراهم میکند. (nielash)
- •
- ابزار Bisync اکنون از --retries (https://rclone.org/docs/#retries-int) و --retries-sleep (هنگامی که --resilient تنظیم شده باشد) پشتیبانی میکند. (nielash)
- •
- شفافسازی جهت عملیات فایل در لاگهای dry-run (Kyle Reynolds)
- •
- Local
- •
- رفع مشکل cleanRootPath در Windows پس از بهروزرسانی go1.21.4 stdlib (nielash)
- •
- پیادهسازی تنظیم زمان تغییر (modification time) روی دایرکتوریها (nielash)
- •
- پیادهسازی modtime و متادیتا برای دایرکتوریها (Nick Craig-Wood)
- •
- رفع مشکل تنظیم btime روی دایرکتوریها در Windows (Nick Craig-Wood)
- •
- حذف پیادهسازی backend از Purge برای افزایش سرعت و ثبت آمار (Nick Craig-Wood)
- •
- پشتیبانی از تنظیم و نگاشت متادیتا در Move سمت سرور (Nick Craig-Wood)
- •
- Cache
- •
- پیادهسازی تنظیم زمان تغییر روی دایرکتوریها (در صورت پشتیبانی توسط remote تحت پوشش) (nielash)
- •
- پیادهسازی تنظیم متادیتا روی دایرکتوریها (Nick Craig-Wood)
- •
- Crypt
- •
- پیادهسازی تنظیم زمان تغییر روی دایرکتوریها (در صورت پشتیبانی توسط remote تحت پوشش) (nielash)
- •
- پیادهسازی تنظیم متادیتا روی دایرکتوریها (Nick Craig-Wood)
- •
- بهبود مدیریت نامهای فایل غیرقابل رمزگشایی (nielash)
- •
- افزودن بررسی خطای جاافتاده که توسط linter شناسایی شد (Nick Craig-Wood)
- •
- Azure Blob
- •
- پیادهسازی --azureblob-delete-snapshots (Nick Craig-Wood)
- •
- B2
- •
- شفافسازی دقیق عملکرد --b2-download-auth-duration در مستندات (Nick Craig-Wood)
- •
- Chunker
- •
- پیادهسازی تنظیم زمان تغییر روی دایرکتوریها (در صورت پشتیبانی توسط remote تحت پوشش) (nielash)
- •
- پیادهسازی تنظیم متادیتا روی دایرکتوریها (Nick Craig-Wood)
- •
- Combine
- •
- پیادهسازی تنظیم زمان تغییر روی دایرکتوریها (در صورت پشتیبانی توسط remote تحت پوشش) (nielash)
- •
- پیادهسازی تنظیم متادیتا روی دایرکتوریها (Nick Craig-Wood)
- •
- رفع خطای متادیتای دایرکتوری در ریشه upstream (nielash)
- •
- رفع مشکل انتقال دایرکتوری در میان upstreamها (nielash)
- •
- Compress
- •
- پیادهسازی تنظیم زمان تغییر روی دایرکتوریها (در صورت پشتیبانی توسط remote تحت پوشش) (nielash)
- •
- پیادهسازی تنظیم متادیتا روی دایرکتوریها (Nick Craig-Wood)
- •
- Drive
- •
- پیادهسازی تنظیم modtime و متادیتا برای دایرکتوریها (Nick Craig-Wood)
- •
- پشتیبانی از تنظیم و نگاشت متادیتا در Move و Copy سمت سرور (Nick Craig-Wood)
- •
- FTP
- •
- رفع مشکل mkdir در rsftp که کد نادرست بازمیگرداند (Nick Craig-Wood)
- •
- Hasher
- •
- پیادهسازی تنظیم زمان تغییر برای دایرکتوریها (در صورت پشتیبانی ریموت پوششیافته) (nielash)
- •
- پیادهسازی تنظیم متادیتا برای دایرکتوریها (Nick Craig-Wood)
- •
- رفع خطای ناشی از تلاش برای توقف پایگاه دادهای که پیشتر متوقف شده است (nielash)
- •
- جستجو برای هش کششده در صورت خالی بودن غیرمنتظرهٔ هش ارائهشده (nielash)
- •
- Imagekit
- •
- بهروزرسانی مستندات و محتوای وب (Harshit Budhraja)
- •
- بهروزرسانی نمای کلی - عملیات پشتیبانیشده (Harshit Budhraja)
- •
- Mega
- •
- رفع panic در go1.22 (Nick Craig-Wood)
- •
- Netstorage
- •
- اصلاح متد Root برای بازگرداندن دایرکتوری صحیح هنگام اشاره به یک فایل (Nick Craig-Wood)
- •
- Onedrive
- •
- افزودن پشتیبانی از متادیتا (nielash)
- •
- Opendrive
- •
- رفع مشکل انتقال فایل/پوشه در همان دایرکتوری والد (nielash)
- •
- Oracle Object Storage
- •
- پشتیبانی از دستور backend restore (Nikhil Ahuja)
- •
- پشتیبانی از احراز هویت workload identity برای OKE (Anders Swanson)
- •
- Protondrive
- •
- اصلاح کدگذاری متد Root (Nick Craig-Wood)
- •
- Quatrix
- •
- اصلاح هدر Content-Range (Volodymyr)
- •
- افزودن گزینهای برای صرفنظر کردن از پوشههای پروژه (Oksana Zhykina)
- •
- اصلاح متد Root برای بازگرداندن دایرکتوری صحیح هنگام اشاره به یک فایل (Nick Craig-Wood)
- •
- S3
- •
- افزودن --s3-version-deleted جهت نمایش نشانگرهای حذف در فهرستها هنگام استفاده از نسخهبندی. (Nick Craig-Wood)
- •
- افزودن پشتیبانی از IPv6 با گزینهٔ --s3-use-dual-stack (Anthony Metzidis)
- •
- کپی موازی بخشها هنگام انجام کپی تکهای (chunked) در سمت سرور (Nick Craig-Wood)
- •
- ارائهدهندهٔ GCS: رفع مشکل کپی سمت سرور برای فایلهای بزرگتر از 5G (Nick Craig-Wood)
- •
- پشتیبانی از تنظیم و نگاشت متادیتا در Copy سمت سرور (Nick Craig-Wood)
- •
- Seafile
- •
- رفع خطای دانلود/آپلود هنگامی که FILE_SERVER_ROOT نسبی است (DanielEgbers)
- •
- اصلاح متد Root برای بازگرداندن دایرکتوری صحیح هنگام اشاره به یک فایل (Nick Craig-Wood)
- •
- SFTP
- •
- پیادهسازی تنظیم زمان تغییر برای دایرکتوریها (nielash)
- •
- تنظیم پرچم بهروزرسانی modtimeهای دایرکتوری هنگام نوشتن (Nick Craig-Wood)
- •
- کاهش تأخیر انتظار برای باینریهای خارجی ssh با توجه به استفاده از go1.20 (Nick Craig-Wood)
- •
- Swift
- •
- جلوگیری از بررسی غیرضروری نسخهبندی کانتینر (Joe Cai)
- •
- Union
- •
- پیادهسازی تنظیم زمان تغییر برای دایرکتوریها (در صورت پشتیبانی ریموت پوششیافته) (nielash)
- •
- پیادهسازی تنظیم متادیتا برای دایرکتوریها (Nick Craig-Wood)
- •
- WebDAV
- •
- کاهش اولویت لاگهای مربوط به آپلود تکهها (chunks) (Gabriel Ramos)
- •
- owncloud: افزودن پیکربندی owncloud_exclude_shares جهت مستثنی کردن فایلها و پوشههای اشتراکی هنگام فهرستکردن منابع ریموت (Thomas Müller)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.65.1...v1.65.2)
- •
- رفع باگها
- •
- build: ارتقای github.com/cloudflare/circl از 1.3.6 به 1.3.7 (dependabot)
- •
- بهروزرسانیهای مستندات (Nick Craig-Wood, kapitainsky, nielash, Tera, Harshit Budhraja)
- •
- VFS
- •
- رفع مشکل دادههای کهنه هنگام استفاده از --vfs-cache-mode full (Nick Craig-Wood)
- •
- Azure Blob
- •
- مهم رفع باگ خرابی دادهها - مشاهده #7590 (https://github.com/rclone/rclone/issues/7590) (Nick Craig-Wood)
v1.65.1 - 2024-01-08
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.65.0...v1.65.1)
- •
- رفع باگها
- •
- build
- •
- ارتقای golang.org/x/crypto برای رفع آسیبپذیری ssh terrapin CVE-2023-48795 (dependabot)
- •
- بهروزرسانی به go1.21.5 برای رفع مشکلات مسیرهای Windows (Nick Craig-Wood)
- •
- رفع مشکل ساخت docker در arm/v6 (Nick Craig-Wood)
- •
- install.sh: رفع پیام خطای بیضرر هنگام نصب (Nick Craig-Wood)
- •
- accounting: رفع آمار جهت نمایش انتقالهای سمت سرور (Nick Craig-Wood)
- •
- اصلاحات مستندات (albertony, ben-ba, Eli Orzitzer, emyarod, keongalvin, rarspace01)
- •
- nfsmount: کامپایل برای همه سیستمعاملهای unix، افزودن --sudo و رفع مدیریت خطا/گزینهها (Nick Craig-Wood)
- •
- operations: رفع مشکلی که فایلهای جابهجاشده با rclone move بهعنوان انتقال شمرده نمیشدند (Nick Craig-Wood)
- •
- oauthutil: جلوگیری از panic هنگامی که *token و *ts.token یکسان هستند (rkonfj)
- •
- serve s3: رفع اشکالات و رفتارهای غیرعادی در فهرستگیری (Nick Craig-Wood)
- •
- VFS
- •
- ذکر این نکته که --vfs-refresh در پسزمینه اجرا میشود (Nick Craig-Wood)
- •
- Azurefiles
- •
- رفع url پایه فضای ذخیرهسازی (Oksana)
- •
- Crypt
- •
- رفع مشکل حذف فایل در صورت اجرای rclone move روی همان فایل (Nick Craig-Wood)
- •
- Chunker
- •
- رفع مشکل حذف فایل در صورت اجرای rclone move روی همان فایل (Nick Craig-Wood)
- •
- Compress
- •
- رفع مشکل حذف فایل در صورت اجرای rclone move روی همان فایل (Nick Craig-Wood)
- •
- Dropbox
- •
- رفع محاسبه فضای مصرفی در حسابهای تیمی dropbox (Nick Craig-Wood)
- •
- FTP
- •
- رفع کپی چندنخی (WeidiDeng)
- •
- Googlephotos
- •
- رفع خطای اشارهگر nil هنگام شکست پردازش دستهای (Nick Craig-Wood)
- •
- Hasher
- •
- رفع مشکل حذف فایل در صورت اجرای rclone move روی همان فایل (Nick Craig-Wood)
- •
- رفع خطای نشانی حافظه نامعتبر هنگامی که MaxAge == 0 است (nielash)
- •
- Onedrive
- •
- رفع خطا در فهرستگیری: نوع شیء ناشناخته <nil> (Nick Craig-Wood)
- •
- رفع خطاهای "unauthenticated: Unauthenticated" هنگام بارگذاری (Nick Craig-Wood)
- •
- Oracleobjectstorage
- •
- رفع اندپوینت object storage برای اندپوینتهای سفارشی (Manoj Ghosh)
- •
- ایجاد باکت در Multipart copy در صورت عدم وجود آن. (Manoj Ghosh)
- •
- Protondrive
- •
- رفع CVE-2023-45286 / GHSA-xwh9-gc39-5298 (Nick Craig-Wood)
- •
- S3
- •
- رفع کرش در صورت نبود UploadId در بارگذاری چندبخشی (Nick Craig-Wood)
- •
- Smb
- •
- رفع مشکل فهرست نشدن اشتراکها با بهروزرسانی go-smb2 (halms)
- •
- Union
- •
- رفع مشکل حذف فایل در صورت اجرای rclone move روی همان فایل (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.64.0...v1.65.0)
- •
- بکاندهای جدید
- •
- Azure Files (karan, moongdal, Nick Craig-Wood)
- •
- ImageKit (Abhinav Dhiman)
- •
- Linkbox (viktor, Nick Craig-Wood)
- •
- دستورهای جدید
- •
- serve s3: امکان عمل کردن rclone به عنوان یک سرور سازگار با S3 (Mikubill, Artur Neumann, Saw-jan, Nick Craig-Wood)
- •
- nfsmount: دستور mount جهت فراهم کردن سازوکار سوار کردن در macOS بدون FUSE (Saleh Dindar)
- •
- serve nfs: سرویسدهی یک ریموت جهت استفاده توسط nfsmount (Saleh Dindar)
- •
- ویژگیهای جدید
- •
- install.sh: پاکسازی فایلهای موقت در اسکریپت نصب (Jacob Hands)
- •
- ساخت
- •
- بهروزرسانی تمام وابستگیها (Nick Craig-Wood)
- •
- بازسازی مدیریت اطلاعات نسخه و منابع آیکون در windows (albertony)
- •
- بهروزرسانیهای مستندات (albertony, alfish2000, asdffdsazqqq, Dimitri Papadopoulos, Herby Gillot, Joda Stößer, Manoj Ghosh, Nick Craig-Wood)
- •
- پیادهسازی --metadata-mapper برای تبدیل فراداده با استفاده از یک برنامه ارائهشده توسط کاربر (Nick Craig-Wood)
- •
- افزودن پرچم قابلیت ChunkWriterDoesntSeek و تنظیم آن برای b2 (Nick Craig-Wood)
- •
- lib/http: برونریزی توابع پایهای رشته در go جهت استفاده در --template (Gabriel Espinoza)
- •
- makefile: استفاده از آرگومانهای نصب سازگار با POSIX (Mina Galić)
- •
- عملیاتها
- •
- مصرف حافظه کمتر هنگام انجام آپلودهای چندرشتهای (Nick Craig-Wood)
- •
- پیادهسازی --partial-suffix برای کنترل پسوند نام فایلهای موقت (Volodymyr)
- •
- rc
- •
- افزودن operations/check به API مربوط به rc (Nick Craig-Wood)
- •
- گزارش همیشگی خطاها به صورت JSON (Nick Craig-Wood)
- •
- تنظیم سرایند Last-Modified برای فایلهای ارائهشده توسط --rc-serve (Nikita Shoshin)
- •
- size: عدم نمایش تعداد اشیای تکراری هنگامی که کمتر از 1k باشد (albertony)
- •
- رفع باگها
- •
- fshttp: رفع نادیده گرفته شدن --contimeout (你知道未来吗)
- •
- march: رفع موازیسازی بیشازحد در صورت استفاده از --no-traverse (Nick Craig-Wood)
- •
- ncdu: رفع خرابی هنگام ورود مجدد به پوشه تغییریافته پس از اسکن دوباره (Nick Craig-Wood)
- •
- عملیاتها
- •
- رفع رونویسی در مقصد هنگام شکست انتقال چندرشتهای (Nick Craig-Wood)
- •
- رفع خطای UTF-8 نامعتبر هنگام کوتاهسازی نام فایلها در زمان عدم استفاده از --inplace (Nick Craig-Wood)
- •
- serve dnla: رفع خرابی هنگام خروج مرتب (graceful exit) (wuxingzhong)
- •
- Mount
- •
- غیرفعالسازی mount برای freebsd و ایجاد نام مستعار cmount به عنوان mount در آن پلتفرم (Nick Craig-Wood)
- •
- VFS
- •
- افزودن پرچم --vfs-refresh جهت خواندن تمام پوشهها در هنگام راهاندازی (Beyond Meat)
- •
- پیادهسازی متد Name() در WriteFileHandle و ReadFileHandle (Saleh Dindar)
- •
- افزودن وابستگی go-billy و اطمینان از پیادهسازی billy.File توسط vfs.Handle (Saleh Dindar)
- •
- خروج زودهنگام با خطا در صورت عدم امکان آپلود فایل با طول صفر (Nick Craig-Wood)
- •
- Local
- •
- رفع مشکل کپی کردن از Windows Volume Shadows (Nick Craig-Wood)
- •
- Azure Blob
- •
- افزودن پشتیبانی از لایه دسترسی سرد (cold tier) (Ivan Yanitra)
- •
- B2
- •
- پیادهسازی "rclone backend lifecycle" برای خواندن و تنظیم چرخه حیات باکتها (Nick Craig-Wood)
- •
- پیادهسازی --b2-lifecycle برای کنترل چرخه حیات در هنگام ساخت باکتها (Nick Craig-Wood)
- •
- رفع مشکل فهرست کردن همه باکتها در زمانی که نیازی به آن نیست (Nick Craig-Wood)
- •
- رفع مشکل آپلود چندرشتهای با copyto که به نام اشتباهی ارسال میشد (Nick Craig-Wood)
- •
- رفع کپی تکهتکهشده سمت سرور زمانی که اندازه فایل دقیقاً برابر با --b2-copy-cutoff بود (Nick Craig-Wood)
- •
- رفع مشکل جریاندهی فایلهای تکهتکهشدهای که دقیقاً مضربی از اندازه تکه بودند (Nick Craig-Wood)
- •
- Box
- •
- فیلتر کردن EventIDهای بیشتر هنگام نظرسنجی (David Sze)
- •
- افزودن لاگهای بیشتر برای فرآیند نظرسنجی (David Sze)
- •
- رفع مشکل کارایی هنگام خواندن فراداده برای تکفایلها (Nick Craig-Wood)
- •
- Drive
- •
- افزودن پشتیبانی از خواندن/نوشتن فراداده (Nick Craig-Wood)
- •
- افزودن پشتیبانی از چکسامهای SHA-1 و SHA-256 (rinsuki)
- •
- افزودن --drive-show-all-gdocs جهت امکان کپی سمت سرور برای فایلهای gdocs غیرقابل صدور (Nick Craig-Wood)
- •
- افزودن یادداشتی مبنی بر اینکه --drive-scope فهرستی جداشده با کاما از scopeها را میپذیرد (Keigo Imai)
- •
- رفع خطا هنگام بهروزرسانی فراداده زمان ایجاد روی شیء موجود (Nick Craig-Wood) رفع مشکل آزمونهای یکپارچهسازی با فعالسازی پشتیبانی از فراداده از context (Nick Craig-Wood)
- •
- Dropbox
- •
- تفکیک batcher به درون lib/batcher (Nick Craig-Wood)
- •
- رفع مشکل نبود کدگذاری برای rclone purge (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- رفع خطاهای 400 Bad request هنگام استفاده از کپی چندنخی (Nick Craig-Wood)
- •
- Googlephotos
- •
- پیادهسازی batcher برای بارگذاریها (Nick Craig-Wood)
- •
- Hdfs
- •
- افزودن پشتیبانی از فهرستی از namenodeها در پیکربندی ریموت hdfs (Tayo-pasedaRJ)
- •
- HTTP
- •
- پیادهسازی دستور set backend برای بهروزرسانی backend در حال اجرا (Nick Craig-Wood)
- •
- فعالسازی متدهای مورد استفاده با WebDAV (Alen Šiljak)
- •
- Jottacloud
- •
- افزودن پشتیبانی از خواندن و نوشتن فراداده (albertony)
- •
- Onedrive
- •
- پیادهسازی متد ListR که پشتیبانی از --fast-list را فراهم میکند (Nick Craig-Wood)
- •
- این قابلیت باید با پرچم --onedrive-delta فعال شود
- •
- Quatrix
- •
- افزودن پشتیبانی از بارگذاری جزئی (Oksana Zhykina)
- •
- بازنویسی فایلها در صورت بروز تداخل هنگام جابهجایی سمت سرور (Oksana Zhykina)
- •
- S3
- •
- افزودن ارائهدهنده Linode (Nick Craig-Wood)
- •
- افزودن مستندات درباره نحوه افزودن یک ارائهدهنده جدید (Nick Craig-Wood)
- •
- رفع مشکل عدم بازگردانی خطا هنگام ایجاد باکتی که مالک آن نیستیم (Nick Craig-Wood)
- •
- ارسال پیام اشکالزدایی در صورت استفاده از اعتبارسنجی ناشناس (Nick Craig-Wood)
- •
- افزودن پرچم --s3-disable-multipart-uploads (Nick Craig-Wood)
- •
- تشخیص حلقه هنگام استفاده از gcs و نسخهها (Nick Craig-Wood)
- •
- SFTP
- •
- پیادهسازی --sftp-copy-is-hardlink برای کپی سمت سرور بهصورت پیوند سخت (hardlink) (Nick Craig-Wood)
- •
- Smb
- •
- رفع اندازه نادرست about با جابهجایی به انشعاب github.com/cloudsoda/go-smb2 (Nick Craig-Wood)
- •
- رفع زمان تغییر (modtime) بارگذاریهای چندنخی با تنظیم PartialUploads (Nick Craig-Wood)
- •
- WebDAV
- •
- افزودن ارائهدهنده rclone برای کار با rclone serve webdav (Adithya Kumar)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.64.1...v1.64.2)
- •
- رفع باگها
- •
- selfupdate: رفع خطای "invalid hashsum signature" (Nick Craig-Wood)
- •
- build: رفع مشکل کمبود فضای ذخیرهسازی در docker build (Nick Craig-Wood)
v1.64.1 - 2023-10-17
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.64.0...v1.64.1)
- •
- رفع باگها
- •
- cmd: هماهنگسازی قالب لاگهای خروجی --progress با حالت بدون آن (Nick Craig-Wood)
- •
- اصلاحات مستندات (Dimitri Papadopoulos Orfanos, Herby Gillot, Manoj Ghosh, Nick Craig-Wood)
- •
- lsjson: اطمینان از تنظیم پرچم سراسری متادیتا (Nick Craig-Wood)
- •
- operations
- •
- اطمینان از اینکه همزمانی بیشتر از تعداد تکهها (chunks) نباشد (Pat Patterson)
- •
- رفع نادیده گرفته شدن OpenOptions در copy در صورتی که عملیات از نوع multiThreadCopy باشد (Vitor Gomes)
- •
- اصلاح پیام خطای delete برای در بر داشتن نام فایل (Nick Craig-Wood)
- •
- serve sftp: بازگرداندن خطای پشتیبانینشده برای دستورهای پشتیبانینشده (Nick Craig-Wood)
- •
- build: ارتقای golang.org/x/net به v0.17.0 برای رفع آسیبپذیری HTTP/2 rapid reset (Nick Craig-Wood)
- •
- pacer: رفع بنبست (deadlock) در b2 با تنظیم پیشفرض حداکثر اتصالات به نامحدود (Nick Craig-Wood)
- •
- Mount
- •
- رفع عدم تشخیص آماده بودن درایو توسط automount (Nick Craig-Wood)
- •
- VFS
- •
- رفع اشکال بهروزرسانی زمان تغییر دایرکتوری (Saleh Dindar)
- •
- Azure Blob
- •
- رفع خطای "fatal error: concurrent map writes" (Nick Craig-Wood)
- •
- B2
- •
- رفع خطای multipart upload: corrupted on transfer: sizes differ XXX vs 0 (Nick Craig-Wood)
- •
- رفع پنجره قفلگذاری (locking window) هنگام دریافت URL بارگذاری چندبخشی (Nick Craig-Wood)
- •
- رفع اشکال کپیهای سمت سرور بزرگتر از 4 گیگابایت (Nick Craig-Wood)
- •
- رفع اشکال بارگذاریهای جریانی تکهای (chunked streaming uploads) (Nick Craig-Wood)
- •
- کاهش مقدار پیشفرض --b2-upload-concurrency به 4 جهت کاهش مصرف حافظه (Nick Craig-Wood)
- •
- Onedrive
- •
- اصلاح پیکربندیکننده برای مجاز شمردن /teams/ID در پیکربندی (Nick Craig-Wood)
- •
- Oracleobjectstorage
- •
- رفع نادیده گرفته شدن OpenOptions در uploadMultipart همراه با chunkWriter (Nick Craig-Wood)
- •
- S3
- •
- رفع خطای slice bounds out of range هنگام فهرستگیری (Nick Craig-Wood)
- •
- رفع نادیده گرفته شدن OpenOptions در uploadMultipart همراه با chunkWriter (Vitor Gomes)
- •
- Storj
- •
- بهروزرسانی storj.io/uplink به v1.12.0 (Kaloyan Raev)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.63.0...v1.64.0)
- •
- بکاندهای جدید
- •
- Proton Drive (https://rclone.org/protondrive) (Chun-Hung Tseng)
- •
- Quatrix (https://rclone.org/quatrix) (Oksana, Volodymyr Kit)
- •
- ارائهدهندگان جدید S3
- •
- Synology C2 (https://rclone.org/s3/#synology-c2) (BakaWang)
- •
- Leviia (https://rclone.org/s3/#leviia) (Benjamin)
- •
- ارائهدهندگان جدید Jottacloud
- •
- Onlime (https://rclone.org/jottacloud) (Fjodor42)
- •
- Telia Sky (https://rclone.org/jottacloud) (NoLooseEnds)
- •
- تغییرات عمده
- •
- انتقالهای چندرشتهای (Vitor Gomes, Nick Craig-Wood, Manoj Ghosh, Edwin Mackenzie-Owen)
- •
- انتقالهای چندرشتهای اکنون هنگام انتقال به مقصدهای زیر در دسترس هستند:
- •
- local، s3، azureblob، b2، oracleobjectstorage و smb
- •
- این قابلیت سرعت انتقال بین دو منبع شبکهای را تا حد زیادی بهبود میبخشد.
- •
- بافرسازی درون حافظه میان تمامی بکاندها یکپارچه شده است و حافظه را بهتر به اشتراک میگذارد.
- •
- برای اطلاعات بیشتر مستندات --multi-thread را ببینید (https://rclone.org/docs/#multi-thread-cutoff)
- •
- دستورهای جدید
- •
- سازوکار پشتیبانی از rclone config redacted برای نمایش پیکربندی پالایششده (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- accounting
- •
- نمایش آمار سمت سرور در خطوط اختصاصی و نه به صورت بایتهای منتقلشده (Nick Craig-Wood)
- •
- bisync
- •
- افزودن گزینه جدید --ignore-listing-checksum برای تمایز از --ignore-checksum (nielash)
- •
- افزودن حالت آزمایشی --resilient برای امکان بازیابی از خطاهای خوداصلاحشونده (nielash)
- •
- افزودن پشتیبانی از --create-empty-src-dirs (nielash)
- •
- اجراهای آزمایشی دیگر تغییرات فیلتر را اعمال نمیکنند (nielash)
- •
- اعمال اجباری --check-access در طول --resync (nielash)
- •
- اعمال صحیح فیلترها هنگام حذف (nielash)
- •
- بررسی برابری پیش از تغییر نام (دستنخورده باقی گذاشتن فایلهای یکسان) (nielash)
- •
- رفع نادیده گرفته شدن پارامتر rc با نام dryRun (nielash)
- •
- build
- •
- بهروزرسانی به go1.21 و تعیین go1.19 به عنوان حداقل نسخه مورد نیاز (Anagh Kumar Baranwal, Nick Craig-Wood)
- •
- بهروزرسانی وابستگیها (Nick Craig-Wood)
- •
- افزودن روش نصب با snap (hideo aoyama)
- •
- تغییر وظیفه Winget Releaser به ubuntu-latest (sitiom)
- •
- cmd: بازسازی ساختار و استفاده از sysdnotify در دستورهای بیشتر (eNV25)
- •
- config: افزودن گزینه --multi-thread-chunk-size (Vitor Gomes)
- •
- بهروزرسانی مستندات (antoinetran, Benjamin, Bjørn Smith, Dean Attali, gabriel-suela, James Braza, Justin Hellings, kapitainsky, Mahad, Masamune3210, Nick Craig-Wood, Nihaal Sangha, Niklas Hambüchen, Raymond Berger, r-ricci, Sawada Tsunayoshi, Tiago Boeing, Vladislav Vorobev)
- •
- fs
- •
- استفاده از نوعهای اتمیک در تمامی بخشها (Roberto Ricci)
- •
- خروج با کد (10) هنگام رسیدن به محدودیت --max-transfer (kapitainsky)
- •
- افزودن rclone completion powershell - فقط پیادهسازی اولیه (Nick Craig-Wood)
- •
- سرورهای http: امکان تنظیم CORS با گزینه --allow-origin (yuudi)
- •
- lib/rest: حذف بررسی غیرضروری nil (Eng Zer Jun)
- •
- ncdu: افزودن کلید میانبر برای پویش مجدد سیستم فایل (eNV25)
- •
- rc
- •
- افزودن executeId به فهرست وظایف (yuudi)
- •
- افزودن core/du برای سنجش فضای مصرفی دیسک محلی (Nick Craig-Wood)
- •
- افزودن operations/settier به API (Drew Stinnett)
- •
- rclone test info: افزودن گزینه --check-base32768 جهت بررسی امکان ذخیره تمام نویسههای base32768 (Nick Craig-Wood)
- •
- rmdirs: حذف همروند دایرکتوریها تحت مدیریت --checkers (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting: متوقف نکردن محاسبه میانگین سرعت انتقال تا زمان تکمیل عملیات (Jacob Hands)
- •
- fs: رفع مقداردهی نشدن transferTime در لاگهای JSON (Jacob Hands)
- •
- fshttp: رفع مشکل اجازه دادن IPv6 توسط --bind 0.0.0.0 و اجازه دادن IPv4 توسط --bind ::0 (Nick Craig-Wood)
- •
- operations: رفع بررسی همپوشانی در سیستم فایلهای غیرحساس به بزرگی و کوچکی حروف (Nick Craig-Wood)
- •
- serve dlna: رفع نوع MIME در صورت عدم توانایی بکاند در تشخیص آن (Nick Craig-Wood)
- •
- serve ftp: رفع وضعیت رقابتی هنگام استفاده از auth proxy (Nick Craig-Wood)
- •
- serve sftp: رفع محاسبات هش با --vfs-cache-mode full (Nick Craig-Wood)
- •
- serve webdav: رفع خطای: Expecting fs.Object or fs.Directory, got nil (Nick Craig-Wood)
- •
- sync: رفع قفل شدن با --cutoff-mode=soft و --max-duration (Nick Craig-Wood)
- •
- Mount
- •
- VFS
- •
- افزودن --vfs-cache-min-free-space جهت کنترل حداقل فضای خالی روی دیسک حاوی حافظه موقت (Nick Craig-Wood)
- •
- افزودن پاککننده حافظه موقت برای دایرکتوریها به منظور کاهش مصرف حافظه (Anagh Kumar Baranwal)
- •
- بهروزرسانی زمان تغییر دایرکتوری والد در عملیاتهای vfs (David Pedersen)
- •
- دقیق نگه داشتن وضعیت دایرکتوری مجازی و کاهش احتمال وقوع بنبست (Anagh Kumar Baranwal)
- •
- حصول اطمینان از همترازی فیلد struct برای دسترسی اتمیک (Roberto Ricci)
- •
- Local
- •
- بازگرداندن خطا توسط Rmdir در صورتی که مسیر یک دایرکتوری نباشد (zjx20)
- •
- Azure Blob
- •
- پیادهسازی OpenChunkWriter و بارگذاریهای چندرشتهای (Nick Craig-Wood)
- •
- اصلاح ایجاد نشانگرهای دایرکتوری (Nick Craig-Wood)
- •
- اصلاح پاکسازی با نشانگرهای دایرکتوری (Nick Craig-Wood)
- •
- B2
- •
- پیادهسازی OpenChunkWriter و بارگذاریهای چندرشتهای (Nick Craig-Wood)
- •
- اصلاح rclone link هنگامی که مسیر شیء شامل نویسههای خاص است (Alishan Ladhani)
- •
- Box
- •
- افزودن پشتیبانی از polling (David Sze)
- •
- افزودن --box-impersonate جهت جعل هویت یک شناسه کاربری (Nick Craig-Wood)
- •
- اصلاح رمزگشایی غیرمفید پیامهای خطا به اعداد دهدهی (Nick Craig-Wood)
- •
- Chunker
- •
- بهروزرسانی مستندات برای ذکر اشکال مربوط به فایلهای کوچک (Ricardo D'O. Albanus)
- •
- Compress
- •
- اصلاح ChangeNotify (Nick Craig-Wood)
- •
- Drive
- •
- افزودن --drive-fast-list-bug-fix برای کنترل راهحل میانبر باگ ListR (Nick Craig-Wood)
- •
- Fichier
- •
- پیادهسازی DirMove (Nick Craig-Wood)
- •
- اصلاح تجزیه کدهای خطا (alexia)
- •
- FTP
- •
- افزودن پشتیبانی socks_proxy برای پروکسیهای SOCKS5 (Zach)
- •
- اصلاح خطاهای 425 "TLS session of data connection not resumed" (Nick Craig-Wood)
- •
- Hdfs
- •
- تلاش مجدد هنگام مواجهه با خطاهای "replication in progress" در حین بارگذاری (Nick Craig-Wood)
- •
- اصلاح بارگذاری در شیء نادرست هنگام Update با نام ریموت جایگزینشده (Nick Craig-Wood)
- •
- HTTP
- •
- عدم ارسال CORS در صورت تنظیم نشدن (yuudi)
- •
- اصلاح پاسخ OPTIONS در webdav (yuudi)
- •
- Opendrive
- •
- اصلاح List روی دایرکتوریای که به تازگی حذف و مجدداً ایجاد شده است (Nick Craig-Wood)
- •
- Oracleobjectstorage
- •
- استفاده از محدودکننده نرخ انتقال rclone در انتقالهای چندبخشی (Manoj Ghosh)
- •
- پیادهسازی OpenChunkWriter و بارگذاریهای چندرشتهای (Manoj Ghosh)
- •
- S3
- •
- بازطراحی بارگذاری چندبخشی برای استفاده از OpenChunkWriter و ChunkWriter (Vitor Gomes)
- •
- انتقال بارگذاری چندبخشی عمومی به lib/multipart (Nick Craig-Wood)
- •
- اصلاح پاکسازی دایرکتوری ریشه با --s3-directory-markers (Nick Craig-Wood)
- •
- افزودن دستور rclone backend set جهت بهروزرسانی پیکربندی در حال اجرا (Nick Craig-Wood)
- •
- افزودن دستور rclone backend restore-status (Nick Craig-Wood)
- •
- SFTP
- •
- توقف استفاده مجدد بارگذاریها از اتصال ssh یکسان جهت بهبود عملکرد (Nick Craig-Wood)
- •
- افزودن --sftp-ssh جهت تعیین یک باینری ssh خارجی برای استفاده (Nick Craig-Wood)
- •
- افزودن پشتیبانی socks_proxy برای پروکسیهای SOCKS5 (Zach)
- •
- پشتیبانی پویا از --sftp-path-override (nielash)
- •
- اصلاح هشدار بیمورد هنگام استفاده از --sftp-ssh (Nick Craig-Wood)
- •
- Smb
- •
- پیادهسازی نوشتن چندرشتهای برای کپیها به smb (Edwin Mackenzie-Owen)
- •
- Storj
- •
- بهبود عملکرد بارگذاری فایلهای حجیم (Kaloyan Raev)
- •
- Swift
- •
- اصلاح ارسال درخواست HEAD برای اشیاء با اندازه ۰ در صورت تنظیم بودن --swift-no-large-objects (Julian Lepinski) Union
- •
- افزودن :writback برای عمل به عنوان یک کَش ساده (Nick Craig-Wood)
- •
- WebDAV
- •
- Nextcloud: رفع خطای segment violation در تلاش مجدد سطحپایین (low-level retry) (Paul)
- •
- Zoho
- •
- حذف راهحلهای موقت درخواستهای Range جهت رفع خطای آزمونهای یکپارچهسازی (Nick Craig-Wood)
v1.63.1 - 2023-07-17
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.63.0...v1.63.1)
- •
- رفع باگها
- •
- build: رفع خطای ساخت macos برای نسخههای < 12 (Anagh Kumar Baranwal)
- •
- dirtree: رفع مشکل کارایی در دایرکتوریهای بزرگ تودرتو و --fast-list (Nick Craig-Wood)
- •
- operations
- •
- رفع بنبست (deadlock) هنگام استفاده از lsd/ls به همراه --progress (Nick Craig-Wood)
- •
- رفع مشکل بازگردانده نشدن فایلهای .rclonelink به پیوندهای نمادین (Nick Craig-Wood)
- •
- اصلاحات مستندات (Dean Attali, Mahad, Nick Craig-Wood, Sawada Tsunayoshi, Vladislav Vorobev)
- •
- Local
- •
- رفع خواندن ناقص دایرکتوری برای سیستمفایلهای آسیبدیده (Nick Craig-Wood)
- •
- Box
- •
- رفع شکست اتصال مجدد با خطای HTTP 400 Bad Request (albertony)
- •
- Smb
- •
- رفع خطای "Statfs failed: bucket or container name is needed" هنگام سوار کردن (mount) (Nick Craig-Wood)
- •
- WebDAV
- •
- Nextcloud: رفع خطای must use /dav/files/USER endpoint not /webdav (Paul)
- •
- Nextcloud chunking: افزودن راهنمایی بیشتر به کاربر جهت بررسی پیکربندی (darix)
v1.63.0 - 2023-06-30
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.62.0...v1.63.0)
- •
- بکاندهای جدید
- •
- Pikpak (https://rclone.org/pikpak) (wiserain)
- •
- ارائهدهندگان جدید S3
- •
- petabox.io (https://rclone.org/s3/#petabox) (Andrei Smirnov)
- •
- Google Cloud Storage (https://rclone.org/s3/#google-cloud-storage) (Anthony Pessy)
- •
- ارائهدهندگان جدید WebDAV
- •
- Fastmail (https://rclone.org/webdav/#fastmail-files) (Arnavion)
- •
- تغییرات عمده
- •
- هنگام رونوشت به local، ftp و sftp، فایلها ابتدا به یک نام موقت با پسوند .partial رونوشت شده و سپس در انتهای انتقال تغییر نام داده میشوند. (Janne Hellsten, Nick Craig-Wood)
- •
- این امر به حفظ یکپارچگی دادهها کمک میکند، زیرا تا زمان تکمیل فایل جدید، فایل موجود حذف نمیشود.
- •
- این قابلیت را میتوان با پرچم --inplace (https://rclone.org/docs/#inplace) غیرفعال کرد.
- •
- این رفتار همچنین در صورت کپسولهسازی بکاند، برای مثال sftp پوششدادهشده با crypt، اعمال خواهد شد.
- •
- بکاندهای s3 (https://rclone.org/s3/#s3-directory-markers)، azureblob و gcs اکنون از نشانگرهای دایرکتوری پشتیبانی میکنند و در نتیجه دایرکتوریهای خالی پشتیبانی میشوند (Jānis Bebrītis, Nick Craig-Wood)
- •
- پرچم --default-time (https://rclone.org/docs/#default-time-time) اکنون زمان اصلاح نامشخص فایلها/دایرکتوریها را کنترل میکند (Nick Craig-Wood)
- •
- چنانچه فایل یا دایرکتوری دارای زمان اصلاح قابل خواندن برای rclone نباشد، rclone این زمان ثابت را به جای آن نمایش خواهد داد.
- •
- برای حفظ رفتار قبلی، از --default-time 0s استفاده کنید که این زمان را روی زمان راهاندازی rclone تنظیم میکند.
- •
- ویژگیهای جدید
- •
- build
- •
- مدرنسازی linterهای در حال استفاده و اصلاح تمام کدهای متأثر (albertony)
- •
- ارسال نسخه بتای docker به GHCR (GitHub container registry) (Richard Tweed)
- •
- cat: افزودن گزینه --separator به دستور cat (Loren Gordon)
- •
- config
- •
- عدم حذف یا بازنویسی سایر فایلها هنگام ذخیره فایل پیکربندی (albertony)
- •
- عدم رونویسی پیوند نمادین فایل پیکربندی (albertony)
- •
- جلوگیری از ایجاد فایلهای پیکربندی نامعتبر توسط config create (Nick Craig-Wood)
- •
- بهروزرسانیهای مستندات (Adam K, Aditya Basu, albertony, asdffdsazqqq, Damo, danielkrajnik, Dimitri Papadopoulos, dlitster, Drew Parsons, jumbi77, kapitainsky, mac-15, Mariusz Suchodolski, Nick Craig-Wood, NickIAm, Rintze Zelle, Stanislav Gromov, Tareq Sharafy, URenko, yuudi, Zach Kipp)
- •
- fs
- •
- افزودن size به لاگهای JSON هنگام جابهجایی یا رونوشت یک شیء (Nick Craig-Wood)
- •
- امکان فعالسازی قابلیتهای بولی با --disable !Feature (Nick Craig-Wood)
- •
- genautocomplete: تغییر نام به completion همراه با ایجاد یک نام مستعار برای نام قدیمی (Nick Craig-Wood)
- •
- librclone: افزودن مثالی از نحوه استفاده از librclone با Go (alankrit)
- •
- lsjson: بهینهتر کردن عملکرد --stat (Nick Craig-Wood)
- •
- operations
- •
- بازگشایی مجدد بارگیریها در زمان بروز خطا حین استفاده از check --download و cat (Nick Craig-Wood)
- •
- بخش rc: گنجاندن ریموتهای تعریفشده با متغیرهای محیطی در config/listremotes (kapitainsky)
- •
- دستور selfupdate: تبعیت از پرچم --no-check-certificate (Nick Craig-Wood)
- •
- دستور serve restic: فعالسازی اعلان systemd (Shyim)
- •
- دستور serve webdav: پیادهسازی افزونههای owncloud برای checksum و modtime (WeidiDeng)
- •
- دستور sync: حفظ پسوندهای دو بخشی مانند .tar.gz با استفاده از --suffix-keep-extension (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting
- •
- یکسانسازی معیارهای Prometheus با core/stats (Nick Craig-Wood)
- •
- گرداننده سیگنال Bwlimit همیشه باید آغاز به کار کند (Sam Lai)
- •
- بخش bisync: رفع نادیده گرفته شدن پارامتر maxDelete از طریق rc (Nick Craig-Wood)
- •
- بخش cmd/ncdu: رفع بههمریختگی صفحه نمایش هنگام ثبت وقایع (eNV25)
- •
- بخش filter: رفع بنبست (deadlock) ناشی از خطاها روی --files-from (douchen)
- •
- fs
- •
- رفع تداخل بین --progress و --interactive (Nick Craig-Wood)
- •
- رفع فراخوانی بازگشتی نامحدود در ModifyCalculator مربوط به pacer (رفع مشکل گزارششده توسط لینتر staticcheck) (albertony)
- •
- بخش lib/atexit: اطمینان از اینکه OnError تابع cancel را فقط یک بار فراخوانی کند (Nick Craig-Wood)
- •
- بخش lib/rest: رفع مشکلات استفاده مجدد از اتصالات HTTP (Nick Craig-Wood)
- •
- rc
- •
- اصلاح operations/stat با اسلش پایانی / (Nick Craig-Wood)
- •
- رفع مشکل پرچمهای مفقود --rc (Nick Craig-Wood)
- •
- اصلاح خروجی مقادیر Time در options/get (Nick Craig-Wood)
- •
- دستور serve dlna: رفع رقابت دادهای بالقوه (Nick Craig-Wood)
- •
- دستور version: اصلاح نسخه os/kernel گزارششده برای windows (albertony)
- •
- Mount
- •
- افزودن --mount-case-insensitive جهت اجبار نقطه اتصال به عدم حساسیت به حروف کوچک و بزرگ (Nick Craig-Wood)
- •
- حذف تخصیص بایت اسلایس غیرضروری برای خواندنها (Anagh Kumar Baranwal)
- •
- شفافسازی خطای mount در rclone هنگام نصب از طریق homebrew (Nick Craig-Wood)
- •
- افزودن _netdev به اتصال نمونه تا به عنوان remote-fs در نظر گرفته شود نه local-fs (Anagh Kumar Baranwal)
- •
- Mount2
- •
- بهروزرسانی نسخه go-fuse (Anagh Kumar Baranwal)
- •
- اصلاح statfs (Anagh Kumar Baranwal)
- •
- غیرفعالسازی xattrs (Anagh Kumar Baranwal)
- •
- VFS
- •
- افزودن تابع MkdirAll برای ساخت یک دایرکتوری و تمام زیرمجموعههای آن (Nick Craig-Wood)
- •
- رفع خطای reload: failed to add virtual dir entry: file does not exist (Nick Craig-Wood)
- •
- رفع مشکل نوشتن در دایرکتوری فقطخواندنی که منجر به ایجاد مدخلهای دایرکتوری کاذب میشد (WeidiDeng)
- •
- رفع رقابت دادهای بالقوه (Nick Craig-Wood)
- •
- رفع مشکل خاموش شدن (Shutdown) زودهنگام بکاندها هنگامی که راهاندازی زمان زیادی میبرد (Nick Craig-Wood)
- •
- Local
- •
- اصلاح پالایش پیوندهای نمادین با پرچم -l/--links (Nick Craig-Wood)
- •
- اصلاح /path/to/file.rclonelink هنگام استفاده از -l/--links (Nick Craig-Wood)
- •
- رفع فروپاشی ناشی از --metadata روی Android (Nick Craig-Wood)
- •
- Cache
- •
- رفع مشکل خاموش شدن بکاندهای در حال استفاده هنگام بهکارگیری از طریق rc (Nick Craig-Wood)
- •
- Crypt
- •
- افزودن گزینه --crypt-suffix برای تنظیم پسوند سفارشی فایلهای رمزگذاریشده (jladbrook)
- •
- افزودن --crypt-pass-bad-blocks برای مجاز کردن خروجی فایلهای معیوب (Nick Craig-Wood)
- •
- اصلاح خواندن فایلهای با طول ۰ (Nick Craig-Wood)
- •
- تلاش برای عدم بازگرداندن خطای "unexpected EOF" (Nick Craig-Wood)
- •
- کاهش تخصیصها (albertony)
- •
- توصیه Dropbox برای کدگذاری base32768 (Nick Craig-Wood)
- •
- Azure Blob
- •
- نشانگرهای دایرکتوری خالی (Nick Craig-Wood)
- •
- پشتیبانی از azure workload identities (Tareq Sharafy)
- •
- اصلاح بارگذاریهای azure blob با چندین جزء فراداده (Nick Craig-Wood)
- •
- اصلاح سازگاری با azurite از طریق ارسال tier تهی (nil) در صورت تنظیم روی رشته خالی (Roel Arents)
- •
- Combine
- •
- پیادهسازی متدهای ناموجود (Nick Craig-Wood)
- •
- رفع سرریز پشته goroutine در مواجهه با شیء نامعتبر (Nick Craig-Wood)
- •
- Drive
- •
- افزودن --drive-env-auth برای دریافت اعتبارنامههای IAM از زمان اجرا (runtime) (Peter Brunner)
- •
- بهروزرسانی راهنمای drive service account (Juang, Yi-Lin).IP • 2 رفع مشکل دریافت فایلهای خارج از ریشه توسط اعلان تغییرات (change notify) (Nick Craig-Wood)
- •
- رفع تشخیص نادرست پوشه به عنوان فایل به دلیل وجود اسلش پایانی (Nick Craig-Wood)
- •
- رفع ریموت نادرست پس از Update روی شیء (Nick Craig-Wood)
- •
- Dropbox
- •
- پیادهسازی پرچم --dropbox-pacer-min-sleep (Nick Craig-Wood)
- •
- رفع مشکل متوقف شدن batcher در dropbox (Misty)
- •
- Fichier
- •
- افزودن گزینهٔ --ficicher-cdn برای استفاده از CDN جهت بارگیری (Nick Craig-Wood)
- •
- FTP
- •
- کاهش اولویت پیام گزارش (log) در صورت عدم پشتیبانی از SetModTime به سطح debug (Tobias Gion)
- •
- رفع خطاهای "unsupported LIST line" هنگام راهاندازی (Nick Craig-Wood)
- •
- رفع خطاهای "501 Not a valid pathname." هنگام ایجاد دایرکتوریها (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- نشانگرهای دایرکتوری خالی (Jānis Bebrītis, Nick Craig-Wood)
- •
- افزودن --gcs-user-project مورد نیاز برای پرداخت توسط درخواستدهنده (Christopher Merry)
- •
- HTTP
- •
- افزودن میانافزار اصالتسنجی کاربر با گواهی کلاینت (client cert). این قابلیت میتواند serve restic را با نام کاربری موجود در گواهی کلاینت احراز هویت کند. (Peter Fern)
- •
- Jottacloud
- •
- رفع مشکل گیر کردن writeback در vfs در حلقهٔ بارگذاری ناموفق در صورت غیرفعال بودن نسخهبندی فایل (albertony)
- •
- Onedrive
- •
- افزودن پرچم --onedrive-av-override برای بارگیری فایلهایی که به عنوان ویروس نشانهگذاری شدهاند (Nick Craig-Wood)
- •
- رفع مشکل quickxorhash در معماریهای ۳۲ بیتی (Nick Craig-Wood)
- •
- گزارش هرگونه خطای فهرستگیری در حین اجرای rclone cleanup (albertony)
- •
- Putio
- •
- رفع بارگذاری در شیء نادرست هنگام Update با نام ریموت بازنویسیشده (Nick Craig-Wood)
- •
- رفع مشکل حفظ نشدن زمانهای تغییر برای رونوشت و جابهجایی سمت سرور (Nick Craig-Wood)
- •
- رفع خطاهای کپی سمت سرور (خطاهای 400) (Nick Craig-Wood)
- •
- S3
- •
- نشانگرهای دایرکتوری خالی (Jānis Bebrītis, Nick Craig-Wood)
- •
- بهروزرسانی کلاسهای ذخیرهسازی Scaleway (Brian Starkey)
- •
- اصلاح --s3-versions روی اشیاء تکی (Nick Craig-Wood)
- •
- رفع قفل شدن هنگام لغو بارگذاری چندبخشی با iDrive e2 (Nick Craig-Wood)
- •
- رفع متادادهٔ مفقود "tier" (Nick Craig-Wood)
- •
- اصلاح V3sign: افزودن حذف زیرمنبع مفقود (cc)
- •
- اعمال تغییرات دامنه و ناحیه در Arvancloud و مرتبسازی الفبایی ارائهدهنده (Ehsan Tadayon)
- •
- رفع ناسازگاریهای Qiniu KODO زمانی که مقدار virtualHostStyle برابر با false است (zzq)
- •
- SFTP
- •
- افزودن --sftp-host-key-algorithms جهت امکان تعیین الگوریتمهای کلید میزبان SSH (Joel)
- •
- رفع مشکل نیاز به فایل کلید خصوصی هنگام استفادهٔ همزمان از --sftp-key-use-agent و --sftp-key-file (Arnav Singh)
- •
- اصلاح دستور move جهت مجاز بودن رونویسی فایلهای موجود (Nick Craig-Wood)
- •
- عدم اجرای stat روی دایرکتوریها پیش از فهرست کردن آنها (Nick Craig-Wood)
- •
- عدم بررسی اشارهٔ ریموت به فایل در صورتی که به / ختم شود (Nick Craig-Wood)
- •
- Sharefile
- •
- غیرفعالسازی انتقالهای جریانی (streamed) به دلیل عدم کارکرد آنها (Nick Craig-Wood)
- •
- Smb
- •
- پاکسازی کد جهت جلوگیری از بازنویسی ctx قبل از نخستین استفاده (رفع اشکال گزارششده توسط لینتر staticcheck) (albertony)
- •
- Storj
- •
- رفع خطاهای "uplink: too many requests" هنگام بارگذاری روی همان فایل (Nick Craig-Wood)
- •
- رفع مشکل بارگذاری در شیء نادرست هنگام Update با نام ریموت بازنویسیشده (Nick Craig-Wood)
- •
- Swift
- •
- نادیده گرفتن خطای 404 هنگام حذف یک شیء (Nick Craig-Wood)
- •
- Union
- •
- پیادهسازی متدهای مفقود (Nick Craig-Wood)
- •
- امکان بازگشایی (unwrap) خطاها جهت بازرسی (Nick Craig-Wood)
- •
- Uptobox
- •
- افزودن پرچم --uptobox-private برای خصوصی کردن تمام فایلهای بارگذاریشده (Nick Craig-Wood)
- •
- اصلاح عبارت باقاعده (regex) نادرست (Aaron Gokaslan)
- •
- رفع بازگرداندن شیء نادرست توسط Update (Nick Craig-Wood)
- •
- رفع مشکل اعلام خالی نبودن دایرکتوریها توسط rmdir (Nick Craig-Wood)
- •
- WebDAV
- •
- nextcloud: افزودن پشتیبانی از بارگذاریهای چندبخشی (chunked uploads) (Paul)
- •
- تنظیم modtime با استفاده از propset برای owncloud و nextcloud (WeidiDeng)
- •
- قابلیت پیکربندی minSleep برای pacer با پرچم --webdav-pacer-min-sleep (ed).IP • 2 رفع مشکل بازنویسی نشدن در کپی/انتقال سمت سرور (WeidiDeng)
- •
- رفع مشکل modtime در کپی سمت سرور برای owncloud و nextcloud (Nick Craig-Wood)
- •
- Yandex
- •
- رفع خطای 400 Bad Request هنگام شکست در انتقال (Nick Craig-Wood)
- •
- Zoho
- •
- رفع مشکل دانلودها با هدر Range: که دادههای نادرست بازمیگرداندند (Nick Craig-Wood)
v1.62.2 - 2023-03-16
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.62.1...v1.62.2)
- •
- رفع باگها
- •
- docker volume plugin: افزودن وابستگی مفقود fuse3 (Nick Craig-Wood)
- •
- docs: اصلاح مستندات size (asdffdsazqqq)
- •
- FTP
- •
- رفع خطاهای 426 در دانلودها با vsftpd (Lesmiscore)
v1.62.1 - 2023-03-15
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.62.0...v1.62.1)
- •
- رفع باگها
- •
- docker: افزودن وابستگی مفقود fuse3 (cycneuramus)
- •
- build: بهروزرسانی مستندات انتشار برای دقت بیشتر در برچسب (Nick Craig-Wood)
- •
- build: تنظیم انتشار GitHub روی حالت پیشنویس حین بارگذاری فایلهای باینری (Nick Craig-Wood)
v1.62.0 - 2023-03-14
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.61.0...v1.62.0)
- •
- ویژگیهای جدید
- •
- accounting: نمایش فعالیت جاری بررسیکنندهها (checkers) (Nick Craig-Wood)
- •
- authorize: افزودن پشتیبانی از قالبهای سفارشی (Hunter Wittenborn)
- •
- build
- •
- ارتقا به go1.20 (Nick Craig-Wood, Anagh Kumar Baranwal)
- •
- افزودن گردشکار انتشار winget (Ryan Caezar Itang)
- •
- افزودن dependabot (Ryan Caezar Itang)
- •
- بهروزرسانیهای مستندات (albertony, Bryan Kaplan, Gerard Bosch, IMTheNachoMan, Justin Winokur, Manoj Ghosh, Nick Craig-Wood, Ole Frost, Peter Brunner, piyushgarg, Ryan Caezar Itang, Simmon Li, ToBeFree)
- •
- filter: صدور پیام INFO در صورت عدم امکان تعیین فیلترهای پوشه (Nick Craig-Wood)
- •
- fs
- •
- افزودن پشتیبانی از چندین گواهی CA. (alankrit)
- •
- افزودن --max-delete-size به عنوان آستانه اندازه حذف (Leandro Sacchet)
- •
- fspath: مجاز دانستن نمادهای @ و + در نامهای remote (albertony)
- •
- lib/terminal: فعالسازی پردازش توالیهای ترمینال مجازی کنسول ویندوز (رنگهای ANSI/VT100) (albertony)
- •
- move: اگر --check-first و --order-by تنظیم شده باشند، حذف با ترتیب کامل انجام میشود (Nick Craig-Wood)
- •
- serve http: پشتیبانی از --auth-proxy (Matthias Baur)
- •
- رفع باگها
- •
- accounting
- •
- جلوگیری از مقادیر منفی ETA برای سرعتهای بسیار پایین (albertony)
- •
- محدود کردن طول رشته ETA (albertony)
- •
- نمایش زمان سپریشده به صورت خوانا برای انسان زمانی که بیشتر از یک روز باشد (albertony)
- •
- all: اعمال اصلاحات codeql (Aaron Gokaslan)
- •
- build
- •
- اصلاح شرط اجرای دستی گردشکار (albertony)
- •
- رفع مشکل ساخت برای ARMv5 و ARMv6 (albertony)
- •
- selfupdate: در نظر گرفتن نسخه ARM
- •
- install.sh: رفع مشکل دانلود ARMv6
- •
- version: گزارش نسخه ARM
- •
- deletefile: بازگرداندن کد خطای 4 در صورت عدم وجود فایل (Nick Craig-Wood)
- •
- docker: رفع مشکل عدم اتصال مجدد volume توسط پلاگینِ volume پس از راهاندازی مجدد docker (logopk)
- •
- fs: رفع شرایط رقابتی در --max-delete و --max-delete-size (Nick Craig-Wood)
- •
- lib/oauthutil: مدیریت بهتر خطاهای مهلک (Alex Chen)
- •
- mount2: اصلاح --allow-non-empty (Nick Craig-Wood)
- •
- operations: اصلاح همزمانی: استفاده از --checkers مگر در زمان انتقال فایلها (Nick Craig-Wood)
- •
- serve ftp: اصلاح برچسبهای زمانی قدیمیتر از ۱ سال در فهرستها (Nick Craig-Wood)
- •
- sync: اصلاح همزمانی: استفاده از --checkers مگر در زمان انتقال فایلها (Nick Craig-Wood)
- •
- tree
- •
- رفع خطای اشارهگر تهی (nil pointer) در زمان شکست stat (Nick Craig-Wood)
- •
- اصلاح خروجی رنگی در ویندوز (albertony)
- •
- اصلاح نمایش فایلهایی با نامهای غیرمجاز در سیستمفایل ویندوز (Nick Craig-Wood)
- •
- Mount
- •
- رفع مشکل ایجاد و تغییر نام فایلها در backendهای غیرحساس به حروف کوچک و بزرگ (Nick Craig-Wood)
- •
- در نظر نگرفتن مسیرهای دارای پیشوند \\?\ به عنوان مسیرهای اشتراک شبکه در ویندوز (albertony)
- •
- اصلاح بررسی خالی بودن نقطه اتصال (mount point) در لینوکس (Nick Craig-Wood)
- •
- اصلاح --allow-non-empty (Nick Craig-Wood)
- •
- جلوگیری از بررسی نادرست یا زودهنگام همپوشانی در ویندوز (albertony)
- •
- بهروزرسانی به fuse3 پس از ارتقای bazil.org/fuse (Nick Craig-Wood) VFS
- •
- حفظ زمان تغییر (modtime) فایلهای بارگذاریشده در backendهای بدون پشتیبانی از modtime (Nick Craig-Wood)
- •
- رفع مقدار نادرست modtime در سامانههای فایلی که از تنظیم modtime پشتیبانی نمیکنند (Nick Craig-Wood)
- •
- رفع مشکل تغییر نام دایرکتوری حاوی فایلهای در انتظار بارگذاری (Nick Craig-Wood)
- •
- Local
- •
- رفع %!w(<nil>) در خطای "failed to read directory" (Marks Polakovs)
- •
- رفع مشکل مستثنیسازی پیوندهای نمادین معلق با -L/--copy-links (Nick Craig-Wood)
- •
- Crypt
- •
- پیروی از --ignore-checksum (Nick Craig-Wood)
- •
- رفع مشکل برای نامهای رمزگذارینشدهٔ دایرکتوری در ریموتهای غیرحساس به بزرگ و کوچکی حروف (Ole Frost)
- •
- Azure Blob
- •
- حذف راهکارهای موقت برای باگهای SDK پس از بهروزرسانی v0.6.1 (Nick Craig-Wood)
- •
- B2
- •
- رفع مشکل بارگذاری فایلهای بزرگتر از 1TiB (Nick Craig-Wood)
- •
- Drive
- •
- ذکر این نکته که --drive-acknowledge-abuse نیازمند مجوز SA Manager است (Nick Craig-Wood)
- •
- پاسخدهی --drive-stop-on-upload-limit به storageQuotaExceeded (Ninh Pham)
- •
- FTP
- •
- تلاش دوباره در خطاهای 426 (Nick Craig-Wood)
- •
- تلاش دوباره هنگام بروز خطا در شروع بارگیریها (Nick Craig-Wood)
- •
- بازگشت به بالادست github.com/jlaffaye/ftp پس از ادغام اصلاحیه (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- افزودن --gcs-env-auth جهت دریافت اعتبارنامههای IAM از env/instance (Peter Brunner)
- •
- Mega
- •
- افزودن پرچم --mega-use-https (NodudeWasTaken)
- •
- Onedrive
- •
- پیشفرض کردن QuickXorHash برای Onedrive شخصی با توجه به حذف SHA1 توسط مایکروسافت (Nick Craig-Wood)
- •
- افزودن --onedrive-hash-type جهت تغییر هش مورد استفاده (Nick Craig-Wood)
- •
- بهبود سرعت QuickXorHash (LXY)
- •
- Oracle Object Storage
- •
- افزایش سرعت عملیاتها با استفاده از S3 pacer و تنظیم minsleep به 10ms (Manoj Ghosh)
- •
- در دسترس قرار دادن گزینهٔ storage_tier در پیکربندی (Manoj Ghosh)
- •
- امکان استفاده از کلیدهای رمزگذاری اختصاصی (Manoj Ghosh)
- •
- S3
- •
- بررسی ETag بارگذاری چندبخشی در صورت استفاده از --s3-no-head (Nick Craig-Wood)
- •
- افزودن --s3-sts-endpoint برای مشخص کردن نقطه پایانی STS (Nick Craig-Wood)
- •
- رفع پشتیبانی نادرست از سطح (tier) برای StorJ و IDrive هنگام اشاره به یک فایل (Ole Frost)
- •
- رفع خرابی AWS STS در صورت تنظیم بودن --s3-endpoint (Nick Craig-Wood)
- •
- حذف نشانگرهای دایرکتوری توسط purge (Nick Craig-Wood)
- •
- Seafile
- •
- تمدید گذرواژهٔ کتابخانه (Fred)
- •
- SFTP
- •
- رفع مشکل ۶۵٪ کندتر بودن بارگذاریها در مقایسه با حالت مورد انتظار با crypt (Nick Craig-Wood)
- •
- Smb
- •
- امکان پیکربندی SPN (نام اصلی سرویس یا service principal name) (Nick Craig-Wood)
- •
- بررسی بسته بودن اتصال smb (happyxhw)
- •
- Storj
- •
- پیادهسازی rclone link (Kaloyan Raev)
- •
- پیادهسازی rclone purge (Kaloyan Raev)
- •
- بهروزرسانی نشانیهای اینترنتی و برچسبهای ماهواره (Kaloyan Raev)
- •
- WebDAV
- •
- رفع مشکل تعاملپذیری با سرور davrods (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.61.0...v1.61.1)
- •
- رفع باگها
- •
- docs:
- •
- نمایش تنها بخشهای مهم شماره نسخه در برچسب نسخهی معرفیشده (albertony)
- •
- رفع مشکل کدهای HTML اسکیپنشده (Nick Craig-Wood)
- •
- lib/http: خاموش کردن تمام سرورها هنگام خروج جهت حذف سوکت یونیکس (Nick Craig-Wood)
- •
- rc: رفع مشکل پرچم --rc-addr (که جایگزینی برای --url است) (Anagh Kumar Baranwal)
- •
- serve restic
- •
- عدم ارائه از طریق http در صورت ارائه از طریق --stdio (Nick Craig-Wood)
- •
- رفع مشکل خروج فوری در زمان عدم استفاده از stdio (Nick Craig-Wood)
- •
- serve webdav
- •
- رفع مشکل مدیریت --baseurl پس از بازآرایی کد lib/http (Nick Craig-Wood)
- •
- رفع مشکل اجرای فراخوانی تکراری Serve (Nick Craig-Wood)
- •
- Azure Blob
- •
- رفع خطای "409 Public access is not permitted on this storage account" (Nick Craig-Wood)
- •
- S3
- •
- storj: بهروزرسانی endpointها (Kaloyan Raev)
v1.61.0 - 2022-12-20
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.60.0...v1.61.0)
- •
- بکاندهای جدید
- •
- ارائهدهندگان جدید S3
- •
- Liara LOS (https://rclone.org/s3/#liara-cloud) (MohammadReza)
- •
- قابلیتهای جدید
- •
- build: افزودن تست آسیبپذیری با استفاده از govulncheck (albertony)
- •
- cmd: فعالسازی کنترلکنندهی SIGINFO (Ctrl-T) در FreeBSD، NetBSD، OpenBSD و Dragonfly BSD (x3-apptech)
- •
- config: افزودن config/setpath (https://rclone.org/rc/#config-setpath) جهت تنظیم مسیر پیکربندی از طریق rc/librclone (Nick Craig-Wood)
- •
- dedupe
- •
- شمارش بررسیها (Checks) در آمار هنگام اسکن موارد تکراری (Nick Craig-Wood)
- •
- پیروی dedupe از فیلترها (Nick Craig-Wood)
- •
- dlna: ارجاع و انتساب مناسب کدهای استفادهشده از https://github.com/anacrolix/dms (Nick Craig-Wood)
- •
- docs
- •
- افزودن حداقل نسخهها و نشانهای وضعیت به مستندات backend و دستورها (Nick Craig-Wood, albertony)
- •
- نامهای ریموت نباید با فاصله شروع یا پایان یابند (albertony)
- •
- filter: افزودن فیلترهای متادیتا --metadata-include/exclude/filter (https://rclone.org/filtering/#metadata) و موارد مرتبط (Nick Craig-Wood)
- •
- fs
- •
- امکان استفاده از پسوندهای y، M، w، d و غیره در تمام پرچمهای مدتزمان (Nick Craig-Wood)
- •
- افزودن پرچم سراسری --color برای کنترل رنگهای ترمینال (Kevin Verstaen)
- •
- fspath: مجاز دانستن اعداد و حروف یونیکد در نامهای ریموت (albertony)
- •
- lib/file: بهبود پیام خطا برای ایجاد دایرکتوری روی میزبان شبکهای ناموجود در ویندوز (albertony)
- •
- lib/http: اتمام انتقال سرورهای rclone به lib/http (Tom Mombourquette, Nick Craig-Wood)
- •
- lib/oauthutil: بهبود کارایی روندهای پیکربندی نیازمند مرورگر وب (Ole Frost)
- •
- ncdu
- •
- افزودن پشتیبانی از زمان تغییر (modification time) (albertony)
- •
- استفاده از مرتبسازی بر اساس نام بهعنوان حالت رزرو هنگام مرتبسازی بر اساس اندازه میانگین (albertony)
- •
- بازطراحی جهت استفاده مستقیم از tcell بهجای لفاف termbox (eNV25)
- •
- rc: افزودن دستورها برای تنظیم درصد زبالهروب (https://rclone.org/rc/#debug-set-gc-percent) و سقف حافظه (در go 1.19 به بالا) (Anagh Kumar Baranwal)
- •
- rcat: حفظ متادیتا زمانی که Copy به Rcat تنزل مییابد (Nick Craig-Wood)
- •
- rcd: بازآرایی سرور rc در rclone برای استفاده از lib/http (Nick Craig-Wood)
- •
- rcserver: جلوگیری از ایجاد اعتبارنامههای پیشفرض با htpasswd (Kamui)
- •
- restic: بازآرایی برای استفاده از lib/http (Nolan Woods)
- •
- serve http: پشتیبانی از سوکتهای unix و شنوندگان متعدد (Tom Mombourquette)
- •
- serve webdav: بازآرایی برای استفاده از lib/http (Nick Craig-Wood)
- •
- test: جایگزینی پاکسازی با defer توسط t.Cleanup (Eng Zer Jun)
- •
- test memory: خواندن متادیتا در صورت مشخص شدن پرچم -M (Nick Craig-Wood)
- •
- wasm: سازگاری با شرایط مجوز wasm_exec.js (Matthew Vernon)
- •
- رفع باگها
- •
- build: بهروزرسانی golang.org/x/net/http2 جهت رفع GO-2022-1144 (Nick Craig-Wood)
- •
- restic: رفع غلط املایی در مستندات؛ 'remove' باید 'remote' باشد (asdffdsazqqq)
- •
- serve dlna: رفع panic: Logger uninitialized. (Nick Craig-Wood)
- •
- Mount
- •
- بهروزرسانی cgofuse جهت پشتیبانی از FUSE-T برای mount کردن حجمها در Mac (Nick Craig-Wood)
- •
- VFS
- •
- رفع خطای IO هنگام باز کردن فایل با O_CREATE|O_RDONLY در حالتی که --vfs-cache-mode روی full نیست (Nick Craig-Wood)
- •
- Crypt
- •
- رفع خطاهای آپلود هنگام قرار گرفتن compress روی crypt (Nick Craig-Wood)
- •
- Azure Blob
- •
- انتقال به SDK جدید (Nick Craig-Wood)
- •
- نوسازی احراز هویت برای در برگرفتن تمامی روشها و مستندات (Nick Craig-Wood)
- •
- انتقال روشهای احراز هویت قدیمی به SDK جدید (Nick Craig-Wood, Brad Ackerman)
- •
- با تشکر از Stonebranch (https://www.stonebranch.com) برای حمایت مالی از این کار.
- •
- افزودن --azureblob-no-check-container برای فرض کردن وجود کانتینر (Nick Craig-Wood)
- •
- افزودن پشتیبانی از --use-server-modtime (Abdullah Saglam)
- •
- افزودن پشتیبانی از هدرهای سفارشی آپلود (rkettelerij)
- •
- امکان بازنویسی حساب/کلید شبیهساز (Roel Arents)
- •
- پشتیبانی از "اعتبارنامههای محیطی" ساده (Nathaniel Wesley Filardo)
- •
- نادیده گرفتن AuthorizationFailure هنگام تلاش برای ایجاد یک کانتینر (Nick Craig-Wood)
- •
- Box
- •
- افزودن یادداشت درباره محدودیتهای نرخ (rate limits) در Box API (Ole Frost)
- •
- Drive
- •
- مدیریت درایوهای اشتراکی دارای فاصله در ابتدا/انتهای نام (مربوط به) (albertony)
- •
- FTP
- •
- بهروزرسانی متن راهنمای گزینههای TLS ضمنی/صریح جهت ارجاع به FTPS بهجای FTP (ycdtosa)
- •
- بهبود کارایی جهت افزایش سرعت --files-from و NewObject (Anthony Pessy)
- •
- HTTP
- •
- تجزیه پاسخهای GET هنگامی که no_head تنظیم شده است (Arnie97)
- •
- عدم بهروزرسانی اندازه شیء بر اساس درخواستهای Range (Arnie97)
- •
- پشتیبانی از هدر پاسخ Content-Range (Arnie97)
- •
- Onedrive
- •
- مستندسازی راهکار برای فایلهای «بهاشتراکگذاشتهشده با من» (shared with me) (vanplus)
- •
- S3
- •
- افزودن Liara LOS به فهرست ارائهدهندگان (MohammadReza)
- •
- افزودن ناحیههای sfo3، fra1 و syd1 برای DigitalOcean Spaces (Jack)
- •
- اجتناب از فراخوانی سطحبالای GetBucketLocation برای تشخیص ناحیه s3 (Anthony Pessy)
- •
- توقف تنظیم ACL شیء و باکت روی private در صورتی که یک رشته خالی باشد (Philip Harvey)
- •
- عدم افزودن هدر X-Amz-Acl: در صورتی که ACL باکت یا شیء یک رشته خالی باشد (Nick Craig-Wood)
- •
- کاهش مصرف حافظه برای اشیاء s3 (Erik Agterdenbos)
- •
- رفع حلقه در فهرستگیری هنگام استفاده از فهرستگیری v2 روی سرور v1 (Nick Craig-Wood)
- •
- رفع خطای اشارهگر تهی (nil pointer exception) هنگام استفاده از Versions (Nick Craig-Wood)
- •
- رفع مصرف بیش از حد حافظه هنگام استفاده از نسخهها (versions) (Nick Craig-Wood)
- •
- نادیده گرفتن versionIDها در آپلودها مگر در صورت استفاده از --s3-versions یا --s3-versions-at (Nick Craig-Wood)
- •
- SFTP
- •
- افزودن گزینههای پیکربندی برای تنظیم ssh Ciphers / MACs / KeyExchange (dgouju)
- •
- تشخیص خودکار نوع پوسته برای fish (albertony)
- •
- رفع مشکل NewObject با / در ابتدا (Nick Craig-Wood)
- •
- Smb
- •
- رفع مشکل ایجاد دایرکتوری ناخواسته نقطه (.) (albertony)
- •
- Storj
- •
- پیادهسازی Copy سمت سرور (Kaloyan Raev)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.60.0...v1.60.1)
- •
- رفع باگها
- •
- lib/cache: رفع مشکل خاموش شدن زودهنگام بکاند alias (Nick Craig-Wood)
- •
- wasm: رفع خطای پیوند مربوط به walltime با افزودن wasm_exec.js بهروز (João Henrique Franco)
- •
- مستندات
- •
- بهروزرسانی faq.md با bisync (Samuel Johnson)
- •
- تصحیح پیوندهای بارگیری در مستندات نصب windows (coultonluke)
- •
- افزودن پیوند بارگیری مستقیم برای windows arm64 (albertony)
- •
- حذف پیوند به slack رکلون به دلیل عدم پشتیبانی دیگر (Nick Craig-Wood)
- •
- Faq: نحوه استفاده از سرور پروکسی نیازمند نام کاربری و گذرواژه (asdffdsazqqq)
- •
- Oracle-object-storage: اصلاح مستندات (Manoj Ghosh)
- •
- رفع غلط املایی remove در دستور rclone_serve_restic (Joda Stößer)
- •
- اصلاح نویسهای که به اشتباه به عنوان markdown تفسیر میشد (Clément Notin)
- •
- VFS
- •
- رفع بنبست (deadlock) ناشی از پاککننده حافظه پنهان و اتمام بارگذاری (Nick Craig-Wood)
- •
- Local
- •
- پاکسازی مسیرهای مطلق (albertony)
- •
- رفع مشکل جا افتادن دایرکتوریها در -L/--copy-links هنگام استفاده از فیلترها (Nick Craig-Wood)
- •
- Mailru
- •
- ذکر این نکته که اکنون به یک گذرواژه برنامه (app password) نیاز است (Nick Craig-Wood)
- •
- امکان استفاده از برچسبهای زمانی قبل از مبدأ زمانی epoch یعنی 1970-01-01 (Nick Craig-Wood)
- •
- S3
- •
- افزودن رفتار ارائهدهنده --s3-might-gzip برای رفع خطای corrupted on transfer: sizes differ (Nick Craig-Wood)
- •
- فعالسازی کپی سمت سرور برای Storj با توجه به کارکرد صحیح آن در حال حاضر (Nick Craig-Wood)
- •
- رفع مشکل بررسی نشدن مقدار err در s3 listv2 (Aaron Gokaslan)
- •
- افزودن مکانهای جغرافیایی بیشتر برای Wasabi (techknowlogick)
- •
- Smb
- •
- رفع خطای Failed to sync: context canceled در پایان همگامسازیها (Nick Craig-Wood)
- •
- WebDAV
- •
- رفع اشکال Move/Copy/DirMove هنگام استفاده از -server-side-across-configs (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.59.0...v1.60.0)
- •
- Backendهای جدید
- •
- Oracle object storage (https://rclone.org/oracleobjectstorage) (Manoj Ghosh)
- •
- SMB (https://rclone.org/smb) / CIFS (اشتراکگذاری فایل ویندوز) (Lesmiscore)
- •
- ارائهدهندگان جدید S3
- •
- IONOS Cloud Storage (https://rclone.org/s3/#ionos) (Dmitry Deniskin)
- •
- Qiniu KODO (https://rclone.org/s3/#qiniu) (Bachue Zhou)
- •
- قابلیتهای جدید
- •
- build
- •
- ارتقا به go1.19 و تعیین go1.17 به عنوان حداقل نسخه مورد نیاز (Nick Craig-Wood)
- •
- اسکریپت Install.sh: رفع مشکل بارگیری arm-v7 (Ole Frost)
- •
- بخش fs: هشدار به کاربر هنگام استفاده از نام ریموت موجود بدون دونقطه (Nick Craig-Wood)
- •
- بخش httplib: افزودن گزینه --xxx-min-tls-version برای انتخاب حداقل نسخه TLS برای سرورهای HTTP (Robert Newson)
- •
- بخش librclone: افزودن بایندینگهای PHP و برنامه آزمایش (Jordi Gonzalez Muñoz)
- •
- operations
- •
- افزودن پرچم سراسری --server-side-across-configs برای هر backend (Nick Craig-Wood)
- •
- بهینهسازی --copy-dest و --compare-dest (Nick Craig-Wood)
- •
- بخش rc: افزودن job/stopgroup برای متوقف کردن گروه (Evan Spensley)
- •
- serve dlna
- •
- افزودن --announce-interval برای کنترل بازه زمانی اعلان SSDP (YanceyChiew)
- •
- افزودن --interface برای مشخص کردن خط نامهای رابط SSDP (Simon Bos)
- •
- افزودن پشتیبانی از زیرنویسهای خارجی بیشتر (YanceyChiew)
- •
- افزودن اعتبارسنجی نشانیها (YanceyChiew)
- •
- بخش sync: بهینهسازی --copy-dest و --compare-dest (Nick Craig-Wood)
- •
- بهروزرسانیهای مستندات (albertony, Alexander Knorr, anonion, João Henrique Franco, Josh Soref, Lorenzo Milesi, Marco Molteni, Mark Trolley, Ole Frost, partev, Ryan Morey, Tom Mombourquette, YFdyh000)
- •
- رفع باگها
- •
- filter
- •
- رفع فیلترسازی نادرست با پرچم زمینه UseFilter و backendهای پوششدهنده (Nick Craig-Wood)
- •
- اطمینان از بررسی --files-from هنگام جستجو برای یک فایل منفرد (Nick Craig-Wood)
- •
- rc
- •
- رفع مشکل بازنگرداندن Fs کاملی که در mount/mount وارد شده توسط mount/listmounts (Tom Mombourquette)
- •
- مدیریت پیادهسازی خارجی (unmount) هنگام سوار کردن (Isaac Aymerich)
- •
- اعتبارسنجی تنظیم نبودن گزینه Daemon هنگام سوار کردن volume از طریق RC (Isaac Aymerich)
- •
- بخش sync: بهروزرسانی مستندات و پیامهای خطا جهت انعکاس اصلاحات بررسی همپوشانی (Nick Naumann)
- •
- VFS
- •
- کاهش مصرف حافظه با تعبیه sync.Cond (Nick Craig-Wood)
- •
- کاهش مصرف حافظه با بازآرایی ساختارهای پرکاربرد (Nick Craig-Wood)
- •
- رفع مصرف بیش از حد CPU ناشی از چرخه پاککننده حافظه موقت VFS (Nick Craig-Wood)
- •
- Local
- •
- پیروی از فیلترهای فایل در فهرستبندی جهت رفع خطاها در فایلهای مستثنیشده (Nick Craig-Wood)
- •
- رفع خطای "Failed to read metadata: function not implemented" در هستههای قدیمی لینوکس (Nick Craig-Wood)
- •
- Compress
- •
- رفع خرابی ناشی از متادادههای nil (Nick Craig-Wood)
- •
- اصلاح مدیریت خطا برای عدم استفاده یا بازگرداندن اشیاء nil (Nick Craig-Wood)
- •
- Drive
- •
- وادار کردن --drive-stop-on-upload-limit به پیروی از خطای اتمام سهمیه (quota exceeded) (Steve Kowalik)
- •
- FTP
- •
- افزودن گزینه --ftp-force-list-hidden برای نمایش موارد پنهان (Øyvind Heddeland Instefjord)
- •
- رفع قفل کردن هنگام استفاده از ExplicitTLS با سرورهای خاص. (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- افزودن پرچم --gcs-endpoint و پارامتر پیکربندی (Nick Craig-Wood)
- •
- Hubic
- •
- حذف backend به دلیل تعطیل شدن این سرویس (Nick Craig-Wood)
- •
- Onedrive
- •
- تغییر نام Onedrive(cn) 21Vianet به Vnet Group (Yen Hu)
- •
- غیرفعالسازی اعلان تغییرات در منطقه چین به دلیل عدم پشتیبانی (Nick Craig-Wood)
- •
- S3
- •
- پیادهسازی پرچم --s3-versions جهت نمایش نسخههای قدیمی اشیاء در صورت فعال بودن (Nick Craig-Wood)
- •
- پیادهسازی پرچم --s3-version-at جهت نمایش نسخههای اشیاء در یک زمان مشخص (Nick Craig-Wood)
- •
- پیادهسازی دستور backend versioning برای دریافت/تنظیم نسخهبندی باکت (Nick Craig-Wood).IP • 2 پیادهسازی Purge برای پاکسازی نگارشها و backend cleanup-hidden (Nick Craig-Wood)
- •
- افزودن پرچم --s3-decompress برای خارج کردن فایلهای کدگذاریشده با gzip از حالت فشرده (Nick Craig-Wood)
- •
- افزودن --s3-sse-customer-key-base64 برای ارائه کلیدها به همراه دادههای دودویی (Richard Bateman)
- •
- تلاش برای حفظ بیشترین دقت در ModTime با --user-server-modtime (Nick Craig-Wood)
- •
- دور انداختن فراداده دودویی با یک پیام ERROR بهدلیل عدم امکان ذخیرهسازی آن (Nick Craig-Wood)
- •
- افزودن --s3-no-system-metadata برای جلوگیری از خواندن و نوشتن فراداده سیستم (Nick Craig-Wood)
- •
- SFTP
- •
- رفع شرایط رقابتی در ایجاد دایرکتوری (Lesmiscore)
- •
- Swift
- •
- افزودن --swift-no-large-objects برای کاهش درخواستهای HEAD (Nick Craig-Wood)
- •
- Union
- •
- انتشار ویژگی SlowHash برای رفع تعامل با hasher (Lesmiscore)
v1.59.2 - 2022-09-15
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.59.1...v1.59.2)
- •
- رفع باگها
- •
- config: جابهجایی قفلگذاری برای رفع خطای مهلک fatal error: concurrent map read and map write (Nick Craig-Wood)
- •
- Local
- •
- غیرفعالسازی پشتیبانی از xattr در صورتی که سیستمفایل اعلام کند پشتیبانی نمیشود (Nick Craig-Wood)
- •
- Azure Blob
- •
- رفع محاسبات chunksize که بخشهای بسیار زیادی تولید میکرد (Nick Craig-Wood)
- •
- B2
- •
- رفع محاسبات chunksize که بخشهای بسیار زیادی تولید میکرد (Nick Craig-Wood)
- •
- S3
- •
- رفع محاسبات chunksize که بخشهای بسیار زیادی تولید میکرد (Nick Craig-Wood)
v1.59.1 - 2022-08-08
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.59.0...v1.59.1)
- •
- رفع باگها
- •
- accounting: رفع panic در core/stats-reset با گروه ناشناخته (Nick Craig-Wood)
- •
- build: رفع ساخت android پس از تغییرات GitHub actions (Nick Craig-Wood)
- •
- dlna: رفع تحلیل سربرگ SOAP action (Joram Schrijver)
- •
- docs: رفع پیوندها به دستور mount از مستندات نصب (albertony)
- •
- dropbox: رفع خطاهای was unable to decrypt در ChangeNotify (Nick Craig-Wood)
- •
- fs: رفع پردازش زمانها و مدتها در قالب "YYYY-MM-DD HH:MM:SS" (Nick Craig-Wood)
- •
- serve sftp: رفع تشخیص checksum (Nick Craig-Wood)
- •
- sync: افزودن حساسیت به فیلتر (filter-sensitivity) از قلم افتاده به گزینه --backup-dir (Nick Naumann)
- •
- Combine
- •
- رفع مستنداتی که remote= را بهجای upstreams= نمایش میدادند (Nick Craig-Wood)
- •
- نمایش خطا در صورت تعیین نام دایرکتوری تکراری (Nick Craig-Wood)
- •
- رفع خطاهای خاموش شدن بکاندها هنگام استفاده (Nick Craig-Wood)
- •
- Dropbox
- •
- رفع توقف برنامه (hang) هنگام خروج در صورت خاموش بودن --dropbox-batch-mode (Nick Craig-Wood)
- •
- رفع حلقه بینهایت هنگام بارگذاری یک فایل خراب (Nick Craig-Wood)
- •
- Internetarchive
- •
- نادیده گرفتن checksum برای فایلهایی که از روش متفاوتی استفاده میکنند (Lesmiscore)
- •
- مدیریت نماد هش در میان نام فایل (Lesmiscore)
- •
- Jottacloud
- •
- رفع کارکرد با نسخه whitelabel از Elgiganten Cloud
- •
- ذخیره نکردن نام کاربری در پیکربندی هنگام استفاده از احراز هویت استاندارد (albertony)
- •
- Mega
- •
- رفع استثنای nil pointer هنگام دریافت گره نامعتبر (Nick Craig-Wood)
- •
- S3
- •
- رفع panic گزینه --s3-no-head با پیام reflect: Elem of invalid type s3.PutObjectInput (Nick Craig-Wood)
- •
- SFTP
- •
- رفع مشکل با WS_FTP از طریق دور زدن RealPath ناموفق (albertony)
- •
- Union
- •
- رفع فایلهای تکراری هنگام استفاده از دایرکتوریهای دارای / در ابتدا (Nick Craig-Wood)
- •
- رفع بارگذاری چندین فایل در صورت عدم وجود ریشهها (Nick Craig-Wood)
- •
- رفع panic ناشی از عدم همترازی فیلد struct در معماریهای ۳۲ بیتی (r-ricci)
مشاهدهٔ کامیتها (https://github.com/rclone/rclone/compare/v1.58.0...v1.59.0)
- •
- پشتوانههای جدید
- •
- ترکیب چندین remote در یک درخت دایرکتوری (Nick Craig-Wood)
- •
- Hidrive (https://rclone.org/hidrive) (Ovidiu Victor Tatar)
- •
- Internet Archive (https://rclone.org/internetarchive) (Lesmiscore (Naoya Ozaki))
- •
- ارائهدهندگان جدید S3
- •
- ArvanCloud AOS (https://rclone.org/s3#arvan-cloud) (ehsantdy)
- •
- Cloudflare R2 (https://rclone.org/s3#cloudflare-r2) (Nick Craig-Wood)
- •
- Huawei OBS (https://rclone.org/s3#huawei-obs) (m00594701)
- •
- IDrive e2 (https://rclone.org/s3#idrive-e2) (vyloy)
- •
- دستورهای جدید
- •
- test makefile (https://rclone.org/commands/rclone_test_makefile): ایجاد یک تکفایل برای آزمایش (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- چارچوب فراداده (https://rclone.org/docs#metadata) جهت خواندن و نوشتن فرادادههای سیستمی و کاربری روی پشتوانهها (Nick Craig-Wood)
- •
- در ابتدا برای پشتوانههای local، s3 و internetarchive پیادهسازی شد
- •
- گزینهٔ --metadata/-M برای کنترل کپی شدن یا نشدن فراداده
- •
- گزینهٔ --metadata-set برای تعیین فراداده جهت بارگذاریها
- •
- با تشکر از Manz Solutions (https://manz-solutions.at) برای حمایت مالی از این پروژه.
- •
- build
- •
- بهروزرسانی به go1.18 و تعیین go1.16 بهعنوان حداقل نسخهٔ مورد نیاز (Nick Craig-Wood)
- •
- بهروزرسانی ساخت go برای android به 1.18.x و NDK به 23.1.7779620 (Nick Craig-Wood)
- •
- تمامی باینریهای windows اکنون بدون CGO هستند (Nick Craig-Wood)
- •
- افزودن linux/arm/v6 به ایمیجهای docker (Nick Craig-Wood)
- •
- تعداد زیادی اصلاحات شناساییشده با staticcheck (https://staticcheck.io) (albertony)
- •
- پسوند نسخهٔ قابل پیکربندی مستقل از شمارهٔ نسخه (albertony)
- •
- check: پیادهسازی --no-traverse و --no-unicode-normalization (Nick Craig-Wood)
- •
- config: بهبودهای خوانایی (albertony)
- •
- copyurl: افزودن --header-filename برای رعایت دستورالعمل نام فایل در سرایند HTTP (J-P Treen)
- •
- filter: مجاز دانستن چند گزینهٔ --exclude-if-present (albertony)
- •
- fshttp: افزودن --disable-http-keep-alives جهت غیرفعالسازی HTTP Keep Alives (Nick Craig-Wood)
- •
- install.sh
- •
- تنظیم حالتهای دسترسی (modes) روی فایلها و/یا دایرکتوریها در macOS (Michael C Tiernan - MIT-Research Computing Project)
- •
- اعتبارسنجی پیشهنگام مجوز sudo با -v پیش از فراخوانی curl. (Michael C Tiernan - MIT-Research Computing Project)
- •
- lib/encoder: افزودن کدگذاری Semicolon (Nick Craig-Wood)
- •
- lsf: افزودن پشتیبانی از فراداده با پرچم M (Nick Craig-Wood)
- •
- lsjson: افزودن گزینهٔ --metadata/-M (Nick Craig-Wood)
- •
- ncdu
- •
- پیادهسازی انتخاب چندگانه (CrossR)
- •
- جایگزینی termbox با پوششدهندهٔ termbox از بستهٔ tcell's (eNV25)
- •
- نمایش مسیر صحیح در پنجرهٔ تأیید حذف (Roberto Ricci)
- •
- operations
- •
- افزایش سرعت بررسی هش از طریق لغو کردن هش دیگر در صورتی که اولی چیزی برنگرداند (Nick Craig-Wood)
- •
- استفاده از src/dst صحیح در برخی پیامهای لاگ (zzr93)
- •
- rcat: بررسی پیشفرض چِکسامها مانند دستور copy (Nick Craig-Wood)
- •
- selfupdate: جایگزینی بستهٔ منسوخشدهٔ x/crypto/openpgp با ProtonMail/go-crypto (albertony)
- •
- serve ftp: بررسی صحت آرگومانهای --passive-port (Nick Craig-Wood)
- •
- size: هشدار دربارهٔ نتایج غیردقیق هنگام وجود اشیائی با اندازهٔ نامشخص (albertony)
- •
- sync: بررسی همپوشانی اکنون به فیلترها حساس است، بنابراین --backup-dir میتواند در ریشه باشد به شرط آنکه فیلتر شده باشد (Nick)
- •
- test info: بررسی طول نام فایلها با استفاده از نویسههای یونیکد ۱، ۲، ۳ و ۴ بایتی (Nick Craig-Wood)
- •
- test makefile(s): گزینههای --sparse، --zero، --pattern، --ascii و --chargen برای کنترل محتویات فایل (Nick Craig-Wood)
- •
- اطمینان از فراخوانی متد Shutdown روی پشتوانهها (Martin Czygan)
- •
- رفع باگها
- •
- accounting: رفع شمارش ۳ انتقال برای هر انتقال فایل با طول نامشخص (buda)
- •
- ncdu: رفع مشکلی که در آن هنگام -1 بودن اندازهٔ فایلها، اندازهٔ دایرکتوری جمع زده میشد (albertony)
- •
- sync/copy/move
- •
- رفع مشکل --fast-list، --create-empty-src-dirs و --exclude (Nick Craig-Wood)
- •
- رفع مشکل --max-duration و --cutoff-mode soft (Nick Craig-Wood)
- •
- رفع مشکل fs cache unpin (Martin Czygan)
- •
- تنظیم کد وضعیت خروج مناسب برای خطاهایی که تلاش مجدد سطح پایین ندارند (مانند تغییر اندازه/مهر زمانی) (albertony)
- •
- Mount
- •
- پشتیبانی از windows/arm64 (ممکن است هنوز مشکلاتی وجود داشته باشد - گزارش #5828 (https://github.com/rclone/rclone/issues/5828) را ببینید) (Nick Craig-Wood)
- •
- ثبت خطاهای ورودی/خروجی (IO) در سطح ERROR در گزارش (Nick Craig-Wood)
- •
- نادیده گرفتن آرگومان سوار کردن _netdev (Hugal31) VFS
- •
- افزودن --vfs-fast-fingerprint برای اثرانگشتهای سریعتر اما با دقت کمتر (Nick Craig-Wood)
- •
- افزودن گزینهٔ --vfs-disk-space-total-size برای تنظیم دستی کل فضای دیسک (Claudio Maradonna)
- •
- vfscache: رفع خطای مهلک sync: unlock of unlocked mutex (Nick Craig-Wood)
- •
- Local
- •
- رفع مشکل تجزیهٔ پرچم --local-nounc (Nick Craig-Wood)
- •
- افزودن پشتیبانی از فراداده (Nick Craig-Wood)
- •
- Crypt
- •
- پشتیبانی از فراداده (Nick Craig-Wood)
- •
- Azure Blob
- •
- محاسبهٔ Chunksize/blocksize جهت ماندن زیر حد maxUploadParts (Leroy van Logchem)
- •
- استفاده از کتابخانهٔ chunksize برای تعیین پویای اندازهٔ قطعه (Derek Battams)
- •
- سطح دسترسی (access tier) غیرحساس به بزرگی و کوچکی حروف (Rob Pickerill)
- •
- امکان استفاده از شبیهساز راه دور (azurite) (Lorenzo Maiorfi)
- •
- B2
- •
- افزودن پرچم --b2-version-at برای نمایش نسخههای فایل در زمان مشخصشده (SwazRGB)
- •
- استفاده از کتابخانهٔ chunksize برای تعیین پویای اندازهٔ قطعه (Derek Battams)
- •
- Chunker
- •
- علامتگذاری بهعنوان عدم پشتیبانی از فراداده (Nick Craig-Wood)
- •
- Compress
- •
- پشتیبانی از فراداده (Nick Craig-Wood)
- •
- Drive
- •
- امکان افزودن یک ریموت ترکیبی AllDrives: با استفاده از backend config -o config (Nick Craig-Wood)
- •
- امکان کارکرد --drive-shared-with-me با درایوهای اشتراکی (Nick Craig-Wood)
- •
- افزودن --drive-resource-key برای دسترسی به فایلهای بهاشتراکگذاشتهشده از طریق پیوند (Nick Craig-Wood)
- •
- افزودن دستورهای بکاند exportformats و importformats برای اشکالزدایی (Nick Craig-Wood)
- •
- رفع خطاهای 404 هنگام رونوشت/رونوشت سمت سرور اشیاء از پوشهٔ عمومی (Nick Craig-Wood)
- •
- بهروزرسانی مستندات صفحهٔ رضایت درونی OAuth (Phil Shackleton)
- •
- انتقال root_folder_id به بخش پیشرفته (Abhiraj)
- •
- Dropbox
- •
- مهاجرت از api منسوخشده (m8rge)
- •
- افزودن گزارشها (logs) برای نمایش فراتر رفتن از محدودیتهای فاصلهٔ نظرسنجی (poll interval) (Nick Craig-Wood)
- •
- رفع خطای اشارهگر تهی (nil pointer) در صورت یافت نشدن کاربر جعلهویتشدهٔ dropbox (Nick Craig-Wood)
- •
- Fichier
- •
- تجزیهٔ کدهای خطای api و مدیریت متناسب آنها (buengese)
- •
- FTP
- •
- افزودن پشتیبانی از گزینهٔ disable_utf8 (Jason Zheng)
- •
- بازگشت به بالادست github.com/jlaffaye/ftp از انشعاب خودمان (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- افزودن --gcs-no-check-bucket برای به حداقل رساندن تراکنشها و مجوزها (Nick Gooding)
- •
- افزودن پرچم --gcs-decompress برای خارج کردن فایلهای کدگذاریشده با gzip از فشردگی (Nick Craig-Wood)
- •
- بهطور پیشفرض این موارد بهصورت فشرده بارگیری میشوند (که پیشتر با شکست مواجه میشد)
- •
- Hasher
- •
- پشتیبانی از فراداده (Nick Craig-Wood)
- •
- HTTP
- •
- رفع عدم دریافت پاسخ هنگام استفاده از گردانندهٔ احراز هویت سفارشی (albertony)
- •
- Jottacloud
- •
- افزودن پشتیبانی از بارگذاری در دستگاه و نقطهٔ اتصال (mountpoint) سفارشی (albertony)
- •
- ذخیرهٔ همیشگی نام کاربری در پیکربندی و استفاده از آن جهت اجتناب از درخواست اولیهٔ API (albertony)
- •
- رفع مشکل رونوشت سمت سرور هنگامی که مقصد در سطل زباله است (albertony)
- •
- رفع خروجی فهرستگیری ریموت دارای نویسههای ویژه (albertony)
- •
- Mailru
- •
- رفع اتمام مهلت زمانی (timeout) با استفاده از int بهجای time.Duration برای نگهداری تعداد ثانیهها (albertony)
- •
- Mega
- •
- مستندسازی استفاده از MEGAcmd برای کمک به حل مشکلات ورود ناموفق (Art M. Gallagher)
- •
- Onedrive
- •
- پیادهسازی --poll-interval برای onedrive (Hugo Laloge)
- •
- افزودن گزینهٔ حوزههای دسترسی (access scopes) (Sven Gerber)
- •
- Opendrive
- •
- برطرف کردن باگهای تأخیر و کوتاهسازی (truncate) (Scott Grimes)
- •
- Pcloud
- •
- رفع مشکل cleanup (buengese)
- •
- S3
- •
- استفاده از PUT Object بهجای URLهای presigned برای بارگذاری اشیاء تکبخشی (Nick Craig-Wood)
- •
- نادیدهگرفتن اشیاء غیر GLACIER در دستور restore بکاند (Vincent Murphy)
- •
- استفاده از کتابخانه chunksize برای تعیین پویای اندازه قطعه (Derek Battams)
- •
- تلاش مجدد در خطاهای RequestTimeout (Nick Craig-Wood)
- •
- پیادهسازی خواندن و نوشتن متادیتا (Nick Craig-Wood)
- •
- SFTP
- •
- افزودن پشتیبانی از about و hashsum در سرورهای ویندوز (albertony)
- •
- استفاده از افزونه اختصاصی آمار VFS ارائهدهنده برای about در صورت دردسترسبودن (albertony)
- •
- افزودن --sftp-chunk-size برای کنترل اندازه بستهها در پیوندهای با تأخیر بالا (Nick Craig-Wood)
- •
- افزودن --sftp-concurrency برای بهبود انتقالها در تأخیر بالا (Nick Craig-Wood)
- •
- افزودن گزینه --sftp-set-env جهت تنظیم متغیرهای محیطی (Nick Craig-Wood)
- •
- افزودن Hetzner Storage Boxes به بکاندهای پشتیبانیشده sftp (Anthrazz)
- •
- Storj
- •
- رفع مشکل put که هنگام استفاده از mount منجر به غیرقابلخواندن شدن فایل میشد (Erik van Velzen)
- •
- Union
- •
- افزودن گزینه min_free_space برای سیاستهای lfs/eplfs (Nick Craig-Wood)
- •
- رفع مشکل بارگذاری فایلها در union متشکل از تمام ریموتهای مبتنی بر باکت (Nick Craig-Wood)
- •
- رفع مشکل دریافت فضای آزاد برای ریموتهایی که از آن پشتیبانی نمیکنند (Nick Craig-Wood)
- •
- اصلاح سیاست eplus جهت انتخاب مدخل صحیح برای فایلهای موجود (Nick Craig-Wood)
- •
- پشتیبانی از متادیتا (Nick Craig-Wood)
- •
- Uptobox
- •
- رفع مشکل مدیریت مسیر ریشه (buengese)
- •
- WebDAV
- •
- افزودن پشتیبانی از SharePoint در دیگر مناطق خاص (Noah Hsu)
- •
- Yandex
- •
- مدیریت خطای api در جابهجایی سمت سرور (albertony)
- •
- Zoho
- •
- افزودن مناطق ژاپن و چین (buengese)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.58.0...v1.58.1)
- •
- رفع باگها
- •
- build: بهروزرسانی github.com/billziss-gh به github.com/winfsp (Nick Craig-Wood)
- •
- filter: اصلاح منطقه زمانی --min-age/-max-age از UTC به محلی طبق مستندات (Nick Craig-Wood)
- •
- rc/js: تصحیح نامهای متدهای RC (Sơn Trần-Nguyễn)
- •
- مستندات
- •
- اصلاح برخی از پیوندها به صفحات دستورات (albertony)
- •
- افزودن یادداشت --multi-thread-streams به --transfers. (Zsolt Ero)
- •
- Mount
- •
- اصلاح --devname و fusermount: unknown option 'fsname' هنگام مانت از طریق rc (Nick Craig-Wood)
- •
- VFS
- •
- حذف عبارتی که القا میکرد VFS فقط مخصوص مانت کردن است (Nick Craig-Wood)
- •
- Dropbox
- •
- رفع مشکل تلاش مجدد برای آپلودهای چندبخشی با خطای incorrect_offset (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- استفاده از s3 pacer برای افزایش سرعت تراکنشها (Nick Craig-Wood)
- •
- pacer: پیشفرض قرار دادن burst به مقدار ۱۰۰ برای Google pacer جهت اصلاح pacing در gcs (Nick Craig-Wood)
- •
- Jottacloud
- •
- اصلاح scope در درخواست توکن (albertony)
- •
- Netstorage
- •
- اصلاح کدهای HTML اسکیپنشده در مستندات (Nick Craig-Wood)
- •
- یکپارچهسازی سطوح عناوین (Nick Craig-Wood)
- •
- افزودن اطلاعات تماس پشتیبانی به مستندات netstorage (Nil Alexandrov)
- •
- Onedrive
- •
- ذکر این نکته که sharepoint نیز فایلهای وب (.html، .aspx) را تغییر میدهد (GH)
- •
- Putio
- •
- مدیریت خطاهای محدودیت نرخ درخواست (rate limit) (Berkan Teber)
- •
- رفع مشکل دانلود چندنخی و سایر درخواستهای بازهای (rafma0)
- •
- S3
- •
- افزودن ChinaMobile EOS به فهرست ارائهدهندگان (GuoXingbin)
- •
- همگامسازی ارائهدهندگان در توضیحات پیکربندی با providers (Nick Craig-Wood)
- •
- SFTP
- •
- رفع ناسازگاری کلیدهای RSA در OpenSSH 8.8+ (KARBOWSKI Piotr)
- •
- ذکر این نکته که Scaleway C14 در حال منسوخ کردن SFTP به نفع S3 است (Adrien Rey-Jarthon)
- •
- Storj
- •
- رفع مشکل ایجاد باکت هنگام Move (Nick Craig-Wood)
- •
- WebDAV
- •
- عدم بازنویسی Referer در صورت تنظیم شدن آن توسط کاربر (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.57.0...v1.58.0)
- •
- بکاندهای جدید
- •
- Akamai Netstorage (Nil Alexandrov)
- •
- پشتیبانی از Seagate Lyve (https://rclone.org/s3/#lyve)، SeaweedFS، Storj و RackCorp از طریق بکاند s3
- •
- Storj (https://rclone.org/storj) (تغییر نامیافته از Tardigrade - فایلهای پیکربندی قدیمی شما همچنان کار خواهند کرد)
- •
- دستورهای جدید
- •
- bisync (https://rclone.org/bisync) - همگامسازی ابری دوطرفه و آزمایشی (Ivan Andreev, Chris Nelson)
- •
- قابلیتهای جدید
- •
- build
- •
- افزودن ساخت windows/arm64 (هنوز از rclone mount پشتیبانی نمیشود) (Nick Craig-Wood)
- •
- افزایش حداقل نسخه go به go1.15 (Nick Craig-Wood)
- •
- config: مجاز شدن نقطه در نامهای remote و بهبود ویرایش پیکربندی (albertony)
- •
- dedupe: افزودن خروج (quit) بهعنوان یک گزینه در حالت تعاملی (albertony)
- •
- dlna: بهروزرسانی آیکونها به جدیدترین موارد (Alain Nussbaumer)
- •
- filter: افزودن نحو {{ regexp }} (https://rclone.org/filtering/#regexp) به تطبیق الگوها (Nick Craig-Wood)
- •
- fshttp: افزودن معیارهای prometheus برای کدهای وضعیت HTTP (Michał Matczuk)
- •
- hashsum: پشتیبانی از ایجاد هش از دادههای دریافتشده از stdin (albertony)
- •
- librclone
- •
- پذیرش رشته خالی یا مقدار null در ورودی بهجای شیء خالی json (albertony)
- •
- افزودن پشتیبانی از دستورهای mount (albertony)
- •
- operations: افزودن جابهجاییهای سمت سرور به آمارها (Ole Frost)
- •
- rc: امکان غیرفعال کردن احراز هویت برای وبواسط (web gui) توسط کاربر (negative0)
- •
- tree: حذف گزینه منسوخ --human که با گزینه سراسری --human-readable جایگزین شده است (albertony)
- •
- version: گزارش نام نمایشی (friendly-name) صحیح برای نسخههای جدیدتر Windows 10/11 (albertony)
- •
- رفع باگها
- •
- build
- •
- اصلاح نسخه معماری ARM در بستههای .deb پس از تغییرات nfpm (Nick Craig-Wood)
- •
- فورک مستقیم (Hard fork) مخزن github.com/jlaffaye/ftp برای اصلاح go get github.com/rclone/rclone (Nick Craig-Wood)
- •
- oauthutil: رفع خرابی هنگام درخواست /robots.txt توسط مرورگر وب (Nick Craig-Wood)
- •
- operations: رفع نشت goroutine در صورت تلاش مجدد برای کپی (Ankur Gupta)
- •
- rc:
- •
- اصلاح مقدار پیشفرض پارامتر expires در operations/publiclink (Nick Craig-Wood)
- •
- رفع محاسبه نشدن transferQueueSize هنگام جمعبندی گروه آمارها (Carlo Mion)
- •
- رفع فیلدهای مفقود StatsInfo در محاسبه مجموع گروه (Carlo Mion)
- •
- sync: اصلاح --max-duration بهگونهای که پس از سپری شدن مدت زمان، دوباره تلاش نکند (Nick Craig-Wood)
- •
- touch: رفع مشکلی که در آن بهجای فایل، دایرکتوری ایجاد میشد (albertony)
- •
- Mount
- •
- افزودن --devname برای تنظیم نام دستگاه ارسالی به FUSE جهت نمایش سوار کردن (Nick Craig-Wood)
- •
- VFS
- •
- افزودن کنترل از راه دور vfs/stats برای نمایش آمارها (Nick Craig-Wood)
- •
- رفع خطای failed to _ensure cache internal error: downloaders is nil error (Nick Craig-Wood)
- •
- اصلاح مدیریت نویسههای خاص در نام فایلها (Bumsu Hyeon)
- •
- Local
- •
- رفع ابطال هش که باعث بروز خطا در سوار کردن محلی crypt میشد (Nick Craig-Wood)
- •
- Crypt
- •
- افزودن گزینههای کدگذاری نام فایل base64 و base32768 (Max Sum, Sinan Tan)
- •
- Azure Blob
- •
- پیادهسازی پارامتر --azureblob-upload-concurrency برای افزایش سرعت بارگذاریها (Nick Craig-Wood)
- •
- حذف سقف ۱۰۰ مگابایتی برای chunk_size زیرا دیگر نیازی به آن نیست (Nick Craig-Wood)
- •
- افزایش --azureblob-upload-concurrency به ۱۶ بهصورت پیشفرض (Nick Craig-Wood)
- •
- رفع خرابی با نشانی SAS URL در صورت نبود کانتینر (Nick Craig-Wood)
- •
- Compress
- •
- رفع خرابی در صورت شکست بارگذاری فراداده (Nick Craig-Wood)
- •
- رفع نشت حافظه (Nick Craig-Wood)
- •
- Drive
- •
- افزودن --drive-copy-shortcut-content (Abhiraj)
- •
- غیرفعال کردن جریان OAuth OOB (کپی کردن توکن) به دلیل منسوخ شدن توسط Google (Nick Craig-Wood)
- •
- مشاهده یادداشت منسوخ شدن (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob).
- •
- افزودن پرچم --drive-skip-dangling-shortcuts (Nick Craig-Wood)
- •
- هنگام استفاده از نوع پیوند، --drive-export-formats همه انواع اسناد را نشان میدهد (Nick Craig-Wood) Dropbox
- •
- افزایش سرعت فهرستکردن دایرکتوریها با مشخص کردن ۱۰۰۰ مورد در هر تکه (Nick Craig-Wood)
- •
- صرفهجویی در یک درخواست API هنگام قرار داشتن در ریشه (Nick Craig-Wood)
- •
- Fichier
- •
- پیادهسازی قابلیت About (Gourav T)
- •
- FTP
- •
- افزودن --ftp-ask-password برای درخواست گذرواژه در صورت نیاز (Borna Butkovic)
- •
- Google Cloud Storage
- •
- افزودن ناحیههای (regions) جاافتاده (Nick Craig-Wood)
- •
- غیرفعالسازی جریان OAuth OOB (رونوشت توکن) به دلیل منسوخ شدن توسط Google (Nick Craig-Wood)
- •
- مشاهده یادداشت منسوخسازی (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob).
- •
- Googlephotos
- •
- غیرفعالسازی جریان OAuth OOB (رونوشت توکن) به دلیل منسوخ شدن توسط Google (Nick Craig-Wood)
- •
- مشاهده یادداشت منسوخسازی (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob).
- •
- Hasher
- •
- رفع خرابی و فروپاشی برنامه هنگام یافت نشدن شیء (Nick Craig-Wood)
- •
- Hdfs
- •
- افزودن پشتیبانی از انتقال فایل (Move) و انتقال دایرکتوری (DirMove) (Andy Jackson)
- •
- HTTP
- •
- بهبود شناسایی URLهایی که به یک فایل تنها اشاره دارند (albertony)
- •
- Jottacloud
- •
- تغییر API مورد استفاده توسط فهرستبندی بازگشتی (ListR) (Kim)
- •
- افزودن پشتیبانی از Tele2 Cloud (Fredric Arklid)
- •
- Koofr
- •
- افزودن سرویس Digistorage به عنوان ارائهدهنده Koofr. (jaKa)
- •
- Mailru
- •
- رفع سرریز int32 در معماری arm32 (Ivan Andreev)
- •
- Onedrive
- •
- افزودن گزینه پیکربندی برای OAuth scope با شناسه Sites.Read.All (Charlie Jiang)
- •
- بهینهسازی جزئی در quickxorhash (Isaac Levy)
- •
- افزودن پرچم --onedrive-root-folder-id (Nick Craig-Wood)
- •
- عدم تلاش مجدد در صورت مواجهه با خطای 400 pathIsTooLong (ctrl-q)
- •
- Pcloud
- •
- افزودن پشتیبانی از فهرستبندی بازگشتی (ListR) (Niels van de Weem)
- •
- رفع مشکل برچسبهای زمانی پیش از ۱۹۷۰ (Nick Craig-Wood)
- •
- S3
- •
- استفاده از ListObjectsV2 برای فهرستبندی سریعتر (Felix Bünemann)
- •
- بازگشت به ListObject نگارش ۱ در صورت عدم پشتیبانی ارائهدهنده (Nick Craig-Wood)
- •
- استفاده از ETag در انتقالهای چندبخشی جهت اعتبارسنجی صحت انتقال (Nick Craig-Wood)
- •
- افزودن گزینه ناسازگاری ارائهدهنده --s3-use-multipart-etag جهت غیرفعالسازی این مورد در ارائهدهندگان پشتیبانینشده (Nick Craig-Wood)
- •
- ارائهدهندگان جدید
- •
- فضای ذخیرهسازی شیء RackCorp (bbabich)
- •
- فضای ذخیرهسازی ابری Seagate Lyve (Nick Craig-Wood)
- •
- سیستم فایلی SeaweedFS (Chris Lu)
- •
- درگاههای مشترک Storj (Márton Elek, Nick Craig-Wood)
- •
- افزودن اطلاعات نقطه پایانی Wasabi AP Northeast 2 (lindwurm)
- •
- افزودن رده ذخیرهسازی GLACIER_IR (Yunhai Luo)
- •
- مستندسازی راهکار جایگزین Content-MD5 برای باکتهای دارای قفل شیء فعال (Paulo Martins)
- •
- رفع مشکل بارگذاری چندبخشی با پرچم --no-head (Nick Craig-Wood)
- •
- سادهسازی پردازش طول محتوا (content length) در s3 همراه با download url (Logeshwaran Murugesan)
- •
- SFTP
- •
- افزودن rclone به فهرست دستورهای md5sum/sha1sum پشتیبانیشده برای جستجو (albertony)
- •
- بازسازی ساختار بهگونهای که تنها یک روش برای اجرای دستورهای راه دور وجود داشته باشد (Nick Craig-Wood)
- •
- رفع مشکل اتمام مهلت زمانی هنگام هش کردن فایلهای بزرگ از طریق ارسال keepalive (Nick Craig-Wood)
- •
- رفع جستوجوی مکان (seeking) غیرضروری در فایل هنگام بارگذاری و بارگیری (Nick Craig-Wood)
- •
- بهروزرسانی مستندات در زمینه نحوه ایجاد فایل known_hosts (Nick Craig-Wood)
- •
- Storj
- •
- تغییر نام پسانه tardigrade به پسانه storj (Nick Craig-Wood)
- •
- پیادهسازی جابهجایی سمت سرور (Move) برای فایلها (Nick Craig-Wood)
- •
- بهروزرسانی مستندات برای تشریح تفاوتهای میان s3 و این پسانه (Elek, Márton) Swift
- •
- رفع اشکال About بهطوریکه تنها اطلاعات مربوط به کانتینر جاری را نشان دهد (Nick Craig-Wood)
- •
- Union
- •
- رفع اشکال مدیریت ریموتهای حاوی // (Nick Craig-Wood)
- •
- رفع بنبست هنگامی که بخشی از یک آپلود چندبخشی با شکست مواجه میشود (Nick Craig-Wood)
- •
- رفع اشکال برگرداندن nil توسط خطمشی eplus (Vitor Arruda)
- •
- Yandex
- •
- افزودن پشتیبانی از حذف دائمی (deinferno)
v1.57.0 - 2021-11-01
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.56.0...v1.57.0)
- •
- بکاندهای جدید
- •
- Sia: برای ابر نامتمرکز Sia (Ian Levesque, Matthew Sevey, Ivan Andreev)
- •
- Hasher: کش کردن هشها و فعالسازی هشها برای بکاندهایی که از آنها پشتیبانی نمیکنند (Ivan Andreev)
- •
- دستورهای جدید
- •
- lsjson --stat: برای دریافت اطلاعات درباره یک فایل/دایرکتوری منفرد و api مربوط به operations/stat (Nick Craig-Wood)
- •
- config paths: نمایش مسیرهای پیکربندیشده (albertony)
- •
- ویژگیهای جدید
- •
- about: یکدستتر کردن خروجی خوانا برای انسان با سایر دستورها (albertony)
- •
- build
- •
- استفاده از go1.17 برای ساخت و تعیین go1.14 به عنوان حداقل نسخه پشتیبانیشده (Nick Craig-Wood)
- •
- بهروزرسانی Go به 1.16 و NDK به 22b برای ساختهای Android (x0b)
- •
- config
- •
- پشتیبانی از خط پیوند در نام ریموت از طریق متغیر محیطی (albertony)
- •
- امکانپذیر ساختن پیکربندی دایرکتوری موقت توسط کاربر (albertony)
- •
- تبدیل مقدار --cache-dir به یک مسیر مطلق (albertony)
- •
- عدم بازنویسی انواع MIME از مقادیر پیشفرض سیستمعامل (albertony)
- •
- docs
- •
- پاکسازی ظاهر فهرست مطالب و سطوح سرآیندها (albertony)
- •
- گسترش مستندات درباره نامهای معتبر ریموت (albertony)
- •
- اشاره به make برای ساخت و برچسب cmount برای macos (Alex Chen)
- •
- ...و مشارکتهای بسیار دیگر که برای ذکر شدن بیش از حد پرتعدادند!
- •
- fs: دستور Move با --ignore-existing فایلهای نادیدهگرفتهشده را حذف نخواهد کرد (Nathan Collins)
- •
- hashsum
- •
- عدم حساسیت به بزرگی و کوچکی حروف در مقادیر هشِ فایل sum (Ivan Andreev)
- •
- عدم درج ERROR یا UNSUPPORTED در خروجی (Ivan Andreev)
- •
- lib/encoder: افزودن کدگذاری قلابها (Ivan Andreev)
- •
- lib/file: بهبود پیام خطا هنگام تلاش برای ساخت دایرکتوری روی درایو ناموجود در windows (albertony)
- •
- lib/http: انتقال salt هش گذرواژه به گزینهها به همراه مقدار پیشفرض (Nolan Woods)
- •
- lib/kv: افزودن api پایگاهداده کلید-مقدار (Ivan Andreev)
- •
- librclone
- •
- افزودن تابع RcloneFreeString (albertony)
- •
- آزادسازی رشتهها در مثال python (albertony)
- •
- log: چاپ اختیاری pid در لاگها (Ivan Andreev)
- •
- ls: معرفی گزینه عمومی --human-readable برای چاپ اندازههای خوانا برای انسان (albertony)
- •
- ncdu: معرفی کلید u برای تغییر وضعیت نمایش خوانا برای انسان (albertony)
- •
- operations: افزودن خروجی rmdirs -v (Justin Winokur)
- •
- serve sftp
- •
- تولید کلید سرور ECDSA و همچنین RSA (Nick Craig-Wood)
- •
- تولید کلید سرور Ed25519 علاوه بر ECDSA و RSA (albertony)
- •
- serve docker
- •
- امکان شخصیسازی تنظیمات پراکسی در افزونه docker (Ivan Andreev)
- •
- ساخت افزونه docker برای چندین پلتفرم (Thomas Stachl)
- •
- size: گنجاندن شمارش خوانا برای انسان (albertony)
- •
- touch: افزودن پشتیبانی از ثبت زمان دسترسی/تغییر فایلها در دایرکتوری، با گزینه بازگشتی، فیلتر کردن و --dry-run/-i (albertony)
- •
- tree: حذف گزینه چاپ اندازههای خوانا برای انسان به نفع گزینه عمومی (albertony)
- •
- رفع اشکالات
- •
- lib/http
- •
- رفع اشکال بررسی نادرست نام کاربری در ارائهدهنده رازِ تکاحرازهویتی (Nolan Woods)
- •
- رفع اشکال در مدیریت اعتبارنامههای SSL (Nolan Woods)
- •
- serve ftp: اطمینان از ارسال همیشگی modtime به صورت UTC جهت رفع ناهماهنگیهای منطقه زمانی (Nick Craig-Wood)
- •
- serve sftp: رفع اشکال در تولید کلیدهای سرور در windows (albertony)
- •
- serve docker: رفع اشکال umask در مبنای هشت (Ivan Andreev)
- •
- Mount
- •
- امکان اجرای مستقیم rclone به عنوان یک کمکبرنامه نقطه اتصال (mount helper) از fstab (Ivan Andreev)
- •
- استفاده از procfs برای اعتبارسنجی نقطه اتصال در linux (Ivan Andreev)
- •
- دیمنسازی صحیح جهت سازگاری با automount (Ivan Andreev)
- •
- VFS
- •
- صرفنظر کردن از ECLOSED هنگام کوتاه کردن دستگیرههای فایل برای برطرف کردن خطای متناوب توصیفگر فایل نادرست (Nick Craig-Wood)
- •
- Local
- •
- بازطراحی و انتقال کدگذاری پیشفرض سیستمعامل از پشتیبان local به کتابخانه مشترک encoder (albertony)
- •
- Crypt
- •
- بازگرداندن شیء بستهبندیشده حتی با --crypt-no-data-encryption (Ivan Andreev)
- •
- رفع مشکل بارگذاریها با --crypt-no-data-encryption (Nick Craig-Wood)
- •
- Azure Blob
- •
- افزودن --azureblob-no-head-object (Tatsuya Noyori)
- •
- Box
- •
- افزایش قابلیت اطمینان در فهرستبندی دایرکتوریهای پرکاربرد (Nick Craig-Wood)
- •
- حذف حداکثری موارد در هنگام انجام پاکسازی (Nick Craig-Wood)
- •
- افزودن --box-list-chunk برای کنترل اندازه تکههای فهرستبندی (Nick Craig-Wood)
- •
- حذف موازی موارد در پاکسازی با استفاده از ریسههای --checkers (Nick Craig-Wood)
- •
- افزودن --box-owned-by برای نمایش تنها مواردی که متعلق به حساب ورودی پاسدادهشده هستند (Nick Craig-Wood)
- •
- تلاش مجدد هنگام خطاهای operation_blocked_temporary (Nick Craig-Wood)
- •
- Chunker
- •
- الزام Md5all به ایجاد فراداده در صورت کُند بودن هش پایه (Ivan Andreev)
- •
- Drive
- •
- افزایش سرعت فهرستبندی دایرکتوری با محدود کردن فهرست API با استفاده از فیلترهای فعلی (fotile96, Ivan Andreev)
- •
- رفع مشکل بافر کردن بارگذاری تکدرخواستی برای فایلهای کوچکتر از --drive-upload-cutoff (YenForYang)
- •
- افزودن گزینهٔ -o config به backend drives جهت ایجاد پیکربندی برای تمامی درایوهای اشتراکی (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن --dropbox-batch-commit-timeout برای کنترل مهلت زمانی تراکنش دستهای (Nick Craig-Wood)
- •
- Filefabric
- •
- استفاده از عقبنشینی نمایی برای error_background جهت رفع خطاها (Nick Craig-Wood)
- •
- رفع مشکل جابهجایی دایرکتوری پس از تغییر API (Nick Craig-Wood)
- •
- FTP
- •
- فعالسازی پیشفرض حافظه موقت نشست tls (Ivan Andreev)
- •
- افزودن گزینهای برای غیرفعال کردن tls13 (Ivan Andreev)
- •
- رفع خطای اتمام مهلت (timeout) پس از بارگذاریهای طولانی (Ivan Andreev)
- •
- افزودن پشتیبانی از زمان دقیق (Ivan Andreev)
- •
- فعالسازی CI برای ProFtpd، PureFtpd و VsFtpd (Ivan Andreev)
- •
- Googlephotos
- •
- استفاده از کدگذار برای نام آلبومها جهت رفع مشکل آلبومهای دارای نویسههای کنترلی (Parth Shukla)
- •
- Jottacloud
- •
- پیادهسازی SetModTime برای پشتیبانی از تغییرات منحصر به زمان ویرایش (albertony)
- •
- بهبود مدیریت خطا در SetModTime و فایلهای خراب بهطور کلی (albertony)
- •
- افزودن پشتیبانی از قابلیت UserInfo (rclone config userinfo) (albertony)
- •
- بازگرداندن پیوند بارگیری مستقیم از دستور rclone link (albertony)
- •
- Koofr
- •
- ایجاد پیوند اشتراکگذاری مستقیم (Dmitry Bogatov)
- •
- Pcloud
- •
- افزودن پشتیبانی از sha256 (Ken Enrique Morel)
- •
- Premiumizeme
- •
- رفع مشکل فهرستبندی دایرکتوری پس از تغییرات API (Nick Craig-Wood)
- •
- رفع مشکل جابهجایی سمت سرور پس از تغییر API (Nick Craig-Wood)
- •
- رفع مشکل جابهجایی دایرکتوری در سمت سرور پس از تغییرات API (Nick Craig-Wood)
- •
- S3
- •
- افزودن پشتیبانی از استفاده از نشانی اینترنتی CDN برای بارگیری فایل (Logeshwaran)
- •
- افزودن AWS Snowball Edge به مثالهای ارائهدهندگان (r0kk3rz)
- •
- استفاده از ترکیبی از تلاشهای مجدد SDK و تلاشهای مجدد rclone (Nick Craig-Wood)
- •
- رفع مشکل کار نکردن IAM Role برای Service Account و سایر مشکلات احراز هویت (Nick Craig-Wood)
- •
- رفع مشکل احراز هویت shared_credentials_file پس از واگردانی اصلاح نادرست (Nick Craig-Wood)
- •
- رفع خطای corrupted on transfer: sizes differ 0 vs xxxx در Ceph (Nick Craig-Wood)
- •
- Seafile
- •
- رفع خطا در زمانی که برای 2fa پیکربندی نشده است (Fred)
- •
- SFTP
- •
- رفع خطای اتمام مهلت (timeout) هنگام انجام MD5SUM برای فایلهای بزرگ (Nick Craig-Wood)
- •
- Swift
- •
- بهروزرسانی نشانی اینترنتی OCI (David Liu)
- •
- مستندسازی OVH Cloud Archive (HNGamingUK) Union
- •
- رفع کار نکردن تغییر نام در union متشکل از دیسک محلی و ریموت مبتنی بر باکت (Nick Craig-Wood)
v1.56.2 - 2021-10-01
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.56.1...v1.56.2)
- •
- رفع باگها
- •
- serve http: افزودن مجدد احراز هویت مفقود به سرویس http (Nolan Woods)
- •
- build: بهروزرسانی golang.org/x/sys برای رفع کرش در macOS هنگام کامپایل با go1.17 (Herby Gillot)
- •
- FTP
- •
- رفع بنبست (deadlock) پس از بهروزرسانی ناموفق هنگامی که concurrency=1 است (Ivan Andreev)
v1.56.1 - 2021-09-19
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.56.0...v1.56.1)
- •
- رفع باگها
- •
- accounting: رفع مشکل بیشینه bwlimit با مقیاسبندی حداکثر اندازه token bucket (Nick Craig-Wood)
- •
- rc: رفع مشکل بهروزرسانی نشدن سرعت در core/stats (negative0)
- •
- selfupdate: رفع اشکال گزینه --quiet، کاملاً بیصدا نبود (yedamo)
- •
- serve http: رفع خروج مستقیم serve http بلافاصله پس از راهاندازی (Cnly)
- •
- build
- •
- اعمال gofmt از golang 1.17 (Ivan Andreev)
- •
- بهروزرسانی Go به 1.16 و NDK به 22b برای android/any (x0b)
- •
- Mount
- •
- رفع اشکال حالت --daemon (Ivan Andreev)
- •
- VFS
- •
- رفع موارد تکراری در هنگام تغییر نام (Nick Craig-Wood)
- •
- رفع کرش هنگام کوتاه کردن (truncate) شیئی که تازه بارگذاری شده است (Nick Craig-Wood)
- •
- رفع مشکلی که در آن دایرکتوریهای خالی در cache meta dir انباشته میشدند (albertony)
- •
- Drive
- •
- اصلاح دستورالعملهای auto config (Greg Sadetsky)
- •
- اصلاح مثال lsf بدون drive-impersonate (Greg Sadetsky)
- •
- Onedrive
- •
- مدیریت بهتر خطای HTTP 400 در PublicLink (Alex Chen)
- •
- شفافسازی فرایند ایجاد client_id سفارشی (Mariano Absatz)
- •
- Pcloud
- •
- بازگرداندن خطای زودهنگام در صورت فراخوانی Put با اندازه نامشخص (Nick Craig-Wood)
- •
- تلاش بیشتر برای حذف بارگذاری ناموفق (Nick Craig-Wood)
- •
- S3
- •
- افزودن اطلاعات نقطه پایانی (endpoint) مربوط به AP-Northeast برای Wasabi' (hota)
- •
- رفع غلط املایی در مستندات s3 (Greg Sadetsky)
- •
- Seafile
- •
- رفع مشکل ماشین حالت پیکربندی 2fa (Fred)
- •
- SFTP
- •
- حذف پیام خطای کاذب در --sftp-disable-concurrent-reads (Nick Craig-Wood)
- •
- Sugarsync
- •
- رفع مشکل اتصال اولیه پس از بازآرایی پیکربندی (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.55.0...v1.56.0)
- •
- پشتوانههای جدید
- •
- Uptobox (https://rclone.org/uptobox) (buengese)
- •
- دستورهای جدید
- •
- serve docker (https://rclone.org/commands/rclone_serve_docker) (Antoine GIRARD) (Ivan Andreev)
- •
- و افزونهٔ همراه docker volume (https://rclone.org/docker)
- •
- checksum (https://rclone.org/commands/rclone_checksum) برای بررسی فایلها در برابر یک فایل چکسام (Ivan Andreev)
- •
- این قابلیت به صورت rclone md5sum -C و غیره نیز در دسترس است
- •
- config touch (https://rclone.org/commands/rclone_config_touch): اطمینان از وجود پیکربندی در مکان پیکربندیشده (albertony)
- •
- test changenotify (https://rclone.org/commands/rclone_test_changenotify): دستوری برای کمک به اشکالزدایی changenotify (Nick Craig-Wood)
- •
- قابلیتهای منسوخشده
- •
- dbhashsum: حذف دستوری که از یک سال پیش منسوخ شده بود (Ivan Andreev)
- •
- cache: منسوخ کردن پشتوانهٔ cache (Ivan Andreev)
- •
- ویژگیهای جدید
- •
- بازطراحی سامانهٔ پیکربندی به گونهای که بتوان از طریق cli و رابط برنامهنویسی rc به صورت غیرتعاملی از آن استفاده کرد.
- •
- مستندات را در config create (https://rclone.org/commands/rclone_config_create) ببینید
- •
- این یک تغییر بسیار بزرگ برای تمام پشتوانههاست و ممکن است باعث ناسازگاری یا خرابی شود - لطفاً باگها را گزارش کنید!
- •
- librclone - برونریزی RC برنامه rclone به عنوان یک کتابخانهٔ C (lewisxy) (Nick Craig-Wood)
- •
- پیوند دادن یک شیء مشترک (shared object) با C-API مربوط به rclone در پروژهٔ خود
- •
- استفاده از RC به عنوان یک رابط درونحافظهای
- •
- ارائه یک مثال با زبان Python
- •
- همچنین پشتیبانی از Android و gomobile
- •
- fs
- •
- افزودن --disable-http2 برای غیرفعالسازی سراسری http2 (Nick Craig-Wood)
- •
- اعمال خودکار -vv هنگام استفاده از --dump (Alex Chen)
- •
- استفاده از پیشوندهای دودویی برای واحدهای اندازه و نرخ انتقال (albertony)
- •
- استفاده از پیشوندهای دهدهی برای شمارشها (albertony)
- •
- افزودن ویجت جستجوی گوگل به rclone.org (Ivan Andreev)
- •
- accounting: محاسبهٔ میانگین متحرک سرعت (Haochen Tong)
- •
- atexit: خروج با وضعیت غیرصفر پس از دریافت سیگنال (Michael Hanselmann)
- •
- build
- •
- اجرای اسکریپتهای گردشکار مبتنی بر رویداد تنها تحت مخزن rclone به همراه امکان لغو دستی (Mathieu Carbou)
- •
- افزودن ساخت Android با gomobile (x0b)
- •
- check: ثبت هشِ در حال استفاده در گزارش مانند cryptcheck (Nick Craig-Wood)
- •
- version: چاپ os/version، هسته و ساختار چند بیتی (Ivan Andreev)
- •
- config
- •
- جلوگیری از بهکارگیری نامهای رزروشدهٔ ویندوز در نام فایل پیکربندی (albertony)
- •
- ایجاد فایل پیکربندی در پوشهٔ appdata ویندوز به صورت پیشفرض (albertony)
- •
- در نظر گرفتن مسیرهای فایل پیکربندی با نام notfound به عنوان پیکربندی فقط در حافظه (albertony)
- •
- بارگذاری باتأخیر (Delay load) فایل پیکربندی (albertony)
- •
- جایگزینی defaultConfig با یک پیادهسازی درونحافظهای امن در برابر ریسهها (Chris Macklin)
- •
- امکان دریافت پارامترهای key=value توسط config create و دستورات مرتبط (Nick Craig-Wood)
- •
- رفع مشکلات مربوط به پرچمها/گزینههای تنظیمشده توسط متغیرهای محیطی. (Ole Frost)
- •
- fshttp: پیادهسازی مدیریت خطای مسالمتآمیز برای DSCP (Tyson Moore)
- •
- lib/http - ارائه انتزاعی برای یک سرور http مرکزی که سرویسها میتوانند مسیرها را به آن متصل کنند (Nolan Woods)
- •
- افزودن پیکربندی و پرچمهای --template به serve/data (Nolan Woods)
- •
- افزودن گرداننده پیشفرض خطای 404 (Nolan Woods)
- •
- link: استفاده از مقدار "off" برای تاریخ انقضای تعییننشده (Nick Craig-Wood)
- •
- oauthutil: ایجاد خطای مهلک در صورت انقضای توکن بدون وجود توکن تازهسازی (Alex Chen)
- •
- rcat: افزودن گزینهٔ --size برای بارگذاری کارآمدتر فایلهای با اندازهٔ معلوم (Nazar Mishturak)
- •
- serve sftp: افزودن پرچم --stdio برای ارائه از طریق stdio (Tom)
- •
- sync: عدم نمایش هشدار دربارهٔ --no-traverse هنگامی که --files-from تعیین شده است (Nick Gaya)
- •
- test makefiles
- •
- افزودن پرچم --seed و تکرارپذیر کردن دادههای تولیدشده (Nick Craig-Wood)
- •
- افزودن سطوح لاگ و خلاصهٔ سرعت (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting: رفع مقدار startTime در statsGroups.sum (Haochen Tong)
- •
- cmd/ncdu: رفع خطای خارج از محدوده (panic) در حذف (buengese)
- •
- config
- •
- رفع اشکالات مربوط به مسیرهای فایل پیکربندی فقط در حافظه (albertony)
- •
- رفع عدم ذخیرهٔ برخط (on the fly) پیکربندی پشتوانه در پیکربندی درونحافظهای (Nick Craig-Wood)
- •
- fshttp: رفع اشکال تجزیه آدرس برای DSCP (Tyson Moore)
- •
- ncdu: بهروزرسانی کتابخانه termbox-go جهت رفع فروپاشی برنامه (Nick Craig-Wood)
- •
- oauthutil: رفع عدم شناسایی نتیجهٔ قدیمی authorize (Cnly)
- •
- operations: عدم بهروزرسانی برچسبهای زمانی فایلها در --compare-dest (Nick Gaya).IP • 2 selfupdate: رفع مشکل نام بایگانی در macos (Ivan Andreev)
- •
- Mount
- •
- بازطراحی کد پیش از افزودن serve docker (Antoine GIRARD)
- •
- VFS
- •
- افزودن بازنشانی حافظه پنهان برای مدیریت --vfs-cache-max-size در بازه بررسی حافظه پنهان (Leo Luan)
- •
- رفع مشکل تغییر modtime هنگام خواندن فایل در حافظه پنهان (Nick Craig-Wood)
- •
- جلوگیری از ایجاد زیرشاخه غیرضروری در مسیر حافظه پنهان (albertony)
- •
- رفع مشکل عدم امکان تنظیم گزینه umask بهعنوان متغیر محیطی (albertony)
- •
- عدم چاپ اعلان در مورد عدم پشتیبانی از poll-interval هنگامی که روی 0 تنظیم شده است (albertony)
- •
- Local
- •
- استفاده همیشگی از readlink برای خواندن اندازه symlink جهت سازگاری بهتر (Nick Craig-Wood)
- •
- افزودن --local-unicode-normalization (و حذف --local-no-unicode-normalization) (Nick Craig-Wood)
- •
- رد شدن از ورودیهای حذفشده بهطور همروند با ()List (Ivan Andreev)
- •
- Crypt
- •
- پشتیبانی از نامفایلهای دارای برچسب زمانی برگرفته از --b2-versions (Dominik Mydlil)
- •
- B2
- •
- عدم گنجاندن نام bucket در پیشوند پروندههای پیوند عمومی (Jeffrey Tolar)
- •
- رفع مشکل نگارشها و فایلهای با پیشوند نقطه بدون پسوند (Nick Craig-Wood)
- •
- انتقال مدیریت نگارشها به lib/version (Dominik Mydlil)
- •
- Box
- •
- استفاده از بررسی اولیه بارگذاری جهت جلوگیری از فهرستگیریها حین بارگذاری فایل (Nick Craig-Wood)
- •
- بازگرداندن خطاها بهجای فراخوانی ()log.Fatal همراه با آنها (Nick Craig-Wood)
- •
- Drive
- •
- جابهجایی به Drives API برای جستجوی درایوهای اشتراکی (Nick Craig-Wood)
- •
- رفع مشکل در نظر گرفته شدن برخی از اسناد Google Docs بهعنوان فایل معمولی (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن گزینه --dropbox-batch-mode جهت سرعت بخشیدن به بارگذاری (Nick Craig-Wood)
- •
- برای اطلاعات بیشتر مستندات حالت دستهای (https://rclone.org/dropbox/#batch-mode) را مطالعه کنید
- •
- تنظیم دید (visibility) در اشتراکگذاری پیوند هنگام فعال بودن --expire (Nick Craig-Wood)
- •
- سادهسازی بارگذاریهای چندبخشی (Alexey Ivanov)
- •
- بهبود دستورالعملهای "own App IP" (Ivan Andreev)
- •
- Fichier
- •
- بررسی دریافت بیش از یک پیوند بارگذاری (Nick Craig-Wood)
- •
- پشتیبانی از بارگیری فایلها و پوشههای محافظتشده با گذرواژه (Florian Penzkofer)
- •
- نمایش مستقیم متن خطای گزارششده از API در پیامهای خطا (Nick Craig-Wood)
- •
- رفع مشکل جابهجایی فایلها درون یک دایرکتوری مشابه (Nick Craig-Wood)
- •
- بررسی دریافت واقعی توکن بارگیری و تلاش مجدد در صورت دریافت نشدن آن (buengese)
- •
- Filefabric
- •
- رفع مشکل فهرستگیری پس از تغییر نوع فیلد from از "int" به int. (Nick Craig-Wood)
- •
- FTP
- •
- در نظر گرفتن خطای بارگذاری 250 بهمنزله موفقیت (Nick Craig-Wood)
- •
- GCS
- •
- سازگار کردن با فراداده mtime ابزار gsutil (database64128)
- •
- پاکسازی ثابتهای قالب زمانی (database64128)
- •
- Google Photos
- •
- رفع مشکل عدم استفاده صحیح از دامنه دسترسی (scope) فقطخواندنی (Nick Craig-Wood)
- •
- HTTP
- •
- جایگزینی httplib با lib/http (Nolan Woods)
- •
- بهینهسازی Bind برای استفاده بهتر از میانافزارها (Nolan Woods)
- •
- Jottacloud
- •
- رفع مشکل احراز هویت قدیمی با سیستم پیکربندی مبتنی بر وضعیت (buengese)
- •
- رفع نشانی url نامعتبر در خروجی دستور link (albertony)
- •
- افزودن گزینه no versions (buengese)
- •
- Onedrive
- •
- افزودن گزینه list_chunk (Nick Gaya)
- •
- گزارش خطای اصلی در صورت عدم توانایی در لغو بارگذاری چندبخشی (Cnly)
- •
- رفع خطای failed to configure: empty token found (Nick Craig-Wood)
- •
- بازگرداندن پیوند بارگیری مستقیم توسط دستور link (Xuanchen Wu)
- •
- S3
- •
- افزودن --s3-no-head-object (Tatsuya Noyori)
- •
- حذف WebIdentityRoleProvider جهت رفع مشکل فروپاشی برنامه حین احراز هویت (Nick Craig-Wood)
- •
- عدم بررسی شیء بودن remote در صورت خاتمه یافتن نام آن به / (Nick Craig-Wood)
- •
- افزودن SeaweedFS (Chris Lu)
- •
- بهروزرسانی نقاط پایانی Alibaba OSS (Chuan Zh)
- •
- SFTP
- •
- بسط تیلدا (~) و متغیرهای محیطی در known_hosts_file پیکربندیشده (albertony)
- •
- Tardigrade
- •
- ارتقا به uplink نسخهٔ v1.4.6 (Caleb Case)
- •
- استفاده از آفست منفی (Caleb Case)
- •
- افزودن هشدار دربارهٔ too many open files (acsfer)
- •
- WebDAV
- •
- رفع مشکل احراز هویت sharepoint روی http (Nick Craig-Wood)
- •
- افزودن گزینهٔ headers (Antoon Prins)
v1.55.1 - 2021-04-26
مشاهدهٔ کامیتها (https://github.com/rclone/rclone/compare/v1.55.0...v1.55.1)
- •
- رفع باگها
- •
- selfupdate
- •
- عدم تشخیص FUSE در صورت ایستا (static) بودن ساخت (Ivan Andreev)
- •
- افزودن تگ ساخت noselfupdate (Ivan Andreev)
- •
- sync: رفع خطای نادرست گزارششده توسط graceful cutoff (Nick Craig-Wood)
- •
- install.sh: رفع مشکل دانلود macOS arm64 (Nick Craig-Wood)
- •
- build: تصحیح شمارههای نسخه در ساختهای شاخهٔ android (Nick Craig-Wood)
- •
- مستندات (docs)
- •
- Contributing.md: بهروزرسانی دستورالعملهای راهاندازی برای go1.16 (Nick Gaya)
- •
- خروج WinFsp 2021 از نسخهٔ آزمایشی (بتا) (albertony)
- •
- پاکسازی جزئی فاصلههای اطراف بخش کد (albertony)
- •
- رفع برخی غلطهای املایی (albertony)
- •
- VFS
- •
- رفع مسیری در کد که به دادههای تغییریافته (dirty data) اجازهٔ حذف شدن میداد و منجر به از دست رفتن دادهها میشد (Nick Craig-Wood)
- •
- Compress
- •
- اصلاح عبارت منظم (regexp) نام فشردهشده (buengese)
- •
- Drive
- •
- رفع اشکال copyid مربوط به backend هنگام کپی google doc به دایرکتوری (Nick Craig-Wood)
- •
- عدم باز کردن مرورگر در هنگام استفاده از service account... (Ansh Mittal)
- •
- Dropbox
- •
- افزودن دامنهٔ (scope) ناموجود team_data.member برای استفاده با --impersonate (Nick Craig-Wood)
- •
- رفع مشکل About پس از تغییر دامنهها - نیاز به اجرای مجدد rclone config reconnect (Nick Craig-Wood)
- •
- رفع خطای Unable to decrypt returned paths از changeNotify (Nick Craig-Wood)
- •
- FTP
- •
- اصلاح TLS ضمنی (Ivan Andreev)
- •
- Onedrive
- •
- راهکار دورزدن برای خطاهای تصادفی "Unable to initialize RPS" (OleFrost)
- •
- SFTP
- •
- بازگردانی کتابخانهٔ sftp از v1.13.0 به v1.12.0 جهت رفع افت کارایی (Nick Craig-Wood)
- •
- رفع خطاهای Update ReadFrom failed: failed to send packet: EOF (Nick Craig-Wood)
- •
- Zoho
- •
- رفع خطا در زمانی که region تنظیم نشده است (buengese)
- •
- عدم درخواست دوبارهٔ mountpoint هنگام استفاده از راهاندازی بدون سر (headless) (buengese)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.54.0...v1.55.0)
- •
- دستورهای جدید
- •
- selfupdate (https://rclone.org/commands/rclone_selfupdate) (Ivan Andreev)
- •
- به rclone اجازه میدهد تا خود را بهصورت درجا یا از طریق بسته (با استفاده از پرچم --package) بهروزرسانی کند
- •
- خواندن امضاهای دیجیتال رمزنگاریشده برای نسخههای غیر بتا
- •
- روی تمام سیستمعاملها کار میکند.
- •
- test (https://rclone.org/commands/rclone_test) - اینها دستورهای آزمایشی هستند - با احتیاط استفاده کنید!
- •
- histogram - تهیه هیستوگرام از نویسههای نام فایل.
- •
- info - شناسایی نام فایل یا سایر محدودیتها برای مسیرها.
- •
- makefiles - ایجاد ساختار سلسلهمراتبی تصادفی از فایلها برای آزمایش.
- •
- memory - بارگذاری تمام اشیا در remote:path درون حافظه و گزارش آمار حافظه.
- •
- ویژگیهای جدید
- •
- رشتههای اتصال (https://rclone.org/docs/#connection-strings)
- •
- پارامترهای پیکربندی اکنون میتوانند بهعنوان بخشی از نام ریموت در قالب رشته اتصال ارسال شوند.
- •
- برای نمونه، جهت انجام معادل --drive-shared-with-me از drive,shared_with_me: استفاده کنید
- •
- اطمینان از اینکه پیکربندی بلادرنگ ریموت در فایل پیکربندی ذخیره نشود (Nick Craig-Wood)
- •
- اطمینان از اینکه backendهای دارای پیکربندی تکمیلی نام متفاوتی برای کش داشته باشند (Nick Craig-Wood)
- •
- این کار با حمایت مالی CERN، از طریق پروژه CS3MESH4EOSC انجام شد (https://cs3mesh4eosc.eu).
- •
- پروژه CS3MESH4EOSC از برنامه پژوهش و نوآوری افق ۲۰۲۰
- •
- اتحادیه اروپا تحت توافقنامه کمک مالی شماره ۸۶۳۳۵۳ بودجه دریافت کرده است.
- •
- build
- •
- بهروزرسانی نسخه ساخت go به go1.16 و افزایش حداقل نسخه go به go1.13 (Nick Craig-Wood)
- •
- ایجاد بیلد macOS ARM64 برای پشتیبانی از Apple Silicon (Nick Craig-Wood)
- •
- نصب macfuse 4.x بهجای osxfuse 3.x (Nick Craig-Wood)
- •
- استفاده از GO386=softfloat بهجای GO386=387 منسوخشده برای بیلدهای 386 (Nick Craig-Wood)
- •
- غیرفعال کردن موقت بیلدهای IOS (Nick Craig-Wood)
- •
- ساخته شدن بیلدهای Android با NDK بهروز (x0b)
- •
- افزودن کاربر rclone به ایمیج Docker، ولی بدون استفاده پیشفرض از آن (cynthia kwok)
- •
- dedupe: تبدیل بزرگترین دایرکتوری به اصلی برای به حداقل رساندن داده جابهجاشده (Saksham Khanna)
- •
- config
- •
- قرار دادن کتابخانه config درون یک رابط (interface) (Fionera)
- •
- پلاگینپذیر کردن سیستم فایل پیکربندی (Nick Craig-Wood)
- •
- استفاده از --config "" یا "/notfound" فقط برای پیکربندی درون حافظه (Nick Craig-Wood)
- •
- پاکسازی ورودیهای بیاستفاده در کش fs هنگام تغییر پیکربندی (Nick Craig-Wood)
- •
- copyurl: افزودن گزینهای برای چاپ نام فایل خودکار تولیدشده (albertony)
- •
- delete: وادار کردن --rmdirs به پیروی از فیلترها (Nick Craig-Wood)
- •
- docs - اصلاحات و بازنگریهای متعدد از سوی edwardxml، albertony، pvalls، Ivan Andreev، Evan Harris، buengese، Alexey Tabakman
- •
- encoder/filename - افزودن SCSU بهصورت جدول (Klaus Post)
- •
- افزودن پشتیبانی از چند مسیر به پرچمهای --compare-dest و --copy-dest (K265)
- •
- filter: معادل ساختن --exclude "dir/" با --exclude "dir/**" (Nick Craig-Wood)
- •
- fshttp: افزودن پشتیبانی از DSCP با پرچم --dscp برای QoS با خدمات تفکیکشده (differentiated services) (Max Sum)
- •
- lib/cache: افزودن متدهای Delete و DeletePrefix (Nick Craig-Wood)
- •
- lib/file
- •
- تشخیص خطاهای پر بودن دیسک در پیشتخصیص (pre-allocate) و بازگرداندن آنها (Nick Craig-Wood)
- •
- اجرا نشدن همروند preallocate (Nick Craig-Wood)
- •
- تلاش مجدد preallocate هنگام وقوع EINTR (Nick Craig-Wood)
- •
- operations: پیروی عملیاتهای copy و sync از یک RetryAfterError (Ankur Gupta)
- •
- rc
- •
- افزودن جایگزینهای رشتهای برای تنظیم گزینهها از طریق rc (Nick Craig-Wood)
- •
- افزودن options/local برای مشاهده گزینههای پیکربندیشده در context (Nick Craig-Wood)
- •
- افزودن پارامتر _config برای تنظیم پیکربندی سراسری فقط برای این فراخوانی rc (Nick Craig-Wood)
- •
- پیادهسازی ارسال پیکربندی فیلتر با پارامتر _filter (Nick Craig-Wood)
- •
- افزودن fscache/clear و fscache/entries برای کنترل کش fs (Nick Craig-Wood)
- •
- اجتناب از مقدار +Inf برای سرعت در core/stats (albertony)
- •
- افزودن مجموعه کاملی از آمارها به core/stats (Nick Craig-Wood)
- •
- مجاز بودن پارامترهای fs= بهصورت یک JSON blob (Nick Craig-Wood)
- •
- rcd: افزودن اعلان systemd در هنگام اجرای دستور rclone rcd. (Naveen Honest Raj)
- •
- rmdirs: وادار کردن --rmdirs به پیروی از فیلترها (Nick Craig-Wood)
- •
- version: نمایش تگهای ساخت و نوع فایل اجرایی (Ivan Andreev)
- •
- رفع باگها
- •
- install.sh: خروج با خطا در هنگام بروز خطاهای بارگیری (Ivan Andreev)
- •
- رفع مشکل تلاشهای مجدد بیش از حد که مهلت زمانی --max-duration را از دست میداد (Nick Craig-Wood)
- •
- رفع خرابی (crash) هنگام استفاده از --low-level-retries=0 (Nick Craig-Wood)
- •
- رفع شکست در تازهسازی توکن برای mountهای ایجادشده از طریق rc (Nick Craig-Wood)
- •
- fshttp: رفع محدودسازی پهنای باند پس از یک ادغام نامناسب (Nick Craig-Wood) lib/atexit
- •
- لغو ثبت گرداننده وقفه پس از اجرا، تا کاربران بتوانند دوباره وقفه ایجاد کنند (Nick Craig-Wood)
- •
- رفع شکست گاهبهگاه در پیاده کردن (unmount) با CTRL-C (Nick Craig-Wood)
- •
- رفع بنبست (deadlock) هنگام فراخوانی Finalise در حین اجرای Run (Nick Craig-Wood)
- •
- lib/rest: رفع مشکل متوقف نشدن بارگذاریهای چندبخشی (multipart) هنگام لغو context (Nick Craig-Wood)
- •
- Mount
- •
- امکان سوار کردن (mount) روی دایرکتوری ریشه در windows (albertony)
- •
- بهبود مدیریت مسیرهای نسبی در windows (albertony)
- •
- رفع مشکلات یونیکد مربوط به نویسههای آکساندار در macOS (Nick Craig-Wood)
- •
- مستندات: مستندسازی گزینه جدید FileSecurity در WinFsp 2021 (albertony)
- •
- مستندات: افزودن یادداشتی درباره ساختار مسیر حجم (volume path syntax) در windows (albertony)
- •
- رفع مشکل حافظه موقت (caching) دایرکتوریهای قدیمی پس از تغییر نام آنها (Nick Craig-Wood)
- •
- بهروزرسانی cgofuse به آخرین نسخه جهت اعمال رفع اشکال مربوط به macfuse 4 (Nick Craig-Wood)
- •
- VFS
- •
- --vfs-used-is-size برای گزارش فضای استفادهشده با استفاده از پویش بازگشتی (tYYGH)
- •
- عدم تنظیم زمان تغییر (modification time) در صورت درست بودن آن از قبل (Nick Craig-Wood)
- •
- رفع اشکال Create که باعث ناقص شدن فایلها توسط windows explorer در حین CTRL-C CTRL-V میشد (Nick Craig-Wood)
- •
- رفع مشکل بهروزرسانی نشدن modtime هنگام نوشتن از طریق حافظه نهان (cache) (Nick Craig-Wood)
- •
- رفع مشکل تغییر مقادیر اعشاری ثانیه در modtime پس از بارگذاری (Nick Craig-Wood)
- •
- رفع مشکل تنظیم modtime هنگام استفاده از --vfs-cache-mode writes/full بدون انجام نوشتن (Nick Craig-Wood)
- •
- تغییر نام فایلها در حافظه نهان و لغو بارگذاریها هنگام تغییر نام دایرکتوری (Nick Craig-Wood)
- •
- رفع مشکل تغییر نام دایرکتوری از طریق تغییر نام دایرکتوریهای ذخیرهشده در حافظه (Nick Craig-Wood)
- •
- Local
- •
- افزودن پرچم --local-no-preallocate (David Sze)
- •
- تبدیل nounc به گزینهای پیشرفته به جز در Windows (albertony)
- •
- عدم نادیدهگرفتن خطاهای پر بودن دیسک هنگام پیشتخصیص فضا (preallocate) (Nick Craig-Wood)
- •
- Cache
- •
- افزودن --fs-cache-expire-duration برای کنترل حافظه نهان فایلسیستم (Nick Craig-Wood)
- •
- Crypt
- •
- افزودن گزینهای برای عدم رمزگذاری دادهها (Vesnyx)
- •
- ثبت وضعیت موفقیت هش در گزارش لاگ هنگام بارگذاری (albertony)
- •
- Azure Blob
- •
- افزودن پشتیبانی از سطح دسترسی عمومی مخزن (container). (Manish Kumar)
- •
- B2
- •
- رفع مشکل دانلود فایلهای HTML از طریق cloudflare (Nick Craig-Wood)
- •
- Box
- •
- رفع مشکل متوقف ماندن انتقالها هنگام منقضی شدن توکن پس از تغییر API (Nick Craig-Wood)
- •
- Chunker
- •
- پیادهسازی جزئی تراکنشهای بدون تغییر نام (no-rename transactions) (Maxwell Calman)
- •
- Drive
- •
- عدم توقف رونوشت سمت سرور در صورت عدم امکان خواندن توضیحات (Nick Craig-Wood)
- •
- ارسال context به SDK درایو - جهت کمک به فرایند لغو عملیات (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن پشتیبانی از پایش دورهای (polling) برای تغییرات (Robert Thomas)
- •
- کارکرد صحیح --timeout 0 (Nick Craig-Wood)
- •
- افزایش سطح اولویت پیام محدودیت نرخ (rate limited) به INFO جهت جلب توجه بیشتر (Nick Craig-Wood)
- •
- Fichier
- •
- پیادهسازی copy و move (buengese)
- •
- پیادهسازی پیوند عمومی (buengese)
- •
- FTP
- •
- پیادهسازی متد Shutdown (Nick Craig-Wood)
- •
- بستن اتصالات بیکار پس از --ftp-idle-timeout (بهطور پیشفرض ۱ دقیقه) (Nick Craig-Wood)
- •
- کارکرد صحیح --timeout 0 (Nick Craig-Wood)
- •
- افزودن پرچم --ftp-close-timeout جهت استفاده برای سرورهای ftp ناسازگار (Nick Craig-Wood)
- •
- تلاش مجدد برای برقراری اتصال و ورود در صورت بروز خطای 421 (Nick Craig-Wood)
- •
- Hdfs
- •
- رفع مشکل مجوزها هنگام ایجاد دایرکتوری (Lucas Messenger)
- •
- Onedrive
- •
- کارکرد صحیح --timeout 0 (Nick Craig-Wood)
- •
- S3
- •
- رفع اشکال --s3-profile که کار نمیکرد (Nick Craig-Wood)
- •
- SFTP
- •
- بستن اتصالات بیکار پس از --sftp-idle-timeout (بهطور پیشفرض ۱ دقیقه) (Nick Craig-Wood).IP • 2 رفع خطاهای "file not found" برای سرورهای با یکبار خواندن (Nick Craig-Wood)
- •
- رفع SetModTime stat failed: object not found با --sftp-set-modtime=false (Nick Craig-Wood)
- •
- Swift
- •
- بهروزرسانی github.com/ncw/swift به v2.0.0 (Nick Craig-Wood)
- •
- پیادهسازی کپی کردن اشیاء بزرگ (nguyenhuuluan434)
- •
- Union
- •
- رفع فروپاشی هنگام استفاده از سیاست epff (Nick Craig-Wood)
- •
- رفع تلاش union برای بهروزرسانی فایلها روی سامانه فایل فقطخواندنی (Nick Craig-Wood)
- •
- بازسازی کد برای استفاده از fspath.SplitFs بهجای fs.ParseRemote (Nick Craig-Wood)
- •
- رفع مقداردهی اولیه که در بازسازی کد شکسته شده بود (Nick Craig-Wood)
- •
- WebDAV
- •
- افزودن پشتیبانی از sharepoint با احراز هویت NTLM (Rauno Ots)
- •
- سازگارتر کردن مستندات sharepoint-ntlm (Alex Chen)
- •
- بهبود اصطلاحات در مستندات sharepoint-ntlm (Ivan Andreev)
- •
- غیرفعالسازی HTTP/2 برای احراز هویت NTLM (georne)
- •
- رفع خطای 401 در sharepoint-ntlm برای عملیات همروند (Ivan Andreev)
- •
- بررسی اینکه دایرکتوری پاکسازیشده واقعاً وجود داشته باشد (Ivan Andreev)
- •
- Yandex
- •
- عملکرد صحیح --timeout 0 (Nick Craig-Wood)
- •
- Zoho
- •
- جایگزینی شناسه کلاینت - پس از این باید rclone config reconnect را اجرا کنید (buengese)
- •
- افزودن setupRegion() فراموششده به NewFs - این در نهایت مناطق دیگر بهجز EU را اصلاح میکند (buengese)
v1.54.1 - 2021-03-08
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.54.0...v1.54.1)
- •
- رفع باگها
- •
- accounting: رفع مشکل --bwlimit هنگامی که up یا down خاموش است (Nick Craig-Wood)
- •
- مستندات
- •
- رفع تودرتویی قلابها و بکتیکها در مستندات ftp (edwardxml)
- •
- رفع پیوند خراب در صفحه sftp (edwardxml)
- •
- رفع غلط املایی در crypt.md (Romeo Kienzler)
- •
- Changelog: تصحیح پیوند به digitalis.io (Alex JOST)
- •
- جایگزینی #file-caching با #vfs-file-caching (Miron Veryanskiy)
- •
- تبدیل پیوند ساختگی مثال به کد (edwardxml)
- •
- حذف پیوند مرده از rc.md (edwardxml)
- •
- rc: Sync,copy,move: مستندسازی پارامتر createEmptySrcDirs (Nick Craig-Wood)
- •
- lsjson: رفع JSON پایاننیافته در صورت بروز خطا (Nick Craig-Wood)
- •
- Mount
- •
- رفع قطع شدن mount در macOS با تنظیم --daemon-timeout 10m (Nick Craig-Wood)
- •
- VFS
- •
- مستندسازی اینکه نباید از حافظه پنهان یکسان بهصورت همزمان استفاده شود (Nick Craig-Wood)
- •
- B2
- •
- افزایش خودکار آستانه قطع بارگذاری جهت جلوگیری از خطای کاذب (Nick Craig-Wood)
- •
- رفع خطای عدم موفقیت در ایجاد سامانه فایل با کلید برنامه محدود به یک پیشوند (Nick Craig-Wood)
- •
- Drive
- •
- ارجاع به Shared Drives بهجای Team Drives (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن دامنهها به درخواست oauth و به طور اختیاری "members.read" (Nick Craig-Wood)
- •
- S3
- •
- رفع خطای عدم موفقیت در ایجاد سامانه فایل با سیاست مجوزهای سطح پوشه (Nick Craig-Wood)
- •
- رفع بازگرداندن دادههای کهنه در درخواستهای Wasabi HEAD تنها با استفاده از ۱ حامل ترابرد (Nick Craig-Wood)
- •
- رفع احراز هویت shared_credentials_file (Dmitry Chepurovskiy)
- •
- افزودن --s3-no-head به مستندات کاهش هزینهها (Nick Craig-Wood)
- •
- Union
- •
- رفع mkdir در ریشه با remote:/ (Nick Craig-Wood)
- •
- Zoho
- •
- رفع شناسههای کلاینت سفارشی (buengese)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.53.0...v1.54.0)
- •
- پشتبندهای جدید
- •
- ریموت فشردهسازی (آزمایشی) (buengese)
- •
- Enterprise File Fabric (Nick Craig-Wood)
- •
- حمایت مالی این کار توسط Storage Made Easy (https://storagemadeeasy.com) انجام شد
- •
- HDFS (سامانه پرونده توزیعشده هادوپ) (Yury Stankevich)
- •
- Zoho workdrive (buengese)
- •
- قابلیتهای جدید
- •
- خارج کردن پیکربندی از حالت سراسری (Nick Craig-Wood)
- •
- اکنون پیکربندی سراسری از context خوانده میشود
- •
- این امر امکان ارسال پیکربندی سراسری را از طریق rc فراهم میکند
- •
- حمایت مالی این کار توسط Digitalis (https://digitalis.io) انجام شد
- •
- افزودن --bwlimit برای بارگذاری و بارگیری (Nick Craig-Wood)
- •
- پیروی از bwlimit در http Transport برای اعمال محدودیت بهتر
- •
- بهبود یکپارچهسازی با systemd (Hekmon)
- •
- تشخیص سطح لاگ، فعالسازی دستی با پرچم، و تشخیص خودکار راهاندازی توسط systemd
- •
- عدم کامپایل یکپارچهسازی لاگ systemd برای سیستمهای غیر یونیکسی (Benjamin Gustin)
- •
- افزودن پرچم --download به md5sum/sha1sum/hashsum جهت اجبار rclone به دانلود و هش کردن محلی فایلها (lostheli)
- •
- افزودن --progress-terminal-title برای چاپ زمان تقریبی پایان در عنوان ترمینال (LaSombra)
- •
- نمایش متغیرهای محیطی backend در راهنما به عنوان مقادیر پیشفرض گزینههای backend (Nick Craig-Wood)
- •
- build
- •
- ارتقای حداقل نسخه go به go1.12 (Nick Craig-Wood)
- •
- dedupe
- •
- افزودن --by-hash برای رفع تکرار بر اساس هش محتوا نه نام فایل (Nick Craig-Wood)
- •
- افزودن --dedupe-mode list تنها برای فهرست کردن موارد تکراری بدون ایجاد تغییر (Nick Craig-Wood)
- •
- افزودن هشدار در صورت استفاده روی ریموتی که امکان داشتن نامهای تکراری را ندارد (Nick Craig-Wood)
- •
- fs
- •
- افزودن متد اختیاری Shutdown برای backendها (Nick Craig-Wood)
- •
- بررسی همروند فایلها هنگام استفاده از --files-from (zhucan)
- •
- تجمع آمار هنگام استفاده از --dry-run (Ingo Weiss)
- •
- نمایش همیشگی آمار هنگام استفاده از --dry-run یا --interactive (Nick Craig-Wood)
- •
- افزودن پشتیبانی از پرچم --no-console در ویندوز جهت پنهان کردن پنجره کنسول (albertony)
- •
- genautocomplete: افزودن پشتیبانی از خروجی دادن به stdout (Ingo)
- •
- ncdu
- •
- برجستهسازی خطاهای خواندن به جای لغو عملیات (Claudio Bantaloukas)
- •
- افزودن مرتبسازی بر اساس میانگین اندازه در دایرکتوری (Adam Plánský)
- •
- افزودن گزینه تغییر وضعیت برای میانگین اندازه در دایرکتوری - کلید 'a' (Adam Plánský)
- •
- افزودن پرچم پوشه خالی در مرورگر ncdu (Adam Plánský)
- •
- افزودن پرچمهای پرونده ! (خطا) و . (غیرقابل خواندن) در کنار e (خالی) (Nick Craig-Wood)
- •
- obscure: نادیده گرفتن نویسه خط جدید در انتهای خط توسط rclone obscure - (Nick Craig-Wood)
- •
- operations
- •
- افزودن ثبت لاگ هنگام نیاز به آپلود فایلها برای تنظیم زمان تغییرات (Nick Craig-Wood)
- •
- ثبت نام شیء مقصد در لاگ در حالت پرگو برای move و copy (Adam Plánský)
- •
- افزودن اندازه در صورت مشخص بودن به موارد ردشده و لاگ JSON (Nick Craig-Wood)
- •
- rc
- •
- ترجیح دادن نشانی واقعی شنونده در صورت استفاده تنها از ":port" یا "addr:0" (Nick Craig-Wood)
- •
- افزودن شنونده برای کارهای پایانیافته (Aleksandar Jankovic)
- •
- serve ftp: افزودن گزینههایی برای فعالسازی TLS (Deepak Sah)
- •
- serve http/webdav: بازمسیردهی درخواستها به url پایه بدون / (Nick Craig-Wood)
- •
- serve restic: پیادهسازی حافظه پنهان اشیاء (object cache) (Nick Craig-Wood)
- •
- stats: افزودن شمارنده برای پوشههای حذفشده (Nick Craig-Wood)
- •
- sync: چاپ عبارت "There was nothing to transfer" تنها در صورت عدم وجود خطا (Nick Craig-Wood)
- •
- webui
- •
- پیام به کاربر برای بهروزرسانی webui در صورت در دسترس بودن بهروزرسانی (Chaitanya Bankanhal)
- •
- رفع مشکل مقداردهی اولیه پلاگینها (negative0)
- •
- رفع باگها
- •
- fs
- •
- رفع خطای اشارهگر تهی (nil pointer) در عملیات کپی و انتقال مستقیم به ریموت (Anagh Kumar Baranwal)
- •
- رفع خطای تجزیه .. هنگام اتصال ریموتها به یکدیگر (Nick Craig-Wood)
- •
- log: رفع فعالسازی لاگگیری systemd هنگام استفاده از --log-file (Nick Craig-Wood)
- •
- check
- •
- همگامسازی تعداد خطاها در پیام لاگ (Nick Craig-Wood)
- •
- move: رفع مشکل از بین رفتن دادهها هنگامی که مبدأ و مقصد شیء یکسانی هستند (Nick Craig-Wood).IP • 2 operations
- •
- رفع مشکل قطع نشدن فوری در --cutoff-mode hard (Nick Craig-Wood)
- •
- اصلاح پیام خطای --immutable (Nick Craig-Wood)
- •
- sync
- •
- اصلاح حالتهای soft و cautious در --cutoff-mode برای جلوگیری از پایان زودهنگام انتقال (Nick Craig-Wood)
- •
- رفع مشکل تلاشهای مجدد مکرر در خطاهای --immutable (Nick Craig-Wood)
- •
- مستندات (Docs)
- •
- اصلاحات متعدد و بازنویسی مستندات فیلتر کردن (edwardxml)
- •
- اصلاحات نگارشی و دستوری فراوان (Josh Soref)
- •
- اصلاح مستندات دستورهای delete، purge، rmdir، rmdirs و mount (albertony)
- •
- و تشکر از این افراد برای اصلاحات بسیار زیادی در مستندات که در این فهرست نمیگنجد
- •
- Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher Stewart
- •
- CokeMine, David, Dov Murik, Durval Menezes, Evan Harris, gtorelly
- •
- Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent,
- •
- Martin Michlmayr, Milly, Sơn Trần-Nguyễn
- •
- Mount
- •
- بهروزرسانی وضعیت systemd با آمارهای حافظه نهان (Hekmon)
- •
- غیرفعالسازی سوار کردن مبتنی بر bazil/fuse در macOS (Nick Craig-Wood)
- •
- اجرای واقعی rclone cmount توسط rclone mount در macOS (Nick Craig-Wood)
- •
- پیادهسازی mknod جهت کارکرد ایجاد فایل در NFS (Nick Craig-Wood)
- •
- اطمینان از فراخوانی نشدن umount بیش از یک بار (Nick Craig-Wood)
- •
- سوار کردن کاربرپسندتر به عنوان درایو شبکه در windows (albertony)
- •
- تشخیص تنظیم شدن uid یا gid در رشته گزینه یکسان: -o uid=123,gid=456 (albertony)
- •
- عدم تلاش برای پیاده کردن (unmount) در صورتی که fs از قبل تخریب شده باشد (Nick Craig-Wood)
- •
- VFS
- •
- رفع مشکل مدخلهای مجازی که باعث باقی ماندن نمایش فایلهای حذفشده میشدند (Nick Craig-Wood)
- •
- رفع خطای "file already exists" برای فایلهای کهنه حافظه نهان (Nick Craig-Wood)
- •
- رفع نشت فایل با --vfs-cache-mode full و --buffer-size 0 (Nick Craig-Wood)
- •
- رفع مشکل مسیر نامعتبر حافظه نهان در windows هنگام استفاده از :backend: به عنوان دوردست (remote) (albertony)
- •
- Local
- •
- ادامه فهرستبندی فایلها/پوشهها هنگام شناسایی پیوند نمادین حلقوی (Manish Gupta)
- •
- پرچم جدید --local-zero-size-links برای رفع مشکل همگامسازی در برخی سامانههای فایل مجازی (Riccardo Iaconelli)
- •
- Azure Blob
- •
- افزودن پشتیبانی از service principals (James Lim)
- •
- افزودن پشتیبانی از managed identities (Brad Ackerman)
- •
- افزودن مثالهایی برای لایه دسترسی (access tier) (Bob Pusateri)
- •
- بهرهگیری از قابلیتهای جریان داده (streaming) موجود در SDK برای بارگذاریهای چندبخشی (Denis Neuling)
- •
- رفع مشکل تنظیم انواع MIME (Nick Craig-Wood)
- •
- رفع خرابی هنگام فهرستبندی خارج از ریشه یک SAS URL (Nick Craig-Wood)
- •
- حذف blobهای لایه archive پیش از بهروزرسانی در صورت فعال بودن --azureblob-archive-tier-delete (Nick Craig-Wood)
- •
- رفع خرابی هنگام راهاندازی (Nick Craig-Wood)
- •
- اصلاح مصرف حافظه با ارتقای SDK به نسخه v0.13.0 و پیادهسازی یک TransferManager (Nick Craig-Wood)
- •
- نیاز به go1.14+ برای کامپایل به دلیل تغییرات در SDK (Nick Craig-Wood)
- •
- B2
- •
- استفاده NewObject از فراخوانیهای کمهزینهتر API (Nick Craig-Wood)
- •
- این امر بهویژه کارایی --files-from و restic serve را بهبود خواهد داد
- •
- رفع مشکل خرابی در صورت وجود نام فایل خالی (lluuaapp)
- •
- Box
- •
- رفع مشکل NewObject برای فایلهایی که در بزرگی و کوچکی حروف با هم تفاوت دارند (Nick Craig-Wood)
- •
- رفع مشکل یافتن دایرکتوریها بدون حساسیت به بزرگی و کوچکی حروف (Nick Craig-Wood)
- •
- Chunker
- •
- صرفنظر از درهمسازی طولانی محلی و محاسبه هش در حال انتقال (اصلاحات) (Ivan Andreev)
- •
- تنظیم ویژگیهای ReadMimeType روی مقدار false به دلیل پشتیبانی نشدن Object.MimeType (Nick Craig-Wood)
- •
- رفع مشکل عدم حساسیت به بزرگی و کوچکی حروف در NewObject، آزمون تشخیص فراداده (Ivan Andreev)
- •
- Drive
- •
- پیادهسازی دستور rclone backend copyid برای رونوشتبرداری از فایلها بر اساس شناسه (Nick Craig-Wood)
- •
- افزودن گزینه --drive-stop-on-download-limit جهت متوقف ساختن انتقالها هنگام فراتر رفتن از حد مجاز بارگیری (Anagh Kumar Baranwal)
- •
- پیادهسازی راهحل CleanUp برای team drives (buengese)
- •
- امکان تلاش مجدد برای تفکیک و ایجاد میانبرها (Nick Craig-Wood)
- •
- ثبت این پیام در گزارش که خالی کردن سطل زباله ممکن است مدتی زمان ببرد (Nick Craig-Wood)
- •
- افزودن شمایلهای اداری xdg به فایلهای دسکتاپ xdg (Pau Rodriguez-Estivill)
- •
- Dropbox
- •
- افزودن پشتیبانی از مشاهده فایلها و پوشههای اشتراکگذاریشده (buengese)
- •
- فعالسازی توکنهای دسترسی با طول عمر کوتاه (Nick Craig-Wood)
- •
- پیادهسازی IDer روی شیءها (Objects) تا دستوراتی مانند rclone lsf بتوانند شناسهها را بخوانند (buengese).IP • 2 تنظیم Features ReadMimeType روی false بهدلیل عدم پشتیبانی از Object.MimeType (Nick Craig-Wood)
- •
- غیرقابلتلاش مجدد کردن خطاهای malformed_path ناشی از فایلهای بیش از حد طولانی (Nick Craig-Wood)
- •
- بررسی طول نام فایل پیش از بارگذاری جهت رفع حلقه بارگذاری (Nick Craig-Wood)
- •
- Fichier
- •
- تنظیم Features ReadMimeType روی true بهدلیل پشتیبانی از Object.MimeType (Nick Craig-Wood)
- •
- FTP
- •
- افزودن گزینه --ftp-disable-msld جهت نادیده گرفتن MLSD برای سرورهای بسیار قدیمی (Nick Craig-Wood)
- •
- اعمال شدن --tpslimit (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- پشتیبانی از سرآیند شیء کلاس ذخیرهسازی (Laurens Janssen)
- •
- اصلاح کلاینت ناشناس جهت استفاده از کلاینت HTTP مربوط به rclone (Nick Craig-Wood)
- •
- رفع خطای Entry doesn't belong in directory "" (same as directory) - ignoring (Nick Craig-Wood)
- •
- Googlephotos
- •
- پرچم جدید --gphotos-include-archived برای نمایش عکسهای بایگانیشده نیز (Nicolas Rueff)
- •
- Jottacloud
- •
- عدم گزارش نادرست پشتیبانی از نوشتن انواع MIME (buengese)
- •
- افزودن پشتیبانی از Telia Cloud (Patrik Nordlén)
- •
- Mailru
- •
- پذیرش پوشههای ویژه مانند camera-upload (Ivan Andreev)
- •
- جلوگیری از هش اولیه فایلهای محلی بزرگ (Ivan Andreev)
- •
- اصلاح بارگذاریها پس از تغییرات اخیر در سرور (Ivan Andreev)
- •
- رفع مشکل درخواستهای بازهای (range requests) پس از تغییرات ژوئن ۲۰۲۰ سرور (Ivan Andreev)
- •
- اصلاح برچسب زمان نامعتبر روی فایلهای معیوب (fixes) (Ivan Andreev)
- •
- حذف رفتارهای نامتعارف و منسوخ پروتکل (Ivan Andreev)
- •
- Memory
- •
- اصلاح تنظیم انواع MIME (Nick Craig-Wood)
- •
- Onedrive
- •
- افزودن پشتیبانی از منطقه چین ارائهشده توسط 21vianet و سایر تامینکنندگان منطقهای (NyaMisty)
- •
- هشدار هنگام خطاهای مهلت زمانی درگاه (gateway timeout) (Nick Craig-Wood)
- •
- استفاده از رونوشت معمولی در صورت در دسترس نبودن کپی سمت سرور (Alex Chen)
- •
- رفع مشکل غیرفعال شدن کامل کپی سمت سرور در OneDrive for Business (Cnly)
- •
- (تنها در business) راهکار موقت برای جایگزینی فایل موجود هنگام کپی سمت سرور (Alex Chen)
- •
- بهبود ایجاد پیوند همراه با انقضا، دامنه دسترسی، نوع و گذرواژه (Nick Craig-Wood)
- •
- حذف % و # از مجموعه نویسههای کدگذاریشده (Alex Chen)
- •
- پشتیبانی از آدرسدهی سایت از طریق URL نسبی به سرور (kice)
- •
- Opendrive
- •
- اصلاح یافتن دایرکتوریها بدون حساسیت به بزرگی و کوچکی حروف (Nick Craig-Wood)
- •
- Pcloud
- •
- اصلاح تنظیم انواع MIME (Nick Craig-Wood)
- •
- Premiumizeme
- •
- اصلاح یافتن دایرکتوریها بدون حساسیت به بزرگی و کوچکی حروف (Nick Craig-Wood)
- •
- Qingstor
- •
- رفع مشکل انتشار خطا در CleanUp (Nick Craig-Wood)
- •
- اصلاح پاکسازی در rclone (Nick Craig-Wood)
- •
- S3
- •
- افزودن --s3-disable-http2 برای غیرفعالسازی http/2 (Anagh Kumar Baranwal)
- •
- تکمیل پیادهسازی SSE-C (Nick Craig-Wood)
- •
- اصلاح هشها در فایلهای کوچک با AWS:KMS و SSE-C (Nick Craig-Wood)
- •
- افزودن فراینداده MD5 به اشیاء بارگذاریشده با SSE-AWS/SSE-C (Nick Craig-Wood)
- •
- افزودن پارامتر --s3-no-head جهت به حداقل رساندن تراکنشها در زمان بارگذاری (Nick Craig-Wood)
- •
- بهروزرسانی مستندات با افزودن بخش کاهش هزینهها (Nick Craig-Wood)
- •
- افزودن مدیریت خطا برای کد خطای ۴۲۹ که بیانگر درخواستهای بیش از حد است (Anagh Kumar Baranwal)
- •
- افزودن گزینه پرداخت توسط درخواستکننده (requester pays) (kelv)
- •
- رفع شکست کپی چندبخشی (multipart) با اعتبارسنجی v2 و خطای 'SignatureDoesNotMatch' (Louis Koo)
- •
- SFTP
- •
- اجازه احراز هویت مبتنی بر گواهی از طریق کلید عمومی اختیاری (Stephen Harris)
- •
- امکان بررسی اختیاری کلیدهای میزبان سرور توسط کاربر جهت ارتقای امنیت (Stephen Harris)
- •
- به تعویق انداختن درخواست گذرواژه کاربر تا زمان برقراری موفق اتصال SSH (Stephen Harris)
- •
- بهخاطرسپاری گذرواژه واردشده در حالت AskPass (Stephen Harris)
- •
- پیادهسازی متد Shutdown (Nick Craig-Wood)
- •
- پیادهسازی احراز هویت تعاملی صفحهکلید (Nick Craig-Wood)
- •
- اعمال شدن --tpslimit (Nick Craig-Wood)
- •
- پیادهسازی --sftp-use-fstat برای سرورهای نامتعارف SFTP (Nick Craig-Wood)
- •
- Sugarsync
- •
- اصلاح NewObject برای فایلهایی با تفاوت در بزرگی و کوچکی حروف (Nick Craig-Wood).IP • 2 رفع مشکل یافتن دایرکتوریها به صورت غیرحساس به حروف کوچک و بزرگ (Nick Craig-Wood)
- •
- Swift
- •
- رفع مشکل حذف بخشهای مربوط به Static Large Object (SLO) (Nguyễn Hữu Luân)
- •
- اطمینان از آپلود فایلهای بزرگی که به طور ناقص آپلود شدهاند، مگر اینکه --swift-leave-parts-on-error مشخص شده باشد (Nguyễn Hữu Luân)
- •
- Tardigrade
- •
- ارتقا به uplink v1.4.1 (Caleb Case)
- •
- WebDAV
- •
- بهروزرسانی مستندات برای نشان دادن کارکرد استریم به nextcloud (Durval Menezes)
- •
- Yandex
- •
- تنظیم Features WriteMimeType روی false با توجه به نادیده گرفتن mime types توسط Yandex (Nick Craig-Wood)
v1.53.4 - 2021-01-20
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.53.3...v1.53.4)
- •
- رفع باگها
- •
- accounting: رفع رقابت دادهای (data race) در Transferred() (Maciej Zimnoch)
- •
- build
- •
- جلوگیری از ساخت یک نسخه آزمایشی (beta) جاری توسط انتشارهای دارای برچسب (Nick Craig-Wood)
- •
- ارتقای اکشن docker buildx (Matteo Pietro Dazzi)
- •
- افزودن -buildmode به cross-compile.go (Nick Craig-Wood)
- •
- رفع مشکل ساخت داکر با ارتقای ilteoood/docker_buildx (Nick Craig-Wood)
- •
- بازگردانی وصله brew در GitHub actions به دلیل رفع شدن مشکل (Nick Craig-Wood)
- •
- اصلاح نحو brew install --cask برای ساخت macOS (Nick Craig-Wood)
- •
- بهروزرسانی نحو nfpm برای رفع ساخت بستههای .deb/.rpm (Nick Craig-Wood)
- •
- رفع خطاهای ساخت در Windows (Ivan Andreev)
- •
- fs: Parseduration: اصلاح آزمونها جهت استفاده از زمان UTC (Ankur Gupta)
- •
- fshttp: جلوگیری از همپوشانی هدرهای HTTP در لاگها (Nathan Collins)
- •
- rc
- •
- رفع خطای داخلی 500 در core/command (Nick Craig-Wood)
- •
- افزودن متد Copy به rc.Params (Nick Craig-Wood)
- •
- رفع خطای 500 هنگام مارشال کردن خطاهای مربوط به core/command (Nick Craig-Wood)
- •
- plugins: ایجاد فایلهای پلاگین تنها در صورت فعال بودن webui (negative0)
- •
- serve http: رفع مشکل ارائه فایلهای با طول نامشخص (Nick Craig-Wood)
- •
- serve sftp: رفع مسدود شدن سایر اتصالات توسط احراز هویت در یک اتصال (Nick Craig-Wood)
- •
- Mount
- •
- افزودن برچسب اختیاری brew جهت صدور خطا هنگام استفاده از mount در باینریهای نصبشده از طریق Homebrew (Anagh Kumar Baranwal)
- •
- افزودن "." و ".." به دایرکتوریها جهت تطابق با cmount و رفتار مورد انتظار (Nick Craig-Wood)
- •
- VFS
- •
- مطلقسازی مسیر دایرکتوری کش پیش از استفاده جهت رفع خطاهای طولانی بودن مسیر (Nick Craig-Wood)
- •
- Chunker
- •
- بهبود شناسایی فرادادههای ناسازگار (Ivan Andreev)
- •
- Google Cloud Storage
- •
- رفع مشکل کپی در سمت سرور برای اشیاء بزرگ (Nick Craig-Wood)
- •
- Jottacloud
- •
- اصلاح تجدیدکننده توکن برای رفع مشکل آپلودهای طولانی (Nick Craig-Wood)
- •
- رفع خطای token refresh failed: is not a regular file (Nick Craig-Wood)
- •
- Pcloud
- •
- استفاده انحصاری از هشهای SHA1 در منطقه EU (Nick Craig-Wood)
- •
- Sharefile
- •
- لغو تغییرات اصلاح بکاند به دلیل تعویض اعداد صحیح با رشتهها توسط API (Nick Craig-Wood)
- •
- WebDAV
- •
- اصلاح درخواستهای Open Range جهت رفع مشکل mount در 4shared (Nick Craig-Wood)
- •
- افزودن "Depth: 0" به درخواستهای GET جهت رفع مشکل bitrix (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.53.2...v1.53.3)
- •
- رفع باگها
- •
- random: رفع استفاده نادرست از math/rand به جای crypto/rand CVE-2020-28924 (Nick Craig-Wood)
- •
- گذرواژههایی که با rclone config ایجاد کردهاید ممکن است ناامن باشند
- •
- برای جزئیات بیشتر و ابزار بررسی، گزارش #4783 (https://github.com/rclone/rclone/issues/4783) را ببینید
- •
- random: مقداردهی اولیه (seed) یکجای math/rand با مقدار رمزنگاریشده قوی (Nick Craig-Wood)
- •
- VFS
- •
- رفع فراخوانیهای vfs/refresh با پارامتر fs= (Nick Craig-Wood)
- •
- Sharefile
- •
- رفع backend به دلیل تبدیل اعداد صحیح به رشته توسط API (Nick Craig-Wood)
v1.53.2 - 2020-10-26
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.53.1...v1.53.2)
- •
- رفع باگها
- •
- accounting
- •
- رفع مقدار نادرست سرعت و transferTime در core/stats (Nick Craig-Wood)
- •
- تثبیت ترتیب نمایش انتقالها در Windows (Nick Craig-Wood)
- •
- operations
- •
- رفع استفاده از --suffix بدون --backup-dir (Nick Craig-Wood)
- •
- رفع پیام کاذب "--checksum is in use but the source and destination have no hashes in common" (Nick Craig-Wood)
- •
- build
- •
- دور زدن مشکل brew در GitHub actions (Nick Craig-Wood)
- •
- توقف استفاده از set-env و set-path در GitHub actions (Nick Craig-Wood)
- •
- Mount
- •
- mount2: رفع جابجایی مقادیر UID / GID (Russell Cattelan)
- •
- VFS
- •
- شناسایی و بازیابی در صورت حذف خارجی یک فایل از کش (Nick Craig-Wood)
- •
- رفع آسیبپذیری بنبست (deadlock) در downloaders.Close (Leo Luan)
- •
- رفع شرایط رقابتی (race condition) در retryFailedResets (Leo Luan)
- •
- رفع عدم کنترل همزمانی میان برخی عملیات آیتمها و reset (Leo Luan)
- •
- افزودن عقبنشینی نمایی در تلاشهای مجدد خطای ENOSPC (Leo Luan)
- •
- افزودن بهروزرسانی جاافتاده فضای کش مصرفشده (Leo Luan)
- •
- رفع اشکال --no-modtime برای تلاش نکردن جهت تنظیم modtimeها (همانطور که مستند شده است) (Nick Craig-Wood)
- •
- Local
- •
- رفع اندازهها و همگامسازی با گزینه --links در Windows (Nick Craig-Wood)
- •
- Chunker
- •
- غیرفعالسازی ListR برای حل مشکل فایلهای مفقود در GDrive (راهکار موقت) (Ivan Andreev)
- •
- رفع بارگذاری بر روی crypt (Ivan Andreev)
- •
- Fichier
- •
- افزایش حداکثر اندازه فایل از 100GB به 300GB (gyutw)
- •
- Jottacloud
- •
- حذف clientSecret از پیکربندی هنگام ارتقا به احراز هویت مبتنی بر توکن (buengese)
- •
- جلوگیری از اسکیپ دوگانه نشانی وب برای device/mountpoint (albertony)
- •
- حذف راهکار موقت DirMove به دلیل عدم نیاز به آن (buengese)
- •
- Mailru
- •
- رفع بارگذاریها پس از تغییرات اخیر سرور (Ivan Andreev)
- •
- رفع درخواستهای بازهای (range requests) پس از تغییرات ماه ژوئن در سرور (Ivan Andreev)
- •
- رفع برچسب زمانی نامعتبر روی فایلهای خراب (Ivan Andreev)
- •
- Onedrive
- •
- رفع محاسبه فضای مصرفی دیسک برای sharepoint (Nick Craig-Wood)
- •
- S3
- •
- افزودن ناحیههای مفقود AWS (Anagh Kumar Baranwal)
- •
- Seafile
- •
- رفع دسترسی به کتابخانههای بزرگتر از 2GB در سیستمهای ۳۲ بیتی (Muffin King)
- •
- SFTP
- •
- تبدیل همیشگی چکسام به حروف کوچک (buengese)
- •
- Union
- •
- ایجاد دایرکتوریهای ریشه در صورت عدم وجود (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.53.0...v1.53.1)
- •
- رفع باگها
- •
- accounting: حذف خط جدید از انتهای نمایش --stats-one-line (Nick Craig-Wood)
- •
- check
- •
- بازگرداندن پرچم مفقود --download (Nick Craig-Wood)
- •
- اصلاح مستندات (Nick Craig-Wood)
- •
- docs
- •
- ذکر اینکه --log-file اطلاعات را ضمیمه (append) میکند (Nick Craig-Wood)
- •
- افزودن نقطه در پایان جملات برای هماهنگی و یکدستی در rclone --help (edwardxml)
- •
- افزودن Tencent COS به فهرست ارائهدهندگان s3 (wjielai)
- •
- بهروزرسانی مستندات دستور mount جهت اشاره به نیاز به Go 1.13 یا جدیدتر (Evan Harris)
- •
- jottacloud: ذکر اینکه بارگذاریها از دیسک محلی نیازی به کش کردن فایلها روی دیسک برای محاسبه md5 ندارند (albertony)
- •
- اصلاح قالببندی صفحه مستندات rc (Nick Craig-Wood)
- •
- build
- •
- گنجاندن tarball مربوط به vendor در نسخه انتشار و رفع مشکل startdev (Nick Craig-Wood)
- •
- رفع خطای "Illegal instruction" برای ساختهای ARMv6 (Nick Craig-Wood)
- •
- اصلاح نام معماری در ساخت ARMv7 (Nick Craig-Wood)
- •
- VFS
- •
- رفع خطای کاذب "vfs cache: failed to _ensure cache EOF" (Nick Craig-Wood)
- •
- ثبت یک لاگ ERROR در صورت عدم موفقیت در sparse کردن فایل (Nick Craig-Wood)
- •
- Local
- •
- ثبت یک لاگ ERROR در صورت عدم موفقیت در sparse کردن فایل (Nick Craig-Wood)
- •
- Drive
- •
- افزودن مجدد متن راهنمای اختصاصی oauth (Tim Gallant)
- •
- Opendrive
- •
- عدم تلاش مجدد برای خطاهای 400 (Evan Harris)
v1.53.0 - 2020-09-02
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.52.0...v1.53.0)
- •
- قابلیتهای جدید
- •
- لایه VFS (https://rclone.org/commands/rclone_mount/#vfs-virtual-file-system) در این نسخه به شکل اساسی بازنویسی شد - برای جزئیات بیشتر به بخش زیر مراجعه کنید
- •
- حالت تعاملی -i/--interactive (https://rclone.org/docs/#interactive) برای عملیات مخرب (fishbullet)
- •
- افزودن پرچم --bwlimit-file (https://rclone.org/docs/#bwlimit-file-bwtimetable) جهت محدود کردن سرعت انتقال هر فایل به طور مجزا (Nick Craig-Wood)
- •
- مرتبسازی انتقالها بر اساس زمان شروع در خروجی آمار و پیشرفت (Max Sum)
- •
- اطمینان از باز شدن علامت ~ و متغیرهای محیطی در نام فایلهای مورد استفاده توسط backendها (Nick Craig-Wood)
- •
- افزودن پرچم --refresh-times (https://rclone.org/docs/#refresh-times) برای تنظیم modtime در backendهای بدون هش (Nick Craig-Wood)
- •
- build
- •
- حذف پوشه vendor به نفع ماژولهای Go (Nick Craig-Wood)
- •
- ساخت با go1.15.x به صورت پیشفرض (Nick Craig-Wood)
- •
- توقف ساخت macOS 386 به دلیل عدم پشتیبانی در go1.15 (Nick Craig-Wood)
- •
- افزودن ARMv7 به بیلدهای پشتیبانیشده (Nick Craig-Wood)
- •
- فعالسازی rclone cmount روی macOS (Nick Craig-Wood)
- •
- فراهم کردن قابلیت ساخت rclone با gccgo (Nick Craig-Wood)
- •
- فراهم کردن قابلیت ساخت rclone با wasm (Nick Craig-Wood)
- •
- تغییر شمارهگذاری نسخههای بتا جهت سازگاری با semver (Nick Craig-Wood)
- •
- افزودن ویژگیهای فایل و آیکون به فایل اجرایی ویندوز (albertony)
- •
- افزودن یک رابط آزمایشی برای ادغام rclone در مرورگرها (Nick Craig-Wood)
- •
- lib: افزودن فشردهسازی نام فایل (Klaus Post)
- •
- rc
- •
- امکان نصب و استفاده از افزونهها و آزمون آنها با rclone-webui (Chaitanya Bankanhal)
- •
- افزودن پراکسی معکوس pluginsHandler برای ارائه افزونهها (Chaitanya Bankanhal)
- •
- افزودن گزینه mount/listmounts جهت فهرستکردن مانتهای فعلی (Chaitanya Bankanhal)
- •
- افزودن operations/uploadfile برای بارگذاری فایل از طریق rc با استفاده از کدگذاری multipart/form-data (Chaitanya Bankanhal)
- •
- افزودن core/command برای اجرای دستورات ترمینال rclone. (Chaitanya Bankanhal)
- •
- rclone check
- •
- افزودن گزارش نام فایلها برای موارد یکسان/مفقود/تغییریافته (same/missing/changed) (Nick Craig-Wood)
- •
- پیروی دستور check از گزینههای --dry-run/-i/--interactive (Nick Craig-Wood)
- •
- امکان پردازش همزمان فایلها به تعداد --checkers در دستور check (Nick Craig-Wood)
- •
- تلاش مجدد برای دانلودها در صورت شکست هنگام استفاده از پرچم --download (Nick Craig-Wood)
- •
- نمایش پیشفرض آمار (stats) (Nick Craig-Wood)
- •
- rclone obscure: امکان دریافت گذرواژه از STDIN در دستور obscure (David Ibarra)
- •
- rclone config
- •
- تنظیم متغیر RCLONE_CONFIG_DIR برای استفاده در فایلهای پیکربندی و زیرپردازهها (Nick Craig-Wood)
- •
- رد نامهای remote که با خط تیره شروع میشوند. (jtagcat)
- •
- rclone cryptcheck: افزودن گزارش نام فایلها برای موارد یکسان/مفقود/تغییریافته (same/missing/changed) (Nick Craig-Wood)
- •
- rclone dedupe: پیروی از پرچم --size-only جهت تشخیص فایلهای تکراری (Nick Craig-Wood).IP • 2 rclone link: افزودن پرچمهای --expire و --unlink (Roman Kredentser)
- •
- rclone mkdir: هشدار هنگام استفاده از mkdir بر روی ریموتهایی که نمیتوانند دایرکتوری خالی داشته باشند (Nick Craig-Wood)
- •
- rclone rc: مجاز کردن پارامترهای JSON برای سادهسازی استفاده در خط فرمان (Nick Craig-Wood)
- •
- rclone serve ftp
- •
- عدم کامپایل بر روی < go1.13 پس از بهروزرسانی وابستگیها (Nick Craig-Wood)
- •
- افزودن پیام خطا در صورت شکست پراکسی احراز هویت (Nick Craig-Wood)
- •
- استفاده از کتابخانه بازطراحیشده goftp.io/server برای کاهش حجم فایل باینری (Nick Craig-Wood)
- •
- rclone serve restic: ارائه رابطها جهت امکان استفاده از rclone بهعنوان یک کتابخانه از داخل restic (Jack)
- •
- rclone sync: افزودن --track-renames-strategy leaf (Nick Craig-Wood)
- •
- rclone touch: افزودن قابلیت تنظیم زمانها با دقت نانوثانیه (Nick Craig-Wood)
- •
- rclone tree: حذف مخفف -i برای --noindent به دلیل تداخل با -i/--interactive (Nick Craig-Wood)
- •
- رفع اشکالها
- •
- accounting
- •
- اصلاح مستندات speed/speedAvg (Nick Craig-Wood)
- •
- رفع مشکل عدم نمایش زمان واقعی سپریشده از ابتدا (Chaitanya Bankanhal)
- •
- رفع بنبست (deadlock) در چاپ آمار (Nick Craig-Wood)
- •
- build
- •
- رفع نشت دستگیره فایل (file handle leak) در ابزار انتشار GitHub (Garrett Squire)
- •
- rclone check: رفع محاسبه خطاها در تلاشهای مجدد موفق با --download (Nick Craig-Wood)
- •
- rclone dedupe: اصلاح ثبت وقایع (logging) جهت فهم آسانتر (Nick Craig-Wood)
- •
- Mount
- •
- هشدار به کاربران macOS درباره تغییر پیادهسازی mount (Nick Craig-Wood)
- •
- جهت آزمایش پیادهسازی جدید، بهجای rclone mount از rclone cmount استفاده کنید
- •
- این امر به این دلیل است که کتابخانه مورد استفاده rclone، پشتیبانی از macOS را متوقف کرده است
- •
- رابط rc
- •
- افزودن فراخوانی برای پیاده کردن همه (unmount all) (Chaitanya Bankanhal)
- •
- امکان دریافت گزینه vfsOpt در کنترل از راه دور mount/mount (Nick Craig-Wood)
- •
- افزودن mountOpt به mount/mount (Nick Craig-Wood)
- •
- افزودن گزینههای VFS و Mount به mount/listmounts (Nick Craig-Wood)
- •
- به دام انداختن panicها در راهاندازی اولیه cgofuse و تبدیل آنها به پیامهای خطا (Nick Craig-Wood)
- •
- ارائه همیشگی اطلاعات stat در Readdir (Nick Craig-Wood)
- •
- افزودن پشتیبانی از خواندن فایلهای با طول نامشخص با استفاده از direct IO (ویندوز) (Nick Craig-Wood)
- •
- عدم افزودن -o uid/gid=-1 در ویندوز در صورت تعیین -o uid/gid توسط کاربر (Nick Craig-Wood)
- •
- رفع مشکل از دست رفتن محتویات دایرکتوری در cmount روی macOS (Nick Craig-Wood)
- •
- اصلاح نام حجم (volume name) که در بازطراحی اخیر کد شکسته شده بود (Nick Craig-Wood)
- •
- VFS
- •
- پیادهسازی خواندنهای جزئی (partial reads) برای --vfs-cache-mode full (Nick Craig-Wood)
- •
- افزودن گزینه --vfs-writeback برای به تأخیر انداختن بازنویسی روی فضای ابری (Nick Craig-Wood)
- •
- افزودن پارامتر --vfs-read-ahead برای استفاده همراه با --vfs-cache-mode full (Nick Craig-Wood)
- •
- راهاندازی مجدد بارگذاریهای معلق با راهاندازی دوباره حافظه موقت (Nick Craig-Wood)
- •
- پشتیبانی از بازیابی همگام فضای کش هنگام رخداد ENOSPC (Leo Luan)
- •
- اجازه به ReadAt و WriteAt برای اجرای همزمان با خودشان (Nick Craig-Wood)
- •
- تغییر زمان اصلاح (modtime) فایل پیش از بارگذاری به زمان فعلی (Rob Calistri)
- •
- پیشنهاد استفاده از --vfs-cache-modes writes روی بکاندهایی که قابلیت استریم ندارند (Nick Craig-Wood)
- •
- افزودن پارامتر اختیاری fs به متدهای vfs rc (Nick Craig-Wood)
- •
- رفع خطاها هنگام استفاده از فایلهای دارای بیش از ۲۶۰ نویسه در کش ویندوز (Nick Craig-Wood)
- •
- رفع مشکل تغییر نام آیتمها در حین بارگذاری آنها (Nick Craig-Wood)
- •
- رفع بار پردازشی بسیار بالا ناشی از فهرستگیری کند دایرکتوریها (Nick Craig-Wood)
- •
- رفع مشکل بارگذاری نشدن فایلهای تغییرنامیافته با --vfs-cache-mode minimal (Nick Craig-Wood)
- •
- رفع قفل شدن دایرکتوری ناشی از فهرستگیری کند دایرکتوریها (Nick Craig-Wood)
- •
- رفع مشکل ذخیرهسازی از chrome بدون --vfs-cache-mode writes (Nick Craig-Wood)
- •
- Local
- •
- افزودن --local-no-updated جهت ارائه نمایی یکپارچه از شیءهای در حال تغییر (Nick Craig-Wood)
- •
- افزودن گزینه --local-no-set-modtime برای جلوگیری از تغییرات modtime (tyhuber1)
- •
- رفع شرایط رقابتی (race conditions) در بهروزرسانی و خواندن متادیتای Object (Nick Craig-Wood)
- •
- Cache
- •
- کش کردن هر بکاند ایجادشده جهت برطرف کردن مشکلات rc (Nick Craig-Wood)
- •
- رفع مشکل dedupe روی کشهایی که درایوها را در بر میگیرند (Nick Craig-Wood)
- •
- Crypt
- •
- افزودن پرچم --crypt-server-side-across-configs (Nick Craig-Wood)
- •
- کش کردن هر بکاند ایجادشده جهت برطرف کردن مشکلات rc (Nick Craig-Wood)
- •
- Alias
- •
- Azure Blob
- •
- عدم کامپایل در نسخههای کمتر از go1.13 پس از بهروزرسانی وابستگیها (Nick Craig-Wood)
- •
- B2
- •
- پیادهسازی کپی سمت سرور برای فایلهای بزرگتر از ۵ گیگابایت (Nick Craig-Wood)
- •
- لغو بارگذاریها و کپیهای چندبخشی در حال انجام هنگام خروج rclone (Nick Craig-Wood)
- •
- توجه به اینکه کدگذاری b2 اکنون را مجاز میداند اما در rclone تغییری نکرده است (Nick Craig-Wood)
- •
- رفع مشکل انتقالها هنگام استفاده از download_url (Nick Craig-Wood)
- •
- Box
- •
- پیادهسازی rclone cleanup (buengese)
- •
- لغو بارگذاریها و کپیهای چندبخشی در حال انجام هنگام خروج rclone (Nick Craig-Wood)
- •
- امکان احراز هویت با access token (David)
- •
- Chunker
- •
- کشکردن تمام backendهای ایجادشده جهت رفع مشکلات rc (Nick Craig-Wood)
- •
- Drive
- •
- افزودن rclone backend drives برای فهرستکردن درایوهای اشتراکی (teamdrives) (Nick Craig-Wood)
- •
- پیادهسازی rclone backend untrash (Nick Craig-Wood)
- •
- دور زدن باگ drive که modtime اسناد کپیشده را تنظیم نمیکرد (Nick Craig-Wood)
- •
- افزودن --drive-starred-only برای نمایش تنها فایلهای ستارهدار (Jay McEntire)
- •
- منسوخکردن --drive-alternate-export زیرا دیگر نیازی به آن نیست (themylogin)
- •
- رفع مشکل تکراری شدن Google docs در کپی سمت سرور (Nick Craig-Wood)
- •
- رفع خطای "panic: send on closed channel" هنگام بازیافت مدخلهای دایرکتوری (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن اطلاعات آشکارساز حق نشر در بخش محدودیتهای مستندات (Alex Guerrero)
- •
- رفع مشکل rclone link با حذف پارامتر expires (Nick Craig-Wood)
- •
- Fichier
- •
- تشخیص خطای Flood detected: IP Locked و توقف به مدت ۳۰ ثانیه (Nick Craig-Wood)
- •
- FTP
- •
- افزودن پشتیبانی از TLS صریح (Heiko Bornholdt)
- •
- افزودن پشتیبانی از --dump bodies و --dump auth برای اشکالزدایی (Nick Craig-Wood)
- •
- رفع مشکل تعاملپذیری با pure-ftpd (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- افزودن پشتیبانی از دسترسی ناشناس (Kai Lüke)
- •
- Jottacloud
- •
- بازگردانی احراز هویت قدیمی جهت استفاده با نسخههای whitelabel (buengese)
- •
- تغییر به api root جدید - همچنین پیادهسازی یک راهکار موقت برای خرابیهای DirMove (buengese)
- •
- Onedrive
- •
- بازنویسی لغو بارگذاریهای چندبخشی هنگام خروج rclone (Nick Craig-Wood)
- •
- پیادهسازی rclone cleanup (Nick Craig-Wood)
- •
- افزودن گزینهٔ --onedrive-no-versions برای حذف نسخههای قدیمی (Nick Craig-Wood)
- •
- Pcloud
- •
- پیادهسازی rclone link برای ایجاد پیوند عمومی (buengese)
- •
- Qingstor
- •
- لغو بارگذاریهای چندبخشی در حال انجام هنگام خروج rclone (Nick Craig-Wood)
- •
- S3
- •
- حفظ فراداده هنگام انجام کپی چندبخشی (Nick Craig-Wood)
- •
- لغو بارگذاریها و کپیهای چندبخشی در حال انجام هنگام خروج rclone (Nick Craig-Wood)
- •
- افزودن rclone link برای اشتراکگذاری پیوند عمومی (Roman Kredentser)
- •
- افزودن دستور rclone backend restore جهت بازیابی اشیاء از GLACIER (Nick Craig-Wood)
- •
- افزودن rclone cleanup و rclone backend cleanup جهت پاکسازی بارگذاریهای چندبخشی ناتمام (Nick Craig-Wood)
- •
- افزودن rclone backend list-multipart-uploads برای فهرستکردن بارگذاریهای چندبخشی ناتمام (Nick Craig-Wood)
- •
- افزودن پشتیبانی از --s3-max-upload-parts (Kamil Trzciński)
- •
- افزودن --s3-no-check-bucket برای به حداقل رساندن تراکنشها و دسترسیهای rclone (Nick Craig-Wood)
- •
- افزودن گزینههای --s3-profile و --s3-shared-credentials-file (Nick Craig-Wood)
- •
- استفاده از نقطهٔ پایانی منطقهای us-east-1 برای s3 (David)
- •
- افزودن ارائهدهندهٔ Scaleway (Vincent Feltz)
- •
- بهروزرسانی نقاط پایانی IBM COS (Egor Margineanu)
- •
- کاهش مقدار پیشفرض --s3-copy-cutoff به کمتر از ۵ گیگابایت برای سازگاری با Backblaze S3 (Nick Craig-Wood)
- •
- رفع مشکل در تشخیص موجود بودن bucket (Nick Craig-Wood)
- •
- SFTP
- •
- استفاده از مسیر مطلق بهجای مسیر نسبی در فهرستکردن جهت سازگاری بهتر (Nick Craig-Wood)
- •
- افزودن گزینههای --sftp-subsystem و --sftp-server-command (aus)
- •
- Swift
- •
- رفع مشکل عدم حذف نشانگرهای دایرکتوری توسط purge (Nick Craig-Wood)
- •
- رفع مشکل بهروزرسانی شیء چندبخشی (multipart) که تمام بخشهای خود را حذف میکرد (Nick Craig-Wood)
- •
- رفع مشکل فقدان هش در شیء بازگرداندهشده از بارگذاری (Nick Craig-Wood)
- •
- Tardigrade
- •
- ارتقا به uplink v1.2.0 (Kaloyan Raev)
- •
- Union
- •
- رفع مشکل نوشتن با خطمشی all (Nick Craig-Wood)
- •
- WebDAV
- •
- رفع مشکل ایجاد دایرکتوری در 4shared (Nick Craig-Wood)
v1.52.3 - 2020-08-07
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.52.2...v1.52.3)
- •
- رفع باگها
- •
- docs
- •
- غیرفعالسازی تایپوگرافی هوشمند (مانند en-dash) در MANUAL.* و صفحهٔ man (Nick Craig-Wood)
- •
- بهروزرسانی install.md برای انعکاس حداقل نسخهٔ Go (Evan Harris)
- •
- بهروزرسانی دستورالعملهای نصب از سورس (Nick Craig-Wood)
- •
- make_manual: پشتیبانی از SOURCE_DATE_EPOCH (Morten Linderud)
- •
- log: رفع ارسال خروجی --use-json-log به stderr به جای --log-file در Windows (Nick Craig-Wood)
- •
- serve dlna: رفع فهرست فایل در تلویزیونهای سامسونگ سری 6+ (Matteo Pietro Dazzi)
- •
- sync: رفع بنبست (deadlock) در صورت استفاده از --track-renames-strategy modtime (Nick Craig-Wood)
- •
- Cache
- •
- رفع اشکال moveto/copyto remote:file remote:file2 (Nick Craig-Wood)
- •
- Drive
- •
- توقف استفاده از root_folder_id به عنوان کش (Nick Craig-Wood)
- •
- نمایش میانبرهای معلق در فهرستبندیها (Nick Craig-Wood)
- •
- کاهش سطح پیامهای "Disabling ListR" به debug (Nick Craig-Wood)
- •
- راهکار جایگزین و خطمشی برای Google Drive API (Dmitry Ustalov)
- •
- FTP
- •
- افزودن یادداشتی به مستندات دربارهٔ انتخاب دایرکتوری home در برابر root (Nick Craig-Wood)
- •
- Onedrive
- •
- رفع مشکل بازگشت به Copy در زمانی که Move کار میکرد (Nick Craig-Wood)
- •
- جلوگیری از رندر شدن کاما در URL در onedrive.md (Kevin)
- •
- Pcloud
- •
- رفع مشکل oauth در منطقهٔ اروپایی "eapi.pcloud.com" (Nick Craig-Wood)
- •
- S3
- •
- رفع تشخیص خودکار Region برای باکت زمانی که Region در پیکربندی تنظیم نشده است (Nick Craig-Wood)
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.52.1...v1.52.2)
- •
- رفع باگها
- •
- build
- •
- اصلاح اکشن ساخت انتشار Docker (Nick Craig-Wood)
- •
- اصلاح منطقه زمانی سفارشی در ایمیج Docker (NoLooseEnds)
- •
- check: اصلاح پیام گمراهکنندهای که به جای تفاوتها، خطاها را چاپ میکرد (Nick Craig-Wood)
- •
- errors: افزودن WSAECONNREFUSED و موارد دیگر به فهرست خطاهای قابل تلاش مجدد در Windows (Nick Craig-Wood)
- •
- rcd: اصلاح متریکهای نادرست prometheus (Gary Kim)
- •
- serve restic: اصلاح فلگها جهت استفاده از متغیرهای محیطی (Nick Craig-Wood)
- •
- serve webdav: اصلاح فلگها جهت استفاده از متغیرهای محیطی (Nick Craig-Wood)
- •
- sync: اصلاح --track-renames-strategy modtime (Nick Craig-Wood)
- •
- Drive
- •
- اصلاح عدم امکان حذف دایرکتوری دارای میانبرِ به سطل زباله منتقلشده (Nick Craig-Wood)
- •
- اصلاح ایجاد دایرکتوری درون یک میانبر (Nick Craig-Wood)
- •
- اصلاح --drive-impersonate با root_folder_id ذخیرهشده در حافظه موقت (Nick Craig-Wood)
- •
- SFTP
- •
- اصلاح بارگذاری کلید SSH با ساختار PEM (Zac Rubin)
- •
- Swift
- •
- افزایش سرعت عملیات حذف با عدم تلاش مجدد برای حذف کانتینرهای قطعه (Nick Craig-Wood)
- •
- Tardigrade
- •
- ارتقا به uplink نسخه v1.1.1 (Caleb Case)
- •
- WebDAV
- •
- اصلاح نمایش فضای خالی/مصرفی برای rclone about/df در برخی backendها (Nick Craig-Wood)
v1.52.1 - 2020-06-10
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.52.0...v1.52.1)
- •
- رفع باگها
- •
- lib/file: اصلاح SetSparse در Windows 7 که مشکل دانلود فایلهای > 250MB را برطرف میکند (Nick Craig-Wood)
- •
- build
- •
- بهروزرسانی go.mod به go1.14 جهت فعالسازی ساخت با -mod=vendor (Nick Craig-Wood)
- •
- حذف quicktest از Dockerfile (Nick Craig-Wood)
- •
- ساخت ایمیجهای Docker با استفاده از GitHub actions (Matteo Pietro Dazzi)
- •
- بهروزرسانی گردشهای کاری ساخت Docker (Nick Craig-Wood)
- •
- تنظیم user_allow_other در /etc/fuse.conf درون ایمیج Docker (Nick Craig-Wood)
- •
- اصلاح ساخت xgo پس از بهروزرسانی go.mod به go1.14 (Nick Craig-Wood)
- •
- docs
- •
- افزودن پیوند به سورس و زمان ویرایش در پاورقی تمام صفحهها (Nick Craig-Wood)
- •
- حذف تاریخهای دستی و استفاده از تاریخهای git بهجای آنها (Nick Craig-Wood)
- •
- تغییرات جزئی در زمان افعال، نشانهگذاری، ایجاز و لحن مثبت برای صفحه اصلی (edwardxml)
- •
- حذف اسلش ابتدایی در ارجاع صفحه در پاورقی در صورت وجود (Nick Craig-Wood)
- •
- مشخص کردن دستورهایی که در مستندات به ورودی مبهمسازیشده (obscured) نیاز دارند (Nick Craig-Wood)
- •
- obscure: نگارش توضیحات راهنمای بیشتر به دلیل ارجاع به آن در بخشهای دیگر (Nick Craig-Wood)
- •
- VFS
- •
- اصلاح تداخل مسیرهای سیستمعامل در برابر یونیکس - برطرفسازی ChangeNotify در Windows (Nick Craig-Wood)
- •
- Drive
- •
- اصلاح موارد مفقود حین فهرستگیری با استفاده از --fast-list / ListR (Nick Craig-Wood)
- •
- Putio
- •
- اصلاح خطای panic در Object.Open (Cenk Alti)
- •
- S3
- •
- اصلاح بارگذاری فایلهای تکی در باکتهای فاقد مجوز ساخت (Nick Craig-Wood)
- •
- اصلاح --header-upload (Nick Craig-Wood)
- •
- Tardigrade
- •
- رفع باگ فهرستگیری با ارتقا به v1.0.7
- •
- تنظیم UserAgent روی rclone (Caleb Case)
تشکر ویژه از Martin Michlmayr برای بازخوانی و تصحیح تمام مستندات و از Edward Barker برای کمک به بازنویسی صفحه اصلی.
مشاهده کامیتها (https://github.com/rclone/rclone/compare/v1.51.0...v1.52.0)
- •
- پشتیبانهای جدید
- •
- پشتیبان Tardigrade (https://rclone.org/tardigrade) برای استفاده با storj.io (Caleb Case)
- •
- بازنویسی Union (https://rclone.org/union) برای داشتن چندین ریموت قابل نوشتن (Max Sum)
- •
- پشتیبان Seafile برای سرور Seafile (Fred @creativeprojects)
- •
- دستورهای جدید
- •
- backend: دستور برای دستورات خاص پشتیبان (بخش backends را ببینید) (Nick Craig-Wood)
- •
- cachestats: منسوخ شدن به نفع rclone backend stats cache: (Nick Craig-Wood)
- •
- dbhashsum: منسوخ شدن به نفع rclone hashsum DropboxHash (Nick Craig-Wood)
- •
- قابلیتهای جدید
- •
- افزودن پرچمهای --header-download و --header-upload برای تنظیم سرآیندهای HTTP هنگام بارگذاری/بارگیری (Tim Gallant)
- •
- افزودن پرچم --header برای افزودن سرآیندهای HTTP به هر تراکنش HTTP (Nick Craig-Wood)
- •
- افزودن --check-first برای انجام تمام بررسیها پیش از شروع انتقالها (Nick Craig-Wood)
- •
- افزودن --track-renames-strategy برای معیارهای تطابق قابلپیکربندی در --track-renames (Bernd Schoolmann)
- •
- افزودن --cutoff-mode با مقادیر hard، soft و cautious (Shing Kit Chan و Franklyn Tackitt)
- •
- پرچمهای پالایه (مانند --files-from -) میتوانند از stdin بخوانند (fishbullet)
- •
- افزودن گزینه --error-on-no-transfer (Jon Fautley)
- •
- پیادهسازی --order-by xxx,mixed برای کپی کردن تعدادی فایل کوچک و تعدادی فایل بزرگ (Nick Craig-Wood)
- •
- امکان منفی بودن مقدار --max-backlog به معنای تا جای ممکن بزرگ (Nick Craig-Wood)
- •
- افزودن پرچم --no-unicode-normalization برای حفظ یکتایی نامهای یونیکد فایلها (Ben Zenker)
- •
- امکان دریافت تاریخ علاوه بر مدتزمان برای --min-age/--max-age (Nick Craig-Wood)
- •
- افزودن آمار تغییر نام برای نامهای تغییریافته فایلها و دایرکتوریها (Nick Craig-Wood)
- •
- افزودن خروجی آمار به لاگ JSON (reddi)
- •
- چاپ آمارها در صورت خروج با وضعیت غیر صفر (Nick Craig-Wood)
- •
- امکان استفاده از stdin هنگام اجرای --password-command (Sébastien Gross)
- •
- جلوگیری از معتبر شناخته شدن رشتههای خالی به عنوان مسیر ریموت (Nick Craig-Wood)
- •
- accounting: پشتیبانی از WriterTo برای کپی حافظه کمتر (Nick Craig-Wood)
- •
- build
- •
- بهروزرسانی برای استفاده از go1.14 در ساخت (Nick Craig-Wood)
- •
- افزودن -trimpath به ساخت نسخه نهایی جهت ایجاد ساختهای بازتولیدپذیر (Nick Craig-Wood)
- •
- حذف GOOS و GOARCH از Dockerfile (Brandon Philips)
- •
- config
- •
- فراخوانی fsync روی فایل پیکربندی پس از نوشتن جهت ذخیرهسازی مطمئنتر (Nick Craig-Wood)
- •
- افزودن پرچمهای --obscure و --no-obscure به config create/update (Nick Craig-Wood)
- •
- امکان پذیرش remote: علاوه بر remote در config show (Nick Craig-Wood)
- •
- copyurl: افزودن پرچم --no-clobber (Denis)
- •
- delete: افزودن پرچم --rmdirs برای حذف دایرکتوریها نیز (Kush)
- •
- filter: افزودن پرچم --files-from-raw (Ankur Gupta)
- •
- genautocomplete: افزودن پشتیبانی از پوسته fish (Matan Rosenberg)
- •
- log: افزودن پشتیبانی از امکانات LOCAL در syslog (Patryk Jakuszew)
- •
- lsjson: افزودن پارامتر --hash-type و استفاده از آن در lsf برای افزایش سرعت درهمسازی (Nick Craig-Wood)
- •
- rc
- •
- افزودن -o/--opt و -a/--arg برای ورودی ساختاریافتهتر (Nick Craig-Wood)
- •
- پیادهسازی backend/command برای اجرای راه دور دستورات مختص پشتیبان (Nick Craig-Wood)
- •
- افزودن دستور mount/mount برای راهاندازی rclone mount از طریق API (Chaitanya)
- •
- rcd: افزودن پشتیبانی از معیارهای Prometheus (Gary Kim)
- •
- serve http
- •
- افزودن پرچم --template برای نشانهگذاری تعریفشده توسط کاربر (calistri)
- •
- افزودن سرآیندهای Last-Modified به فایلها و دایرکتوریها (Nick Craig-Wood)
- •
- serve sftp: افزودن پشتیبانی از چندین کلید میزبان با تکرار پرچم --key (Maxime Suret)
- •
- touch: افزودن پرچم --localtime برای محلی کردن زمان --timestamp به جای UTC (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting
- •
- بازگردانی خط لاگ "Max number of stats groups reached" (Michał Matczuk)
- •
- تصحیح وضعیت خروج در پرچم Transfer Limit Exceeded. (Anuar Serdaliyev)
- •
- بازنشانی بایتهای خواندهشده هنگام تلاش مجدد برای کپی (Ankur Gupta)
- •
- رفع وضعیت رقابتی در پاکسازی آمارها (Nick Craig-Wood)
- •
- copy: ایجاد دایرکتوریهای خالی تنها در صورتی که روی ریموت وجود نداشته باشند (Ishuah Kariuki)
- •
- dedupe: توقف حذف فایلهای دارای شناسههای یکسان توسط dedupe (Nick Craig-Wood)
- •
- oauth
- •
- استفاده از کلاینت سفارشی http تا --no-check-certificate هنگام واکشی توکن oauth رعایت شود (Mark Spieth)
- •
- جایگزینی oauth2.NoContext منسوخشده (Lars Lehtonen)
- •
- operations
- •
- ملزم کردن rcat به پیروی از --ignore-checksum (Nick Craig-Wood)
- •
- دقیقتر کردن عملکرد --max-transfer (Nick Craig-Wood)
- •
- rc
- •
- رفع خطای نادیدهگرفتهشده (Lars Lehtonen)
- •
- اصلاح پیکربندی نابجای کارساز http (Xiaoxing Ye)
- •
- غیرفعالسازی لاگ تکراری (ElonH)
- •
- serve dlna
- •
- Cds: عدم تعیین childCount در صورت نامشخص بودن آن (Dan Walters)
- •
- Cds: استفاده از زمان تغییر بهعنوان تاریخ در فراداده dlna (Dan Walters)
- •
- serve restic: اصلاح آزمونها پس از حذف وابستگیهای داخلی (vendoring) در پروژه restic (Nick Craig-Wood)
- •
- sync
- •
- اصلاح پیام نادرست "nothing to transfer" هنگام استفاده از --delete-before (Nick Craig-Wood)
- •
- ایجاد دایرکتوریهای خالی تنها در صورتی که در remote وجود نداشته باشند (Ishuah Kariuki)
- •
- Mount
- •
- افزودن گزینه --async-read جهت غیرفعالسازی خواندن ناهمگام (Nick Craig-Wood)
- •
- نادیدهگرفتن گزینه --allow-root همراه با یک هشدار به دلیل حذف آن در بالادست (Nick Craig-Wood)
- •
- هشدار در صورت استفاده از --allow-non-empty در Windows و شفافسازی مستندات (Nick Craig-Wood)
- •
- محدود کردن به go1.13 یا بالاتر، در غیر این صورت کامپایل bazil.org/fuse با خطا مواجه میشود (Nick Craig-Wood)
- •
- رفع خطا به دلیل طولانی بودن بیش از حد نام حجم (evileye)
- •
- گزارش ۱ پتابایت فضای آزاد برای دیسکهایی با اندازه نامشخص (Nick Craig-Wood)
- •
- نگاشت خطاهای بیشتر rclone به خطاهای سیستم فایل (Nick Craig-Wood)
- •
- رفع مشکل ناپدید شدن شاخه کاری جاری (cwd) (Nick Craig-Wood)
- •
- استفاده از ReaddirPlus در Windows برای بهبود کارایی فهرستکردن دایرکتوریها (Nick Craig-Wood)
- •
- ارسال یک راهنما (hint) مبنی بر اینکه آیا سیستم فایل به بزرگ و کوچکی حروف حساس است یا خیر (Nick Craig-Wood)
- •
- افزودن دستور rc با عنوان mount/types (Nick Craig-Wood)
- •
- تغییر حداکثر طول نام برگ (leaf name) به ۱۰۲۴ بایت (Nick Craig-Wood)
- •
- VFS
- •
- افزودن گزینههای --vfs-read-wait و --vfs-write-wait جهت کنترل زمان انتظار برای خواندن/نوشتن ترتیبی (Nick Craig-Wood)
- •
- تغییر مقدار پیشفرض --vfs-read-wait به 20ms (پیش از این 5ms بود و امکان پیکربندی نداشت) (Nick Craig-Wood)
- •
- سازگارتر کردن خروجی df در اتصال سوارشده rclone. (Yves G)
- •
- گزارش ۱ پتابایت فضای آزاد برای دیسکهایی با اندازه نامشخص (Nick Craig-Wood)
- •
- رفع شرایط رقابتی ناشی از خواندن محافظتنشده (بدون قفل) Dir.path (Nick Craig-Wood)
- •
- جلوگیری از همپوشانی قفل File و قفل Dir جهت اجتناب از بنبست (Nick Craig-Wood)
- •
- پیادهسازی ترتیببندی قفلها بین File و Dir به منظور حذف کامل بنبستها (Nick Craig-Wood)
- •
- انتقال حافظه موقت (cache) مربوط به vfs به بسته اختصاصی خود (Nick Craig-Wood)
- •
- ثابت نگهداشتن (Pin) نمونه Fs در حال استفاده در حافظه موقت Fs (Nick Craig-Wood)
- •
- افزودن متدهای SetSys() به Node به منظور امکان ذخیره موارد در حافظه موقت روی یک گره (Nick Craig-Wood)
- •
- نادیدهگرفتن خطاهای عدم یافتن فایل از طرف Hash در Read.Release (Nick Craig-Wood)
- •
- رفع مشکل توقف و عدم پاسخگویی (hang) در کد انتظار خواندن (Nick Craig-Wood)
- •
- Local
- •
- افزایش سرعت بارگیریهای چندنخی با استفاده از فایلهای پراکنده (sparse files) در Windows (Nick Craig-Wood)
- •
- پیادهسازی گزینه --local-no-sparse جهت غیرفعالسازی فایلهای پراکنده (Nick Craig-Wood)
- •
- پیادهسازی rclone backend noop برای اهداف آزمایشی (Nick Craig-Wood)
- •
- رفع خطاهای "file not found" در محاسبه Hash پس از انتقال (Nick Craig-Wood)
- •
- Cache
- •
- پیادهسازی دستور rclone backend stats (Nick Craig-Wood)
- •
- اصلاح رونوشت سمت سرور (Server Side Copy) همراه با بارگذاری موقت (Brandon McNama)
- •
- حذف توابع بلااستفاده (Lars Lehtonen)
- •
- غیرفعالسازی آزمونهای شرایط رقابتی تا زمان برطرف شدن مشکل bbolt (Nick Craig-Wood)
- •
- انتقال متدهای استفادهشده برای آزمایش به فایل آزمون (greatroar)
- •
- افزودن Pin و Unpin و جستجوی استانداردسازیشده (Nick Craig-Wood)
- •
- استفاده از مسیر واردسازی مناسب go.etcd.io/bbolt (Robert-André Mauchin)
- •
- Crypt
- •
- محاسبه هشها برای بارگذاریها از دیسک محلی (Nick Craig-Wood)
- •
- این قابلیت امکان بارگذاری رمزگذاریشده در Jottacloud را بدون استفاده از دیسک محلی فراهم میکند
- •
- این یعنی بارگذاریهای رمزگذاریشده s3/b2 از این پس دارای هش خواهند بود
- •
- افزودن دستورهای rclone backend decode/encode جهت بازتولید کارایی cryptdecode (Anagh Kumar Baranwal)
- •
- حذف رابط بلااستفاده Cipher به دلیل مبهم کردن ساختار کد (Nick Craig-Wood)
- •
- Azure Blob
- •
- پیادهسازی جاریسازی فایلهای با اندازه نامشخص، به طوری که rcat اکنون پشتیبانی میشود (Nick Craig-Wood)
- •
- پیادهسازی ادغام حافظه (memory pooling) برای کنترل مصرف حافظه (Nick Craig-Wood)
- •
- افزودن گزینه --azureblob-disable-checksum (Nick Craig-Wood)
- •
- تلاش مجدد در صورت مواجهه با خطای InvalidBlobOrBlock زیرا ممکن است نمایانگر مشکلات همزمانی بلوکها باشد (Nick Craig-Wood)
- •
- حذف متد بلااستفاده Object.parseTimeString() (Lars Lehtonen)
- •
- رفع خطای دسترسی در SAS URL محدود شده به مخزن (container) (Nick Craig-Wood)
- •
- B2
- •
- نادیده گرفتن نشانگرهای دایرکتوری در ریشه نیز (Nick Craig-Wood)
- •
- اجبار حروف کوچک برای SHA1 (Nick Craig-Wood)
- •
- حذف largeUpload.clearUploadURL() استفادهنشده (Lars Lehtonen)
- •
- Box
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- پیادهسازی About جهت خواندن اندازه مصرفشده (Nick Craig-Wood)
- •
- افزودن تابع تمدید توکن برای احراز هویت jwt (David Bramwell)
- •
- افزودن پشتیبانی از پوشه ریشه قابل تعویض برای بکاند Box (Sunil Patra)
- •
- حذف iat غیرضروری از ادعاهای jws (David)
- •
- Drive
- •
- دنبال کردن میانبرها بهطور پیشفرض، رد کردن با --drive-skip-shortcuts (Nick Craig-Wood)
- •
- پیادهسازی دستور rclone backend shortcut برای ایجاد میانبرها (Nick Craig-Wood)
- •
- افزودن دستور rclone backend برای تغییر service_account_file و chunk_size (Anagh Kumar Baranwal)
- •
- رفع مشکل فایلهای مفقود هنگام استفاده از --fast-list و --drive-shared-with-me (Nick Craig-Wood)
- •
- رفع موارد تکراری هنگام استفاده از --drive-shared-with-me (Nick Craig-Wood)
- •
- گسترش --drive-stop-on-upload-limit جهت پاسخگویی به teamDriveFileLimitExceeded. (harry)
- •
- عدم حذف فایلهای دارای والد چندگانه برای جلوگیری از دست رفتن دادهها (Nick Craig-Wood)
- •
- استفاده از توضیحات پیشفرض در کپی سمت سرور اسناد در صورت خالی بودن (Nick Craig-Wood)
- •
- Dropbox
- •
- مهلک ساختن خطای کمبود فضا (insufficient space) (harry)
- •
- افزودن اطلاعات درباره redirect url مورد نیاز (Elan Ruusamäe)
- •
- Fichier
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- پیادهسازی pacer سفارشی برای مواجهه با نرخ محدودسازی جدید (buengese)
- •
- FTP
- •
- رفع قفل شدن هنگام استفاده از حد همزمانی در اتصالات ناموفق (Nick Craig-Wood)
- •
- رفع قفل شدن در بارگذاری ناموفق هنگام استفاده از حد همزمانی (Nick Craig-Wood)
- •
- رفع قفل شدن در شکستهای Close هنگام استفاده از حد همزمانی (Nick Craig-Wood)
- •
- دور زدن مشکل ارسال پیامهای کاذب 150 توسط pureftp (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- افزودن پشتیبانی از --header-upload و --header-download (Nick Craig-Wood)
- •
- افزودن کلاس ذخیرهسازی ARCHIVE به راهنما (Adam Stroud)
- •
- نادیده گرفتن نشانگرهای دایرکتوری در ریشه (Nick Craig-Wood)
- •
- Googlephotos
- •
- امکانپذیر کردن پیکربندی سال شروع (Daven)
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- ایجاد دایرکتوری feature/favorites (Brandon Philips)
- •
- رفع خطای "concurrent map write" (Nick Craig-Wood)
- •
- عدم قرار دادن تصویر در پیام خطا (Nick Craig-Wood)
- •
- HTTP
- •
- بهبود فهرستکردن دایرکتوری با قالب جدید برگرفته از پروژه Caddy (calisro)
- •
- Jottacloud
- •
- پیادهسازی --jottacloud-trashed-only (buengese)
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- استفاده از RawURLEncoding هنگام رمزگشایی توکن ورودِ کدگذاریشده با base64 (buengese)
- •
- پیادهسازی پاکسازی (cleanup) (buengese)
- •
- بهروزرسانی مستندات درباره پاکسازی، حذف موارد باقیمانده از احراز هویت قدیمی و افزودن هشدار درباره نقاط اتصال خاص. (albertony)
- •
- Mailru
- •
- شرح الزامات احراز هویت دومرحلهای (2FA) (valery1707)
- •
- Onedrive
- •
- پیادهسازی --onedrive-server-side-across-configs (Nick Craig-Wood)
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- رفع خطاهای گهگاهی 416 در بارگذاریهای چندبخشی (Nick Craig-Wood)
- •
- افزودن هشدار محدودیت حداکثر اندازه قطعه در مستندات (Harry)
- •
- رفع مشکل مفقود شدن درایو در پیکربندی (Nick Craig-Wood)
- •
- مهلک ساختن خطای quotaLimitReached (harry)
- •
- Opendrive
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- Pcloud
- •
- افزودن پشتیبانی از پوشه ریشه قابل تعویض برای بکاند pCloud (Sunil Patra)
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- رفع پیام "Auth state doesn't match" در پیکربندی اولیه (Nick Craig-Wood) Premiumizeme
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- پاکسازی توابع بلااستفاده (Lars Lehtonen)
- •
- Putio
- •
- افزودن پشتیبانی از --header-upload و --header-download (Nick Craig-Wood)
- •
- استفاده از rclone http Client برای بارگیری فایلها (Nick Craig-Wood)
- •
- رفع مشکل تجزیه ریموتهای دارای / در ابتدا و انتها (Nick Craig-Wood)
- •
- Qingstor
- •
- تنظیم rclone cleanup برای حذف بارگذاریهای چندبخشی معلق قدیمیتر از ۲۴ ساعت (Nick Craig-Wood)
- •
- تلاش بیشتر برای لغو بارگذاریهای چندبخشی ناموفق (Nick Craig-Wood)
- •
- پاکسازی multiUploader.list() (Lars Lehtonen)
- •
- رفع خطاهای lint (Lars Lehtonen)
- •
- S3
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- استفاده از استخر حافظه (memory pool) برای تخصیص بافرها (Maciej Zimnoch)
- •
- افزودن پشتیبانی از SSE-C برای AWS، Ceph و MinIO (Jack Anderson)
- •
- شکست سریع (fail fast) بارگذاری چندبخشی (Michał Matczuk)
- •
- گزارش صحیح خطاها هنگام ایجاد باکت (mkdir) (Nick Craig-Wood)
- •
- مشخص کردن اینکه Minio از کدگذاری URL در فهرستبندیها پشتیبانی میکند (Nick Craig-Wood)
- •
- افزودن 500 بهعنوان retryErrorCode (Michał Matczuk)
- •
- استفاده از --low-level-retries بهعنوان تعداد تلاشهای مجدد SDK (Aleksandar Janković)
- •
- رفع مشکل abort context در بارگذاری چندبخشی (Aleksandar Jankovic)
- •
- جایگزینی متد منسوخشده session.New() با session.NewSession() (Lars Lehtonen)
- •
- استفاده از پارامتر اندازه ارائهشده هنگام تخصیص یک استخر حافظه جدید (Joachim Brandon LeBlanc)
- •
- استفاده از تلاشهای مجدد سطح پایین rclone بهجای AWS SDK برای رفع مشکل تلاشهای مجدد در فهرستبندی (Nick Craig-Wood)
- •
- نادیده گرفتن نشانگرهای دایرکتوری در ریشه نیز (Nick Craig-Wood)
- •
- استفاده از یک استخر حافظه واحد (Michał Matczuk)
- •
- عدم تغییر اندازه buf هنگام قرار دادن در memBuf (Michał Matczuk)
- •
- بهبود مستندات مربوط به --s3-disable-checksum (Nick Craig-Wood)
- •
- جلوگیری از نشت حافظه یا توکنها در شرایط مرزی هنگام بارگذاری چندبخشی (Nick Craig-Wood)
- •
- Seafile
- •
- پیادهسازی احراز هویت دومرحلهای (2FA) (Fred)
- •
- SFTP
- •
- افزودن --sftp-pem-key جهت پشتیبانی از فایلهای کلید درونخطی (calisro)
- •
- رفع مشکل شکست کپیهای پس از انتقال با اندازه صفر هنگام استفاده از set_modtime=false (Nick Craig-Wood)
- •
- Sharefile
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- Sugarsync
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- Swift
- •
- افزودن پشتیبانی از --header-upload و --header-download (Nick Craig-Wood)
- •
- رفع اشکال ظاهری در پیام خطا (Martin Michlmayr)
- •
- Union
- •
- پیادهسازی چندین ریموت قابلنوشتن (Max Sum)
- •
- رفع مشکل کپی سمت سرور (server-side copy) (Max Sum)
- •
- پیادهسازی ListR (Max Sum)
- •
- فعالسازی ListR در حالتی که بالادستها شامل محلی (local) باشند (Max Sum)
- •
- WebDAV
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- اصلاح هدر X-OC-Mtime جهت سازگاری با Transip (Nick Craig-Wood)
- •
- گزارش کامل و یکپارچه میزان مصرف با about (Yves G)
- •
- Yandex
- •
- افزودن پشتیبانی از --header-upload و --header-download (Tim Gallant)
- •
- بکاندهای جدید
- •
- Memory (https://rclone.org/memory) (Nick Craig-Wood)
- •
- Sugarsync (https://rclone.org/sugarsync) (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- تنظیم همهٔ بکاندها برای داشتن پارامتر --backend-encoding (Nick Craig-Wood)
- •
- این قابلیت امکان تنظیم یا غیرفعالسازی کدگذاری برای نویسههای خاص را فراهم میکند
- •
- افزودن پرچم --max-duration برای کنترل حداکثر مدتزمان یک نشست انتقال (boosh)
- •
- افزودن پرچم --expect-continue-timeout، پیشفرض 1s (Nick Craig-Wood)
- •
- افزودن پرچم --no-check-dest برای رونوشت بدون بررسی مقصد (Nick Craig-Wood)
- •
- پیادهسازی پرچم --order-by برای مرتبسازی انتقالها (Nick Craig-Wood)
- •
- accounting
- •
- عدم نمایش موارد بهطور همزمان در transferring و checking (Nick Craig-Wood)
- •
- افزودن گزینهای برای پاک کردن آمارها (Aleksandar Jankovic)
- •
- build
- •
- فشردهسازی ساختهای آزمایشی با gzip (Nick Craig-Wood)
- •
- پیادهسازی چارچوبی برای راهاندازی سرورهای آزمایشی در حین آزمونها (Nick Craig-Wood)
- •
- cmd: چاپ همیشگی زمان سپریشده با دقت دهم ثانیه در نوار پیشرفت (Gary Kim)
- •
- config
- •
- افزودن --password-command برای مجاز کردن گذرواژهٔ پویای پیکربندی (Damon Permezel)
- •
- تعیین مقادیر پیشفرض برای پرسشهای پیکربندی (Nick Craig-Wood)
- •
- بررسی وجود یک ریموت هنگام ساخت ریموت جدید (Nick Craig-Wood)
- •
- copyurl: افزودن پرچم --stdout برای نوشتن در stdout (Nick Craig-Wood)
- •
- dedupe: پیادهسازی نگهداری کوچکترین (keep smallest) نیز (Nick Craig-Wood)
- •
- hashsum: افزودن پرچم --base64 (landall)
- •
- lsf: افزایش سرعت روی s3/swift/غیره با عدم خواندن mimetype بهصورت پیشفرض (Nick Craig-Wood)
- •
- lsjson: افزودن پرچم --no-mimetype (Nick Craig-Wood)
- •
- rc: افزودن متدهایی برای فعالسازی پروفایلینگ مسدودسازی و mutex (Nick Craig-Wood)
- •
- rcd
- •
- افزودن پارامتر group به stats (Chaitanya)
- •
- جداسازی webgui؛ گزینه برای غیرفعال کردن مرورگر (Xiaoxing Ye)
- •
- serve sftp: افزودن پشتیبانی از کلید عمومی همراه با پروکسی احراز هویت (Paul Tinsley)
- •
- stats: نمایش موارد حذفی در آمار و پنهانسازی آمارهای صفر (anuar45)
- •
- رفع باگها
- •
- accounting
- •
- رفع شمارش چندباره توسط شمارندهٔ خطاها (Ankur Gupta)
- •
- رفع نمایش تعداد خطاها به عنوان بررسیها (Cnly)
- •
- پاکسازی انتقالهای پایانیافته در stats-reset (Maciej Zimnoch)
- •
- افزودن قفلگذاری StatsInfo در تابع مجموع statsGroups (Michał Matczuk)
- •
- asyncreader: رفع خطای EOF (buengese)
- •
- check: رفع پیمایش بازگشتی بیش از نیاز دایرکتوریها توسط --one-way (Nick Craig-Wood)
- •
- chunkedreader: غیرفعالسازی محاسبهٔ هش برای بخش نخست (Nick Craig-Wood)
- •
- config
- •
- عدم باز کردن مرورگر در حالت بدون سر (headless) برای drive/gcs/google photos (Xiaoxing Ye)
- •
- نادیده گرفتن خطا در SetValueAndSave در صورتی که بخش پیکربندی هنوز وجود ندارد (buengese)
- •
- cmd: رفع مشکل کاملسازی با یک پیکربندی رمزنگاریشده (Danil Semelenov)
- •
- dbhashsum: جلوگیری از بازگرداندن UNSUPPORTED در dropbox (Nick Craig-Wood)
- •
- dedupe: افزودن حالتهای ناموجود به رشتهٔ راهنما (Nick Craig-Wood)
- •
- operations
- •
- رفع ادامه کار dedupe هنگام بروز خطاهایی مانند insufficientFilePersimmon (SezalAgrawal)
- •
- پاکسازی accounting پیش از تلاش مجدد سطح پایین (Maciej Zimnoch)
- •
- نوشتن پیام اشکالزدایی هنگامی که هشها بررسیپذیر نبودند (Ole Schütt)
- •
- انتقال بررسی نوع رابط (interface assertion) به آزمونها برای حذف وابستگی به pflag (Nick Craig-Wood)
- •
- عمومی کردن NewOverrideObjectInfo و بازآرایی کاربردهای آن (Nick Craig-Wood)
- •
- proxy: جایگزینی استفاده از bcrypt با sha256 (Nick Craig-Wood)
- •
- vendor
- •
- بهروزرسانی bazil.org/fuse برای رفع مشکل FreeBSD 12.1 (Nick Craig-Wood)
- •
- بهروزرسانی github.com/t3rm1n4l/go-mega برای رفع mega "illegal base64 data at input byte 22" (Nick Craig-Wood)
- •
- بهروزرسانی termbox-go برای رفع دستور ncdu در FreeBSD (Kuang-che Wu)
- •
- بهروزرسانی t3rm1n4l/go-mega - رفع mega: couldn't login: crypto/aes: invalid key size 0 (Nick Craig-Wood)
- •
- Mount
- •
- فعالسازی خواندن ناهمگام برای ۲۰٪ افزایش سرعت (Nick Craig-Wood)
- •
- جایگزینی استفاده از WriteAt با Write برای cache mode >= writes و O_APPEND (Brett Dutro)
- •
- اطمینان از فراخوانی unmount در هنگام خروج (Nick Craig-Wood)
- •
- عدم ساخت روی go1.10 به دلیل توقف پشتیبانی bazil/fuse از آن (Nick Craig-Wood)
- •
- نادیده گرفتن تاریخهای خارج از محدوده هنگام تنظیم تاریخها (Nick Craig-Wood)
- •
- VFS
- •
- محاسبه تنها یک هش برای خواندنها جهت افزایش سرعت (Nick Craig-Wood)
- •
- بهبود کارکرد ReadAt برای فایلهای کَشنشده در خواندنهای غیرمتوالی (Nick Craig-Wood)
- •
- رفع حالتهای خاص هنگام خواندن ModTime از فایل (Nick Craig-Wood)
- •
- اطمینان از نمایش اندازه صحیح فایلهای موجودِ بازشده برای نوشتن (Nick Craig-Wood)
- •
- کَش نکردن مسیر در اشیاء فایلی RW جهت اصلاح تغییر نام (Nick Craig-Wood)
- •
- رفع مشکل تغییر نام فایلهای باز هنگام استفاده از کَش VFS (Nick Craig-Wood)
- •
- تغییر نام مورد مربوطه در حافظه هنگام تغییر نام فایلها در کَش (Nick Craig-Wood)
- •
- اصلاح تغییر نام فایلهای باز در drive هنگام استفاده از --vfs-cache-mode writes (Nick Craig-Wood)
- •
- اصلاح modtime نادرست برای انتقال (mv) به داخل mount با --vfs-cache-modes writes (Nick Craig-Wood)
- •
- هنگام تغییر نام، در صورت وجود فایل، نام آن در کَش نیز تغییر یابد (Anagh Kumar Baranwal)
- •
- Local
- •
- تبدیل خطاهای در حال بهروزرسانی بودن فایل مبدأ به خطاهای NoLowLevelRetry (Nick Craig-Wood)
- •
- رفع مشکل بهروزرسانی فایلهای پنهان در Windows (Nick Craig-Wood)
- •
- Cache
- •
- همگامسازی با جابهجایی کتابخانه بالادستی از github.com/coreos/bbolt به github.com/etcd-io/bbolt (Nick Craig-Wood)
- •
- رفع خطای fatal error: concurrent map writes (Nick Craig-Wood)
- •
- Crypt
- •
- مرتبسازی دوباره گزینههای رمزنگاری نام فایل (Thomas Eales)
- •
- مدیریت صحیح نقطه در پایان نام (buengese)
- •
- Chunker
- •
- کاهش طول پسوند موقت (Ivan Andreev)
- •
- Drive
- •
- افزودن پرچم --drive-stop-on-upload-limit برای متوقف کردن همگامسازی پس از رسیدن به حد بارگذاری (Nick Craig-Wood)
- •
- افزودن --drive-use-shared-date جهت استفاده از تاریخ همرسانی فایل بهجای تاریخ ویرایش (Garry McNulty)
- •
- اطمینان از گزارش همیشگی خطا در احراز هویت نامعتبر برای teamdrives (Nick Craig-Wood)
- •
- رفع مشکل --fast-list هنگام استفاده از appDataFolder (Nick Craig-Wood)
- •
- استفاده از بارگذاریهای چندبخشی با قابلیت ادامه (resumable) برای استریم و بارگذاریها در mount (Nick Craig-Wood)
- •
- ثبت گزارش خطای ERROR در صورت بازگشت جستوجوی ناقص (Nick Craig-Wood)
- •
- پنهان کردن پیکربندیهای خطرناک از بخش پیکربندی (Nick Craig-Wood)
- •
- Dropbox
- •
- در نظر گرفتن خطاهای insufficient_space به عنوان خطاهای غیرقابل تلاش مجدد (Nick Craig-Wood)
- •
- Jottacloud
- •
- استفاده از روش احراز هویت جدید مورد استفاده در کلاینت رسمی (buengese)
- •
- افزودن URL برای ایجاد Login Token به دستیار پیکربندی (Nick Craig-Wood)
- •
- افزودن پشتیبانی از نسخههای whitelabel (buengese)
- •
- Koofr
- •
- استفاده از کلاینت HTTP اختصاصی rclone (jaKa)
- •
- Onedrive
- •
- افزودن مجوز Sites.Read.All (Benjamin Richter)
- •
- افزودن پشتیبانی از سرآیند "Retry-After" (Motonori IWAMURO)
- •
- Opendrive
- •
- پیادهسازی --opendrive-chunk-size (Nick Craig-Wood)
- •
- S3
- •
- پیادهسازی مجدد بارگذاری چندبخشی جهت رفع مشکلات حافظه (Nick Craig-Wood)
- •
- افزودن --s3-copy-cutoff برای تعیین اندازه سوئیچ به کپی چندبخشی (Nick Craig-Wood)
- •
- افزودن منطقه جدید Asia Pacific (Hong Kong) (Outvi V)
- •
- کاهش مصرف حافظه هنگام استریم فایلها با کاهش حداکثر اندازه بارگذاری استریم (Nick Craig-Wood)
- •
- افزودن گزینه --s3-list-chunk برای فهرستبندی bucket (Thomas Kriechbaumer)
- •
- غیرفعالسازی اجباری دسترسی bucket به روش path style به دلیل منسوخشدن در AWS (Nick Craig-Wood)
- •
- استفاده از AWS web identity role provider در صورت در دسترس بودن (Tennix)
- •
- افزودن پشتیبانی از StackPath Object Storage (Dave Koston)
- •
- اصلاح مقدار ExpiryWindow (Aleksandar Jankovic)
- •
- اصلاح شرط DisableChecksum (Aleksandar Janković)
- •
- اصلاح رمزگشایی URL برای NextMarker (Nick Craig-Wood)
- •
- SFTP
- •
- افزودن --sftp-skip-links جهت صرفنظر از پیوندهای نمادین و فایلهای غیرعادی (Nick Craig-Wood)
- •
- تلاش مجدد برای برقراری اتصال (Sebastian Brandt)
- •
- رفع خطای "failed to parse private key file: ssh: not an encrypted key" (Nick Craig-Wood)
- •
- باز کردن فایلها برای بهروزرسانی به صورت فقطنوشتنی جهت سازگاری با AWS SFTP (Nick Craig-Wood)
- •
- Swift
- •
- نگهداری بخشهای شیء بزرگ پویا هنگام حذف اشیاء در container با نسخهبندی فعال (Nguyễn Hữu Luân)
- •
- اصلاح تجزیه X-Object-Manifest (Nick Craig-Wood)
- •
- بهروزرسانی endpoint مربوط به OVH API (unbelauscht)
- •
- WebDAV
- •
- اصلاح بزرگی و کوچکی حروف "Bearer" در سرآیند :Authorization برای مطابقت با RFC (Nick Craig-Wood)
- •
- افزودن سرآیند Referer جهت رفع مشکلات مربوط به WAFها (Nick Craig-Wood)
v1.50.2 - 2019-11-19
- •
- رفع باگها
- •
- accounting: رفع نشت حافظه در عملیات تلاش مجدد (Nick Craig-Wood)
- •
- Drive
- •
- رفع مشکل فهرست کردن دایرکتوری ریشه با محدوده کاری drive.files (Nick Craig-Wood)
- •
- رفع مشکل --drive-root-folder-id با درایوهای اشتراکی/تیمی (Nick Craig-Wood)
v1.50.1 - 2019-11-02
- •
- رفع باگها
- •
- hash: رفع تغییر تصادفی نام هشها برای DropboxHash و CRC-32 (Nick Craig-Wood)
- •
- fshttp: رفع گزارش خطا برای خطاهای سطل توکن در tpslimit (Nick Craig-Wood)
- •
- fshttp: عدم چاپ خطاهای سطل توکن هنگام لغو شدن context (Nick Craig-Wood)
- •
- Local
- •
- رفع مشکل فهرست کردن . در Windows (Nick Craig-Wood)
- •
- Onedrive
- •
- رفع مشکل DirMove/Move پس از تغییر Onedrive (Xiaoxing Ye)
v1.50.0 - 2019-10-26
- •
- پساندهای جدید
- •
- Citrix Sharefile (https://rclone.org/sharefile) (Nick Craig-Wood)
- •
- Chunker (https://rclone.org/chunker) - یک پساند لایهای برای تقسیم فایلها به بخشهای کوچکتر (Ivan Andreev)
- •
- Mail.ru Cloud (https://rclone.org/mailru) (Ivan Andreev)
- •
- ویژگیهای جدید
- •
- encodings (Fabian Möller & Nick Craig-Wood)
- •
- همه پساندها اکنون از کدگذاری نام فایل استفاده میکنند تا تضمین شود هر نام فایلی میتواند روی هر پساندی نوشته شود.
- •
- برای اطلاعات بیشتر، مستندات نامهای فایل محدودشده (https://rclone.org/overview/#restricted-filenames) و مستندات پساند local را ببینید.
- •
- اگر در نامها از نویسههای کنترلی یا نمادهای تمامعرض یونیکد (FULLWIDTH) (https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)) استفاده میکنید، ممکن است برخی نامهای فایل در rclone متفاوت به نظر برسند.
- •
- build
- •
- بهروزرسانی برای استفاده از go1.13 جهت ساخت (Nick Craig-Wood)
- •
- حذف پشتیبانی از go1.9 (Nick Craig-Wood)
- •
- ساخت rclone با GitHub actions (Nick Craig-Wood)
- •
- تبدیل اسکریپتهای python به python3 (Nick Craig-Wood)
- •
- جایگزینی Azure/go-ansiterm با mattn/go-colorable (Nick Craig-Wood)
- •
- اصلاحات Dockerfile (Matei David)
- •
- افزودن پشتیبانی از پلاگین (https://github.com/rclone/rclone/blob/master/CONTRIBUTING.md#writing-a-plugin) برای پساندها و دستورها (Richard Patel)
- •
- config
- •
- استفاده متناوب از قرمز/سبز در config جهت وضوح بیشتر (Nick Craig-Wood)
- •
- contrib
- •
- افزودن مانیفست نمونه Docker Compose برای سرور DLNA. (pataquets)
- •
- افزودن مانیفست نمونه Docker Compose برای سرور WebDAV. (pataquets)
- •
- copyurl
- •
- افزودن پرچم --auto-filename برای استفاده از نام فایل برگرفته از URL در مسیر مقصد (Denis)
- •
- serve dlna:
- •
- بهبودهای فراوان در سازگاری (Dan Walters)
- •
- پشتیبانی از زیرنویسهای خارجی srt (Dan Walters)
- •
- rc
- •
- افزودن دستور core/quit (Saksham Khanna)
- •
- رفع باگها
- •
- sync
- •
- جلوگیری از انتقال فایلهایی که تغییر نکردهاند توسط --update/-u (Nick Craig-Wood)
- •
- آزادسازی اشیاء پس از خروج از لوله انتقال جهت صرفهجویی در حافظه (Nick Craig-Wood)
- •
- رفع مشکل پویش بازگشتی در --files-from without --no-traverse (Nick Craig-Wood)
- •
- operations
- •
- رفع محاسبه آمار برای کپیهای سمت سرور (Nick Craig-Wood)
- •
- نمایش 'All duplicates removed' تنها در صورت موفقیتآمیز بودن dedupe (Sezal Agrawal)
- •
- نمایش 'Deleted X extra copies' تنها در صورت موفقیتآمیز بودن dedupe (Sezal Agrawal)
- •
- accounting
- •
- محدود کردن فهرست accounting به حداکثر ۱۰۰ انتقال تکمیلشده جهت صرفهجویی در حافظه (Nick Craig-Wood)
- •
- حذف بازههای زمانی قدیمی در صورت امکان جهت صرفهجویی در حافظه (Nick Craig-Wood)
- •
- رفع panic ناشی از fallback کپی سمت سرور (Ivan Andreev)
- •
- رفع نشت حافظه مشهود هنگام انتقال تعداد زیادی شیء (Nick Craig-Wood).IP • 2 رفع اشکال در محاسبهٔ کل مدت زمان (Nick Craig-Wood)
- •
- cmd
- •
- رفع مشکل مقداردهی نشدن پرچمهای خط فرمان از طریق متغیرهای محیطی (Nick Craig-Wood)
- •
- سازگار کردن تکمیل خودکار با حالت posix در bash برای macOS (Danil Semelenov)
- •
- فعالسازی کارکرد --progress در git bash روی Windows (Nick Craig-Wood)
- •
- رفع خطای 'compopt: command not found' هنگام تکمیل خودکار در macOS (Danil Semelenov)
- •
- config
- •
- رفع اشکال در تنظیم پرچمهای غیرسطحبالا از متغیرهای محیطی (Nick Craig-Wood)
- •
- بررسی دقیقتر نامهای پیکربندی و گزارش خطاها (Nick Craig-Wood)
- •
- حذف خطای: can't use --size-only and --ignore-size together. (Nick Craig-Wood)
- •
- filter: جلوگیری از ترکیب گزینهها هنگام استفاده از --files-from (Michele Caci)
- •
- serve sftp: رفع فروپاشی (crash) در عملیاتهای پشتیبانینشده (مانند Readlink) (Nick Craig-Wood)
- •
- Mount
- •
- امکان خواندن صحیح فایلهای با اندازهٔ نامشخص (Nick Craig-Wood)
- •
- نادیده گرفتن آزمونها روی <= 2 پردازنده برای جلوگیری از قفل شدن (Nick Craig-Wood)
- •
- رفع خطای بحرانی (panic) در File.Open (Nick Craig-Wood)
- •
- رفع اشکال "mount_fusefs: -o timeout=: option not supported" در FreeBSD (Nick Craig-Wood)
- •
- عدم ارسال نامفایلهای بسیار بزرگ (>4k) به FUSE به دلیل عدم توانایی در رسیدگی به آنها (Nick Craig-Wood)
- •
- VFS
- •
- افزودن پرچم --vfs-case-insensitive برای سوار کردنهای Windows/macOS (Ivan Andreev)
- •
- امکانپذیر کردن خواندن اشیاء با اندازهٔ نامشخص از طریق VFS (Nick Craig-Wood)
- •
- انتقال بازنویسی (writeback) دادههای تغییریافته از تابع close() به متد اختصاصی خودش (FlushWrites) و حذف فراخوانی close() از Flush() (Brett Dutro)
- •
- جلوگیری از ناپدید شدن دایرکتوریهای خالی هنگام تغییر نام در ریموتهای مبتنی بر باکت (Nick Craig-Wood)
- •
- جلوگیری از پاکسازی بیش از حد حافظهٔ موقت دایرکتوری توسط نظرسنجی اعلان تغییرات (Nick Craig-Wood)
- •
- Azure Blob
- •
- غیرفعالسازی ثبت گزارش در وقایعنگار ویندوز (Windows event log) (Nick Craig-Wood)
- •
- B2
- •
- حذف پیشوند unverified: در sha1 جهت بهبود سازگاری (مثلاً با CyberDuck) (Nick Craig-Wood)
- •
- Box
- •
- افزودن گزینههایی برای دریافت توکن دسترسی از طریق احراز هویت JWT (David)
- •
- Drive
- •
- غیرفعالسازی پیشفرض HTTP/2 جهت دور زدن مشکلات INTERNAL_ERROR (Nick Craig-Wood)
- •
- اطمینان از استاندارد (canonical) بودن همیشگی شناسهٔ ریشهٔ drive (Nick Craig-Wood)
- •
- رفع اشکال --drive-shared-with-me از ریشه همراه با ls و --fast-list (Nick Craig-Wood)
- •
- رفع اشکال نظرسنجی ChangeNotify برای درایوهای اشتراکی (Nick Craig-Wood)
- •
- رفع اشکال نظرسنجی اعلان تغییرات هنگام استفاده از appDataFolder (Nick Craig-Wood)
- •
- Dropbox
- •
- عدم تلاش مجدد برای خطاهای نامفایلهای غیرمجاز (Nick Craig-Wood)
- •
- رفع استثنای اشارهگر تهی (nil pointer) در فایلهای محدودشده (Nick Craig-Wood)
- •
- Fichier
- •
- رفع اشکال دسترسی به فایلهای بزرگتر از ۲ گیگابایت در سامانههای ۳۲ بیتی (Nick Craig-Wood)
- •
- FTP
- •
- امکان غیرفعالسازی حالت EPSV (Jon Fautley)
- •
- HTTP
- •
- ارسال موازی درخواستهای HEAD برای مدخلهای دایرکتوری به منظور افزایش سرعت (Nick Craig-Wood)
- •
- افزودن --http-no-head جهت جلوگیری از ارسال درخواستهای HEAD توسط rclone در فهرستبندیها (Nick Craig-Wood)
- •
- Putio
- •
- افزودن امکان ازسرگیری بارگذاریها (Cenk Alti)
- •
- S3
- •
- رفع اشکال سرآیندهای v2_auth در امضا (Anthony Rusdi)
- •
- رفع اشکال کدگذاری نویسههای کنترلی (Nick Craig-Wood)
- •
- درخواست فهرست دایرکتوری بهصورت URL-encoded تنها در صورت نیاز در Ceph (Nick Craig-Wood)
- •
- افزودن گزینهای برای رفتار در زمان شکست multipart (Aleksandar Jankovic)
- •
- پشتیبانی از کپی چندبخشی (multipart copy) (庄天翼)
- •
- رفع اشکال ارجاع اشارهگر تهی در صورت بازنگشتن فراداده برای شیء (Nick Craig-Wood)
- •
- SFTP
- •
- رفع مشکل تلاش --sftp-ask-password برای ارتباط با ssh-agent (Nick Craig-Wood)
- •
- رفع مشکل هش فایلهای حاوی بکاسلش (Nick Craig-Wood)
- •
- گنجاندن رمزهای بیشتر با --sftp-use-insecure-cipher (Carlos Ferreyra)
- •
- WebDAV
- •
- تجزیه و بازگرداندن پاسخ خطای Sharepoint (Henning Surmeier)
- •
- رفع باگها
- •
- بازگشت به go1.12.x برای بیلدهای v1.49.x به دلیل بروز مشکل در go1.13.x (Nick Craig-Wood)
- •
- اصلاح بستههای rpm با استفاده از بیلدهای master ابزار nfpm (Nick Craig-Wood)
- •
- رفع مشکل ساخت macOS پس از تغییرات brew (Nick Craig-Wood)
v1.49.4 - 2019-09-29
- •
- رفع باگها
- •
- cmd/rcd: برطرف کردن آسیبپذیری ZipSlip (Richard Patel)
- •
- accounting: رفع نشت دستگیره فایل هنگام بروز خطا (Nick Craig-Wood)
- •
- oauthutil: رفع مشکل امنیتی هنگام اجرا با دو کاربر روی یک ماشین یکسان (Nick Craig-Wood)
- •
- FTP
- •
- رفع مشکل فهرست کردن ریشه خالی که خطای error dir not found برمیگرداند (Nick Craig-Wood)
- •
- S3
- •
- اصلاح SetModTime روی اشیاء GLACIER/ARCHIVE و پیادهسازی set/get tier (Nick Craig-Wood)
v1.49.3 - 2019-09-15
- •
- رفع باگها
- •
- accounting
- •
- اصلاح محاسبه مدت زمان کل (Aleksandar Jankovic)
- •
- رفع خطای "file already closed" هنگام تلاش مجدد برای انتقال (Nick Craig-Wood)
v1.49.2 - 2019-09-08
- •
- قابلیتهای جدید
- •
- build: افزودن پشتیبانی از گردشکار Docker (Alfonso Montero)
- •
- رفع باگها
- •
- accounting: اصلاح قفلگذاری در Transfer جهت جلوگیری از بنبست با --progress (Nick Craig-Wood)
- •
- docs: اصلاح آرگومان الگو برای mktemp در install.sh (Cnly)
- •
- operations: رفع مشکل -u/--update با google photos / فایلهای با اندازه نامشخص (Nick Craig-Wood)
- •
- rc: اصلاح مستندات برای config/create /update /password (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- رفع نیاز به دسترسیهای سطح بالا در SetModTime (Nick Craig-Wood)
v1.49.1 - 2019-08-28
- •
- رفع باگها
- •
- config: رفع مشکل ذخیره گذرواژههای تولیدشده به صورت گذرواژه خالی (Nick Craig-Wood)
- •
- rcd: افزودن پارامتر جاافتاده برای گزارشهای اطلاعاتی web-gui. (Chaitanya)
- •
- Googlephotos
- •
- رفع کرش در پاسخ خطا (Nick Craig-Wood)
- •
- Onedrive
- •
- رفع کرش در پاسخ خطا (Nick Craig-Wood)
- •
- بکاندهای جدید
- •
- 1fichier (https://rclone.org/fichier) (Laura Hausmann)
- •
- Google Photos (https://rclone.org/googlephotos) (Nick Craig-Wood)
- •
- Putio (https://rclone.org/putio) (Cenk Alti)
- •
- premiumize.me (https://rclone.org/premiumizeme) (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- رابط کاربری وب آزمایشی (https://rclone.org/gui) (Chaitanya Bankanhal)
- •
- پیادهسازی --compare-dest و --copy-dest (yparitcher)
- •
- پیادهسازی --suffix بدون --backup-dir برای پشتیبانگیری در دایرکتوری جاری (yparitcher)
- •
- دستور config reconnect برای ورود مجدد (اجرای دوباره ورود با oauth) به بکاند. (Nick Craig-Wood)
- •
- دستور config userinfo برای مشخص کردن کاربری که در حال حاضر با آن وارد شدهاید. (Nick Craig-Wood)
- •
- دستور config disconnect برای قطع اتصال (خروج) از بکاند. (Nick Craig-Wood)
- •
- افزودن --use-json-log برای ثبت وقایع در قالب JSON (justinalin)
- •
- افزودن انتشار زمینه (context propagation) به rclone (Aleksandar Jankovic)
- •
- بازطراحی رابطهای آماری داخلی برای همخوانی با کارهای rc (Aleksandar Jankovic)
- •
- افزودن واحدهای بزرگتر برای زمان تقریبی اتمام (ETA) (AbelThar)
- •
- بهروزرسانی لوگوهای rclone با طراحی جدید (Andreas Chlupka)
- •
- در hash: افزودن پشتیبانی از CRC-32 (Cenk Alti)
- •
- در help showbackend: رفع مشکل دستهبندی گزینههای پیشرفته در زمانی که گزینههای استاندارد وجود ندارند (buengese)
- •
- در ncdu: نمایش/کپی مسیر جاری در حافظه کلیپبورد (Gary Kim)
- •
- عملیاتها (operations):
- •
- اجرای موازی عملیاتهای محاسبه هش (Nick Craig-Wood)
- •
- عدم محاسبه چکسامها هنگام استفاده از --ignore-checksum (Nick Craig-Wood)
- •
- بررسی هشهای انتقال هنگام استفاده از حالت --size-only (Nick Craig-Wood)
- •
- غیرفعالسازی کپی چندنخی برای کپیهای محلی به محلی (Nick Craig-Wood)
- •
- ثبت گزارش اشکالزدایی هشهای موفق علاوه بر ناموفقها (Nick Craig-Wood)
- •
- rc
- •
- افزودن امکان توقف کارهای ناهمگام (async) (Aleksandar Jankovic)
- •
- بازگرداندن تنظیمات جاری در صورت فراخوانی core/bwlimit بدون آرگومان (Nick Craig-Wood)
- •
- یکپارچهسازی Rclone-WebUI با rclone (Chaitanya Bankanhal)
- •
- افزودن پارامتر خط فرمان برای کنترل اشتراک منابع میانمبدأیی (CORS) در rcd. (بهبود امنیتی) (Chaitanya Bankanhal)
- •
- افزودن برچسبهای لنگر به مستندات جهت سازگاری پیوندها (Nick Craig-Wood)
- •
- حذف کلید _async از پارامترهای ورودی پس از تجزیه برای جلوگیری از تداخل در عملیاتهای بعدی (buengese)
- •
- افزودن فراخوانی برای پاککردن آمارها (Aleksandar Jankovic)
- •
- rcd
- •
- ورود خودکار برای رابط کاربری وب (Chaitanya Bankanhal)
- •
- پیادهسازی --baseurl برای rcd و رابط کاربری وب (Chaitanya Bankanhal)
- •
- serve dlna
- •
- انتخاب انحصاری رابطهایی با قابلیت مالتیکست برای SSDP (Nick Craig-Wood)
- •
- افزودن انواع mime داخلی بیشتر برای پوشش استانداردهای صوتی/تصویری (Nick Craig-Wood)
- •
- رفع مشکل انواع mime مفقود در Android که باعث ناپدید شدن ویدیوها میشد (Nick Craig-Wood)
- •
- serve ftp
- •
- بازطراحی کد برای یکپارچگی با سایر دستورات serve (Nick Craig-Wood)
- •
- پیادهسازی --auth-proxy (Nick Craig-Wood)
- •
- در serve http: پیادهسازی --baseurl (Nick Craig-Wood)
- •
- در serve restic: پیادهسازی --baseurl (Nick Craig-Wood)
- •
- serve sftp
- •
- پیادهسازی پراکسی احراز هویت (Nick Craig-Wood)
- •
- رفع اشکال در تشخیص مجاز بودن سرور (Nick Craig-Wood)
- •
- serve webdav
- •
- پیادهسازی --baseurl (Nick Craig-Wood)
- •
- پشتیبانی از --auth-proxy (Nick Craig-Wood)
- •
- رفع باگها
- •
- تبدیل خطای "bad record MAC" به خطای قابل تلاش مجدد (Nick Craig-Wood)
- •
- در copyurl: رفع مشکل کپی فایلهایی که خطای HTTP برمیگردانند (Nick Craig-Wood)
- •
- در march: رفع مشکل بررسی زیردایرکتوریها هنگام استفاده از --no-traverse (buengese)
- •
- rc
- •
- رفع مشکل غیرقابل unmarshal بودن http.AuthFn در گزینهها و اضافه کردن آزمون بررسی صحت marshal (Nick Craig-Wood)
- •
- انتقال پرچمهای انقضای کار به rc جهت رفع مشکل مقداردهی اولیه (Nick Craig-Wood)
- •
- رفع مشکل --loopback هنگام استفاده با rc/list و موارد دیگر (Nick Craig-Wood)
- •
- در rcat: رفع مشکل افت سرعت در سیستمهای دارای هشهای چندگانه (Nick Craig-Wood)
- •
- در rcd: رفع مشکلات دسترسی روی دایرکتوری حافظه موقت (cache) هنگام بارگیری رابط وب (Nick Craig-Wood)
- •
- Mount
- •
- تنظیم مقدار پیشفرض --daemon-timeout روی ۱۵ دقیقه در macOS و FreeBSD (Nick Craig-Wood)
- •
- بهروزرسانی مستندات جهت اعلام مجاز بودن سوار کردن از ریشه در سیستمهای مبتنی بر باکت (Nick Craig-Wood)
- •
- حذف پرچم nonseekable از فایلهای نوشتاری (Nick Craig-Wood)
- •
- VFS
- •
- رفع نادیده گرفتن فایلهای کَششده در --vfs-cache-mode minimal و writes (Nick Craig-Wood)
- •
- Local
- •
- افزودن --local-case-sensitive و --local-case-insensitive (Nick Craig-Wood)
- •
- جلوگیری از آلوده کردن page cache هنگام بارگذاری فایلهای محلی به backendهای دوردست (Michał Matczuk)
- •
- عدم محاسبهٔ هیچ هشی بهطور پیشفرض (Nick Craig-Wood)
- •
- اجرای فراخوان سیستمی Fadvise روی یک go routine اختصاصی (Michał Matczuk)
- •
- Azure Blob
- •
- پشتیبانی از Azure Storage Emulator (Sandeep)
- •
- بهروزرسانی جزئیات راهنمای پیکربندی جهت حذف ارجاعات connection string (Sandeep)
- •
- امکان کارکرد تمام عملیاتها از ریشه (Nick Craig-Wood)
- •
- B2
- •
- پیادهسازی اشتراکگذاری پیوند (yparitcher)
- •
- فعالسازی server-side copy جهت کپی میان باکتها (Nick Craig-Wood)
- •
- امکان کارکرد تمام عملیاتها از ریشه (Nick Craig-Wood)
- •
- Drive
- •
- رفع مشکل server-side copy برای فایلهای بزرگ (Nick Craig-Wood)
- •
- بهروزرسانی API جهت استفاده در teamdrive (Nick Craig-Wood)
- •
- افزودن خطا برای purge همراه با --drive-trashed-only (ginvine)
- •
- Fichier
- •
- تبدیل نوع FolderID به int و تطبیق کدهای مربوطه (buengese)
- •
- Google Cloud Storage
- •
- کاهش دامنهٔ درخواستی oauth بر اساس پیشنهاد Google (Nick Craig-Wood)
- •
- امکان کارکرد تمام عملیاتها از ریشه (Nick Craig-Wood)
- •
- HTTP
- •
- افزودن پرچم --http-headers برای تنظیم سرایندهای دلخواه (Nick Craig-Wood)
- •
- Jottacloud
- •
- استفاده از api جدید جهت دریافت نام کاربری داخلی (buengese)
- •
- بازسازی ساختار پیکربندی و پاکسازیهای جزئی (buengese)
- •
- Koofr
- •
- پشتیبانی از تنظیم زمانهای تغییر فایل در Koofr backend. (jaKa)
- •
- Opendrive
- •
- بازسازی جهت استفاده از امکانات موجود در lib/rest برای بارگذاریها (Nick Craig-Wood)
- •
- Qingstor
- •
- ارتقا به v3 SDK و رفع حلقهٔ تکرار در فهرستگیری (Nick Craig-Wood)
- •
- امکان کارکرد تمام عملیاتها از ریشه (Nick Craig-Wood)
- •
- S3
- •
- افزودن کلاس ذخیرهسازی INTELLIGENT_TIERING (Matti Niemenmaa)
- •
- امکان کارکرد تمام عملیاتها از ریشه (Nick Craig-Wood)
- •
- SFTP
- •
- افزودن بررسی رابط مفقود و اصلاح About (Nick Craig-Wood)
- •
- نادیده گرفتن کامل تمام بررسیهای modtime در صورت SetModTime=false (Jon Fautley)
- •
- پشتیبانی از md5/sha1 در rsync.net (Nick Craig-Wood)
- •
- ذخیرهٔ دستور md5/sha1 در حال استفاده در فایل پیکربندی جهت بهبود کارایی (Nick Craig-Wood)
- •
- پشتیبانی اختیاری (opt-in) از diffie-hellman-group-exchange-sha256 و diffie-hellman-group-exchange-sha1 (Yi FU)
- •
- Swift
- •
- استفاده از FixRangeOption جهت اصلاح فایلهای با طول ۰ از طریق VFS (Nick Craig-Wood)
- •
- اصلاح بارگذاری هنگام استفاده از no_chunk جهت بازگرداندن اندازهٔ صحیح (Nick Craig-Wood)
- •
- امکان کارکرد تمام عملیاتها از ریشه (Nick Craig-Wood)
- •
- رفع نشت بخشها (segments) در زمان شکست بارگذاری فایلهای بزرگ. (nguyenhuuluan434)
- •
- WebDAV
- •
- افزودن --webdav-bearer-token-command (Nick Craig-Wood)
- •
- نوسازی توکن هنگام انقضای آن با --webdav-bearer-token-command (Nick Craig-Wood)
- •
- افزودن مستندات استفاده از bearer_token_command همراه با oidc-agent (Paul Millar)
- •
- دستورهای جدید
- •
- serve sftp: ارائهی یک ریموت rclone از طریق SFTP (Nick Craig-Wood)
- •
- قابلیتهای جدید
- •
- دانلودهای چندرشتهای به فضای ذخیرهسازی محلی (Nick Craig-Wood)
- •
- کنترلشده با --multi-thread-cutoff و --multi-thread-streams
- •
- استفاده از rclone.conf از دایرکتوری اجرایی rclone جهت فعالسازی استفاده قابلحمل (albertony)
- •
- اجازه همگامسازی یک فایل و یک دایرکتوری با نام یکسان (forgems)
- •
- این مورد در ریموتهای مبتنی بر باکت (bucket)، مانند s3، gcs رایج است
- •
- افزودن --ignore-case-sync برای اجبار عدم حساسیت به بزرگی و کوچکی حروف (garry415)
- •
- پیادهسازی --stats-one-line-date و --stats-one-line-date-format (Peter Berbec)
- •
- ثبت گزارش ERROR برای تمام دستورهایی که با وضعیتی غیر از صفر خارج میشوند (Nick Craig-Wood)
- •
- استفاده از go-homedir جهت خواندن مطمئنتر دایرکتوری خانه (Nick Craig-Wood)
- •
- فعالسازی ایجاد پیکربندی رمزشده از طریق فراخوانی اسکریپت خارجی (Wojciech Smigielski)
- •
- build: توقف پشتیبانی از go1.8 (Nick Craig-Wood)
- •
- config: رمزگذاری گذرواژهها توسط create/update در پیکربندی در صورت لزوم (Nick Craig-Wood)
- •
- copyurl: رعایت --no-check-certificate (Stefan Breunig)
- •
- install: نادیدهگرفتن صفحات راهنما در لینوکس در صورت عدم وجود mandb (didil)
- •
- lsf: پشتیبانی از نمایش لایه (Tier) شیء (Nick Craig-Wood)
- •
- lsjson
- •
- افزودن EncryptedPath به خروجی (calisro)
- •
- پشتیبانی از نمایش لایه (Tier) شیء (Nick Craig-Wood)
- •
- افزودن فیلد IsBucket برای فهرست کردن ریشه در ریموتهای مبتنی بر باکت (Nick Craig-Wood)
- •
- rc
- •
- افزودن پرچم --loopback جهت اجرای مستقیم دستورها بدون نیاز به سرور (Nick Craig-Wood)
- •
- افزودن operations/fsinfo: بازگرداندن اطلاعات مربوط به ریموت (Nick Craig-Wood)
- •
- رد کردن احراز هویت برای درخواست OPTIONS (Nick Craig-Wood)
- •
- cmd/providers: افزودن فیلدهای DefaultStr، ValueStr و Type (Nick Craig-Wood)
- •
- jobs: امکان پیکربندی مهلتهای زمانی انقضای وظایف (Aleksandar Jankovic)
- •
- بازنویسی و بهبود serve dlna (Dan Walters)
- •
- serve ftp: افزودن پرچم --ftp-public-ip برای تعیین IP عمومی (calistri)
- •
- serve restic: افزودن پشتیبانی از --private-repos در serve restic (Florian Apolloner)
- •
- serve webdav: ادغام serve webdav و serve http (Gary Kim)
- •
- size: نادیدهگرفتن اندازههای منفی هنگام محاسبه مجموع (Garry McNulty)
- •
- رفع باگها
- •
- تبعیت انتقال و رونوشت فایلهای مجزا از --backup-dir (Nick Craig-Wood)
- •
- در صورت برقراری --ignore-checksum، چکسام محاسبه نشود (Nick Craig-Wood)
- •
- moveto: رفع مشکل انتقال درون همان ریموت بدون حساسیت به بزرگی و کوچکی حروف (Gary Kim)
- •
- rc: رفع مشکل ارائهی اشیاء مبتنی بر باکت با --rc-serve (Nick Craig-Wood)
- •
- serve webdav: رفع مشکل بهروزرسانی نشدن serveDir با تغییرات ناشی از webdav (Gary Kim)
- •
- Mount
- •
- اصلاح مستندات مربوط به فاصله زمانی نظرسنجی (Animosity022)
- •
- VFS
- •
- عملکرد درست WriteAt برای فایلهای ذخیرهنشده در حافظه موقت با نوشتنهای غیرمتوالی (Nick Craig-Wood)
- •
- Local
- •
- محاسبه تنها هشهای مورد نیاز برای افزایش چشمگیر سرعت (Nick Craig-Wood)
- •
- ثبت خطاها در لاگ هنگام فهرستگیری به جای برگرداندن یک خطا (Nick Craig-Wood)
- •
- رفع هشدار preallocate در لینوکس به همراه ZFS (Nick Craig-Wood)
- •
- Crypt
- •
- امکان کارکرد rclone dedupe از طریق crypt (Nick Craig-Wood)
- •
- رفع مشکل بستهبندی ChangeNotify برای رمزگشایی صحیح دایرکتوریها (Nick Craig-Wood)
- •
- پشتیبانی از PublicLink (دستور rclone link) در backend زیربنایی (Nick Craig-Wood)
- •
- پیادهسازی متدهای اختیاری SetTier و GetTier (Nick Craig-Wood)
- •
- B2
- •
- پیادهسازی رونوشت در سمت سرور (Nick Craig-Wood)
- •
- پیادهسازی SetModTime (Nick Craig-Wood)
- •
- Drive
- •
- رفع مشکل انتقال و رونوشت از TeamDrive به GDrive (Fionera)
- •
- افزودن یادداشتهایی مبنی بر اینکه پاکسازی در drive در پسزمینه کار میکند (Nick Craig-Wood)
- •
- افزودن --drive-server-side-across-configs برای بازگشت به معناشناسی قدیمی رونوشت سمت سرور به صورت پیشفرض (Nick Craig-Wood)
- •
- افزودن --drive-size-as-quota برای نمایش استفاده از سهمیه فضای ذخیرهسازی به عنوان اندازه فایل (Garry McNulty)
- •
- FTP
- •
- افزودن مهلت زمانی (timeout) برای فهرستگیری FTP (Jeff Quinn)
- •
- افزودن پشتیبانی از FTP بر بستر TLS (Gary Kim)
- •
- افزودن گزینه --ftp-no-check-certificate برای FTPS (Gary Kim) Google Cloud Storage
- •
- رفع خطاهای بارگذاری هنگام بارگذاری فایلهای پیش از ۱۹۷۰ (Nick Craig-Wood)
- •
- Jottacloud
- •
- افزودن پشتیبانی از انتخاب دستگاه و نقطهٔ اتصال (mountpoint). (buengese)
- •
- Mega
- •
- افزودن پشتیبانی از پاکسازی (Gary Kim)
- •
- Onedrive
- •
- بررسی دقیقتر یافت شدن ریشه (Cnly)
- •
- S3
- •
- پشتیبانی از نقاط پایانی شتابیافته (Accelerated) در S3 با --s3-use-accelerate-endpoint (Nick Craig-Wood)
- •
- افزودن اطلاعات پیکربندی برای نقطهٔ پایانی اروپای مرکزی Wasabi (Robert Marko)
- •
- فعالسازی عملکرد صحیح SetModTime برای GLACIER در حین همگامسازی (Philip Harvey)
- •
- SFTP
- •
- افزودن پشتیبانی از About (Gary Kim)
- •
- اصلاح تحلیل خروجیهای df در about جهت پشتیبانی از مقادیر منفی (Nick Craig-Wood)
- •
- ارسال نگارش سفارشی کلاینت و نگارش اشکالزدایی سرور (Nick Craig-Wood)
- •
- WebDAV
- •
- تلاش مجدد در مواجهه با خطاهای 423 Locked (Nick Craig-Wood)
v1.47.0 - 2019-04-13
- •
- بکاندهای جدید
- •
- بکاند برای سرویس ذخیرهسازی ابری Koofr. (jaKa)
- •
- قابلیتهای جدید
- •
- ازسرگیری بارگیریها در صورت بروز خطا در خواننده در حین رونوشت (Nick Craig-Wood)
- •
- این بدان معناست که در صورت بروز خطا در مبدأ، rclone فرایند انتقال را از نو آغاز میکند
- •
- این قابلیت برای بارگیریها یا رونوشتهای ابر به ابر بیشترین کاربرد را دارد
- •
- استفاده از --fast-list برای عملیات فهرستگیری در مواردی که حافظهٔ بیشتری مصرف نخواهد کرد (Nick Craig-Wood)
- •
- این امر باید سرعت عملیات زیر را در ریموتهایی که از ListR پشتیبانی میکنند افزایش دهد
- •
- dedupe، serve restic، lsf، ls، lsl، lsjson، lsd، md5sum، sha1sum، hashsum، size، delete، cat، settier
- •
- برای استفاده از رفتار پیشین در صورت نیاز، از --disable ListR استفاده کنید
- •
- پیمایش مقصد توسط --files-from، مگر اینکه --no-traverse تنظیم شده باشد (Nick Craig-Wood)
- •
- این تغییر مشکل --files-from با Google drive و استفادهٔ بیش از حد از API را بهطور کلی برطرف میکند.
- •
- محاسبه بایتها در رونوشت سمت سرور و رعایت --max-transfer (Nick Craig-Wood)
- •
- افزودن گزینهٔ --create-empty-src-dirs و پیشفرض قرار دادن عدم ایجاد پوشههای خالی (ishuah)
- •
- افزودن گزینههای سمت کلاینت TLS/SSL با عناوین --ca-cert/--client-cert/--client-key (Nick Craig-Wood)
- •
- پیادهسازی --suffix-keep-extension جهت استفاده همراه با --suffix (Nick Craig-Wood)
- •
- build:
- •
- تغییر به برچسبهای نسخهٔ منطبق بر semver جهت سازگاری با ماژولهای go (Nick Craig-Wood)
- •
- بهروزرسانی برای استفاده از go1.12.x در فرایند ساخت (Nick Craig-Wood)
- •
- serve dlna: افزودن شرح سرویس مدیر اتصال برای بهبود سازگاری (Dan Walters)
- •
- lsf: افزودن قالب 'e' برای نمایش نامهای رمزگذاریشده و 'o' برای شناسههای اصلی (Nick Craig-Wood)
- •
- lsjson: افزودن گزینههای --files-only و --dirs-only (calistri)
- •
- rc: پیادهسازی operations/publiclink معادل rclone link (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting: اصلاح ETA کل هنگامی که --stats-unit bits فعال است (Nick Craig-Wood)
- •
- تکمیل کلید TAB در Bash
- •
- استفاده از تابع سفارشی اختصاصی جهت رفع تداخل میان rclone و kubectl (Nick Craig-Wood)
- •
- رفع مشکل برای ریموتهایی با زیرخط در نام آنها (Six)
- •
- اصلاح تکمیل خودکار ریموتها (Florian Gamböck)
- •
- اصلاح تکمیل خودکار مسیرهای ریموت حاوی فاصله (Danil Semelenov)
- •
- serve dlna: اصلاح توصیفکنندهٔ سرویس ریشه XML (Dan Walters)
- •
- ncdu: اصلاح بههمریختگی نمایش نویسههای چینی (Nick Craig-Wood)
- •
- افزودن SIGTERM به سیگنالهایی که گردانندههای خروج را در unix اجرا میکنند (Nick Craig-Wood)
- •
- rc: بارگذاری مجدد فیلتر هنگام تنظیم گزینهها از طریق rc (Nick Craig-Wood)
- •
- VFS / Mount
- •
- اصلاح FreeBSD: نادیده گرفتن Truncate در صورتی که بدون خواننده فراخوانی شده و از قبل اندازهٔ صحیحی داشته باشد (Nick Craig-Wood)
- •
- خواندن پوشه و بررسی وجود فایل پیش از اجرای mkdir (Nick Craig-Wood)
- •
- کوتاهتر کردن بازهٔ زمانی قفلگذاری برای vfs/refresh (Nick Craig-Wood)
- •
- Azure Blob
- •
- فعالسازی چکسامهای MD5 هنگام بارگذاری فایلهای بزرگتر از "Cutoff" (Dr.Rx)
- •
- اصلاح پشتیبانی از SAS URL (Nick Craig-Wood)
- •
- B2
- •
- نادیدهگرفتن خطای already_hidden هنگام حذف (Nick Craig-Wood)
- •
- نادیدهگرفتن src_last_modified_millis نامعتبر (Nick Craig-Wood)
- •
- Drive
- •
- افزودن --skip-checksum-gphotos برای نادیدهگرفتن چکسامهای نادرست در Google Photos (Nick Craig-Wood)
- •
- امکان جابهجایی/کپی سمت سرور بین remoteهای مختلف. (Fionera)
- •
- افزودن مستندات درباره team driveها و سازگاری نهایی در --fast-list (Nestar47)
- •
- رفع مشکل وارد کردن فایلهای متنی (Nick Craig-Wood)
- •
- رفع مشکل درخواستهای بازهای (range requests) روی فایلهای با طول صفر (Nick Craig-Wood)
- •
- رفع مشکل ایجاد موارد تکراری در کپی سمت سرور (Nick Craig-Wood)
- •
- Dropbox
- •
- تلاش مجدد در خطاهای خالی برای رفع مشکل فهرستگیریهای طولانی (Nick Craig-Wood)
- •
- FTP
- •
- افزودن --ftp-concurrency برای محدود کردن حداکثر تعداد اتصالات (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- استفاده از گواهیهای پیشفرض برنامه (application credentials) به عنوان جایگزین (marcintustin)
- •
- پشتیبانی از باکتهای مبتنی بر bucket policy only (Nick Craig-Wood)
- •
- HTTP
- •
- افزودن --http-no-slash برای وبسایتهایی با دایرکتوریهای فاقد اسلش (Nick Craig-Wood)
- •
- حذف موارد تکراری از فهرستها (Nick Craig-Wood)
- •
- رفع نشت سوکت در خطاهای 404 (Nick Craig-Wood)
- •
- Jottacloud
- •
- رفع مشکل نوسازی توکن (Sebastian Bünger)
- •
- افزودن ثبت دستگاه (Oliver Heyme)
- •
- Onedrive
- •
- پیادهسازی لغو بینقص بارگذاریهای چندبخشی در صورت متوقف شدن rclone (Cnly)
- •
- افزودن همیشگی دونقطه پایانی به مسیر هنگام آدرسدهی آیتمها، (Cnly)
- •
- بازگرداندن خطا بهجای رخ دادن panic برای بارگذاریهای نامعتبر (Fabian Möller)
- •
- S3
- •
- افزودن پشتیبانی از کلاس ذخیرهسازی "Glacier Deep Archive" (Manu)
- •
- بهروزرسانی endpoint مربوط به Dreamhost (Nick Craig-Wood)
- •
- ذکر ناسازگاری با CEPH Jewel (Nick Craig-Wood)
- •
- SFTP
- •
- امکان استفاده از پیکربندی سفارشی کلاینت ssh (Alexandru Bumbacea)
- •
- Swift
- •
- تبعیت از Retry-After برای فعالسازی بازیابی OVH از ذخیرهسازی سرد (Nick Craig-Wood)
- •
- دور زدن مشکل انقضای توکن در CEPH (Nick Craig-Wood)
- •
- WebDAV
- •
- امکان تعیین ویژگی IsCollection بهصورت عدد صحیح یا مقدار بولی (Nick Craig-Wood)
- •
- رفع تداخل (race condition) هنگام ایجاد دایرکتوریها (Nick Craig-Wood)
- •
- رفع مشکل About/df هنگامی که خواندن available/total مقدار 0 برمیگرداند (Nick Craig-Wood)
- •
- بکاندهای جدید
- •
- پشتیبانی از Alibaba Cloud (Aliyun) OSS از طریق بکاند s3 (Nick Craig-Wood)
- •
- دستورهای جدید
- •
- serve dlna: ارائه یک ریموت از طریق DLNA برای شبکه محلی (nicolov)
- •
- قابلیتهای جدید
- •
- copy، move: بازیابی پرچم منسوخشدهی --no-traverse (Nick Craig-Wood)
- •
- این مورد برای زمان انتقال تعداد کمی فایل به یک مقصد بزرگ مفید است
- •
- genautocomplete: افزودن تکمیل خودکار مسیر ریموت برای تکمیل خودکار bash (Christopher Peterson و Danil Semelenov)
- •
- بازنویسی مدیریت حافظه میانگیر برای آزادسازی بهتر حافظه به سیستمعامل (Nick Craig-Wood)
- •
- کتابخانه بازیافت میانگیر برای جایگزینی با sync.Pool
- •
- امکان استفاده اختیاری از حافظه نگاشتشده (mmap) جهت کاهش بهتر مصرف حافظه
- •
- در صورت بروز مشکلات حافظه با --use-mmap فعال شود - هنوز پیشفرض نیست
- •
- موازیسازی خواندن فایلهای مشخصشده توسط --files-from (Nick Craig-Wood)
- •
- check: افزودن آمارهایی که مجموع فایلهای منطبق را نشان میدهد. (Dario Guzik)
- •
- امکان تغییر نام/حذف فایلهای باز در Windows (Nick Craig-Wood)
- •
- lsjson: استفاده از تعداد کاملاً دقیق ارقام اعشار در ثانیهها (Nick Craig-Wood)
- •
- افزودن پشتیبانی از کوکی با کلید خط فرمان --use-cookies برای تمام ریموتهای مبتنی بر HTTP (qip)
- •
- هشدار در صورت تنظیم بودن --checksum در حالی که هیچ هشی در دسترس نیست (Nick Craig-Wood)
- •
- بازنویسی محدودکننده نرخ (pacer) برای دقت بیشتر و مجاز کردن ارسال ناگهانی (bursting) (Nick Craig-Wood)
- •
- بهبود گزارش خطا برای آرگومانهای بسیار زیاد/کم در دستورها (Nick Craig-Wood)
- •
- listremotes: حذف پرچم کوتاه -l به دلیل تداخل با پرچم جدید سراسری (weetmuts)
- •
- تولید پیامهای INFO در صورت شکست احراز هویت در سرویسدهی http با احراز هویت (Nick Craig-Wood)
- •
- رفع اشکالها
- •
- اصلاح قالببندی آمارها (Nick Craig-Wood)
- •
- رفع کرش --progress در Windows Jenkins (Nick Craig-Wood)
- •
- رفع مشکل انتقال اسناد google/onedrive با فراخوانی Rcat در Copy هنگام -1 بودن اندازه (Cnly)
- •
- copyurl: رفع بررسی --dry-run (Denis Skovpen)
- •
- Mount
- •
- بررسی عدم تداخل نقطه اتصال (mountpoint) و دایرکتوری محلی جهت سوار کردن (Nick Craig-Wood)
- •
- رفع مشکل اندازه سوار کردن در ویندوز ۳۲ بیتی (Nick Craig-Wood)
- •
- VFS
- •
- پیادهسازی تغییر نام دایرکتوریها برای بکاندهای بدون DirMove (Nick Craig-Wood)
- •
- اکنون تمام بکاندها بهجز b2 از تغییر نام دایرکتوریها پشتیبانی میکنند
- •
- پیادهسازی --vfs-cache-max-size برای محدود کردن اندازه کل حافظه نهان (Nick Craig-Wood)
- •
- افزودن پرچمهای --dir-perms و --file-perms برای تنظیم مجوزهای پیشفرض (Nick Craig-Wood)
- •
- رفع بنبست (deadlock) در عملیاتهای همزمان روی یک دایرکتوری (Nick Craig-Wood)
- •
- رفع بنبست بین RWFileHandle.close و File.Remove (Nick Craig-Wood)
- •
- رفع مشکل تغییر نام/حذف فایلهای باز با حالت حافظه نهان "writes" در Windows (Nick Craig-Wood)
- •
- رفع خطای غیرمنتظره (panic) هنگام تغییر نام در صورت تنظیم بودن --dry-run (Nick Craig-Wood)
- •
- رفع اشکال نیاز vfs/refresh با recurse=true به پرچم --fast-list
- •
- Local
- •
- افزودن پشتیبانی از -l/--links (ترجمه پیوند نمادین) (yair@unicorn)
- •
- این سازوکار با نمایش پیوندها بهصورت link.rclonelink کار میکند - برای اطلاعات بیشتر مستندات بکاند local را ببینید
- •
- در صورت استفاده به همراه -L/--copy-links خطا میدهد
- •
- رفع مشکل تغییر نام/حذف فایلهای باز در Windows (Nick Craig-Wood)
- •
- Crypt
- •
- بررسی حداکثر طول پیش از رمزگشایی نام فایل برای رفع مشکل خطای panic (Garry McNulty)
- •
- Azure Blob
- •
- امکان کامپایل و ساخت بکاند azureblob روی *BSD (themylogin)
- •
- استفاده از کلاینت HTTP برنامه rclone جهت پشتیبانی از --dump headers، --tpslimit و غیره (Nick Craig-Wood)
- •
- استفاده از pacer مربوط به s3 برای تأخیر صفر در شرایط بدون خطا (Nick Craig-Wood)
- •
- نادیده گرفتن نشانگرهای دایرکتوری (Nick Craig-Wood)
- •
- توقف تلاش Mkdir برای ایجاد کانتینرهای (containers) موجود (Nick Craig-Wood)
- •
- B2
- •
- cleanup: حذف فایلهای بزرگ ناتمام با قدمت بیش از ۲۴ ساعت (Garry McNulty)
- •
- بررسی نام باکت برای کلید کاربری (application key) محدودشده به باکت (Nick Craig-Wood)
- •
- پیش از این، rclone بدون توجه به آنچه در خط فرمان وارد میکردید، از باکت مجاز استفاده میکرد
- •
- افزودن پرچم --b2-disable-checksum (Wojciech Smigielski)
- •
- این قابلیت به دلایل افزایش سرعت، امکان بارگذاری فایلهای بزرگ را بدون محاسبه هش SHA-1 فراهم میکند
- •
- تنظیم گامزن (pacer) پیشفرض روی 100ms برای 10 tps (Nick Craig-Wood)
- •
- این مقدار با پیشفرضهای Google بسیار سازگارتر است و خطاهای 403 را به شدت کاهش میدهد
- •
- افزودن --drive-pacer-min-sleep و --drive-pacer-burst برای کنترل گامزن (pacer)
- •
- بهبود پشتیبانی از ChangeNotify برای مواردی با چند والد (Fabian Möller)
- •
- رفع اشکال ListR برای مواردی با چند والد - این تغییر رفتارهای غیرعادی با vfs/refresh را برطرف میکند (Fabian Möller)
- •
- رفع اشکال استفاده از --drive-impersonate و appfolders (Nick Craig-Wood)
- •
- رفع اشکال اسناد گوگل (google docs) در rclone mount برای برخی (نه همه) برنامهها (Nick Craig-Wood)
- •
- Dropbox
- •
- پشتیبانی از Retry-After برای backend دراپباکس (Dropbox) (Mathieu Carbou)
- •
- FTP
- •
- انتظار به مدت ۶۰ ثانیه برای بستهشدن اتصال و سپس اعلام قطع بودن آن (Nick Craig-Wood)
- •
- به رفع قفلشدنهای بیپایان در برخی کارگزارهای FTP کمک میکند
- •
- Google Cloud Storage
- •
- بهروزرسانی پایانههای (endpoints) فضای ذخیرهسازی ابری گوگل (Google Cloud Storage) (weetmuts)
- •
- HTTP
- •
- افزودن یک مثال با نامکاربری و گذرواژه که پشتیبانی میشد اما مستند نشده بود (Nick Craig-Wood)
- •
- رفع اشکال backend با --files-from و فایلهای ناموجود (Nick Craig-Wood)
- •
- Hubic
- •
- اطلاعاتبخشتر کردن پیام خطا در صورت شکست احراز هویت (Nick Craig-Wood)
- •
- Jottacloud
- •
- پشتیبانی از ازسرگیری (Resume) و یکپارچهسازی دادگان تکراری (deduplication) (Oliver Heyme)
- •
- استفاده از احراز هویت مبتنی بر نشان (token auth) برای همه درخواستهای API و عدم ذخیره بیشتر گذرواژه (Sebastian Bünger)
- •
- افزودن پشتیبانی از احراز هویت دومرحلهای (Sebastian Bünger)
- •
- Mega
- •
- پیادهسازی ورود به حساب نسخه ۲ که ورود به حسابهای جدیدتر Mega را اصلاح میکند (Nick Craig-Wood)
- •
- بازگرداندن خطا در صورت تلاش برای بارگذاری فایلی با طول نامشخص (Nick Craig-Wood)
- •
- افزودن کدهای خطای جدید برای گزارشدهی بهتر خطاها (Nick Craig-Wood)
- •
- Onedrive
- •
- رفع اشکال خرابی پشتیبانی از پوشههای "shared with me" (Alex Chen)
- •
- رفع اشکال نرمالنشدن شناسه ریشه (root ID) (Cnly)
- •
- بازگرداندن خطا بهجای panic هنگام بارگذاریهای با اندازه نامشخص (Cnly)
- •
- Qingstor
- •
- رفع نشت goroutine در خطاهای بارگذاری چندبخشی (multipart upload) (Nick Craig-Wood)
- •
- افزودن کنترل اندازه تکه، همزمانی و آستانه بارگذاری (Nick Craig-Wood)
- •
- تنظیم پیشفرض --qingstor-upload-concurrency روی ۱ برای دور زدن اشکال (Nick Craig-Wood)
- •
- S3
- •
- پیادهسازی --s3-upload-cutoff برای بارگذاریهای تکبخشی کمتر از این مقدار (Nick Craig-Wood)
- •
- تغییر مقدار پیشفرض --s3-upload-concurrency به ۴ برای افزایش کارایی (Nick Craig-Wood)
- •
- افزودن --s3-bucket-acl برای کنترل ACL باکت (Nick Craig-Wood)
- •
- تشخیص خودکار منطقه (region) برای باکتها هنگام شکست عملیات (Nick Craig-Wood)
- •
- افزودن کلاس ذخیرهسازی GLACIER (William Cocker)
- •
- افزودن Scaleway به مستندات s3 (Rémy Léone)
- •
- افزودن پایانه AWS به نام eu-north-1 (weetmuts)
- •
- SFTP
- •
- افزودن پشتیبانی از کلیدهای خصوصی رمزنگاریشده با PEM (Fabian Möller)
- •
- افزودن گزینهای برای اجبار به استفاده از ssh-agent (Fabian Möller)
- •
- انجام بسط متغیرهای محیطی روی key-file (Fabian Möller)
- •
- رفع اشکال rmdir در کارگزارهای مبتنی بر ویندوز (مانند CrushFTP) (Nick Craig-Wood)
- •
- رفع اشکال حذف محتویات دایرکتوری توسط rmdir در برخی کارگزارهای SFTP (Nick Craig-Wood)
- •
- رفع خطا در پیوندهای نمادین معلق (dangling symlinks) (Nick Craig-Wood)
- •
- Swift
- •
- افزودن --swift-no-chunk برای غیرفعالسازی بارگذاریهای قطعهبندیشده در rcat/mount (Nick Craig-Wood)
- •
- ارائه پشتیبانی از احراز هویت با اعتبارنامه برنامه (application credential) (kayrus)
- •
- اصلاح مصرف حافظه با کمحجم کردن شیء (Object) (Nick Craig-Wood)
- •
- رفع درخواستهای اضافی هنگام بارگذاری (Nick Craig-Wood)
- •
- رفع اشکال احراز هویت مجدد روی فایلهای بزرگ (Nick Craig-Wood)
- •
- Union
- •
- رفع کار نکردن poll-interval (Nick Craig-Wood)
- •
- WebDAV
- •
- پشتیبانی از About به این معنی که rclone mount اندازه درست دیسک را نمایش خواهد داد (Nick Craig-Wood)
- •
- پشتیبانی از درهمسازهای MD5 و SHA1 با Owncloud و Nextcloud (Nick Craig-Wood)
- •
- مدیریت نرم خطا (Fail soft) در خطاهای تجزیه زمان (Nick Craig-Wood)
- •
- رفع اشکال حلقه بینهایت هنگام شکست در ایجاد دایرکتوری (Nick Craig-Wood).IP • 2 رفع مشکل شناسایی دایرکتوریها برای Bitrix Site Manager (Nick Craig-Wood)
- •
- رفع مشکل بارگذاری فایلهای با اندازه ۰ روی برخی کارسازها (Nick Craig-Wood)
- •
- فرض بر وجود داشتن دایرکتوری در صورت شکست MKCOL با خطای 423 Locked (Nick Craig-Wood)
v1.45 - 2018-11-24
- •
- پشتینههای جدید
- •
- پشتینه Yandex بازنویسی شد - برای جزئیات به زیر مراجعه کنید (Sebastian Bünger)
- •
- دستورهای جدید
- •
- rcd: دستور جدید تنها برای میزبانی API کنترل از راه دور (Nick Craig-Wood)
- •
- ویژگیهای جدید
- •
- واسط برنامهنویسی کنترل از راه دور (rc) برای امکان کنترل کامل بر rclone تا حد زیادی گسترش یافت (Nick Craig-Wood)
- •
- عملیات حساس نیازمند احراز هویت یا پرچم --rc-no-auth هستند
- •
- عملیات config/* برای پیکربندی rclone
- •
- عملیات options/* برای خواندن/تنظیم پرچمهای خط فرمان
- •
- عملیات operations/* برای همه عملیات سطح پایین، مانند کپی فایل، فهرست کردن دایرکتوری
- •
- عملیات sync/* برای sync، copy و move
- •
- پرچم --rc-files برای ارائه فایلها روی کارساز وب rc
- •
- این قابلیت برای ساخت رابطهای کاربری گرافیکی وبمحور برای rclone است
- •
- ارائه اختیاری اشیاء روی کارساز وب rc
- •
- اطمینان از عدم راهاندازی rclone اگر درگاه --rc از قبل در حال استفاده باشد
- •
- برای اطلاعات بیشتر مستندات rc را ببینید (https://rclone.org/rc)
- •
- sync/copy/move
- •
- تنظیم --files-from برای خواندن تنها اشیاء مشخصشده و عدم پیمایش دایرکتوریها (Nick Craig-Wood)
- •
- این تغییر یک بهبود سرعت چشمگیر برای مقصدهایی با فایلهای بسیار زیاد است
- •
- filter: افزودن پرچم --ignore-case (Nick Craig-Wood)
- •
- ncdu: افزودن تابع حذف (کلید 'd') (Henning Surmeier)
- •
- دستور rc
- •
- افزودن پرچم --json برای ورودی ساختاریافته JSON (Nick Craig-Wood)
- •
- افزودن پرچمهای --user و --pass و تفسیر --rc-user، --rc-pass، --rc-addr (Nick Craig-Wood)
- •
- ساخت (build)
- •
- نیاز به go1.8 یا بالاتر برای کامپایل (Nick Craig-Wood)
- •
- فعالسازی softfloat روی معماری MIPS (Scott Edlund)
- •
- نوسازی چارچوب آزمونهای یکپارچگی با گزارش بهتر و تلاشهای مجدد بهبودیافته (Nick Craig-Wood)
- •
- رفع اشکالات
- •
- cmd: بهروزرسانی درست آمار در پایان توسط --progress (Nick Craig-Wood)
- •
- config: ایجاد دایرکتوری پیکربندی در زمان ذخیره در صورت ناموجود بودن (Nick Craig-Wood)
- •
- dedupe: بررسی نام فایل موجود پیش از تغییر نام فایل تکراری (ssaqua)
- •
- move: عدم ایجاد دایرکتوریها همراه با --dry-run (Nick Craig-Wood)
- •
- operations: رفع اشکال Purge و Rmdirs هنگامی که دایرکتوری ریشه نیست (Nick Craig-Wood)
- •
- serve http/webdav/restic: اطمینان از خروج rclone در صورت در حال استفاده بودن درگاه (Nick Craig-Wood)
- •
- Mount
- •
- کارکرد درست --volname برای Windows و macOS (Nick Craig-Wood)
- •
- Azure Blob
- •
- جلوگیری از خطای context deadline exceeded با تنظیم مقدار بزرگتر برای TryTimeout (brused27)
- •
- رفع خطای نادرست Rmdir با پیام "directory not empty" (Nick Craig-Wood)
- •
- صبر تا ۶۰ ثانیه برای ایجاد یک container که تازه حذف شده است (Nick Craig-Wood)
- •
- Dropbox
- •
- افزودن پشتیبانی از impersonate در dropbox (Jake Coggiano)
- •
- Jottacloud
- •
- رفع اشکال در مدیریت پوشههای خالی توسط --fast-list (albertony)
- •
- Opendrive
- •
- رفع مشکل انتقال فایلهای دارای + و & در نام (Nick Craig-Wood)
- •
- رفع مشکل تلاشهای مجدد در قطعات بارگذاری (Nick Craig-Wood)
- •
- S3
- •
- تنظیم ACL کپیهای سمت کارساز بر اساس مقدار ارائهشده توسط کاربر (Nick Craig-Wood)
- •
- رفع مشکل role_arn، credential_source و... (Erik Swanson)
- •
- افزودن اطلاعات پیکربندی برای نقطه پایانی Wasabi در US-West (Henry Ptasinski)
- •
- SFTP
- •
- اطمینان از غیرفعال بودن واقعی بررسی هش فایل (Jon Fautley)
- •
- Swift
- •
- افزودن pacer برای تلاشهای مجدد جهت پایدارتر ساختن swift (Nick Craig-Wood)
- •
- WebDAV
- •
- رفع مشکل تجزیه پیکربندی به طوری که پرچمهای --webdav-user و --webdav-pass کار کنند (Nick Craig-Wood)
- •
- افزودن قالب تاریخ RFC3339 (Ralf Hemberger)
- •
- Yandex
- •
- بکاند yandex بازنویسی شد (Sebastian Bünger)
- •
- پیادهسازی تلاشهای مجدد در سطح پایین (low level retries) (Sebastian Bünger)
- •
- رابطهای اختیاری Copy، Move، DirMove، PublicLink و About (Sebastian Bünger)
- •
- بهبود مدیریت عمومی خطاها (Sebastian Bünger)
- •
- حذف موقت ListR به دلیل رفتار ناسازگار (Sebastian Bünger)
v1.44 - 2018-10-15
- •
- دستورهای جدید
- •
- serve ftp: افزودن سرور ftp (Antoine GIRARD)
- •
- settier: انجام تغییرات رده ذخیرهسازی در ریموتهای پشتیبانیشده (sandeepkru)
- •
- ویژگیهای جدید
- •
- بازنگری در راهنمای خط فرمان
- •
- کاهش پرحرفی (verbose) راهنمای پیشفرض (Nick Craig-Wood)
- •
- تقسیم پرچمها به پرچمهای سراسری و بکاند (Nick Craig-Wood)
- •
- پیادهسازی راهنمای تخصصی برای پرچمها و بکاندها (Nick Craig-Wood)
- •
- نمایش نشانی وب صفحه راهنمای بکاند هنگام شروع پیکربندی (Nick Craig-Wood)
- •
- stats: نامهای طولانی اکنون از وسط تقسیم میشوند (Joanna Marek)
- •
- افزودن پرچم --log-format برای کنترل بیشتر بر خروجی لاگ (dcpu)
- •
- rc: افزودن پشتیبانی از OPTIONS و CORS پایه (frenos)
- •
- stats: نمایش FatalErrors و NoRetryErrors در stats (Cédric Connes)
- •
- رفع باگها
- •
- رفع مشکل پایان نیافتن خروجی -P با خط جدید (Nick Craig-Wood)
- •
- config: در صورت تعیین --config توسط کاربر، دایرکتوری پیشفرض پیکربندی ساخته نشود (albertony)
- •
- عدم چاپ نویسههای غیر ASCII با --progress در ویندوز (Nick Craig-Wood)
- •
- تصحیح لاگها برای موارد استثناشده (ssaqua)
- •
- Mount
- •
- حذف برچسبهای EXPERIMENTAL (Nick Craig-Wood)
- •
- VFS
- •
- رفع وضعیت رقابتی شناساییشده توسط آزمونهای serve ftp (Nick Craig-Wood)
- •
- افزودن دستور rc با عنوان vfs/poll-interval (Fabian Möller)
- •
- فعالسازی تغییر نام برای تقریباً تمام ریموتها با استفاده از Move یا Copy سمت سرور (Nick Craig-Wood)
- •
- کاهش پاکسازی حافظه پنهان دایرکتوری توسط poll-interval (Fabian Möller)
- •
- حذف برچسبهای EXPERIMENTAL (Nick Craig-Wood)
- •
- Local
- •
- رد کردن پیوندهای نمادین خراب در فهرست دایرکتوری با فعال بودن -L (Cédric Connes)
- •
- پیشتخصیص فایلها در ویندوز برای کاهش تکهتکهشدگی (Nick Craig-Wood)
- •
- پیشتخصیص فایلها در لینوکس با fallocate(2) (Nick Craig-Wood)
- •
- Cache
- •
- افزودن تابع rc با عنوان cache/fetch (Fabian Möller)
- •
- رفع مشکل کاهش مقیاس ورکرها (Fabian Möller)
- •
- بهبود کارایی با عدم ارسال درخواستهای اطلاعات برای تکههای کَششده (dcpu)
- •
- اصلاح مقدار خطای بازگشتی متد rc با نام cache/fetch (Fabian Möller)
- •
- اصلاح مستندات برای cache-chunk-total-size (Anagh Kumar Baranwal)
- •
- حفظ / آغازین در مسیر ریموت بستهبندیشده (wrapped) (Fabian Möller)
- •
- افزودن گزینه plex_insecure برای نادیدهگرفتن اعتبارسنجی گواهی (Fabian Möller)
- •
- حذف مواردی که دیگر در مبدأ وجود ندارند (dcpu)
- •
- Crypt
- •
- حفظ / آغازین در مسیر ریموت بستهبندیشده (wrapped) (Fabian Möller)
- •
- Alias
- •
- رفع مشکل مدیریت مسیرهای شبکه ویندوز (Nick Craig-Wood)
- •
- Azure Blob
- •
- افزودن پارامتر --azureblob-list-chunk (Santiago Rodríguez)
- •
- پیادهسازی پشتیبانی از دستور settier در ریموت azureblob. (sandeepkru)
- •
- دور زدن باگ SDK که موجب ایجاد خطا برای فایلهای هماندازه با تکه (chunk) میشد (Nick Craig-Wood)
- •
- Box
- •
- پیادهسازی اشتراکگذاری پیوند. (Sebastian Bünger)
- •
- Drive
- •
- افزودن --drive-import-formats - امکان وارد کردن اسناد google docs فراهم شد (Fabian Möller)
- •
- بازنویسی نحوه مدیریت نوع mime و پسوند فایلها (Fabian Möller)
- •
- افزودن پیوندهای اسناد (Fabian Möller)
- •
- افزودن پشتیبانی از پسوندهای چندبخشی اسناد (Fabian Möller)
- •
- افزودن پشتیبانی از خروجی گرفتن apps-script به json (Fabian Möller)
- •
- رفع مشکل نویسههای گریزخورده در اسناد هنگام فهرستگیری (Fabian Möller)
- •
- افزودن --drive-v2-download-min-size به عنوان راهکاری برای دانلودهای کُند (Fabian Möller)
- •
- بهبود اعلانهای دایرکتوری در ChangeNotify (Fabian Möller)
- •
- هنگام فهرستگیری درایوهای تیمی در config، ادامه کار در صورت بروز خطا (Nick Craig-Wood) FTP
- •
- افزودن یک مکث کوتاه پس از بارگذاری ناموفق پیش از حذف فایل (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- رفع مشکل نادیده گرفته شدن service_account_file (Fabian Möller)
- •
- Jottacloud
- •
- بهبود جزئی در اطلاعات سهمیه فضا (حذف در صورت نامحدود بودن) (albertony)
- •
- افزودن پشتیبانی از --fast-list (albertony)
- •
- افزودن پشتیبانی از حذف دائم: --jottacloud-hard-delete (albertony)
- •
- افزودن پشتیبانی از اشتراکگذاری پیوند (albertony)
- •
- رفع مشکل مدیریت نویسههای رزروشده. (Sebastian Bünger)
- •
- رفع نشت سوکت در Object.Remove (Nick Craig-Wood)
- •
- Onedrive
- •
- بازطراحی جهت پشتیبانی از Microsoft Graph (Cnly)
- •
- توجه: این مورد نیازمند احراز هویت مجدد ریموت خواهد بود
- •
- حذف آستانه بارگذاری و استفاده همیشگی از بارگذاریهای مبتنی بر نشست (Oliver Heyme)
- •
- استفاده از بارگذاری تکپارت برای فایلهای خالی (Cnly)
- •
- رفع مشکل ذخیره نشدن فیلدهای جدید هنگام ویرایش پیکربندی قدیمی (Alex Chen)
- •
- رفع مشکل جایگزین نشدن نویسههای خاص در نام فایلها در برخی موارد (Alex Chen)
- •
- نادیده گرفتن فایلهای OneNote بهصورت پیشفرض (Alex Chen)
- •
- افزودن پشتیبانی از اشتراکگذاری پیوند (jackyzy823)
- •
- S3
- •
- استفاده از تنظیمکننده سرعت (pacer) سفارشی جهت تلاش مجدد برای عملیاتها در صورت منطقی بودن (Craig Miskell)
- •
- استفاده از گزینههای server-side-encryption و کلاس ذخیرهسازی پیکربندیشده هنگام فراخوانی ()CopyObject (Paul Kohout)
- •
- ایجاد پرچم --s3-v2-auth (Nick Craig-Wood)
- •
- رفع مشکل احراز هویت v2 برای فایلهای دارای فاصله (Nick Craig-Wood)
- •
- Union
- •
- پیادهسازی بکاند union که از چندین بکاند میخواند (Felix Brucker)
- •
- پیادهسازی رابطهای اختیاری (Move، DirMove، Copy و غیره) (Nick Craig-Wood)
- •
- اصلاح ChangeNotify جهت پشتیبانی از چندین ریموت (Fabian Möller)
- •
- اصلاح --backup-dir روی بکاند union (Nick Craig-Wood)
- •
- WebDAV
- •
- افزودن یک قالب زمانی دیگر (Nick Craig-Wood)
- •
- افزودن یک مکث کوتاه پس از بارگذاری ناموفق پیش از حذف فایل (Nick Craig-Wood)
- •
- افزودن راهحل جایگزین برای mtime ناموجود (buergi)
- •
- Sharepoint: تمدید کوکیها پس از ۱۲ ساعت (Henning Surmeier)
- •
- Yandex
- •
- حذف بررسیهای زائد nil (teresy)
انتشار نقطهای برای رفع اشکالات بکاندهای hubic و azureblob.
- •
- رفع باگها
- •
- ncdu: بازگرداندن خطا بهجای log.Fatal در Show (Fabian Möller)
- •
- cmd: رفع فروپاشی با --progress و --stats 0 (Nick Craig-Wood)
- •
- docs: مرتبسازی نمایش وبسایت (Anagh Kumar Baranwal)
- •
- Azure Blob:
- •
- رفع بارگذاریهای چندبخشی (multi-part). (sandeepkru)
- •
- Hubic
- •
- رفع بارگذاریها (Nick Craig-Wood)
- •
- تلاش مجدد برای دریافت احراز هویت در صورت شکست جهت پایدارتر ساختن hubic (Nick Craig-Wood)
v1.43 - 2018-09-01
- •
- بکاندهای جدید
- •
- Jottacloud (Sebastian Bünger)
- •
- دستورهای جدید
- •
- copyurl: رونوشت از یک URL به یک ریموت (Denis)
- •
- قابلیتهای جدید
- •
- بازطراحی پیکربندی بکاندها (Nick Craig-Wood)
- •
- امکان تأمین تمامی پیکربندیهای بکاند از طریق خط فرمان، متغیر محیطی یا فایل پیکربندی
- •
- بخش پیشرفته در راهنمای گامبهگام پیکربندی برای موارد اختیاری
- •
- گامی بزرگ در جهت قابل استفاده شدن بکاندهای rclone در سایر نرمافزارهای go
- •
- امکان استفاده بلادرنگ از ریموتها با نحو :backend:
- •
- بازنگری آمارها (Stats)
- •
- افزودن گزینه --progress/-P برای نمایش تعاملی پیشرفت (Nick Craig-Wood)
- •
- نمایش پیشرفت کلی همگامسازی در آمارها (Nick Craig-Wood)
- •
- افزودن گزینه --stats-one-line برای آمارهای تکخطی (Nick Craig-Wood)
- •
- افزودن زمانبندی روزهای هفته به --bwlimit (Mateusz)
- •
- lsjson: افزودن گزینه برای نمایش شناسههای اصلی شیء (Fabian Möller)
- •
- serve webdav: ایجاد Content-Type بدون خواندن فایل و افزودن --etag-hash (Nick Craig-Wood)
- •
- build
- •
- ساخت macOS با کامپایلر بومی (Nick Craig-Wood)
- •
- بهروزرسانی برای استفاده از go1.11 جهت ساخت (Nick Craig-Wood)
- •
- rc
- •
- افزودن core/stats برای بازگرداندن آمارها (reddi1)
- •
- version --check: چاپ نسخههای فعلی انتشار و بتا (Nick Craig-Wood)
- •
- رفع باگها
- •
- accounting
- •
- رفع برآوردهای زمان اتمام (Nick Craig-Wood)
- •
- رفع سرعت میانگین متحرک برای آمارهای فایل (Nick Craig-Wood)
- •
- config: رفع خطای خواندن گذرواژه از ورودی پایپشده (Nick Craig-Wood)
- •
- move: رفع گزینه --delete-empty-src-dirs برای حذف تمام دایرکتوریهای خالی در هنگام جابهجایی (ishuah)
- •
- Mount
- •
- پیادهسازی گزینه --daemon-timeout برای OSXFUSE (Nick Craig-Wood)
- •
- رفع کار نکردن mount --daemon با پیکربندی رمزشده (Alex Chen)
- •
- محدود کردن تعداد بلوکها به 2^32-1 در macOS - رفع مشکل borg backup (Nick Craig-Wood)
- •
- VFS
- •
- فعالسازی vfs-read-chunk-size بهصورت پیشفرض (Fabian Möller)
- •
- افزودن دستور rc با نام vfs/refresh (Fabian Möller)
- •
- افزودن حالت غیربازگشتی به دستور rc با نام vfs/refresh (Fabian Möller)
- •
- تلاش برای seek بافر روی فایلهای فقطخواندنی (Fabian Möller)
- •
- Local
- •
- رفع فروپاشی هنگام مشخص شدن گزینه منسوخشدهی --local-no-unicode-normalization (Nick Craig-Wood)
- •
- رفع خطای mkdir هنگام تلاش برای رونوشت فایلها به ریشه درایو در windows (Nick Craig-Wood)
- •
- Cache
- •
- رفع nil pointer deref هنگام استفاده از lsjson روی دایرکتوری کششده (Nick Craig-Wood)
- •
- رفع nil pointer deref برای فروپاشی گاهبهگاه هنگام بازپخش (Nick Craig-Wood)
- •
- Crypt
- •
- رفع محاسبات (accounting) هنگام بررسی هشها در بارگذاری (Nick Craig-Wood)
- •
- Amazon Cloud Drive
- •
- شفافسازی صریح در مستندات مبنی بر اینکه rclone فاقد کلیدهای ACD است (Nick Craig-Wood)
- •
- Azure Blob
- •
- افزودن رشته اتصال و احراز هویت SAS URL (Nick Craig-Wood)
- •
- فهرست کردن کانتینر جهت بررسی موجود بودن آن (Nick Craig-Wood)
- •
- تطبیق با SDK جدید Azure Blob Storage (sandeepkru)
- •
- افزودن سطح (tier) بلاب، تغییر سطح میان Hot، Cool و Archive. (sandeepkru).IP • 2 حذف / ابتدایی از مسیرها (Nick Craig-Wood)
- •
- B2
- •
- پشتیبانی از Application Keys (Nick Craig-Wood)
- •
- حذف / ابتدایی از مسیرها (Nick Craig-Wood)
- •
- Box
- •
- رفع مشکل بارگذاری فایلهای بزرگتر از ۲ گیگابایت در بسترهای ۳۲ بیتی (Nick Craig-Wood)
- •
- تنظیم پیشفرض پرچم --box-commit-retries به ۱۰۰ برای رفع مشکل بارگذاریهای بزرگ (Nick Craig-Wood)
- •
- Drive
- •
- افزودن پرچم --drive-keep-revision-forever (lewapm)
- •
- مدیریت gdocs هنگام پالایش نام فایلها در فهرست (Fabian Möller)
- •
- پشتیبانی از استفاده از --fast-list برای افزایش چشمگیر سرعت (Fabian Möller)
- •
- FTP
- •
- رفع خطای Put mkParentDir failed: 521 برای BunnyCDN (Nick Craig-Wood)
- •
- Google Cloud Storage
- •
- رفع خطای خروج اندیس از محدوده با --fast-list (Nick Craig-Wood)
- •
- Jottacloud
- •
- رفع بررسی خطای MD5 (Oliver Heyme)
- •
- مدیریت مقادیر خالی زمان (Martin Polden)
- •
- محاسبه MD5های ناموجود (Oliver Heyme)
- •
- مستندات، رفع اشکالها و آزمونها برای محاسبه MD5 (Nick Craig-Wood)
- •
- افزودن رابط اختیاری MimeTyper. (Sebastian Bünger)
- •
- پیادهسازی رابط اختیاری About (برای پشتیبانی از df). (Sebastian Bünger)
- •
- Mega
- •
- انتظار برای رخدادها به جای خواب ساختگی (Nick Craig-Wood)
- •
- افزودن پرچم --mega-hard-delete (Nick Craig-Wood)
- •
- رفع ورود ناموفق با حروف بزرگ در ایمیل (Nick Craig-Wood)
- •
- Onedrive
- •
- پشتیبانی از پوشههای اشتراکی (Yoni Jah)
- •
- پیادهسازی DirMove (Cnly)
- •
- رفع مشکل rmdir در حذف گاهبهگاه پوشههای حاوی محتوا (Nick Craig-Wood)
- •
- Pcloud
- •
- حذف فایلهای نیمهبارگذاریشده هنگام بروز خطای بارگذاری (Nick Craig-Wood)
- •
- Qingstor
- •
- حذف / ابتدایی از مسیرها (Nick Craig-Wood)
- •
- S3
- •
- رفع خطای خروج اندیس از محدوده با --fast-list (Nick Craig-Wood)
- •
- افزودن --s3-force-path-style (Nick Craig-Wood)
- •
- افزودن پشتیبانی از KMS Key ID (bsteiss)
- •
- حذف / ابتدایی از مسیرها (Nick Craig-Wood)
- •
- Swift
- •
- افزودن storage_policy (Ruben Vandamme)
- •
- فراهمسازی امکان بازنویسی مجزای storage_url یا auth_token (Nick Craig-Wood)
- •
- رفع باگ کپی سمت سرور برای نامهای نامتعارف فایل (Nick Craig-Wood)
- •
- حذف / ابتدایی از مسیرها (Nick Craig-Wood)
- •
- WebDAV
- •
- اطمینان از فراخوانی MKCOL با نشانی دارای / انتهایی برای همکنشپذیری با QNAP (Nick Craig-Wood)
- •
- اگر مسیر ریشه با / خاتمه یابد، فایل بودن آن بررسی نشود (Nick Craig-Wood)
- •
- عدم پذیرش تغییر مسیرها هنگام خواندن فراداده (Nick Craig-Wood)
- •
- افزودن پشتیبانی از توکن حامل (Macaroon) برای dCache (Nick Craig-Wood)
- •
- مستندسازی dCache و Macaroons (Onno Zweers)
- •
- بازگشت در Sharepoint با عمق متفاوت (Henning)
- •
- تلاش برای حذف بارگذاریهای ناموفق (Nick Craig-Wood)
- •
- Yandex
- •
- رفع فهرستگیری/حذف فایلها در ریشه (Nick Craig-Wood)
- •
- بکاندهای جدید
- •
- OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
- •
- دستورهای جدید
- •
- دستور deletefile (Filip Bartodziej)
- •
- قابلیتهای جدید
- •
- copy، move: رونوشت مستقیم فایلهای تکی، بدون استفاده از راهکار جایگزین --files-from
- •
- این امر کارایی آنها را بسیار بالاتر میبرد
- •
- پیادهسازی پرچم --max-transfer برای توقف انتقال در یک حد مشخص
- •
- تنظیم کد خروج ۸ برای زمان فراتر رفتن از سقف --max-transfer
- •
- copy: رونوشت دایرکتوریهای خالی مبدأ به مقصد (Ishuah Kariuki)
- •
- check: افزودن پرچم --one-way (Kasper Byrdal Nielsen)
- •
- افزودن کنترلکننده siginfo برای macOS جهت آمار ctrl-T (kubatasiemski)
- •
- rc
- •
- افزودن core/gc برای اجرای جمعآوری زباله (garbage collection) بنا به درخواست
- •
- فعالسازی پیشفرض پروفایلسازی go روی پورت --rc
- •
- بازگرداندن خطا از ریموت در صورت بروز شکست
- •
- lsf
- •
- افزودن پرچم --absolute برای درج یک / در ابتدای نام مسیرها
- •
- افزودن پرچم --csv برای خروجی استاندارد CSV
- •
- افزودن مشخصکننده قالب 'm' برای نمایش MimeType
- •
- پیادهسازی قالب 'i' برای نمایش شناسه شیء (object ID)
- •
- lsjson
- •
- افزودن MimeType به خروجی
- •
- افزودن فیلد ID به خروجی برای نمایش شناسه شیء
- •
- افزودن پرچم --retries-sleep (Benjamin Joseph Dag)
- •
- ساماندهی صفحه وب Oauth و رسیدگی به خطاها (Henning Surmeier)
- •
- رفع باگها
- •
- اصلاح خروجی اعلان گذرواژه با --log-file در یونیکس (Filip Bartodziej)
- •
- محاسبه در لحظه ModifyWindow در هر مرتبه برای حل مشکلات مختلف (Stefan Breunig)
- •
- Mount
- •
- چاپ "File.rename error" تنها در صورتی که واقعاً خطایی وجود داشته باشد (Stefan Breunig)
- •
- به تعویق انداختن تغییر نام در صورت باز بودن فایل توسط نویسندهها به جای شکست فوری (Stefan Breunig)
- •
- اطمینان از اجرای atexit هنگام دریافت وقفه (interrupt)
- •
- بهبودهای macOS
- •
- تبدیل --noappledouble به --noapplexattr
- •
- افزودن پرچم --volname و حذف نویسههای خاص از آن
- •
- تنظیم Get/List/Set/Remove xattr بر بازگرداندن ENOSYS برای افزایش کارایی
- •
- بهکاراندازی --daemon در macOS بدون نیاز به CGO
- •
- VFS
- •
- افزودن --vfs-read-chunk-size و --vfs-read-chunk-size-limit (Fabian Möller)
- •
- اصلاح ChangeNotify برای پوشههای جدید یا تغییریافته (Fabian Möller)
- •
- Local
- •
- اصلاح مدیریت دایرکتوریهای symlink/junction point در Windows
- •
- توجه: برای رونوشت فایلها با نقاط تجزیه مجدد (reparse points) باید -L را به خط فرمان خود بیفزایید
- •
- Cache
- •
- افزودن دایرکتوریهای کشنشده در اعلانها (Remus Bunduc)
- •
- امکان منقضی کردن root از طریق rc (Remus Bunduc)
- •
- پاکسازی پوشههای خالی باقیمانده از مسیر بارگذاری موقت (Remus Bunduc)
- •
- کش کردن فهرستها با استفاده از نوشتن دستهای (Remus Bunduc)
- •
- استفاده از وبسوکتهای امن برای نشانیهای HTTPS در Plex (John Clayton)
- •
- اتصال مجدد وبسوکت Plex در صورت بروز خطا (Remus Bunduc)
- •
- رفع خطای panic هنگام اجرا بدون پیکربندیهای Plex (Remus Bunduc)
- •
- اصلاح کش کردن پوشه ریشه (Remus Bunduc)
- •
- Crypt
- •
- بررسی هش رمزگذاریشده فایلها هنگام بارگذاری برای امنیت مضاعف دادهها
- •
- Dropbox
- •
- دسترسیپذیر ساختن پوشههای تجاری Dropbox با استفاده از یک / ابتدایی در مسیر
- •
- Google Cloud Storage
- •
- تلاش مجدد سطح پایین (low-level retry) برای تمام عملیاتها در صورت لزوم
- •
- Google Drive
- •
- افزودن --drive-acknowledge-abuse برای بارگیری فایلهای پرچمدار شده
- •
- افزودن --drive-alternate-export برای اصلاح خروجی گرفتن از اسناد حجیم
- •
- عدم اقدام به انتخاب Team Drives هنگام استفاده از rclone config create
- •
- اصلاح بررسی دورهای (polling) فهرست تغییرات در Team Drives
- •
- اصلاح ChangeNotify برای پوشهها (Fabian Möller)
- •
- اصلاح دستور about (و df روی یک نقطه اتصال mount) برای Team Drives
- •
- Onedrive
- •
- S3
- •
- تنظیم همزمانی بارگذاری با --s3-upload-concurrency (themylogin)
- •
- رفع اشکال --s3-chunk-size که همیشه از کمینه استفاده میکرد
- •
- SFTP
- •
- افزودن پرچم --ssh-path-override (Piotr Oleszczyk)
- •
- رفع کندی بارگیری در اتصالات با تاخیر زیاد
- •
- Webdav
- •
- افزودن راهکار موقت برای biz.mail.ru
- •
- نادیده گرفتن Reason-Phrase در خط وضعیت برای رفع اشکال 4shared (Rodrigo)
- •
- بهبود در تولید پیامهای خطا
v1.41 - 2018-04-28
- •
- بکاندهای جدید
- •
- پشتیبانی از Mega افزوده شد
- •
- پشتیبانی Webdav از احراز هویت کوکی SharePoint (hensur)
- •
- دستورهای جدید
- •
- link: ایجاد پیوند عمومی به فایلها و پوشهها (Stefan Breunig)
- •
- about: دریافت اطلاعات سهمیه مصرفی (quota) از ریموت (a-roussos, ncw)
- •
- hashsum: ابزاری عمومی برای هر نوع هش جهت تولید خروجی مشابه md5sum
- •
- ویژگیهای جدید
- •
- lsd: افزودن پرچم -R و رفع اشکال و بهروزرسانی مستندات تمام دستورهای ls
- •
- ncdu: افزودن کلید "تازهسازی" - ترکیب CTRL-L (Keith Goldfarb)
- •
- serve restic: افزودن حالت فقط-الحاقی (append-only) (Steve Kriss)
- •
- serve restic: عدم اجازه بازنویسی فایلها در حالت فقط-الحاقی (Alexander Neumann)
- •
- serve restic: چاپ نشانی واقعی شنودکننده (Matt Holt)
- •
- size: افزودن پرچم --json (Matthew Holt)
- •
- sync: پیادهسازی --ignore-errors (Mateusz Pabian)
- •
- dedupe: افزودن قابلیت حذف تکرار با حفظ بزرگترین مورد (Richard Yang)
- •
- fs: گسترش SizeSuffix برای پشتیبانی از TB و PB در rclone about
- •
- fs: افزودن --dump goroutines و --dump openfiles برای اشکالزدایی
- •
- rc: پیادهسازی core/memstats جهت چاپ اطلاعات استفاده از حافظه داخلی
- •
- rc: فراخوانی جدید rc/pid (Michael P. Dubner)
- •
- کامپایل
- •
- حذف پشتیبانی از go1.6
- •
- انتشار
- •
- رفع اشکال make tarball (Chih-Hsuan Yen)
- •
- رفع اشکالها
- •
- filter: رفع بررسی همزمان --min-age و --max-age
- •
- fs: محدود کردن MaxIdleConns و MaxIdleConnsPerHost در transport
- •
- lsd,lsf: اطمینان از اینکه تمامی زمانهای خروجی به وقت محلی باشند
- •
- rc: رفع مشکل تنظیم bwlimit به حالت نامحدود
- •
- rc: لحاظ کردن پرچم --rc-addr طبق مستندات
- •
- Mount
- •
- استفاده از About برای بازگرداندن مقادیر صحیح کل/مصرفی/آزاد دیسک (مثلاً در df)
- •
- تنظیم مقدار پیشفرض --attr-timeout default روی 1s - رفع موارد زیر:
- •
- مصرف بیش از حد حافظه توسط rclone
- •
- عدم ارائه فایلها به samba توسط rclone
- •
- زمان بیش از اندازه برای فهرست کردن دایرکتوریها
- •
- رفع اشکال df -i (اصلاح بالادستی)
- •
- VFS
- •
- فیلتر کردن فایلهای . و .. از فهرست دایرکتوری
- •
- ایجاد کَش VFS تنها در صورتی که --vfs-cache-mode > Off باشد
- •
- Local
- •
- افزودن --local-no-check-updated جهت غیرفعال کردن بررسی فایلهای بهروز شده
- •
- تلاش دوباره برای حذف در صورت بروز خطای تداخل اشتراکگذاری ویندوز
- •
- Cache
- •
- تخلیه کَش حافظه پس از بسته شدن
- •
- پاکسازی دادههای فایل با دریافت اعلان
- •
- همیشه دایرکتوری والد برای اعلانها نادیده گرفته شود
- •
- یکپارچهسازی با وبسوکت Plex
- •
- افزودن rc cache/stats (seuffert)
- •
- افزودن لاگ info در هنگام دریافت اعلان
- •
- Box
- •
- رفع خطا در خواندن دایرکتوریهای بزرگ - تجزیه اندازه فایل/دایرکتوری به عنوان ممیز شناور (float)
- •
- Dropbox
- •
- رفع اشکال crypt+obfuscate در dropbox
- •
- رفع مشکل بارگذاری مکرر فایلهای یکسان
- •
- FTP
- •
- راهکار موقت برای پاسخ غیرعادی از سرور FTP مربوط به box
- •
- راهکارهای موقت بیشتر برای سرورهای FTP جهت رفع خطای mkParentDir
- •
- رفع عدم نمایش خطا هنگام فهرست کردن دایرکتوری ناموجود Google Cloud Storage
- •
- افزودن service_account_credentials (Matt Holt)
- •
- تشخیص وجود باکت (bucket) از طریق فهرست کردن آن - به حداقل رساندن مجوزهای مورد نیاز
- •
- نادیده گرفتن نشانگرهای پوشه با طول صفر
- •
- Google Drive
- •
- افزودن service_account_credentials (Matt Holt)
- •
- رفع اشکال انتقال پوشه که موجب برجا ماندن یک پوشه با پیوند سخت (hardlink) میشد
- •
- بازگرداندن خطاهای مناسب Google هنگام باز کردن فایلها
- •
- هنگام مقداردهی اولیه با یک مسیر فایل، ویژگیهای اختیاری از مسیر ریشهٔ نادرست استفاده میکردند (Stefan Breunig)
- •
- HTTP
- •
- رفع اشکال همگامسازی برای سرورهایی که Content-Length را در پاسخ HEAD بازنمیگردانند
- •
- Onedrive
- •
- افزودن پشتیبانی از QuickXorHash برای OneDrive for business
- •
- رفع نشت سوکت در بارگذاری نشستهای چندبخشی (multipart session upload)
- •
- S3
- •
- جستجو در فایلهای نمایهٔ نامگذاریشدهٔ (named profile) مربوط به S3 برای اطلاعات احراز هویت
- •
- افزودن --s3-disable-checksum برای غیرفعال کردن بارگذاری جمعآزمایی (checksum) (Chris Redekop)
- •
- پشتیبانی از پیکربندی سلسلهمراتبی (Giri Badanahatti)
- •
- افزودن تنظیمات پیکربندی برای تمامی ارائهدهندگان پشتیبانیشدهٔ S3
- •
- افزودن کلاس ذخیرهسازی One Zone Infrequent Access (Craig Rachel)
- •
- افزودن پشتیبانی از --use-server-modtime (Peter Baumgartner)
- •
- افزودن گزینهٔ --s3-chunk-size برای واپایش بارگذاریهای چندبخشی
- •
- نادیده گرفتن نشانگرهای پوشه با طول صفر
- •
- SFTP
- •
- بهروزرسانی مستندات جهت تطابق با کد، رفع غلطهای املایی و شفافسازی اعلان disable_hashcheck (Michael G. Noll)
- •
- بهروزرسانی مستندات درباره رفتارهای خاص Synology
- •
- شکست ملایم (fail soft) با ثبت پیام اشکالزدایی (debug) در صورت بروز خطای هش
- •
- Swift
- •
- افزودن پشتیبانی از --use-server-modtime (Peter Baumgartner)
- •
- Webdav
- •
- پشتیبانی از احراز هویت مبتنی بر کوکی برای SharePoint (hensur)
- •
- حذف نویسهٔ / از ابتدا و انتهای root
- •
- بکاندهای جدید
- •
- بکاند Alias برای ایجاد نامهای مستعار برای نامهای ریموت موجود (Fabian Möller)
- •
- دستورهای جدید
- •
- lsf: فهرستگیری برای اهداف پردازش و تجزیه (Jakub Tasiemski)
- •
- بهطور پیشفرض این یک فهرستگیری ساده و غیربازگشتی از فایلها و دایرکتوریها است
- •
- میتوان آن را به گونهای پیکربندی کرد که اطلاعات بیشتری را در قالبی با تجزیه آسان اضافه کند
- •
- serve restic: برای ارائه یک ریموت به عنوان نقطه انتهایی REST برای Restic
- •
- این قابلیت به restic امکان میدهد تا از هر بکاندی که rclone به آن دسترسی دارد استفاده کند
- •
- با تشکر از Alexander Neumann برای کمکها، وصلهها و بازبینی
- •
- rc: فعالسازی کنترل از راه دور یک نمونه در حال اجرای rclone
- •
- نمونه rclone در حال اجرا باید با پرچم --rc و پرچمهای مرتبط راهاندازی شده باشد.
- •
- در حال حاضر پشتیبانی از bwlimit و تخلیه حافظه پنهان (flushing) برای mount و cache وجود دارد.
- •
- ویژگیهای جدید
- •
- پرچم --max-delete برای افزودن آستانه حذف (Bjørn Erik Pedersen)
- •
- تمامی بکاندها اکنون از RangeOption برای Open بازهای پشتیبانی میکنند
- •
- cat: استفاده از RangeOption برای دریافتهای محدود به منظور کارایی بیشتر
- •
- cryptcheck: کارآمدتر کردن خواندن nonce با RangeOption
- •
- دستورات serve http/webdav/restic
- •
- پشتیبانی از SSL/TLS
- •
- افزودن --user، --pass و --htpasswd برای احراز هویت
- •
- copy/move: تشخیص تغییر اندازه فایل در حین رونوشت/انتقال و لغو فرایند انتقال (ishuah)
- •
- cryptdecode: افزودن گزینهای برای بازگرداندن نامهای فایل رمزگذاریشده. (ishuah)
- •
- lsjson: افزودن --encrypted برای نمایش نام رمزگذاریشده (Jakub Tasiemski)
- •
- افزودن --stats-file-name-length جهت مشخص کردن طول نام فایل چاپشده برای آمار (Will Gunn)
- •
- کامپایل
- •
- کد پایه بازآرایی و ساختاربندی مجدد شد
- •
- بکاندها به یک دایرکتوری backend منتقل شدند
- •
- بستههای بزرگ تجزیه و تقسیم شدند
- •
- برای کسب اطلاعات درباره ساختار جدید فایلها، سند CONTRIBUTING.md را ببینید
- •
- بهروزرسانی به استفاده از go1.10 به عنوان نسخه پیشفرض go
- •
- پیادهسازی آزمونهای یکپارچهسازی کامل روزانه (https://pub.rclone.org/integration-tests)
- •
- انتشار
- •
- شامل کردن بایگانی tarball سورسکد و امضای دیجیتال آن و باینریها
- •
- امضای برچسبهای git به عنوان بخشی از فرایند انتشار
- •
- افزودن بستههای .deb و .rpm به عنوان بخشی از فرایند ساخت
- •
- ایجاد انتشار بتا برای تمام شاخهها در مخزن اصلی (بهجز pull requestها)
- •
- رفع باگها
- •
- config: رفع خطاهای مربوط به پیکربندی ناموجود از طریق بارگذاری فایل پیکربندی تنها در اولین دسترسی
- •
- config: تلاش مجدد برای ذخیره پیکربندی پس از شکست (Mateusz)
- •
- sync: هنگام استفاده از --backup-dir، اگر modtime فایلها قابل تنظیم نباشد، آنها را حذف نکنید
- •
- این تغییر رفتار غیرعادی در تعامل Dropbox و --backup-dir را برطرف میکند
- •
- fshttp: رفع مهلتهای زمانی بیکاری (idle timeouts) برای اتصالهای HTTP
- •
- serve http: رفع مشکل ارائه فایلهایی که در نام آنها علامت : وجود دارد
- •
- اصلاح --exclude-if-present جهت نادیده گرفتن دایرکتوریهایی که برای آنها مجوز دسترسی وجود ندارد (Iakov Davydov)
- •
- عملکرد صحیح بخش حسابداری ترافیک (accounting) در crypt و b2
- •
- حذف پرچم --no-traverse به دلیل منسوخ شدن
- •
- Mount
- •
- افزودن پرچم --attr-timeout برای کنترل کش مشخصات (attribute caching) در هسته
- •
- مقدار پیشفرض آن اکنون 0 است که درست بوده اما کارایی کمتری دارد
- •
- برای اطلاعات بیشتر، مستندات mount (https://rclone.org/commands/rclone_mount/#attribute-caching) را ببینید
- •
- افزودن پرچم --daemon برای اجازه دادن به اجرای mount در پسزمینه (ishuah)
- •
- اصلاح: بازگرداندن ENOSYS به جای EIO هنگام تلاش برای پیوند (link)
- •
- این مورد دسترسی FileZilla به mount ارائهشده rclone روی sftp را برطرف میکند.
- •
- رفع مشکل دو بار تنظیم شدن modtime
- •
- آزمونهای Mount اکنون روی CI برای Linux (نسخههای mount و cmount)، Mac و Windows اجرا میشوند
- •
- رفع باگهای متعدد در لایه VFS - موارد زیر را ببینید
- •
- VFS
- •
- اصلاحات متعدد برای --vfs-cache-mode در حالت writes و بالاتر
- •
- بهروزرسانی نسخه کششده در صورت آگاهی از تغییر آن (رفع دادههای بیات)
- •
- پاکسازی نام مسیرها پیش از استفاده از آنها در حافظه پنهان
- •
- غیرفعال کردن پاککننده حافظه پنهان اگر --vfs-cache-poll-interval=0 باشد
- •
- پر کردن و پاکسازی اولیه حافظه پنهان بلافاصله در هنگام راهاندازی
- •
- رفع مشکل باز کردن تمام فایلها توسط Windows هنگام بررسی وضعیت (stat) آنها.IP • 2 اصلاح اعمال modtime برای یک Write Handle باز
- •
- اصلاح ایجاد فایلها هنگام کوتاهسازی (truncating)
- •
- نوشتن ۰ بایت هنگام تخلیه (flushing) دستگیرههای نوشتهنشده برای جلوگیری از شرایط مسابقه در FUSE
- •
- تنزل پیام "poll-interval is not supported" به Info
- •
- تنظیم OpenFile و توابع مرتبط برای بازگرداندن EINVAL در صورت وجود همزمان O_RDONLY و O_TRUNC
- •
- Local
- •
- تنزل پیام "invalid cross-device link: trying copy" به debug
- •
- تنظیم DirMove جهت بازگرداندن fs.ErrorCantDirMove برای امکان استفاده جایگزین از Copy در حالت بیندستگاهی (cross device)
- •
- رفع شرایط مسابقه هنگام بهروزرسانی هشها
- •
- Cache
- •
- افزودن پشتیبانی از polling - بهروزرسانی حافظه موقت (cache) با اعمال تغییرات در ریموت در backendهای پشتیبانیشده
- •
- کاهش سطح لاگ برای Plex api
- •
- رفع مشکل حافظه موقت دایرکتوری (dir cache)
- •
- پیادهسازی پرچم --cache-db-wait-time
- •
- بهبود کارایی با RangeOption و RangeSeek
- •
- رفع مشکل dirmove در صورت فعال بودن temp fs
- •
- اطلاعرسانی به vfs هنگام استفاده از temp fs
- •
- بارگذاری برونخط (Offline uploading)
- •
- پشتیبانی کنترل از راه دور برای تخلیه مسیر (path flushing)
- •
- Amazon cloud drive
- •
- rclone دیگر کلید فعالی ندارد - غیرفعالسازی آزمونهای یکپارچهسازی
- •
- پیادهسازی DirChangeNotify برای اطلاعرسانی تغییرات به cache/vfs/mount
- •
- Azureblob
- •
- عدم بررسی وجود باکت/کانتینر در صورت موفقیت فهرستگیری (listing)
- •
- این امر باعث میشود rclone در هر فراخوانی یک درخواست کمتر ارسال کند
- •
- بهبود ثبت و محاسبه اطلاعات بارگذاریهای تکهای (chunked uploads)
- •
- Backblaze B2
- •
- عدم بررسی وجود باکت/کانتینر در صورت موفقیت فهرستگیری (listing)
- •
- این امر باعث میشود rclone در هر فراخوانی یک درخواست کمتر ارسال کند
- •
- Box
- •
- بهبود ثبت و محاسبه اطلاعات بارگذاریهای تکهای (chunked uploads)
- •
- Dropbox
- •
- اصلاح پارامترهای سفارشی کلاینت oauth
- •
- Google Cloud Storage
- •
- عدم بررسی وجود باکت/کانتینر در صورت موفقیت فهرستگیری (listing)
- •
- این امر باعث میشود rclone در هر فراخوانی یک درخواست کمتر ارسال کند
- •
- Google Drive
- •
- مهاجرت به api v3 (توسط Fabian Möller)
- •
- افزودن پیکربندی دامنه دسترسی (scope) و امکان انتخاب پوشه ریشه
- •
- افزودن --drive-impersonate برای حسابهای سرویس (service accounts)
- •
- با تشکر از همه کسانی که آزمایش کردند، کاوش نمودند و در مستندات مشارکت داشتند
- •
- افزودن --drive-use-created-date جهت استفاده از تاریخ ایجاد بهجای تاریخ ویرایش (توسط nbuchanan)
- •
- درخواست فرمتهای برونبری (export formats) تنها در صورت نیاز
- •
- این امر باعث افزایش سرعت rclone در صورت عدم وجود اسناد google docs میشود
- •
- رفع مشکل پیدا کردن مسیرهای حاوی نویسههای latin1 (یک راهکار موقت برای باگ drive)
- •
- اصلاح کپیکردن یک فایل تکی Google doc
- •
- اصلاح --drive-auth-owner-only جهت جستوجو در همه دایرکتوریها
- •
- HTTP
- •
- اصلاح مدیریت دایرکتوریهای حاوی &
- •
- Onedrive
- •
- حذف حد آستانه بارگذاری و استفاده همیشگی از بارگذاریهای مبتنی بر نشست (session uploads)
- •
- این امر مانع از ایجاد نسخههای متعدد در business onedrive میشود
- •
- رونویسی مقدار اندازه شیء با اندازه واقعی هنگام خواندن فایل. (توسط Victor)
- •
- این اصلاح رفتارهای نامتعارف ناشی از گزارش نادرست اندازه تصاویر در onedrive را برطرف میکند
- •
- Pcloud
- •
- حذف کدها و پرچم بلااستفاده بارگذاری تکهای (chunked upload)
- •
- Qingstor
- •
- عدم بررسی وجود باکت/کانتینر در صورت موفقیت فهرستگیری (listing)
- •
- این امر باعث میشود rclone در هر فراخوانی یک درخواست کمتر ارسال کند
- •
- S3
- •
- پشتیبانی از هشها برای فایلهای چندبخشی (multipart) (توسط Chris Redekop)
- •
- پشتیبانی اولیه از IBM COS (S3) (توسط Giri Badanahatti)
- •
- بهروزرسانی مستندات جهت نهی از استفاده از احراز هویت v2 در CEPH و موارد دیگر
- •
- عدم بررسی وجود باکت/کانتینر در صورت موفقیت فهرستگیری (listing)
- •
- این امر باعث میشود rclone در هر فراخوانی یک درخواست کمتر ارسال کند رفع مشکل کپی در سمت سرور و تنظیم modtime روی فایلهای حاوی +
- •
- SFTP
- •
- افزودن گزینهای برای غیرفعال کردن اجرای دستور بررسی هش راهدور (Jon Fautley)
- •
- افزودن پرچم --sftp-ask-password جهت درخواست گذرواژه در هنگام نیاز (Leo R. Lundgren)
- •
- افزودن گزینهٔ پیکربندی set_modtime
- •
- رفع مشکل دنبال کردن پیوندهای نمادین
- •
- رفع مشکل خواندن فایل پیکربندی خارج از راهاندازی Fs
- •
- رفع مشکل خواندن $USER در حالت بازگشتی نام کاربری بهجای $HOME
- •
- رفع مشکل اجرا تحت crontab - استفاده از روش صحیح سیستمعامل برای خواندن نام کاربری
- •
- Swift
- •
- رفع مشکل تازهسازی توکن احراز هویت
- •
- در v1.39 باگی ایجاد شده بود که توکنهای جدید را نادیده میگرفت - این مورد آن را برطرف میکند
- •
- رفع تراکنش اضافی HEAD هنگام بارگذاری یک فایل جدید
- •
- عدم بررسی وجود bucket/container در صورت موفق بودن فهرستگیری
- •
- این کار باعث میشود rclone در هر بار اجرا یک درخواست کمتر ارسال کند
- •
- Webdav
- •
- افزودن قالبهای زمانی جدید برای پشتیبانی از mydrive.ch و سایر موارد
v1.39 - 2017-12-23
- •
- پسانههای جدید
- •
- WebDAV
- •
- آزمایششده با nextcloud، owncloud، put.io و غیره!
- •
- Pcloud
- •
- cache - قرار دادن یک لایهٔ کش دور سایر پسانهها (Remus Bunduc)
- •
- کاربردی در ترکیب با mount
- •
- توجه: این قابلیت آزمایشی (بتا) است، بنابراین با احتیاط استفاده شود
- •
- دستورهای جدید
- •
- دستور serve همراه با زیردستورهای:
- •
- serve webdav: پیادهسازی یک کارساز webdav برای هر ریموت rclone.
- •
- serve http: دستوری برای ارائهٔ یک ریموت از طریق HTTP
- •
- config: افزودن زیردستورهایی برای مدیریت کامل فایل پیکربندی
- •
- create/delete/dump/edit/file/password/providers/show/update
- •
- touch: برای ایجاد یا بهروزرسانی برچسب زمان یک فایل (Jakub Tasiemski)
- •
- قابلیتهای جدید
- •
- امکان نصب rclone با curl (Filip Bartodziej)
- •
- گزینهٔ --stats اکنون درصد، اندازه، سرعت و زمان تقریبی باقیمانده (ETA) را به صورت فشرده نمایش میدهد (Ishuah Kariuki)
- •
- گزینهٔ --exclude-if-present برای مستثنی کردن یک دایرکتوری در صورت وجود یک فایل (Iakov Davydov)
- •
- rmdirs: افزودن پرچم --leave-root (lewapm)
- •
- move: افزودن پرچم --delete-empty-src-dirs برای حذف دایرکتوریها پس از انتقال (Ishuah Kariuki)
- •
- افزودن پرچم --dump، معرفی requests و responses برای --dump و حذف --dump-auth و --dump-filters
- •
- مبهمسازی :X-Auth-Token در سرایندها هنگام خروجی گرفتن نیز
- •
- مستندسازی و پیادهسازی کدهای خروج برای حالتهای مختلف خطا (Ishuah Kariuki)
- •
- Compile
- •
- رفع باگها
- •
- تلاش مجدد در انواع بسیار بیشتری از خطاها برای قابلاطمینانتر کردن انتقالهای چندبخشی
- •
- ذخیرهٔ پیکربندی پیش از درخواست توکن، که ناپدید شدن پیکربندی oauth را برطرف میکند
- •
- هشدار به کاربر در صورت استفادهٔ همزمان از --include و --exclude (Ernest Borowski)
- •
- رفع مشکل فایلهای تکراری (مثلاً در Google drive) که باعث رونوشتهای ناخواسته میشد
- •
- مجاز بودن فاصلههای خالی ابتدا و انتهای گذرواژهها (Jason Rose)
- •
- ncdu: رفع خرابی روی دایرکتوریهای خالی
- •
- rcat: رفع نشت goroutine
- •
- moveto/copyto: رفع مشکل برای امکان کپی با همان نام
- •
- Mount
- •
- حالت --vfs-cache برای مطمئنتر ساختن نوشتن در مانتها.
- •
- این امر نیازمند کش کردن فایلها روی دیسک است (مشاهده کنید: --cache-dir)
- •
- از آنجا که این قابلیتی جدید است، با احتیاط استفاده شود
- •
- استفاده از sdnotify برای اعلام آماده بودن مانت به systemd (Fabian Möller)
- •
- بررسی خالی نبودن دایرکتوری پیش از مانت کردن (Ernest Borowski)
- •
- Local
- •
- افزودن پیام خطا برای جابهجاییهای بین دو فایلسیستم مختلف
- •
- رفع مشکل بررسی برابری زمانها
- •
- Dropbox
- •
- بازطراحی بارگذاری چندبخشی
- •
- بافر کردن قطعهها هنگام بارگذاری فایلهای بزرگ تا امکان تلاش مجدد وجود داشته باشد
- •
- تغییر اندازه پیشفرض قطعه به 48MB با توجه به بافر شدن آنها در حافظه
- •
- تلاش مجدد برای هر خطا پس از تکمیل موفقیتآمیز قطعهٔ اول
- •
- رفع خطا هنگام تغییر نام دایرکتوریها Swift
- •
- رفع کرش هنگام احراز هویت نادرست
- •
- Google Drive
- •
- افزودن پشتیبانی از service account (با تشکر از Tim Cooijmans)
- •
- S3
- •
- کارکرد صحیح با Digital Ocean Spaces (با تشکر از Andrew Starr-Bochicchio)
- •
- رفع کرش در صورت دریافت فهرستبندی نامعتبر
- •
- افزودن پشتیبانی از نقشهای IAM در تسکهای ECS (با تشکر از David Minor)
- •
- Backblaze B2
- •
- رفع اشکال تلاش مجدد در بارگذاریهای چندبخشی (multipart upload)
- •
- رفع اشکال --hard-delete برای کارکرد در ۱۰۰٪ مواقع
- •
- Swift
- •
- امکان احراز هویت با storage URL و auth key (با تشکر از Giovanni Pizzi)
- •
- افزودن فیلدهای جدید به پیکربندی swift برای پشتیبانی از IBM Bluemix Swift (با تشکر از Pierre Carlson)
- •
- افزودن OS_TENANT_ID و OS_USER_ID به پیکربندی
- •
- امکان پیکربندی با شناسه کاربری (user id) به جای نام کاربری
- •
- بررسی وجود کانتینر قطعات در swift پیش از ایجاد آن (با تشکر از John Leach)
- •
- رفع نشت حافظه در انتقالهای swift (اصلاح از بالادست)
- •
- SFTP
- •
- افزودن گزینهای برای فعالسازی استفاده از الگوریتم رمزنگاری aes128-cbc (با تشکر از Jon Fautley)
- •
- Amazon cloud drive
- •
- رفع خطای بارگیری فایلهای حجیم با پیام "Only one auth mechanism allowed"
- •
- crypt
- •
- گزینهای برای رمزنگاری نام دایرکتوریها یا دستنخورده باقی گذاشتن آنها
- •
- پیادهسازی DirChangeNotify (با تشکر از Fabian Möller)
- •
- onedrive
- •
- افزودن گزینهای برای انتخاب resourceURL هنگام راهاندازی حساب OneDrive Business در صورتی که بیش از یکی برای کاربر در دسترس باشد
v1.38 - 2017-09-30
- •
- بکاندهای جدید
- •
- فضای ذخیرهسازی Azure Blob (با تشکر از Andrei Dragomir)
- •
- Box
- •
- سرویس OneDrive for Business (با تشکر از Oliver Heyme)
- •
- سرویس QingStor از QingCloud (با تشکر از wuyu)
- •
- دستورات جدید
- •
- rcat - خواندن از ورودی استاندارد و بارگذاری جریانی
- •
- tree - نمایش فهرستی بازگشتی با قالببندی مناسب
- •
- cryptdecode - رمزگشایی نامهای فایل رمزنگاریشده (با تشکر از ishuah)
- •
- config show - چاپ محتوای فایل پیکربندی
- •
- config file - چاپ مسیر قرارگیری فایل پیکربندی
- •
- قابلیتهای جدید
- •
- حذف دایرکتوریهای خالی در sync
- •
- dedupe - پیادهسازی ادغام دایرکتوریهای تکراری
- •
- سازگارتر شدن check و cryptcheck و مصرف حافظه کمتر
- •
- دستور cleanup برای سایر ریموتها (با تشکر از ishuah)
- •
- گزینه --immutable برای اطمینان از تغییر نکردن فایلها (با تشکر از Jacob McNamee)
- •
- گزینه --user-agent (با تشکر از Alex McGrath Kraak)
- •
- پرچم --disable برای غیرفعال کردن قابلیتهای اختیاری
- •
- پرچم --bind برای تعیین آدرس محلی در اتصالهای خروجی
- •
- پشتیبانی از تکمیل خودکار zsh (با تشکر از bpicode)
- •
- توقف نرمالسازی نام فایلها و انجام مقایسه نرمالشده در sync
- •
- کامپایل
- •
- بهروزرسانی به go1.9 به عنوان نسخه پیشفرض go
- •
- حذف بیلد snapd به دلیل مشکلات نگهداری
- •
- رفع اشکالات
- •
- بهبود تشخیص خطاهای قابل تلاش مجدد که بارگذاریهای چندبخشی را ارتقا میدهد
- •
- اعمال پرچم --ignore-size در دستور check
- •
- رفع مشکل تغییر وضعیت bwlimit در ترکیب با زمانبندیها (با تشکر از cbruegg)
- •
- دستور config اطمینان حاصل میکند که پیکربندی تازه نوشتهشده روی همان نقطه اتصال باشد
- •
- Local
- •
- بازگشت به کپی هنگام انتقال فایل بین مرزهای فایلسیستم
- •
- گزینه --skip-links برای نادیده گرفتن هشدارهای پیوند نمادین (با تشکر از Zhiming Wang)
- •
- Mount
- •
- استفاده مجدد از بخشهای داخلی rcat برای پشتیبانی از بارگذاری از تمام ریموتها
- •
- Dropbox
- •
- رفع خطای "entry doesn't belong in directory"
- •
- توقف استفاده از متدهای منسوخشده API
- •
- Swift
- •
- رفع مشکل کپی سمت سرور به یک کانتینر خالی با --fast-list Google Drive
- •
- تغییر مقدار پیشفرض --drive-use-trash به true
- •
- S3
- •
- تنظیم نشانهٔ نشست (session token) هنگام استفاده از STS (با تشکر از Girish Ramakrishnan)
- •
- مستندات و پیامهای خطای Glacier (با تشکر از Jan Varho)
- •
- خواندن ۱۰۰۰ مورد (نه ۱۰۲۴) در فهرستگیری پوشهها برای اصلاح Wasabi
- •
- Backblaze B2
- •
- رفع عدم تطابق SHA1 هنگام بارگیری فایلهای فاقد SHA1
- •
- محاسبهٔ درلحظهٔ درهمسازهای ناموجود بهجای ذخیره در صف (spooling)
- •
- گزینهٔ --b2-hard-delete برای حذف دائمی فایلها (نه پنهانسازی) (با تشکر از John Papandriopoulos)
- •
- Hubic
- •
- رفع مشکل ساخت کانتینرها - دیگر نیازی به استفاده از کانتینر default نیست
- •
- Swift
- •
- امکان پیکربندی اختیاری از طریق مجموعهای استاندارد از متغیرهای محیطی OpenStack
- •
- افزودن پیکربندی endpoint_type
- •
- Google Cloud Storage
- •
- اصلاح ساخت باکت (bucket) برای کارکرد با کاربران دارای دسترسی محدود
- •
- SFTP
- •
- پیادهسازی تجمیع اتصالات (connection pooling) برای چندین اتصال ssh
- •
- محدود کردن اتصالات جدید در هر ثانیه
- •
- افزودن پشتیبانی از درهمسازهای MD5 و SHA1 در صورت موجود بودن (با تشکر از Christian Brüggemann)
- •
- HTTP
- •
- رفع مشکلات کدگذاری نشانی وب (URL encoding)
- •
- رفع مشکل پوشههای حاوی :
- •
- رفع خطای وحشت (panic) ناشی از محتوای کدگذاریشدهٔ URL
v1.37 - 2017-07-22
- •
- پسانههای جدید
- •
- FTP - با تشکر از Antonio Messina
- •
- HTTP - با تشکر از Vasiliy Tolstov
- •
- دستورهای جدید
- •
- rclone ncdu - برای کاوش یک ریموت با واسط کاربری متنی.
- •
- rclone lsjson - برای فهرستگیری با خروجی ماشینخوان
- •
- rclone dbhashsum - برای نمایش درهمسازهای سبک Dropbox فایلها (محلی یا Dropbox)
- •
- قابلیتهای جدید
- •
- پیادهسازی پرچم --fast-list
- •
- این گزینه به ریموتها اجازه میدهد در صورت توانایی، فهرستگیری را بهصورت بازگشتی انجام دهند
- •
- این کار از تراکنشهای کمتری استفاده میکند (مهم در صورتی که بابت آنها هزینه میپردازید)
- •
- ممکن است سریعتر باشد یا نباشد
- •
- حافظهٔ بیشتری مصرف خواهد کرد زیرا باید کل فهرست را در حافظه نگه دارد
- •
- منسوخ شدن --old-sync-method - سایر کاربردها با --fast-list پوشش داده میشوند
- •
- این تغییر شامل بازنویسی اساسی تمام کدهای فهرستگیری بود
- •
- افزودن --tpslimit و --tpslimit-burst برای محدود کردن تعداد تراکنشها در ثانیه
- •
- این قابلیت در ترکیب با rclone mount برای محدود کردن برنامههای خارجی کاربرد دارد
- •
- افزودن --stats-log-level جهت امکان مشاهدهٔ --stats بدون نیاز به -v
- •
- چاپ پیامهای دریافت گذرواژه در stderr - با تشکر از Hraban Luyat
- •
- هشدار دربارهٔ فایلهای تکراری هنگام همگامسازی
- •
- بهبودهای OAuth
- •
- امکان تنظیم auth_url و token_url در فایل پیکربندی
- •
- چاپ URI بازهدایت در صورت استفاده از اطلاعات اعتباری اختصاصی.
- •
- عدم اجرای Mkdir در آغاز همگامسازی برای صرفهجویی در تراکنشها
- •
- کامپایل
- •
- بهروزرسانی ساخت به go1.8.3
- •
- الزام استفاده از go1.6 برای ساخت rclone
- •
- کامپایل بیلدهای 386 با "GO386=387" برای حداکثر سازگاری
- •
- رفع باگها
- •
- اصلاح انتخاب منو در صورت عدم وجود ریموتها
- •
- بازطراحی روند ذخیرهٔ پیکربندی تا در صورت پر شدن دیسک، فایل آسیب نبیند
- •
- عدم حذف ریموت در صورتی که نام هنگام تغییر نام بدون تغییر بماند
- •
- دستورهای moveto و copyto: گزارش انتقالها و بررسیها مطابق با move و copy
- •
- Local
- •
- افزودن پرچم --local-no-unicode-normalization - با تشکر از Bob Potter
- •
- Mount
- •
- پشتیبانی در Windows با استفاده از cgofuse و WinFsp - با تشکر فراوان از Bill Zissimopoulos برای کمکهای بسیارش
- •
- مقایسهٔ چکسامها هنگام بارگذاری/بارگیری از طریق FUSE
- •
- پیاده کردن (Unmount) هنگام خاتمهٔ برنامه با SIGINT (کلیدهای Ctrl+C) یا SIGTERM - با تشکر از Jérôme Vizcaino
- •
- در بازگشایی فقطخواندنی فایل، معلق ماندن باز شدن تا زمان نخستین خواندن
- •
- رد عملیاتهای ویرایشی توسط --read-only
- •
- پیادهسازی ModTime از طریق FUSE برای ریموتهایی که از آن پشتیبانی میکنند
- •
- امکان تغییر modTime حتی پیش از بسته شدن تمام نویسندهها (writers).IP • 2 رفع خطای panic هنگام تغییر نامها
- •
- رفع قفل کردن هنگام بارگذاریهای دچار خطا
- •
- Crypt
- •
- گزارش name:root همانطور که توسط کاربر مشخص شده است
- •
- افزودن گزینه "obfuscate" برای رمزنگاری نام فایل - Stephen Harris
- •
- Amazon Drive
- •
- اصلاح ترتیب مقداردهی اولیه برای تمدیدکننده توکن
- •
- حذف اعتبارنامههای ابطالشده، امکانپذیر ساختن پیکربندی پروکسی oauth و بهروزرسانی مستندات
- •
- B2
- •
- کاهش حداقل اندازه تکهها به 5MB
- •
- Drive
- •
- افزودن پشتیبانی از درایو تیمی (team drive)
- •
- کاهش پهنای باند مصرفی با افزودن فیلدهایی برای پاسخهای جزئی - Martin Kristensen
- •
- پیادهسازی پرچم --drive-shared-with-me برای مشاهده فایلهای همرسانیشده با من - Danny Tsai
- •
- افزودن --drive-trashed-only جهت خواندن تنها فایلهای موجود در سطل زباله
- •
- حذف گزینه منسوخشده --drive-full-list
- •
- افزودن seek به ابتدا در تلاشهای مجدد بارگذاریهای تکهای
- •
- اصلاح محاسبه آمار برای بارگذاری
- •
- تبدیل / در نامها به معادل یونیکد آن (/)
- •
- بررسی دورهای (poll) تغییرات Google Drive هنگام سوار شدن (mount)
- •
- OneDrive
- •
- اصلاح بارگذاری فایلهای حاوی فاصله
- •
- اصلاح ترتیب مقداردهی اولیه برای تمدیدکننده توکن
- •
- نمایش دقیق سرعت هنگام بارگذاری - Yoni Jah
- •
- تغییر به استفاده از http://localhost:53682 بهعنوان نشانی تغییر مسیر - Michael Ledin
- •
- تلاش مجدد هنگام خطای انقضای توکن و بازنشانی بدنه بارگذاری در تلاش مجدد - Yoni Jah
- •
- Google Cloud Storage
- •
- افزودن امکان تعیین مکان و رده ذخیرهسازی از طریق پیکربندی و خط فرمان - با تشکر از gdm85
- •
- ایجاد کانتینر در صورت نیاز هنگام رونوشت سمت سرور
- •
- افزایش اندازه تکه فهرستگیری دایرکتوری به ۱۰۰۰ جهت بهبود کارایی
- •
- دریافت یک refresh token برای GCS - Steven Lu
- •
- Yandex
- •
- اصلاح نام گزارششده در پیامهای گزارش (خالی بود)
- •
- تصحیح خطای بازگشتی برای فهرست کردن دایرکتوری خالی
- •
- Dropbox
- •
- بازنویسیشده جهت استفاده از API نسخه ۲
- •
- اکنون از ModTime پشتیبانی میکند
- •
- فقط با بارگذاری دوباره فایل قابل تنظیم است
- •
- اگر با نسخه قدیمی rclone بارگذاری کردهاید، rclone ممکن است همهچیز را دوباره بارگذاری کند
- •
- برای جلوگیری از این مسئله از --size-only یا --checksum استفاده کنید
- •
- اکنون از طرح درهمسازی محتوای Dropbox پشتیبانی میکند
- •
- اکنون از تلاشهای مجدد در سطح پایین پشتیبانی میکند
- •
- S3
- •
- دور زدن مشکل سازگاری نهایی (eventual consistency) در ایجاد باکت
- •
- ایجاد کانتینر در صورت نیاز هنگام رونوشت سمت سرور
- •
- افزودن ناحیههای S3 مربوط به us-east-2 (اوهایو) و eu-west-2 (لندن) - Zahiar Ahmed
- •
- Swift, Hubic
- •
- رفع نمایش نشانگرهای دایرکتوری با طول صفر در فهرست زیردایرکتوریها
- •
- این مورد باعث انتقالهای تکراری زیادی میشد
- •
- اصلاح فهرستگیری صفحهبندیشده دایرکتوری
- •
- این مورد باعث خطاهای دایرکتوری تکراری میشد
- •
- ایجاد کانتینر در صورت نیاز هنگام رونوشت سمت سرور
- •
- افزایش اندازه تکه فهرستگیری دایرکتوری به ۱۰۰۰ جهت بهبود کارایی
- •
- ارائه خطای منطقی در صورتی که کاربر کانتینر را فراموش کند
- •
- SFTP
- •
- افزودن پشتیبانی از استفاده از فایلهای کلید ssh
- •
- رفع اشکالات تحت Windows
- •
- اصلاح ssh agent در Windows
- •
- سازگاری با آخرین نسخه کتابخانه - Igor Kharin
- •
- ویژگیهای جدید
- •
- ریموت SFTP (Jack Schmidt)
- •
- پیادهسازی مجدد روال sync برای پردازش یک دایرکتوری در هر نوبت جهت کاهش مصرف حافظه
- •
- بازنگری در ثبت وقایع برای هماهنگی بیشتر با rsync - اکنون با خروجی بسیار خلوتتر
- •
- گزینه -v تنها انتقالها را نشان میدهد
- •
- گزینه -vv برای اشکالزدایی کامل (debug) است
- •
- گزینه --syslog برای ثبت وقایع در syslog در سیستمهای سازگار
- •
- پیادهسازی --backup-dir و --suffix
- •
- پیادهسازی --track-renames (پیادهسازی اولیه توسط Bjørn Erik Pedersen)
- •
- افزودن محدودیتهای پهنای باند بر اساس زمان (Lukas Loesche)
- •
- دستور rclone cryptcheck: بررسی یکپارچگی ریموتهای crypt
- •
- امکان تعیین تمامی متغیرها و گزینههای فایل پیکربندی از طریق متغیرهای محیطی
- •
- افزودن پارامتر --buffer-size جهت کنترل اندازه بافر برای کپی
- •
- پیشفرض قرار دادن گزینه --delete-after
- •
- افزودن پرچم --ignore-checksum (رفع اشکال توسط Hisham Zarka)
- •
- دستور rclone check: افزودن پرچم --download برای بررسی تمام دادهها، نه فقط هشها
- •
- دستور rclone cat: افزودن --head، --tail، --offset، --count و --discard
- •
- دستور rclone config: امکان وارد کردن دستی مقدار هنگام انتخاب از فهرست
- •
- دستور rclone config: امکان تغییر نام و کپی کردن ریموتها
- •
- دستور rclone obscure: برای تولید گذرواژههای رمزنگاریشده جهت پیکربندی rclone (توسط T.C. Ferguson)
- •
- سازگاری با مشخصات XDG Base Directory (توسط Dario Giovannetti)
- •
- این تغییر، محل پیشفرض فایل پیکربندی را به شکلی سازگار با نسخههای پیشین منتقل میکند
- •
- تغییرات انتشار
- •
- پشتیبانی از snap در Ubuntu (توسط Dedsec1)
- •
- کامپایل با go 1.8
- •
- پشتیبانی از حالتهای big و little endian در MIPS/Linux
- •
- رفع اشکالات
- •
- رفع اشکال کپی شدن اشیا به مکان اشتباه توسط copyto در صورت وجود نداشتن دایرکتوری مقصد
- •
- رفع اشکال در تجزیه ریموتها در moveto و copyto
- •
- رفع اشکال حذف فایلها حین کپی هنگام استفاده از --delete-before
- •
- رفع اشکال کپی شدن همهچیز توسط --files-from با یک فایل خالی
- •
- رفع اشکال sync: عدم بهروزرسانی زمانهای ویرایش در صورت تنظیم --dry-run
- •
- رفع اشکال در انتشار MimeType
- •
- اصلاح فیلترها برای افزودن قوانین ** به قوانین دایرکتوری
- •
- Local
- •
- پیادهسازی پرچم -L, --copy-links برای مجاز کردن rclone به دنبال کردن پیوندهای نمادین
- •
- باز کردن فایلها در حالت فقطنوشتنی تا rclone بتواند در mount متعلق به rclone بنویسد
- •
- رفع اشکال ناشی از یونیکد نرمالسازینشده که در خواندن دایرکتوریها مشکل ایجاد میکرد
- •
- رفع اشکال تداخل میان پرچم -x و --max-depth
- •
- Mount
- •
- پیادهسازی مدیریت مناسب دایرکتوریها (mkdir، rmdir، تغییر نام)
- •
- اعمال فیلترهای include و exclude بر روی mount
- •
- پیادهسازی بافرهای ناهمگام خواندن و نوشتن - قابل کنترل با --buffer-size
- •
- رفع اشکال عملکرد fsync برای دایرکتوریها
- •
- رفع اشکال در تلاش مجدد هنگام خطای شبکه حین خواندن از crypt
- •
- Crypt
- •
- افزودن --crypt-show-mapping جهت نمایش نگاشت فایل رمزنگاریشده
- •
- رفع اشکال گیر افتادن نویسنده crypt در یک حلقه
- •
- مهم: این باگ میتوانست در موارد زیر موجب تخریب دادهها شود:
- •
- خواندن دادهها از یک ریموت مبتنی بر شبکه، و
- •
- نوشتن روی یک ریموت crypt در Google Drive
- •
- در صورت نگرانی، از دستور cryptcheck برای اعتبارسنجی دادههای خود استفاده کنید
- •
- در صورت همگامسازی دو ریموت crypt، ریموت رمزنگارینشده را همگامسازی کنید
- •
- Amazon Drive
- •
- رفع panic حین اجرای Move (تغییر نام)
- •
- رفع panic هنگام انقضای توکن
- •
- B2
- •
- رفع ناهماهنگی در فهرست کردن و دستور rclone check
- •
- رفع اشکال بارگذاری فایلهای خالی با go1.8
- •
- محدودسازی مصرف حافظه هنگام انجام بارگذاریهای چندبخشی
- •
- رفع اشکال در تازهسازی نشدن صحیح URL بارگذاری
- •
- Drive
- •
- رفع اشکال Rmdir روی دایرکتوریهای دارای فایلهای منتقلشده به سطل زباله
- •
- رفع اشکال پیام "Ignoring unknown object" هنگام بارگیری
- •
- افزودن --drive-list-chunk
- •
- افزودن --drive-skip-gdocs (Károly Oláh)
- •
- OneDrive
- •
- پیادهسازی Move
- •
- رفع اشکال Copy
- •
- رفع اشکال تشخیص بازنویسی در Copy
- •
- رفع اشکال waitForJob برای تجزیه صحیح خطاها استفاده از تجدیدکنندهٔ توکن برای متوقف کردن خطاهای احراز هویت در بارگذاریهای طولانی
- •
- رفع مشکل بارگذاری فایلهای خالی با go1.8
- •
- Google Cloud Storage
- •
- رفع مشکل فهرستبندی دایرکتوریها با عمق ۱
- •
- Yandex
- •
- رفع مشکل فهرستبندی دایرکتوری در یک سطح
- •
- Dropbox
- •
- یکسانسازی بزرگی و کوچکی حروف در فهرستبندی دایرکتوریهای تکسطحی
- •
- رفع مشکل فهرستبندی با عمق ۱
- •
- S3
- •
- افزوده شدن منطقهٔ ca-central-1 (با تشکر از Jon Yergatian)
v1.35 - 2017-01-02
- •
- ویژگیهای جدید
- •
- دستورهای moveto و copyto برای انتخاب نام مقصد در رونوشت/انتقال
- •
- دستور rmdirs برای حذف بازگشتی دایرکتوریهای خالی
- •
- امکان تکرار گزینههای --include/--exclude/--filter
- •
- نمایش آمار انتقال تنها در دستورهایی که داده انتقال میدهند
- •
- نمایش آمار در هر دستوری با استفاده از پرچم --stats
- •
- مجاز بودن دایرکتوریهای همپوشان در move هنگامی که جابهجایی دایرکتوری در سمت سرور پشتیبانی میشود
- •
- افزودن گزینهٔ --stats-unit - با تشکر از Scott McGillivray
- •
- رفع باگها
- •
- رفع مشکل رونویسی فایل پیکربندی هنگام اجرای همزمان دو نمونه از rclone
- •
- پیروی صحیح rclone lsd از فیلترها
- •
- رفع مشکل کامپایل روی mips
- •
- رفع مشکل عدم انتقال فایلهایی که تفاوت اندازهای ندارند
- •
- رفع خطای panic در مواجهه با خطای nil مربوط به retry/fatal
- •
- Mount
- •
- تلاش مجدد برای خواندن در صورت بروز خطا - کمک بسیار به پایداری و قابلیت اطمینان
- •
- گزارش زمان تغییرات دایرکتوریها از سمت ریموت
- •
- افزودن محاسبه و محدودسازی پهنای باند (رفع اشکال --bwlimit)
- •
- در صورت ارائهٔ --stats، آمار و اینکه چه فایلهایی در حال انتقال هستند نمایش داده میشود
- •
- پشتیبانی از فایلهای R/W در صورت مشخص بودن truncate.
- •
- پیادهسازی رابط statfs برای کارکرد درست df
- •
- توجه: عملیات نوشتن اکنون روی Amazon Drive پشتیبانی میشود
- •
- گزارش تعداد بلوکها در یک فایل - با تشکر از Stefan Breunig
- •
- Crypt
- •
- جلوگیری از اشارهٔ کاربر crypt به خودش
- •
- رفع خطاهای مربوط به عدم موفقیت در احراز هویت بلوکهای رمزگشاییشده
- •
- این خطاها اکنون در عوض، EOF غیرمنتظرهٔ زیرین را بازمیگردانند
- •
- Amazon Drive
- •
- افزودن پشتیبانی از move سمت سرور و انتقال دایرکتوری - با تشکر از Stefan Breunig
- •
- رفع ارجاع به اشارهگر nil برای ویژگی size
- •
- B2
- •
- استفاده از پارامترهای جدید prefix و delimiter در فهرستبندی دایرکتوریها
- •
- این تغییر فهرستبندی دایرکتوری با --max-depth 1 را همانطور که در mount استفاده میشود بسیار سریعتر میکند
- •
- احراز هویت مجدد حساب در حین انجام بارگذاریها نیز انجام میشود - به مشکل انقضای توکن کمک خواهد کرد
- •
- Drive
- •
- بهینهتر کردن DirMove و اعلام خطا هنگام انتقال دایرکتوری ریشه (root)
- •
- ایجاد دایرکتوری مقصد در Move()
- •
- قابلیتهای جدید
- •
- توقف پیمایش باکت مبدا در عملیاتهای تکفایل و --files-from.
- •
- توقف حذف بارگذاریهای ناموفق در ریموتهای ذخیرهسازی ابری
- •
- حفظ ContentType برای رونوشتهای ابر به ابر
- •
- افزودن پشتیبانی از تغییر وضعیت محدودیت پهنای باند از طریق SIGUSR2 - با تشکر از Marco Paganini
- •
- دستور rclone check تعداد هشهایی که بررسی آنها مقدور نبوده را نمایش میدهد
- •
- دستور rclone listremotes
- •
- پشتیبانی از ساخت برای linux/arm64 - با تشکر از Fredrik Fornwall
- •
- حذف خطوط Authorization: از خروجی --dump-headers
- •
- رفع باگها
- •
- نادیده گرفتن فایلهایی با نویسههای کنترلی در نام آنها
- •
- رفع اشکال دستور rclone move
- •
- حذف فایلهای src که از پیش در dst وجود داشتند
- •
- رفع اشکال حذف فایل src هنگامی که فایل dst قدیمیتر است
- •
- رفع اشکال rclone check بر روی سیستمفایلهای رمزگذاریشده
- •
- عدم محاسبه بارگذاریهای ناموفق بهعنوان "Transferred"
- •
- اطمینان از نمایش تلاشهای مجدد سطح بالا با -q
- •
- استفاده از دایرکتوری vendor با godep برای ساختهای تکرارپذیر
- •
- rclone mount - FUSE
- •
- پیادهسازی گزینههای سوار کردن FUSE
- •
- --no-modtime، --debug-fuse، --read-only، --allow-non-empty، --allow-root، --allow-other
- •
- --default-permissions، --write-back-cache، --max-read-ahead، --umask، --uid، --gid
- •
- افزودن --dir-cache-time برای کنترل کش کردن ورودیهای دایرکتوری
- •
- پیادهسازی seek برای فایلهای بازشده جهت خواندن (کاربردی برای پخشکنندههای ویدیو)
- •
- همراه با پرچم -no-seek برای غیرفعالسازی
- •
- رفع اشکال فروپاشی در ARM ۳۲ بیتی (همترازی شمارنده ۶۴ بیتی)
- •
- ...و بسیاری اصلاحات و بهبودهای داخلی دیگر!
- •
- Crypt
- •
- عدم نمایش گذرواژه رمزگذاریشده در پیکربندیکننده جهت جلوگیری از سردرگمی
- •
- Amazon Drive
- •
- گزینه جدید انتظار برای بارگذاری --acd-upload-wait-per-gb
- •
- مقیاسپذیری مهلتهای زمانی بارگذاری بر اساس اندازه فایل و امکان غیرفعالسازی آن
- •
- افزودن 502 Bad Gateway به فهرست خطاهایی که مجدداً تلاش میشوند
- •
- رفع اشکال بازنویسی یک فایل با فایلی با طول صفر
- •
- رفع اشکال حد هشدار اندازه فایل در ACD - با تشکر از Felix Bünemann
- •
- Local
- •
- یونیکس: پیادهسازی -x/--one-file-system برای ماندن در یک سیستمفایل واحد
- •
- با تشکر از Durval Menezes و Luiz Carlos Rumbelsperger Viana
- •
- ویندوز: نادیده گرفتن بیت symlink در فایلها
- •
- ویندوز: نادیده گرفتن نقاط اتصال (junction points) مبتنی بر دایرکتوری
- •
- B2
- •
- اطمینان از اینکه هر بارگذاری دستکم یک شیار بارگذاری دارد - رفع آمار بارگذاری غیرعادی
- •
- رفع اشکال بارگذاریها هنگام استفاده از crypt
- •
- رفع اشکال بارگیری فایلهای حجیم (عدم تطابق sha1)
- •
- بازگرداندن خطا هنگام تلاش برای ایجاد باکتی که مالک آن شخص دیگری است
- •
- بهروزرسانی مستندات B2 با بخشهای مصرف داده (Data usage) و Crypt - با تشکر از Tomasz Mazur
- •
- S3
- •
- پشتیبانی از خط فرمان و فایل پیکربندی برای
- •
- تنظیم/بازنویسی ACL - با تشکر از Radek Šenfeld
- •
- تنظیم رده ذخیرهسازی (storage class) - با تشکر از Asko Tamm
- •
- Drive
- •
- کارکرد دقیق عقبنشینی نمایی (exponential backoff) طبق مشخصات Google
- •
- افزودن .epub، .odp و .tsv به عنوان قالبهای برونبری.
- •
- Swift
- •
- عدم خواندن متاداده برای اشیاء نشانگر دایرکتوری
- •
- قابلیتهای جدید
- •
- پیادهسازی رمزنگاری
- •
- دادههای رمزنگاریشده در قالب NACL secretbox
- •
- به همراه رمزنگاری اختیاری نام فایل
- •
- دستورهای جدید
- •
- rclone mount - پیادهسازی اتصال FUSE برای ریموتها (آزمایشی)
- •
- روی Linux، FreeBSD و OS X کار میکند (برای دو مورد آخر نیاز به آزمایشکننده است!)
- •
- rclone cat - ارسال فایل یا فایلهای ریموت به خروجی ترمینال
- •
- rclone genautocomplete - دستور ساخت اسکریپت تکمیل خودکار bash برای rclone
- •
- ویرایش یک ریموت با استفاده از rclone config اکنون از طریق ویزارد انجام میشود
- •
- کامپایل با go 1.7 - این مورد rclone را روی macOS Sierra و پردازندههای 386 اصلاح میکند
- •
- استفاده از cobra برای زیردستورها و ساخت مستندات
- •
- drive
- •
- مستندسازی نحوه ساخت client_id اختصاصی
- •
- s3
- •
- امکان پیکربندی Amazon S3 ACL توسط کاربر (با تشکر از Radek Šenfeld)
- •
- b2
- •
- رفع مشکل محاسبه آمار بارگذاری - عدم جهش به ۱۰۰٪ انجامشده
- •
- در پاکسازی، در صورتی که فایل جاری باشد نشانگر پنهانسازی (hide marker) حذف شود
- •
- نقطه پایانی جدید B2 API (با تشکر از Per Cederberg)
- •
- تنظیم حداکثر زمان انتظار پسروی (backoff) به ۵ دقیقه
- •
- onedrive
- •
- رفع مشکل گریز نشانی وب (URL escaping) در نام فایلها - مانند بارگذاری فایلهای حاوی +.
- •
- amazon cloud drive
- •
- رفع مشکل انقضای توکن در حین بارگذاریهای حجیم
- •
- دور زدن خطاهای 408 REQUEST_TIMEOUT و 504 GATEWAY_TIMEOUT
- •
- local
- •
- رفع مشکل بارگذاری نشدن نام فایلهای حاوی UTF-8 نامعتبر
- •
- رفع مشکل برخی نویسههای UTF-8 در OS X
- •
- Backblaze B2
- •
- رفع اشکال بارگذاری فایلهای بزرگی که در ریشه نیستند
v1.31 - 2016-07-13
- •
- قابلیتهای جدید
- •
- کاهش مصرف حافظه هنگام sync تا حدود ۵۰٪
- •
- پیادهسازی پرچم --no-traverse برای جلوگیری از پیمایش ریموت مقصد توسط copy.
- •
- این گزینه میتواند برای کاهش مصرف حافظه به کمترین میزان ممکن استفاده شود.
- •
- برای کپی تعداد کمی فایل به درون یک پوشه مقصد بزرگ مفید است.
- •
- پیادهسازی دستور cleanup برای خالی کردن سطل زباله / حذف نسخههای قدیمی فایلها
- •
- در حال حاضر فقط برای B2
- •
- بهبود کار با فایلهای تکی
- •
- اکنون با --files-from کپی میشود
- •
- تنظیم خودکار --no-traverse هنگام کپی یک فایل تکی
- •
- اطلاعات در مورد نصب با استفاده از ansible - با تشکر از Stefan Weichinger
- •
- پیادهسازی پرچم --no-update-modtime برای متوقف کردن اصلاح زمانهای تغییر ریموت توسط rclone.
- •
- رفع اشکالات
- •
- رفع اشکال دستور move - متوقف کردن اجرای آن برای سامانههای فایل (Fs) دارای همپوشانی؛ این مسئله پیشتر باعث از دست رفتن دادهها میشد.
- •
- Local
- •
- رفع اشکال درهمسازهای (هشهای) ناقص - این مورد برای B2 مشکلساز شده بود.
- •
- Amazon Drive
- •
- تغییر نام Amazon Cloud Drive به Amazon Drive - نیازی به تغییر در فایل پیکربندی نیست.
- •
- Swift
- •
- افزودن پشتیبانی از دامنه پروژه غیرپیشفرض - با تشکر از Antonio Messina.
- •
- S3
- •
- افزودن راهنما در مورد نحوه استفاده از rclone با minio.
- •
- افزودن ناحیههای ap-northeast-2 (سئول) و ap-south-1 (بمبئی).
- •
- صرفنظر کردن از تنظیم زمان تغییر برای اشیاء بزرگتر از 5GB به دلیل غیرممکن بودن آن.
- •
- Backblaze B2
- •
- افزودن پرچم --b2-versions تا نسخههای قدیمی قابل فهرستبندی و بازیابی باشند.
- •
- مهلک (fatal) در نظر گرفتن خطاهای 403 (مانند عبور از سقف مجاز).
- •
- پیادهسازی دستور cleanup برای حذف نسخههای قدیمی فایل.
- •
- سازگار کردن مدیریت خطا با یادداشتهای یکپارچهسازی B2.
- •
- رفع مشکل مدیریت انقضای توکن.
- •
- پیادهسازی --b2-test-mode جهت تنظیم سرآیند X-Bz-Test-Mode.
- •
- تنظیم حد آستانه برای بارگذاری چندبخشی روی 200MB طبق راهنماهای B2.
- •
- چندنخی کردن بارگذاری.
- •
- Dropbox
- •
- عدم تلاش مجدد برای خطاهای 461.
- •
- ویژگیهای جدید
- •
- بازنویسی کد فهرستبندی دایرکتوری برای قابلیتهای بیشتر و گزارشدهی بهتر خطاها (با تشکر از Klaus Post برای کمک). این مورد قابلیتهای زیر را فعال میکند:
- •
- فیلتر کردن شمول (include) دایرکتوری برای بهرهوری بیشتر
- •
- پارامتر --max-depth
- •
- گزارشدهی بهتر خطاها
- •
- موارد بیشتر بهزودی
- •
- تلاش مجدد برای خطاهای بیشتر
- •
- افزودن پرچم --ignore-size - برای بارگذاری تصاویر در onedrive
- •
- ثبت لاگ خروجی -v در stdout بهصورت پیشفرض
- •
- نمایش آمار انتقال در قالبی خواناتر برای انسان
- •
- امکان تعیین فایلهای با اندازه صفر با --max-size 0b
- •
- افزودن پسوند b جهت امکان تعیین بایت در --bwlimit ،--min-size و غیره
- •
- استفاده از اعلان "password:" بهجای "password>" - با تشکر از Klaus Post و Leigh Klotz
- •
- رفع باگها
- •
- رفع مشکل انجام یک تلاش مجدد اضافی در تکرارها (retry)
- •
- محلی (Local)
- •
- رفع مشکلات مربوط به OS X و نویسههای UTF-8
- •
- Amazon Drive
- •
- بررسی وجود فایل پیش از بارگذاری جهت جلوگیری از خطاهای 408 Conflict
- •
- احراز هویت مجدد هنگام بروز خطاهای 401 - این مورد مشکلات زیادی ایجاد کرده بود
- •
- دور زدن خطاهای کاذب 403
- •
- راهاندازی مجدد فهرستبندی دایرکتوری در صورت بروز خطا
- •
- Google Drive
- •
- بررسی وجود فایل پیش از بارگذاری جهت جلوگیری از موارد تکراری
- •
- رفع مشکل تلاش مجدد برای بارگذاریهای چندبخشی (multipart uploads)
- •
- Backblaze B2
- •
- پیادهسازی بارگذاری فایلهای حجیم
- •
- S3
- •
- افزودن رمزگذاری سمت سرور AES256 - با تشکر از Justin R. Wilson
- •
- Google Cloud Storage
- •
- اطمینان از عدم استفاده از content typeهای متناقض هنگام بارگذاری
- •
- افزودن پشتیبانی از حساب کاربری سرویس (service account) - با تشکر از Michal Witkowski
- •
- Swift
- •
- افزودن پارامتر نگارش احراز هویت (auth version)
- •
- افزودن گزینه domain برای openstack (احراز هویت v3) - با تشکر از Fabian Ruff
- •
- ویژگیهای جدید
- •
- پیادهسازی -I, --ignore-times برای بارگذاری بدون قید و شرط
- •
- بهبود دستور dedupe
- •
- اکنون نسخههای یکسان را بدون پرسش حذف میکند
- •
- اکنون از --dry-run پیروی میکند
- •
- پیادهسازی --dedupe-mode برای اجرای غیرتعاملی
- •
- --dedupe-mode interactive - حالت تعاملی، پیشفرض است.
- •
- --dedupe-mode skip - فایلهای یکسان را حذف کرده و سپس از موارد باقیمانده صرفنظر میکند.
- •
- --dedupe-mode first - فایلهای یکسان را حذف کرده و سپس اولین مورد را نگه میدارد.
- •
- --dedupe-mode newest - فایلهای یکسان را حذف کرده و سپس جدیدترین مورد را نگه میدارد.
- •
- --dedupe-mode oldest - فایلهای یکسان را حذف کرده و سپس قدیمیترین مورد را نگه میدارد.
- •
- --dedupe-mode rename - فایلهای یکسان را حذف کرده و سپس نام بقیه را تغییر میدهد تا متمایز شوند.
- •
- رفع باگها
- •
- ملزم کردن rclone check به پیروی از پرچم --size-only.
- •
- استفاده از "application/octet-stream" در صورتی که mime type شناساییشده نامعتبر باشد.
- •
- رفع مشکل نبود گزینه "quit" هنگامی که هیچ ریموتی وجود ندارد.
- •
- Google Drive
- •
- افزایش اندازه تکه (chunk size) پیشفرض به ۸ مگابایت - افزایش سرعت بارگذاری فایلهای بزرگ
- •
- افزایش سرعت فهرستکردن دایرکتوریها و افزایش قابلیت اطمینان آن
- •
- افزودن تلاشهای مجدد ناموجود برای Move و DirMove - افزایش قابلیت اطمینان
- •
- حفظ mime type هنگام بهروزرسانی فایل
- •
- Backblaze B2
- •
- فعالسازی همگامسازی زمان ویرایش (mod time)
- •
- این بدان معناست که B2 اکنون زمانهای ویرایش را بررسی خواهد کرد
- •
- برای بهروزرسانی زمانهای ویرایش، فایلهای جدید را بارگذاری خواهد کرد
- •
- (هیچ API برای صرفاً تنظیم زمان ویرایش وجود ندارد.)
- •
- اگر رفتار پیشین را میخواهید از --size-only استفاده کنید.
- •
- بهروزرسانی API به نسخه جدید
- •
- رفع اشکال تجزیه زمان ویرایش هنگامی که در فراداده (metadata) موجود نیست
- •
- Swift/Hubic
- •
- عدم بازگرداندن MD5SUM برای اشیاء بزرگ ایستا (static large objects)
- •
- S3
- •
- رفع مشکل بارگذاری فایلهای بزرگتر از 50GB
- •
- قابلیتهای جدید
- •
- رمزگذاری فایل پیکربندی - با تشکر از Klaus Post
- •
- بهبود rclone config با افزودن راهنمای بیشتر و سادهتر کردن درک آن
- •
- پیادهسازی -u/--update تا امکان استفاده از زمانهای ایجاد روی تمام ریموتها فراهم شود
- •
- پیادهسازی پرچم --low-level-retries
- •
- امکان غیرفعالسازی اختیاری فشردهسازی gzip در بارگیریها با --no-gzip-encoding
- •
- رفع باگها
- •
- عدم ساخت دایرکتوریها در صورت تنظیم --dry-run
- •
- رفع اشکال و مستندسازی دستور move
- •
- رفع تغییر مسیر stderr در سیستمعاملهای شبه یونیکس هنگام استفاده از --log-file
- •
- اصلاح دستور delete جهت انتظار تا پایان همه موارد - رفع حذفهای انجامنشده.
- •
- Backblaze B2
- •
- استفاده از یک URL بارگذاری بهازای هر goroutine که خطای more than one upload using auth token را برطرف میکند
- •
- افزودن کنترل آهنگ (pacing)، تلاشهای مجدد و احراز هویت دوباره - رفع مشکلات انقضای توکن
- •
- بارگذاری بدون استفاده از فایل موقت از سیستم محلی (و ریموتهایی که از SHA1 پشتیبانی میکنند)
- •
- رفع مشکل خواندن متاداده برای تمام فایلها در حالی که نباید انجام میشد
- •
- Drive
- •
- رفع مشکل فهرست کردن اسناد Drive در ریشه (root)
- •
- غیرفعالسازی کپی و انتقال برای اسناد Google docs
- •
- Swift
- •
- رفع بارگذاری فایلهای تکهتکهشده (chunked) حاوی نویسههای غیر ASCII
- •
- امکان تنظیم storage_url در پیکربندی - با تشکر از Xavier Lucas
- •
- S3
- •
- امکان استفاده از نقش IAM و اطلاعات کاربری از متغیرهای محیطی - با تشکر از Brian Stengaard
- •
- امکان استفاده کاربران کمدسترسی از S3 (بررسی وجود دایرکتوری حین Mkdir) - با تشکر از Jakub Gedeon
- •
- Amazon Drive
- •
- تلاش مجدد در موارد بیشتر جهت افزایش اطمینان فهرستبندیهای دایرکتوری
v1.27 - 2016-01-31
- •
- قابلیتهای جدید
- •
- پیکربندی آسانتر در حالت بدون سر (headless) با rclone authorize
- •
- افزودن پشتیبانی از انواع مختلف هش - اکنون علاوه بر هشهای MD5 هشهای SHA1 نیز بررسی میشوند.
- •
- دستور delete که فیلترها را رعایت میکند (برخلاف purge)
- •
- دستور dedupe برای حذف دادههای تکراری یک ریموت. کاربردی برای Google Drive.
- •
- افزودن پرچم --ignore-existing جهت صرفنظر از تمام فایلهای موجود در مقصد.
- •
- افزودن پرچمهای --delete-before، --delete-during و --delete-after.
- •
- افزودن پرچم --memprofile جهت اشکالزدایی مصرف حافظه.
- •
- هشدار به کاربر درباره فایلهایی با نام یکسان اما با بزرگی و کوچکی متفاوت حروف
- •
- تنظیم قواعد --include بهگونهای که استثنای ضمنی * را به انتهای فهرست فیلتر اضافه کنند
- •
- منسوخ شدن کامپایل با go1.3
- •
- Amazon Drive
- •
- رفع مشکل بارگیری فایلهای بزرگتر از 10 گیگابایت (> 10 GB)
- •
- رفع پیمایش دایرکتوری ("Next token is expired") برای فهرستبندیهای بزرگ دایرکتوری
- •
- حذف خطای تعارض 409 از کدهای خطایی که دوباره تلاش میشوند - جلوگیری از وقفههای بسیار طولانی
- •
- Backblaze B2
- •
- بررسی هشهای SHA1 اکنون توسط هسته rclone انجام میشود
- •
- Drive
- •
- افزودن --drive-auth-owner-only برای در نظر گرفتن صرفاً فایلهای متعلق به کاربر - با تشکر از Björn Harrtell
- •
- برونریزی اسناد Google
- •
- Dropbox
- •
- امکان مهار خطای استثنای فایل با -q
- •
- Swift
- •
- رفع مشکل بارگذاری توسط کاربر فاقد مجوز.
- •
- S3
- •
- رفع بهروزرسانی زمانهای ویرایش فایلهای حاوی +.
- •
- Local
- •
- افزودن گزینه سیستم فایل محلی برای غیرفعال کردن UNC در Windows.
- •
- ویژگیهای جدید
- •
- بکاند ذخیرهسازی Yandex - با تشکر از Dmitry Burdeev ("dibu")
- •
- پیادهسازی بکاند ذخیرهسازی Backblaze B2
- •
- افزودن پرچمهای --min-age و --max-age - با تشکر از Adriano Aurélio Meirelles
- •
- تبعیت دستورات ls/lsl/md5sum/size/check از includes و excludes
- •
- رفع اشکالات
- •
- رفع خرابی (crash) در ثبت وقایع http
- •
- بارگذاری نسخههای منتشرشده در github نیز انجام میشود
- •
- Swift
- •
- رفع همگامسازی برای فایلهای تکهتکهشده (chunked)
- •
- OneDrive
- •
- فعالسازی مجدد server-side copy
- •
- عدم پنهانسازی کدهای خطای HTTP با خطای دیکود JSON
- •
- S3
- •
- رفع خراب شدن Content-Type هنگام بهروزرسانی زمان تغییر (با تشکر از Joseph Spurrier)
v1.25 - 2015-11-14
- •
- ویژگیهای جدید
- •
- پیادهسازی سیستم ذخیرهسازی Hubic
- •
- رفع اشکالات
- •
- رفع حذف برخی از فایلهای مستثنا شده بدون --delete-excluded
- •
- این مشکل میتوانست باعث حذف غیرمنتظره فایلها هنگام همگامسازی شود
- •
- همیشه ابتدا با --dry-run بررسی کنید!
- •
- Swift
- •
- جلوگیری از دست رفتن فرادادهها در SetModTime (مانند X-Object-Manifest)
- •
- این مورد میتوانست موجب از دست رفتن دادهها در فایلهای بزرگتر از 5GB شود
- •
- استفاده از ContentType مربوط به Object جهت جلوگیری از جستجوهای مکرر در فهرستگیریها
- •
- OneDrive
- •
- غیرفعالسازی server-side copy به دلیل وجود اشکال در سمت Microsoft
v1.24 - 2015-11-07
- •
- ویژگیهای جدید
- •
- افزودن پشتیبانی از Microsoft OneDrive
- •
- افزودن گزینه --no-check-certificate برای غیرفعالسازی اعتبارسنجی گواهی سرور
- •
- افزودن بافر ناهمگام خواندن پیشاپیش (async readahead buffer) برای انتقال سریعتر فایلهای بزرگ
- •
- رفع اشکالات
- •
- مجاز بودن فاصله در نامهای remote و بررسی اعتبار نام remote در زمان ایجاد
- •
- مجاز بودن '&' و غیرمجاز بودن ':' در نامگذاری فایلهای Windows.
- •
- Swift
- •
- نادیده گرفتن اشیاء نشانگر دایرکتوری در صورت لزوم - امکان کارکردن با Hubic
- •
- عدم حذف container در صورتی که fs در ریشه (root) نباشد
- •
- S3
- •
- عدم حذف bucket در صورتی که fs در ریشه (root) نباشد
- •
- Google Cloud Storage
- •
- عدم حذف bucket در صورتی که fs در ریشه (root) نباشد
- •
- قابلیتهای جدید
- •
- پیادهسازی rclone size برای اندازهگیری ریموتها
- •
- رفع باگها
- •
- رفع مشکل پیکربندی بدون واسط کاربری (headless) برای drive و gcs
- •
- اطلاع به کاربر برای تلاش دوباره در صورت شکست روش سرور وب
- •
- بهبود خروجی --dump-headers
- •
- S3
- •
- امکان دسترسی ناشناس به باکتهای عمومی
- •
- Swift
- •
- توقف ثبت گزارش "Failed to read info: Object Not Found" در عملیاتهای چندبخشی (chunked)
- •
- استفاده از Content-Length در بارگذاریها برای اطمینانپذیری بیشتر
v1.22 - 2015-09-28
- •
- پیادهسازی گزینههای include و exclude مشابه rsync
- •
- swift
- •
- پشتیبانی از فایلهای بزرگتر از ۵ گیگابایت - با تشکر از Sergey Tolmachev
v1.21 - 2015-09-22
- •
- قابلیتهای جدید
- •
- نمایش پیشرفت انتقال فایلها بهصورت تفکیکشده
- •
- نمایش زمانها در خروجی lsl بر اساس زمان محلی
- •
- رفع باگها
- •
- امکان بازنویسی مجدد اطلاعات اعتبارنامه توسط کاربر در Drive، GCS و ACD
- •
- Amazon Drive
- •
- پیادهسازی سازوکار تنظیم آهنگ ارسال (pacing) سازگار
- •
- Google Drive
- •
- همروندسازی خواندن دایرکتوریها جهت افزایش سرعت.
v1.20 - 2015-09-15
- •
- قابلیتهای جدید
- •
- پشتیبانی از Amazon Drive
- •
- بازنویسی پشتیبانی از Oauth - رفع باگهای متعدد و بهبود سهولت استفاده
- •
- استفاده از "golang.org/x/oauth2" بهعنوان کتابخانه منتخب oauth
- •
- بهبود کارایی oauth برای ثبتنام اولیه روانتر
- •
- drive، googlecloudstorage: استفاده اختیاری از پیکربندی خودکار برای توکن oauth
- •
- پیادهسازی پرچمهای اشکالزدایی --dump-headers و --dump-bodies
- •
- نمایش چندین دستور منطبق در صورت بسیار کوتاه بودن مخفف
- •
- پیادهسازی انتقال سمت سرور (server-side move) در صورت امکان
- •
- local
- •
- استفاده همیشگی از مسیرهای UNC بهصورت داخلی در ویندوز - رفع بسیاری از باگها
- •
- dropbox
- •
- اجبار به استفاده از ترانسپورت اختصاصی ما که باعث کارکرد درست مهلتهای زمانی (timeouts) میشود
- •
- با تشکر از Klaus Post برای کمکهای فراوان در این انتشار.SS v1.19 - 2015-08-28
- •
- ویژگیهای جدید
- •
- کپیهای سمت سرور برای s3/swift/drive/dropbox/gcs
- •
- دستور Move - در صورت امکان از کپیهای سمت سرور استفاده میکند
- •
- پیادهسازی پرچم --retries - بهطور پیشفرض ۳ بار تلاش مجدد میکند
- •
- کامپایل برای plan9/amd64 و solaris/amd64 نیز اضافه شد
- •
- اصلاحات
- •
- ایجاد قابلیت بارگیری نسخهٔ فعلی با نشانی وب (URL) ثابت برای اسکریپتنویسی
- •
- نادیده گرفتن rmdir در سیستمهای فایل محدود بهجای ارسال خطا
- •
- dropbox
- •
- افزایش اندازهٔ تکهها (chunk size) برای ارتقای چشمگیر سرعت بارگذاری
- •
- نمایش پیام خطا هنگام تلاش برای بارگذاری نام فایل نامعتبر
v1.18 - 2015-08-17
- •
- drive
- •
- افزودن پرچم --drive-use-trash تا rclone بهجای حذف کامل، فایلها را به سطل زباله منتقل کند
- •
- افزودن پیام "Forbidden to download" برای فایلهای فاقد downloadURL
- •
- dropbox
- •
- حذف datastore
- •
- این قابلیت منسوخ شده بود و مشکلات زیادی ایجاد میکرد
- •
- زمانهای تغییر و مقادیر MD5SUM دیگر ذخیره نمیشوند
- •
- رفع مشکل بارگذاری فایلهای بزرگتر از 2GB
- •
- s3
- •
- استفاده از SDK رسمی AWS از github.com/aws/aws-sdk-go
- •
- توجه: به احتمال زیاد نیازمند حذف و ساخت مجدد remote خواهد بود
- •
- فعالسازی multipart upload که امکان ارسال فایلهای بزرگتر از 5GB را فراهم میکند
- •
- آزمایششده با شبیهسازی Ceph / RadosGW / S3
- •
- تشکر فراوان از Sam Liston و Brian Haymore در مرکز محاسبات با کارایی بالای یوتا (https://www.chpc.utah.edu) برای حساب آزمایشی Ceph
- •
- متفرقه
- •
- نمایش خطاها هنگام خواندن فایل پیکربندی (config)
- •
- عدم چاپ آمار در حالت بیصدا (quiet mode) - با تشکر از Leonid Shalupov
- •
- افزودن پرسشهای متداول (FAQ)
- •
- رفع مشکل عدم پیروی دایرکتوریهای ایجادشده از umask
- •
- راهنمای نصب لینوکس - با تشکر از Shimon Doodkin
- •
- dropbox: رفع اشکالات عدم حساسیت به حروف کوچک و بزرگ - با تشکر از Leonid Shalupov
v1.16 - 2015-06-09
- •
- رفع مشکل بارگذاری فایلهای بزرگ که باعث ایجاد timeout یا panic میشد
- •
- عدم بررسی md5sum پس از بارگیری هنگام استفاده از --size-only
v1.15 - 2015-06-06
- •
- افزودن پرچم --checksum برای نادیده گرفتن انتقالها صرفاً بر اساس MD5SUM - با تشکر از Alex Couper
- •
- پیادهسازی پرچم --size-only برای همگامسازی تنها بر اساس اندازه و نه checksum و modtime
- •
- گسترش مستندات و حذف اطلاعات تکراری
- •
- مستندسازی محدودیتهای rclone در کار با دایرکتوریها
- •
- dropbox: بهروزرسانی مستندات درباره عدم حساسیت به حروف کوچک و بزرگ
v1.14 - 2015-05-21
- •
- local: رفع مشکل کدگذاری نامهای فایل غیر utf-8 - حل مشکل فایلهای تکراری
- •
- drive: مستندات مربوط به محدودیت نرخ درخواست (rate limiting)
- •
- google cloud storage: رفع مشکل کامپایل پس از تغییر API در "google.golang.org/api/storage/v1"
v1.13 - 2015-05-10
- •
- بازنگری مستندات (بهویژه sync)
- •
- پیادهسازی --timeout و --conntimeout
- •
- s3: نادیده گرفتن etagهای حاصل از بارگذاریهای چندبخشی (multipart) که md5sum نیستند
v1.12 - 2015-03-15
- •
- drive: استفاده از بارگذاری تکهتکه (chunked upload) برای فایلهای بزرگتر از یک اندازه معین
- •
- drive: افزودن پارامترهای --drive-chunk-size و --drive-upload-cutoff
- •
- drive: تغییر حالت از update به insert زمانی که رونوشت ناموفق باعث حذف بارگذاری میشود
- •
- core: ثبت فایلهای تکراری در گزارش در صورت شناسایی آنها
v1.11 - 2015-03-04
- •
- swift: افزودن پارامتر region
- •
- drive: رفع خرابی (crash) ناشی از ناموفق بودن بهروزرسانی mtime ریموت
- •
- تغییر جداکنندههای محلی دایرکتوری به / در مسیرهای ریموت
- •
- افزودن همگامسازی به خروجی ls/lsl/lsd برای جلوگیری از خرابی دادهها
- •
- اطمینان از هدایت تمام پیامهای وضعیت/گزارش به stderr
- •
- افزودن پرچم --log-file برای ثبت همهچیز (از جمله هشدارهای panic) در فایل
- •
- امکان غیرفعالسازی چاپ وضعیت با --stats=0
- •
- پیادهسازی --bwlimit برای محدود کردن پهنای باند انتقال داده
v1.10 - 2015-02-12
- •
- s3: فهرست کردن تعداد نامحدودی از موارد
- •
- رفع مشکل گیر کردن در پیکربندیکننده (configurator)
v1.09 - 2015-02-07
- •
- windows: جلوگیری از تداخل حروف درایو (مانند :C) با ریموتها (مانند :drive)
- •
- local: اصلاح جداکنندههای دایرکتوری در Windows
- •
- drive: رفع خطاهای فراتر رفتن از محدودیت نرخ (rate limit exceeded)
v1.08 - 2015-02-04
- •
- drive: اصلاح فهرست کردن زیردایرکتوریها جهت جلوگیری از فهرست شدن کل درایو
- •
- drive: رفع اشکال SetModTime
- •
- dropbox: تطبیق کد با تغییرات اخیر کتابخانه.SS v1.07 - 2014-12-23
- •
- google cloud storage: رفع نشت حافظه
v1.06 - 2014-12-12
- •
- رفع خطای "Couldn't find home directory" در OSX
- •
- swift: افزودن پارامتر tenant
- •
- استفاده از مکان جدید بستههای Google API
v1.05 - 2014-08-09
- •
- بهبود آزمونها و در نتیجه انجام اصلاحات جزئی فراوان
- •
- core: رفع وضعیت رقابتی شناساییشده توسط آشکارساز رقابت go
- •
- core: اصلاحات پس از اجرای errcheck
- •
- drive: بازنشانی دایرکتوری ریشه هنگام Rmdir و Purge
- •
- fs: مستندسازی اینکه Purger روی دایرکتوری خالی خطا برمیگرداند، همراه با آزمون و رفع اشکال
- •
- google cloud storage: رفع اشکال ListDir روی زیرپوشه
- •
- google cloud storage: بازخوانی متادیتا در SetModTime
- •
- s3: قابلاطمینانتر کردن خواندن متادیتا برای دور زدن مشکلات سازگاری نهایی (eventual consistency)
- •
- s3: حذف / انتهایی از ListDir()
- •
- swift: برگرداندن دایرکتوریها بدون / در ListDir
v1.04 - 2014-07-21
- •
- google cloud storage: رفع کرش هنگام Update
v1.03 - 2014-07-20
- •
- swift، s3، dropbox: رفع اشکال علامتگذاری فایلهای بهروزشده بهعنوان خراب
- •
- امکان کامپایل مجدد با go 1.1
v1.02 - 2014-07-19
- •
- پیادهسازی ریموت Dropbox
- •
- پیادهسازی ریموت Google Cloud Storage
- •
- اعتبارسنجی Md5sum و اندازهها پس از کپی
- •
- حذف زمانها از دستور "ls" - فقط اندازهها را فهرست میکند
- •
- افزودن دستور "lsl" - فهرست کردن زمانها و اندازهها
- •
- افزودن دستور "md5sum"
v1.01 - 2014-07-04
- •
- drive: رفع اشکال مصرف بیشازحد حافظه هنگام انتقال فایلهای حجیم
v1.00 - 2014-07-03
- •
- drive: رفع اشکال تاریخها با ثانیهٔ کامل
v0.99 - 2014-06-26
- •
- رفع اشکال کار نکردن --dry-run
- •
- ایجاد سازگاری با go 1.1
v0.98 - 2014-05-30
- •
- s3: در نظر گرفتن Content-Length مفقود بهصورت 0 برای برخی نصبهای ceph
- •
- rclonetest: افزودن فایلی حاوی فاصله در نام آن
v0.97 - 2014-05-05
- •
- پیادهسازی کپی کردن فایلهای تکی
- •
- s3 و swift: پشتیبانی از مسیرهای درون containers/buckets
v0.96 - 2014-04-24
- •
- drive: رفع اشکال ایجاد چندین فایل با نام یکسان
- •
- drive: استفاده از o.Update و fs.Put برای بهینهسازی انتقالها
- •
- افزودن شمارهٔ نسخه، -V و --version.SS v0.95 - 2014-03-28
- •
- rclone.org: وبسایت، مستندات و گرافیکها
- •
- drive: رفع مشکل تجزیه مسیر
v0.94 - 2014-03-27
- •
- تغییر قالب ریموت برای آخرین بار
- •
- پرچمهای به سبک GNU
v0.93 - 2014-03-16
- •
- drive: ذخیره توکن در فایل پیکربندی
- •
- کامپایل چندسکویی سایر نسخهها
- •
- تنظیم مجوزهای سختگیرانه برای فایل پیکربندی
v0.92 - 2014-03-15
- •
- اصلاحات پیکربندی و گزینهٔ --config
v0.91 - 2014-03-15
- •
- ایجاد فایل پیکربندی
v0.90 - 2013-06-27
- •
- نامگذاری پروژه به rclone
v0.00 - 2012-11-18
- •
- آغاز پروژه
باگها و محدودیتها (BUGS AND LIMITATIONS)
محدودیتها
برچسبهای زمانی دایرکتوری در برخی بکاندها حفظ نمیشوند
از نسخهٔ v1.66، در صورتی که بکاند پشتیبانی کند، rclone از همگامسازی زمانهای تغییر (modtimes) دایرکتوری پشتیبانی میکند. برخی بکاندها از آن پشتیبانی نمیکنند -- برای مشاهده فهرست کامل، مرور کلی (https://rclone.org/overview) را ببینید. علاوه بر این، توجه داشته باشید که دایرکتوریهای خالی بهطور پیشفرض همگامسازی نمیشوند (این امکان با --create-empty-src-dirs قابل فعالسازی است.)
مشکل rclone با میلیونها فایل در یک دایرکتوری/باکت
در حال حاضر rclone پیش از استفاده از هر دایرکتوری/باکت، آن را بهطور کامل در حافظه بارگذاری میکند. از آنجا که هر شیء rclone حدود 0.5k-1k از حافظه را اشغال میکند، این کار میتواند زمان بسیار زیادی برده و مقدار زیادی حافظه مصرف کند.
وجود میلیونها فایل در یک دایرکتوری معمولاً در ریموتهای مبتنی بر باکت (مانند باکتهای S3) رخ میدهد، زیرا این ریموتها زیردایرکتوریها را در داخل باکت تفکیک نمیکنند.
ریموتهای مبتنی بر باکت و پوشهها
ریموتهای مبتنی بر باکت (مانند S3/GCS/Swift/B2) مفهومی به نام دایرکتوری ندارند. بنابراین rclone نمیتواند در آنها دایرکتوری ایجاد کند، به این معنی که دایرکتوریهای خالی در یک ریموت مبتنی بر باکت ناپدید خواهند شد.
برخی نرمافزارها کلیدهای خالی که به / ختم میشوند را به عنوان نشانگر دایرکتوری ایجاد میکنند. rclone این کار را انجام نمیدهد چرا که این عمل میتواند اشیاء بیشتری ایجاد کرده و هزینهٔ بیشتری به همراه داشته باشد. این قابلیت ممکن است در آینده اضافه شود (احتمالاً از طریق یک پرچم/گزینه).
باگها
باگها در پروژهٔ گیتهاب rclone ثبت و نگهداری میشوند:
- •
- باگهای گزارششده (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
- •
- مشکلات شناختهشده (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22)
پرسشهای متداول (FREQUENTLY ASKED QUESTIONS)
آیا تمام سیستمهای ذخیرهسازی ابری از همهٔ دستورات rclone پشتیبانی میکنند؟
بله، پشتیبانی میکنند. تمامی دستورات rclone (مانند sync، copy و غیره) روی تمام سیستمهای ذخیرهسازی دوردست کار خواهند کرد.
آیا میتوانم پیکربندی را از یک ماشین به ماشین دیگری کپی کنم؟
حتماً! rclone تمام پیکربندی خود را در یک فایل واحد ذخیره میکند. اگر میخواهید این فایل را پیدا کنید، دستور rclone config file را اجرا کنید تا مسیر آن به شما نشان داده شود.
برای اطلاعات بیشتر، مستندات راهاندازی ریموت (https://rclone.org/remote_setup) را ببینید..SS چگونه rclone را روی یک ماشین دوردست / headless بدون مرورگر پیکربندی کنم؟
این مورد اکنون در صفحه اختصاصی راهاندازی ریموت (https://rclone.org/remote_setup) مستندسازی شده است.
چگونه میتوانم از شر اعلان "Config file not found" خلاص شوم؟
اگر اعلانی مانند 'NOTICE: Config file "rclone.conf" not found' مشاهده کردید، بدین معنی است که هیچ ریموتی را پیکربندی نکردهاید.
اگر نیاز به پیکربندی یک ریموت دارید، مستندات راهنمای پیکربندی (https://rclone.org/docs/#configure) را ببینید.
اگر به طور کامل از rclone به همراه ریموتهای آنی (https://rclone.org/docs/#backend-path-to-dir) استفاده میکنید، میتوانید برای خلاص شدن از این اعلان یک فایل پیکربندی خالی بسازید؛ برای مثال:
-
rclone config touch
آیا rclone میتواند مستقیماً از drive به s3 همگامسازی کند؟
نرمافزار rclone میتواند به خوبی بین دو سیستم ذخیرهسازی ابری ریموت همگامسازی انجام دهد.
توجه داشته باشید که در عمل، فایل دانلود شده و مجدداً آپلود میشود؛ بنابراین گرهای که rclone را اجرا میکند نیاز به پهنای باند زیادی خواهد داشت.
همگامسازیها به صورت افزایشی (فایل به فایل) خواهند بود.
برای مثال:
-
rclone sync --interactive drive:Folder s3:bucket
استفاده از rclone از چند مکان مختلف به طور همزمان
در صورتی که زیردایرکتوریهای متفاوتی را برای خروجی انتخاب کنید، میتوانید به طور همزمان از rclone در چندین مکان استفاده کنید؛ برای مثال:
-
Server A> rclone sync --interactive /tmp/whatever remote:ServerA Server B> rclone sync --interactive /tmp/whatever remote:ServerB
اگر با یک دایرکتوری یکسان همگامسازی میکنید، باید از rclone copy استفاده نمایید؛ در غیر این صورت دو نمونه rclone ممکن است فایلهای یکدیگر را حذف کنند؛ برای مثال:
-
Server A> rclone copy /tmp/whatever remote:Backup Server B> rclone copy /tmp/whatever remote:Backup
نام فایلهایی که از Server A و Server B آپلود میکنید در این حالت باید متفاوت باشند، در غیر این صورت برخی سیستمهای فایل (مانند Drive) ممکن است نسخههای تکراری بسازند.
چرا rclone از انتقالهای جزئی / تفاوتهای باینری مانند rsync پشتیبانی نمیکند؟
نرمافزار rclone هر فایلی را که منتقل میکنید به عنوان یک شیء بومی (native object) بر روی سیستم ذخیرهسازی ابری ریموت ذخیره میکند. بدین معنا که میتوانید فایلهایی را که آپلود میکنید با استفاده از روشهای دسترسی متفرقه (مانند رابط وب Google Drive) همانطور که انتظار میرود مشاهده کنید. یک نگاشت 1:1 میان فایلهای روی دیسک سخت شما و اشیاء ایجادشده در سیستم ذخیرهسازی ابری وجود دارد.
سیستمهای ذخیرهسازی ابری (حداقل مواردی که تاکنون با آنها مواجه شدهام) از آپلود جزئی یک شیء پشتیبانی نمیکنند. شما نمیتوانید یک شیء موجود را انتخاب کرده و چند بایت را در میانه آن تغییر دهید.
امکانپذیر است که یک سیستم همگامسازی ساخته شود که به جای اشیاء کامل، مانند rsync تفاوتهای باینری را ذخیره کند، اما این کار نگاشت 1:1 فایلهای روی دیسک سخت به اشیاء سیستم ذخیرهسازی ابری ریموت را از بین میبرد.
تمامی سیستمهای ذخیرهسازی ابری از دانلود جزئی محتوا پشتیبانی میکنند، بنابراین امکان پیادهسازی دانلودهای جزئی وجود دارد. با این حال، برای اینکه این سازوکار کارآمد باشد، نیاز به ذخیره حجم قابلتوجهی متادیتا است که نگاشت مطلوب 1:1 فایلها به اشیاء را برهم میزند..SS آیا rclone میتواند همگامسازی دوطرفه انجام دهد؟
بله، از نسخهٔ v1.58.0 برنامهٔ rclone، قابلیت همگامسازی ابری دوطرفه (https://rclone.org/bisync) در دسترس است.
آیا میتوانم از rclone با یک پروکسی HTTP استفاده کنم؟
بله. rclone مشابه cURL و سایر برنامهها، از متغیرهای محیطی استاندارد برای پروکسیها پیروی میکند.
بهطور کلی نام این متغیرها http_proxy (برای سرویسهای تحت بستر http) و https_proxy (برای سرویسهای تحت بستر https) است. اکثر سرویسهای عمومی از https استفاده میکنند، اما ممکن است بخواهید هر دو را تنظیم کنید.
محتوای متغیر بهصورت protocol://server:port است. مقدار protocol پروتکلی است که برای برقراری ارتباط با خود کارساز پروکسی استفاده میشود و معمولاً http یا socks5 است.
تا حدودی آزاردهنده است که هیچ استانداردی برای نام آن وجود ندارد؛ برخی برنامهها ممکن است از http_proxy استفاده کنند اما برنامهٔ دیگری از HTTP_PROXY بهره ببرد. کتابخانههای Go که توسط rclone استفاده میشوند هر دو حالت را بررسی خواهند کرد، اما ممکن است بخواهید تمام حالتهای ممکن را مقداردهی کنید. بنابراین، در Linux ممکن است با کدی شبیه به این کار کنید:
-
export http_proxy=http://proxyserver:12345 export https_proxy=$http_proxy export HTTP_PROXY=$http_proxy export HTTPS_PROXY=$http_proxy
نکته: اگر کارساز پروکسی نیازمند نام کاربری و گذرواژه است، از دستورات زیر استفاده کنید:
-
export http_proxy=http://username:password@proxyserver:12345 export https_proxy=$http_proxy export HTTP_PROXY=$http_proxy export HTTPS_PROXY=$http_proxy
متغیر NO_PROXY به شما امکان میدهد پروکسی را برای میزبانهای خاصی غیرفعال کنید. میزبانها باید با کاما جدا شوند و میتوانند شامل دامنهها یا بخشهایی از آنها باشند. برای نمونه "foo.com" با "bar.foo.com" نیز مطابقت دارد.
برای مثال:
-
export no_proxy=localhost,127.0.0.0/8,my.host.name export NO_PROXY=$no_proxy
توجه داشته باشید که پشتیبان FTP هنوز از ftp_proxy پشتیبانی نمیکند.
میتوانید از آرگومان خط فرمان --http-proxy برای تنظیم پروکسی استفاده کنید، و در صورت تمایل به تنظیم آن برای یک پشتیبان منفرد، از بازنویسی (override) در فایل پیکربندی استفاده کنید؛ مانند override.http_proxy = http://... در فایل پیکربندی.
پشتیبانهای FTP و SFTP تنظیمات http_proxy مخصوص به خود را برای پشتیبانی از پروکسی HTTP CONNECT دارند ( --ftp-http-proxy (https://rclone.org/ftp/#ftp-http-proxy) و --sftp-http-proxy (https://rclone.org/ftp/#sftp-http-proxy) )
خطای گواهیهای ریشه SSL مربوط به x509 در Rclone
پیام x509: failed to load system roots and no roots provided به این معنی است که rclone نمیتواند گواهیهای ریشه SSL را بیابد. احتمالاً در حال اجرای rclone روی یک NAS با یک سیستمعامل Linux سبکشده، یا احتمالاً روی Solaris هستید.
خطای x509: certificate signed by unknown authority ممکن است در سیستمهای قدیمی رخ دهد، جایی که rclone نمیتواند کارساز را با گواهیهای ریشه SSL تأیید اعتبار کند.
برنامهٔ Rclone (از طریق زمان اجرای Go) تلاش میکند گواهیهای ریشه را در Linux از این مکانها بارگیری کند:
-
"/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc. "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL "/etc/ssl/ca-bundle.pem", // OpenSUSE "/etc/pki/tls/cacert.pem", // OpenELEC
بنابراین انجام عملی شبیه به این باید مشکل را برطرف کند. همچنین این دستور زمان را تنظیم میکند که برای کارکرد صحیح SSL حائز اهمیت است.
-
mkdir -p /etc/ssl/certs/ curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt ntpclient -s -h pool.ntp.org
دو متغیر محیطی SSL_CERT_FILE و SSL_CERT_DIR که در بستهٔ x509 (https://godoc.org/crypto/x509) به آنها اشاره شده است، روشی دیگر برای ارائهٔ گواهیهای ریشه SSL در سیستمهای Unix بهجز macOS فراهم میکنند.
توجه داشته باشید که اگر بدون آن کار نکرد، ممکن است لازم باشد گزینهٔ --insecure را به خط فرمان curl اضافه کنید.
-
curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
در macOS، میتوانید ca-certificates (https://formulae.brew.sh/formula/ca-certificates) را با Homebrew نصب کنید و با پرچم --ca-cert (https://rclone.org/docs/#ca-cert-stringarray) گواهیهای ریشه SSL را مشخص کنید.
-
brew install ca-certificates find $(brew --prefix)/etc/ca-certificates -type f
این خطا احتمالاً به این معنی است که شما rclone را روی نسخهای از لینوکس اجرا میکنید که توسط زمان اجرای Go پشتیبانی نمیشود، یعنی نسخههای پیش از 2.6.23.
برای جزئیات کامل، بخش پیشنیازهای سیستم را در مستندات نصب Go (<https://golang.org/doc/install>) مشاهده کنید.
تمام فایلهای docx/xlsx/pptx بارگذاریشده بهصورت archive/zip نمایش داده میشوند
این مشکل به دلیل بارگذاری این فایلها از یک رایانه ویندوزی رخ میدهد که مجموعه Microsoft Office روی آن نصب نشده است. سادهترین راه برای رفع آن، نصب Word viewer و بسته Microsoft Office Compatibility Pack برای قالبهای فایل Word، Excel و PowerPoint نسخه ۲۰۰۷ و نسخههای بالاتر است.
خطای tcp lookup some.domain.com no such host
این حالت زمانی رخ میدهد که rclone قادر به تحلیل و تفکیک نام (resolve) یک دامنه نباشد. لطفاً بررسی کنید که پیکربندی DNS شما بهطور کلی کار میکند، به عنوان مثال:
-
# both should print a long list of possible IP addresses dig www.googleapis.com # resolve using your default DNS dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
اگر از systemd-resolved استفاده میکنید (پیشفرض در Arch Linux)، اطمینان حاصل کنید که نسخه آن ۲۳۳ یا بالاتر باشد. نسخههای پیشین دارای باگی هستند که مانع تفکیک صحیح تمام دامنهها میشود.
تصمیمگیری تفکیککننده Go را میتوان با متغیر محیطی GODEBUG=netdns=... تغییر داد. این کار همچنین امکان برطرف کردن برخی مشکلات تفکیک DNS را فراهم میسازد. در سیستمهای Windows یا MacOS، با تنظیم GODEBUG=netdns=go در زمان اجرا، استفاده از تفکیککننده داخلی Go را اجبار کنید. در سایر سیستمها (Linux، *BSD و غیره) با تنظیم GODEBUG=netdns=cgo استفاده از تفکیککننده نام سیستم را اجبار کنید (و در صورت لزوم rclone را با فعال بودن CGO مجدداً از مبدأ کامپایل کنید). بخش تحلیل نام را در مستندات Go (https://golang.org/pkg/net/#hdr-Name_Resolution) مشاهده کنید.
خطای Failed to start auth webserver در Windows
-
Error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions. ... yyyy/mm/dd hh:mm:ss Fatal error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
این مسئله گاهی به این دلیل رخ میدهد که سرویس Host Network Service در باز کردن درگاه روی میزبان دچار مشکل میشود.
یک راهحل ساده میتواند راهاندازی مجدد Host Network Service باشد، مثلاً با Powershell:
-
Restart-Service hns
اندازه کل گزارششده در آمار برای یک همگامسازی نادرست است و مدام تغییر میکند
احتمالاً بیش از ۱۰٬۰۰۰ فایل دارید که باید همگامسازی شوند. بهطور پیشفرض، rclone در یک همگامسازی (sync) تنها تا ۱۰٬۰۰۰ فایل جلوتر را بررسی میکند تا حافظه بیش از حد مصرف نشود. میتوانید این مقدار پیشفرض را با پرچم --max-backlog (https://rclone.org/docs/#max-backlog-int) تغییر دهید.
مصرف بیش از حد حافظه توسط Rclone یا احتمال وجود نشت حافظه
برنامه Rclone به زبان Go نوشته شده است که از بازیافت حافظه (garbage collector) استفاده میکند. تنظیمات پیشفرض بازیافت حافظه به این صورت است که وقتی اندازه heap دو برابر شود، اجرا میگردد.
با این حال میتوان با تنظیم GOGC (https://dave.cheney.net/tag/gogc) روی مقداری کمتر، برای مثال export GOGC=20، بازیافت حافظه را برای مصرف حافظه کمتر بهینهسازی کرد. این کار باعث میشود بازیافت حافظه بیشتر کار کند و در ازای مصرف بیشتر CPU، حجم حافظه مصرفی را کاهش دهد.
رایجترین دلیل مصرف بالای حافظه توسط rclone، وجود یک دایرکتوری منفرد حاوی میلیونها فایل است.
پیش از نسخه v1.70، برنامه rclone مجبور بود تمام این موارد را بهصورت اشیای rclone در حافظه بارگذاری کند. هر شیء rclone بین ۰٫۵ تا ۱ کیلوبایت حافظه مصرف میکند. یک راهکار جانبی برای این مسئله (https://github.com/rclone/rclone/wiki/Big-syncs-with-millions-of-files) وجود دارد که شامل کمی اسکریپتنویسی است.
با این حال، از نسخه v1.70 به بعد، rclone هنگام شناسایی دایرکتوریای با بیش از ورودیهای تعیینشده توسط --list-cutoff (https://rclone.org/docs/#list-cutoff) (بهطور پیشفرض ۱٬۰۰۰٬۰۰۰)، بهصورت خودکار ورودیهای دایرکتوری را روی دیسک ذخیره میکند.
همچنین از نسخه v1.70 پرچم --max-buffer-memory (https://rclone.org/docs/#max-buffer-memory) در rclone ارائه شده است که بهویژه در مواقعی که انتقالهای چندنخی (multi-thread) حافظه زیادی مصرف میکنند، مفید است..SS rclone علائم نگارشی تمامعرض یونیکد را در نام فایلها تغییر میدهد
برای مثال: در یک سیستم Windows، فایلی با نام Test:1.jpg دارید که در آن : نماد دونقطه تمامعرض (fullwidth) یونیکد است. هنگامی که از rclone برای رونوشت آن به Google Drive خود استفاده میکنید، متوجه خواهید شد که نام فایل به Test:1.jpg تغییر مییابد، که در آن : دونقطه معمولی (نیمعرض یا halfwidth) است.
دلیل چنین تغییر نامهایی، نحوه مدیریت نامهای فایل محدودشده (https://rclone.org/overview/#restricted-filenames) توسط rclone در سیستمهای ذخیرهسازی ابری مختلف است. این ابزار تلاش میکند تا جای ممکن از نامهای مبهم فایلها جلوگیری کرده و امکان جابهجایی شفاف فایلها را میان سیستمهای متعدد ذخیرهسازی ابری فراهم آورد؛ این کار از طریق جایگزین کردن نویسههای نامعتبر با نویسههای یونیکد دارای ظاهر مشابه هنگام انتقال به یک سیستم ذخیرهسازی، و بازگردانی مجدد آنها هنگام انتقال به یک سیستم ذخیرهسازی دیگر که از نویسههای اصلی پشتیبانی میکند، انجام میشود. هنگامی که از همان نویسههای یونیکد بهصورت عمدی در نام فایلها استفاده شده باشد، این راهبرد جایگزینی منجر به تغییر نامهای ناخواسته خواهد شد. برای اطلاعات بیشتر، بخش هشدارها را در (https://rclone.org/overview/#restricted-filenames-caveats) مطالعه کنید.
چرا اتصال rclone از طریق TLS ناموفق است اما کلاینت دیگری کار میکند؟
اگر با خطاهای دستتکانی TLS (یا TLS handshake failures) مواجه میشوید (یا تحلیل بستهها نشان میدهد که سرور تمامی مجموعهرمزهای ارائهشده را رد میکند)، ممکن است سرور/پروکسی فقط از مجموعهرمزهای قدیمی TLS پشتیبانی کند (برای نمونه رمزهای تبادل کلید RSA مانند RSA_WITH_AES_256_CBC_SHA256، یا رمزهای قدیمی 3DES). نسخههای اخیر Go (که rclone با آن کامپایل شده است) رمزهای ناامن را از فهرست پیشفرض حذف کردهاند؛ بنابراین rclone ممکن است از مذاکره بر سر آنها امتناع ورزد، حتی اگر ابزارهای دیگر همچنان از آنها استفاده کنند.
اگر نمیتوانید سرور/پروکسی را برای پشتیبانی از TLS مدرن (TLS 1.2/1.3) و مجموعهرمزهای مبتنی بر ECDHE بهروزرسانی یا پیکربندی مجدد کنید، میتوانید رمزهای قدیمی را از طریق GODEBUG دوباره فعال کنید:
- •
- در Windows (cmd.exe):
-
set GODEBUG=tlsrsakex=1 rclone copy ...
- •
- در Windows (PowerShell):
-
$env:GODEBUG="tlsrsakex=1" rclone copy ...
- •
- در Linux/macOS:
-
GODEBUG=tlsrsakex=1 rclone copy ...
اگر سرور تنها از 3DES پشتیبانی میکند، این مورد را امتحان کنید:
-
GODEBUG=tls3des=1 rclone ...
این موضوع برای هر قابلیتی از rclone که از TLS استفاده میکند صدق میکند (مانند HTTPS، FTPS، WebDAV بر بستر TLS، پروکسیهای با رهگیری TLS و غیره). از این راهکارهای موقت تنها تا زمانی استفاده کنید که سرور/پروکسی بهروزرسانی شود.
مجوز (LICENSE)
این یک نرمافزار آزاد تحت شرایط مجوز MIT است (فایل COPYING ارائهشده همراه با کد منبع را بررسی کنید).
-
Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
نویسندگان (Authors)
- •
- Nick Craig-Wood <nick@craig-wood.com>
مشارکتکنندگان (Contributors)
- •
- Alex Couper <amcouper@gmail.com>
- •
- Leonid Shalupov <leonid@shalupov.com> <shalupov@diverse.org.ru>
- •
- Shimon Doodkin <helpmepro1@gmail.com>
- •
- Colin Nicholson <colin@colinn.com>
- •
- Klaus Post <klauspost@gmail.com>
- •
- Sergey Tolmachev <tolsi.ru@gmail.com>
- •
- Adriano Aurélio Meirelles <adriano@atinge.com>
- •
- C. Bess <cbess@users.noreply.github.com>
- •
- Dmitry Burdeev <dibu28@gmail.com>
- •
- Joseph Spurrier <github@josephspurrier.com>
- •
- Björn Harrtell <bjorn@wololo.org>
- •
- Xavier Lucas <xavier.lucas@corp.ovh.com>
- •
- Werner Beroux <werner@beroux.com>
- •
- Brian Stengaard <brian@stengaard.eu>
- •
- Jakub Gedeon <jgedeon@sofi.com>
- •
- Jim Tittsler <jwt@onjapan.net>
- •
- Michal Witkowski <michal@improbable.io>
- •
- Fabian Ruff <fabian.ruff@sap.com>
- •
- Leigh Klotz <klotz@quixey.com>
- •
- Romain Lapray <lapray.romain@gmail.com>
- •
- Justin R. Wilson <jrw972@gmail.com>
- •
- Antonio Messina <antonio.s.messina@gmail.com>
- •
- Stefan G. Weichinger <office@oops.co.at>
- •
- Per Cederberg <cederberg@gmail.com>
- •
- Radek Šenfeld <rush@logic.cz>
- •
- Fredrik Fornwall <fredrik@fornwall.net>
- •
- Asko Tamm <asko@deekit.net>
- •
- xor-zz <xor@gstocco.com>
- •
- Tomasz Mazur <tmazur90@gmail.com>
- •
- Marco Paganini <paganini@paganini.net>
- •
- Felix Bünemann <buenemann@louis.info>
- •
- Durval Menezes <jmrclone@durval.com>
- •
- Luiz Carlos Rumbelsperger Viana <maxd13_luiz_carlos@hotmail.com>
- •
- Stefan Breunig <stefan-github@yrden.de>
- •
- Alishan Ladhani <ali-l@users.noreply.github.com>
- •
- 0xJAKE <0xJAKE@users.noreply.github.com>
- •
- Thibault Molleman <thibaultmol@users.noreply.github.com>
- •
- Scott McGillivray <scott.mcgillivray@gmail.com>
- •
- Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
- •
- Lukas Loesche <lukas@mesosphere.io>
- •
- emyarod <emyarod@users.noreply.github.com>
- •
- T.C. Ferguson <tcf909@gmail.com>
- •
- Brandur <brandur@mutelight.org>
- •
- Dario Giovannetti <dev@dariogiovannetti.net>
- •
- Károly Oláh <okaresz@aol.com>
- •
- Jon Yergatian <jon@macfanatic.ca>
- •
- Jack Schmidt <github@mowsey.org>
- •
- Dedsec1 <Dedsec1@users.noreply.github.com>
- •
- Hisham Zarka <hzarka@gmail.com>
- •
- Jérôme Vizcaino <jerome.vizcaino@gmail.com>
- •
- Mike Tesch <mjt6129@rit.edu>
- •
- Marvin Watson <marvwatson@users.noreply.github.com>
- •
- Danny Tsai <danny8376@gmail.com>
- •
- Yoni Jah <yonjah+git@gmail.com> <yonjah+github@gmail.com>
- •
- Stephen Harris <github@spuddy.org> <sweharris@users.noreply.github.com>
- •
- Ihor Dvoretskyi <ihor.dvoretskyi@gmail.com>
- •
- Jon Craton <jncraton@gmail.com>
- •
- Hraban Luyat <hraban@0brg.net>
- •
- Michael Ledin <mledin89@gmail.com>
- •
- Martin Kristensen <me@azgul.com>
- •
- Too Much IO <toomuchio@users.noreply.github.com>
- •
- Anisse Astier <anisse@astier.eu>
- •
- Zahiar Ahmed <zahiar@live.com>
- •
- Igor Kharin <igorkharin@gmail.com>
- •
- Bill Zissimopoulos <billziss@navimatics.com>
- •
- Bob Potter <bobby.potter@gmail.com>
- •
- Steven Lu <tacticalazn@gmail.com>
- •
- Sjur Fredriksen <sjurtf@ifi.uio.no>
- •
- Ruwbin <hubus12345@gmail.com>
- •
- Fabian Möller <fabianm88@gmail.com> <f.moeller@nynex.de>
- •
- Edward Q. Bridges <github@eqbridges.com>
- •
- Vasiliy Tolstov <v.tolstov@selfip.ru>
- •
- Harshavardhana <harsha@minio.io>
- •
- sainaen <sainaen@gmail.com>
- •
- gdm85 <gdm85@users.noreply.github.com>
- •
- Yaroslav Halchenko <debian@onerussian.com>
- •
- John Papandriopoulos <jpap@users.noreply.github.com>
- •
- Zhiming Wang <zmwangx@gmail.com>
- •
- Andy Pilate <cubox@cubox.me>
- •
- Oliver Heyme <olihey@googlemail.com> <olihey@users.noreply.github.com> <de8olihe@lego.com>
- •
- wuyu <wuyu@yunify.com>
- •
- Andrei Dragomir <adragomi@adobe.com>
- •
- Christian Brüggemann <mail@cbruegg.com>
- •
- Alex McGrath Kraak <amkdude@gmail.com>
- •
- bpicode <bjoern.pirnay@googlemail.com>.IP • 2 Daniel Jagszent <daniel@jagszent.de>
- •
- Josiah White <thegenius2009@gmail.com>
- •
- Ishuah Kariuki <kariuki@ishuah.com> <ishuah91@gmail.com>
- •
- Jan Varho <jan@varho.org>
- •
- Girish Ramakrishnan <girish@cloudron.io>
- •
- LingMan <LingMan@users.noreply.github.com>
- •
- Jacob McNamee <jacobmcnamee@gmail.com>
- •
- jersou <jertux@gmail.com>
- •
- thierry <thierry@substantiel.fr>
- •
- Simon Leinen <simon.leinen@gmail.com> <ubuntu@s3-test.novalocal>
- •
- Dan Dascalescu <ddascalescu+github@gmail.com>
- •
- Jason Rose <jason@jro.io>
- •
- Andrew Starr-Bochicchio <a.starr.b@gmail.com>
- •
- John Leach <john@johnleach.co.uk>
- •
- Corban Raun <craun@instructure.com>
- •
- Pierre Carlson <mpcarl@us.ibm.com>
- •
- Ernest Borowski <er.borowski@gmail.com>
- •
- Remus Bunduc <remus.bunduc@gmail.com>
- •
- Iakov Davydov <iakov.davydov@unil.ch> <dav05.gith@myths.ru>
- •
- Jakub Tasiemski <tasiemski@gmail.com>
- •
- David Minor <dminor@saymedia.com>
- •
- Tim Cooijmans <cooijmans.tim@gmail.com>
- •
- Laurence <liuxy6@gmail.com>
- •
- Giovanni Pizzi <gio.piz@gmail.com>
- •
- Filip Bartodziej <filipbartodziej@gmail.com>
- •
- Jon Fautley <jon@dead.li>
- •
- lewapm <32110057+lewapm@users.noreply.github.com>
- •
- Yassine Imounachen <yassine256@gmail.com>
- •
- Chris Redekop <chris-redekop@users.noreply.github.com> <chris.redekop@gmail.com>
- •
- Jon Fautley <jon@adenoid.appstal.co.uk>
- •
- Will Gunn <WillGunn@users.noreply.github.com>
- •
- Lucas Bremgartner <lucas@bremis.ch>
- •
- Jody Frankowski <jody.frankowski@gmail.com>
- •
- Andreas Roussos <arouss1980@gmail.com>
- •
- nbuchanan <nbuchanan@utah.gov>
- •
- Durval Menezes <rclone@durval.com>
- •
- Victor <vb-github@viblo.se>
- •
- Mateusz <pabian.mateusz@gmail.com>
- •
- Daniel Loader <spicypixel@gmail.com>
- •
- David0rk <davidork@gmail.com>
- •
- Alexander Neumann <alexander@bumpern.de>
- •
- Giri Badanahatti <gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local>
- •
- Leo R. Lundgren <leo@finalresort.org>
- •
- wolfv <wolfv6@users.noreply.github.com>
- •
- Dave Pedu <dave@davepedu.com>
- •
- Stefan Lindblom <lindblom@spotify.com>
- •
- seuffert <oliver@seuffert.biz>
- •
- gbadanahatti <37121690+gbadanahatti@users.noreply.github.com>
- •
- Keith Goldfarb <barkofdelight@gmail.com>
- •
- Steve Kriss <steve@heptio.com>
- •
- Chih-Hsuan Yen <yan12125@gmail.com>
- •
- Alexander Neumann <fd0@users.noreply.github.com>
- •
- Matt Holt <mholt@users.noreply.github.com>
- •
- Eri Bastos <bastos.eri@gmail.com>
- •
- Michael P. Dubner <pywebmail@list.ru>
- •
- Antoine GIRARD <sapk@users.noreply.github.com>
- •
- Mateusz Piotrowski <mpp302@gmail.com>
- •
- Animosity022 <animosity22@users.noreply.github.com> <earl.texter@gmail.com>
- •
- Peter Baumgartner <pete@lincolnloop.com>
- •
- Craig Rachel <craig@craigrachel.com>
- •
- Michael G. Noll <miguno@users.noreply.github.com>
- •
- hensur <me@hensur.de>
- •
- Oliver Heyme <de8olihe@lego.com>
- •
- Richard Yang <richard@yenforyang.com>
- •
- Piotr Oleszczyk <piotr.oleszczyk@gmail.com>
- •
- Rodrigo <rodarima@gmail.com>
- •
- NoLooseEnds <NoLooseEnds@users.noreply.github.com>
- •
- Jakub Karlicek <jakub@karlicek.me>
- •
- John Clayton <john@codemonkeylabs.com>
- •
- Kasper Byrdal Nielsen <byrdal76@gmail.com>
- •
- Benjamin Joseph Dag <bjdag1234@users.noreply.github.com>
- •
- themylogin <themylogin@gmail.com>
- •
- Onno Zweers <onno.zweers@surfsara.nl>
- •
- Jasper Lievisse Adriaanse <jasper@humppa.nl>
- •
- sandeepkru <sandeep.ummadi@gmail.com> <sandeepkru@users.noreply.github.com>
- •
- HerrH <atomtigerzoo@users.noreply.github.com>
- •
- Andrew <4030760+sparkyman215@users.noreply.github.com>
- •
- dan smith <XX1011@gmail.com>
- •
- Oleg Kovalov <iamolegkovalov@gmail.com>
- •
- Ruben Vandamme <github-com-00ff86@vandamme.email>
- •
- Cnly <minecnly@gmail.com>
- •
- Andres Alvarez <1671935+kir4h@users.noreply.github.com>
- •
- reddi1 <xreddi@gmail.com>
- •
- Matt Tucker <matthewtckr@gmail.com>
- •
- Sebastian Bünger <buengese@gmail.com> <buengese@protonmail.com>
- •
- Martin Polden <mpolden@mpolden.no>
- •
- Alex Chen <Cnly@users.noreply.github.com>.IP • 2 Denis <deniskovpen@gmail.com>
- •
- bsteiss <35940619+bsteiss@users.noreply.github.com>
- •
- Cédric Connes <cedric.connes@gmail.com>
- •
- Dr. Tobias Quathamer <toddy15@users.noreply.github.com>
- •
- dcpu <42736967+dcpu@users.noreply.github.com>
- •
- Sheldon Rupp <me@shel.io>
- •
- albertony <12441419+albertony@users.noreply.github.com>
- •
- cron410 <cron410@gmail.com>
- •
- Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
- •
- Felix Brucker <felix@felixbrucker.com>
- •
- Santiago Rodríguez <scollazo@users.noreply.github.com>
- •
- Craig Miskell <craig.miskell@fluxfederation.com>
- •
- Antoine GIRARD <sapk@sapk.fr>
- •
- Joanna Marek <joanna.marek@u2i.com>
- •
- frenos <frenos@users.noreply.github.com>
- •
- ssaqua <ssaqua@users.noreply.github.com>
- •
- xnaas <me@xnaas.info>
- •
- Frantisek Fuka <fuka@fuxoft.cz>
- •
- Paul Kohout <pauljkohout@yahoo.com>
- •
- dcpu <43330287+dcpu@users.noreply.github.com>
- •
- jackyzy823 <jackyzy823@gmail.com>
- •
- David Haguenauer <ml@kurokatta.org>
- •
- teresy <hi.teresy@gmail.com>
- •
- buergi <patbuergi@gmx.de>
- •
- Florian Gamboeck <mail@floga.de>
- •
- Ralf Hemberger <10364191+rhemberger@users.noreply.github.com>
- •
- Scott Edlund <sedlund@users.noreply.github.com>
- •
- Erik Swanson <erik@retailnext.net>
- •
- Jake Coggiano <jake@stripe.com>
- •
- brused27 <brused27@noemailaddress>
- •
- Peter Kaminski <kaminski@istori.com>
- •
- Henry Ptasinski <henry@logout.com>
- •
- Alexander <kharkovalexander@gmail.com>
- •
- Garry McNulty <garrmcnu@gmail.com>
- •
- Mathieu Carbou <mathieu.carbou@gmail.com>
- •
- Mark Otway <mark@otway.com>
- •
- William Cocker <37018962+WilliamCocker@users.noreply.github.com>
- •
- François Leurent <131.js@cloudyks.org>
- •
- Arkadius Stefanski <arkste@gmail.com>
- •
- Jay <dev@jaygoel.com>
- •
- andrea rota <a@xelera.eu>
- •
- nicolov <nicolov@users.noreply.github.com>
- •
- Matt Joiner <anacrolix@gmail.com>
- •
- Dario Guzik <dario@guzik.com.ar>
- •
- qip <qip@users.noreply.github.com>
- •
- yair@unicorn <yair@unicorn>
- •
- Matt Robinson <brimstone@the.narro.ws>
- •
- kayrus <kay.diam@gmail.com>
- •
- Rémy Léone <remy.leone@gmail.com>
- •
- Wojciech Smigielski <wojciech.hieronim.smigielski@gmail.com>
- •
- weetmuts <oehrstroem@gmail.com>
- •
- Jonathan <vanillajonathan@users.noreply.github.com>
- •
- James Carpenter <orbsmiv@users.noreply.github.com>
- •
- Vince <vince0villamora@gmail.com>
- •
- Nestar47 <47841759+Nestar47@users.noreply.github.com>
- •
- Six <brbsix@gmail.com>
- •
- Alexandru Bumbacea <alexandru.bumbacea@booking.com>
- •
- calisro <robert.calistri@gmail.com>
- •
- Dr.Rx <david.rey@nventive.com>
- •
- marcintustin <marcintustin@users.noreply.github.com>
- •
- jaKa Močnik <jaka@koofr.net>
- •
- Fionera <fionera@fionera.de>
- •
- Dan Walters <dan@walters.io>
- •
- Danil Semelenov <sgtpep@users.noreply.github.com>
- •
- xopez <28950736+xopez@users.noreply.github.com>
- •
- Ben Boeckel <mathstuf@gmail.com>
- •
- Manu <manu@snapdragon.cc>
- •
- Kyle E. Mitchell <kyle@kemitchell.com>
- •
- Gary Kim <gary@garykim.dev>
- •
- Jon <jonathn@github.com>
- •
- Jeff Quinn <jeffrey.quinn@bluevoyant.com>
- •
- Peter Berbec <peter@berbec.com>
- •
- didil <1284255+didil@users.noreply.github.com>
- •
- id01 <gaviniboom@gmail.com>
- •
- Robert Marko <robimarko@gmail.com>
- •
- Philip Harvey <32467456+pharveybattelle@users.noreply.github.com>
- •
- JorisE <JorisE@users.noreply.github.com>
- •
- garry415 <garry.415@gmail.com>
- •
- forgems <forgems@gmail.com>
- •
- Florian Apolloner <florian@apolloner.eu>
- •
- Aleksandar Janković <office@ajankovic.com> <ajankovic@users.noreply.github.com>
- •
- Maran <maran@protonmail.com>
- •
- nguyenhuuluan434 <nguyenhuuluan434@gmail.com>
- •
- Laura Hausmann <zotan@zotan.pw> <laura@hausmann.dev>
- •
- yparitcher <y@paritcher.com>
- •
- AbelThar <abela.tharen@gmail.com>
- •
- Matti Niemenmaa <matti.niemenmaa+git@iki.fi>
- •
- Russell Davis <russelldavis@users.noreply.github.com>
- •
- Yi FU <yi.fu@tink.se>.IP • 2 Paul Millar <paul.millar@desy.de>
- •
- justinalin <justinalin@qnap.com>
- •
- EliEron <subanimehd@gmail.com>
- •
- justina777 <chiahuei.lin@gmail.com>
- •
- Chaitanya Bankanhal <bchaitanya15@gmail.com>
- •
- Michał Matczuk <michal@scylladb.com>
- •
- Macavirus <macavirus@zoho.com>
- •
- Abhinav Sharma <abhi18av@outlook.com>
- •
- ginvine <34869051+ginvine@users.noreply.github.com>
- •
- Patrick Wang <mail6543210@yahoo.com.tw>
- •
- Cenk Alti <cenkalti@gmail.com>
- •
- Andreas Chlupka <andy@chlupka.com>
- •
- Alfonso Montero <amontero@tinet.org>
- •
- Ivan Andreev <ivandeex@gmail.com>
- •
- David Baumgold <david@davidbaumgold.com>
- •
- Lars Lehtonen <lars.lehtonen@gmail.com>
- •
- Matei David <matei.david@gmail.com>
- •
- David <david.bramwell@endemolshine.com>
- •
- Anthony Rusdi <33247310+antrusd@users.noreply.github.com>
- •
- Richard Patel <me@terorie.dev>
- •
- 庄天翼 <zty0826@gmail.com>
- •
- SwitchJS <dev@switchjs.com>
- •
- Raphael <PowershellNinja@users.noreply.github.com>
- •
- Sezal Agrawal <sezalagrawal@gmail.com>
- •
- Tyler <TylerNakamura@users.noreply.github.com>
- •
- Brett Dutro <brett.dutro@gmail.com>
- •
- Vighnesh SK <booterror99@gmail.com>
- •
- Arijit Biswas <dibbyo456@gmail.com>
- •
- Michele Caci <michele.caci@gmail.com>
- •
- AlexandrBoltris <ua2fgb@gmail.com>
- •
- Bryce Larson <blarson@saltstack.com>
- •
- Carlos Ferreyra <crypticmind@gmail.com>
- •
- Saksham Khanna <sakshamkhanna@outlook.com>
- •
- dausruddin <5763466+dausruddin@users.noreply.github.com>
- •
- zero-24 <zero-24@users.noreply.github.com>
- •
- Xiaoxing Ye <ye@xiaoxing.us>
- •
- Barry Muldrey <barry@muldrey.net>
- •
- Sebastian Brandt <sebastian.brandt@friday.de>
- •
- Marco Molteni <marco.molteni@mailbox.org>
- •
- Ankur Gupta <7876747+ankur0493@users.noreply.github.com>
- •
- Maciej Zimnoch <maciej@scylladb.com>
- •
- anuar45 <serdaliyev.anuar@gmail.com>
- •
- Fernando <ferferga@users.noreply.github.com>
- •
- David Cole <david.cole@sohonet.com>
- •
- Wei He <git@weispot.com>
- •
- Outvi V <19144373+outloudvi@users.noreply.github.com>
- •
- Thomas Kriechbaumer <thomas@kriechbaumer.name>
- •
- Tennix <tennix@users.noreply.github.com>
- •
- Ole Schütt <ole@schuett.name>
- •
- Kuang-che Wu <kcwu@csie.org>
- •
- Thomas Eales <wingsuit@users.noreply.github.com>
- •
- Paul Tinsley <paul.tinsley@vitalsource.com>
- •
- Felix Hungenberg <git@shiftgeist.com>
- •
- Benjamin Richter <github@dev.telepath.de>
- •
- landall <cst_zf@qq.com>
- •
- thestigma <thestigma@gmail.com>
- •
- jtagcat <38327267+jtagcat@users.noreply.github.com>
- •
- Damon Permezel <permezel@me.com>
- •
- boosh <boosh@users.noreply.github.com>
- •
- unbelauscht <58393353+unbelauscht@users.noreply.github.com>
- •
- Motonori IWAMURO <vmi@nifty.com>
- •
- Benjapol Worakan <benwrk@live.com>
- •
- Dave Koston <dave.koston@stackpath.com>
- •
- Durval Menezes <DurvalMenezes@users.noreply.github.com>
- •
- Tim Gallant <me@timgallant.us>
- •
- Frederick Zhang <frederick888@tsundere.moe>
- •
- valery1707 <valery1707@gmail.com>
- •
- Yves G <theYinYeti@yalis.fr>
- •
- Shing Kit Chan <chanshingkit@gmail.com>
- •
- Franklyn Tackitt <franklyn@tackitt.net>
- •
- Robert-André Mauchin <zebob.m@gmail.com>
- •
- evileye <48332831+ibiruai@users.noreply.github.com>
- •
- Joachim Brandon LeBlanc <brandon@leblanc.codes>
- •
- Patryk Jakuszew <patryk.jakuszew@gmail.com>
- •
- fishbullet <shindu666@gmail.com>
- •
- greatroar <@>
- •
- Bernd Schoolmann <mail@quexten.com>
- •
- Elan Ruusamäe <glen@pld-linux.org>
- •
- Max Sum <max@lolyculture.com>
- •
- Mark Spieth <mspieth@users.noreply.github.com>
- •
- harry <me@harry.plus>
- •
- Samantha McVey <samantham@posteo.net>
- •
- Jack Anderson <jack.anderson@metaswitch.com>
- •
- Michael G <draget@speciesm.net>
- •
- Brandon Philips <brandon@ifup.org>
- •
- Daven <dooven@users.noreply.github.com>
- •
- Martin Stone <martin@d7415.co.uk>
- •
- David Bramwell <13053834+dbramwell@users.noreply.github.com>
- •
- Sunil Patra <snl_su@live.com>
- •
- Adam Stroud <adam.stroud@gmail.com>.IP • 2 Kush <kushsharma@users.noreply.github.com>
- •
- Matan Rosenberg <matan129@gmail.com>
- •
- gitch1 <63495046+gitch1@users.noreply.github.com>
- •
- ElonH <elonhhuang@gmail.com>
- •
- Fred <fred@creativeprojects.tech>
- •
- Sébastien Gross <renard@users.noreply.github.com>
- •
- Maxime Suret <11944422+msuret@users.noreply.github.com>
- •
- Caleb Case <caleb@storj.io> <calebcase@gmail.com>
- •
- Ben Zenker <imbenzenker@gmail.com>
- •
- Martin Michlmayr <tbm@cyrius.com>
- •
- Brandon McNama <bmcnama@pagerduty.com>
- •
- Daniel Slyman <github@skylayer.eu>
- •
- Alex Guerrero <guerrero@users.noreply.github.com>
- •
- Matteo Pietro Dazzi <matteopietro.dazzi@gft.com>
- •
- edwardxml <56691903+edwardxml@users.noreply.github.com>
- •
- Roman Kredentser <shareed2k@gmail.com>
- •
- Kamil Trzciński <ayufan@ayufan.eu>
- •
- Zac Rubin <z-0@users.noreply.github.com>
- •
- Vincent Feltz
- •
- Heiko Bornholdt <bornholdt@informatik.uni-hamburg.de>
- •
- Matteo Pietro Dazzi <matteopietro.dazzi@gmail.com>
- •
- jtagcat <gitlab@c7.ee>
- •
- Petri Salminen <petri@salminen.dev>
- •
- Tim Burke <tim.burke@gmail.com>
- •
- Kai Lüke <kai@kinvolk.io>
- •
- Garrett Squire <github@garrettsquire.com>
- •
- Evan Harris <eharris@puremagic.com>
- •
- Kevin <keyam@microsoft.com>
- •
- Morten Linderud <morten@linderud.pw>
- •
- Dmitry Ustalov <dmitry.ustalov@gmail.com>
- •
- Jack <196648+jdeng@users.noreply.github.com>
- •
- kcris <cristian.tarsoaga@gmail.com>
- •
- tyhuber1 <68970760+tyhuber1@users.noreply.github.com>
- •
- David Ibarra <david.ibarra@realty.com>
- •
- Tim Gallant <tim@lilt.com>
- •
- Kaloyan Raev <kaloyan@storj.io>
- •
- Jay McEntire <jay.mcentire@gmail.com>
- •
- Leo Luan <leoluan@us.ibm.com>
- •
- aus <549081+aus@users.noreply.github.com>
- •
- Aaron Gokaslan <agokaslan@fb.com>
- •
- Egor Margineanu <egmar@users.noreply.github.com>
- •
- Lucas Kanashiro <lucas.kanashiro@canonical.com>
- •
- WarpedPixel <WarpedPixel@users.noreply.github.com>
- •
- Sam Edwards <sam@samedwards.ca>
- •
- wjielai <gouki0123@gmail.com>
- •
- Muffin King <jinxz_k@live.com>
- •
- Christopher Stewart <6573710+1f47a@users.noreply.github.com>
- •
- Russell Cattelan <cattelan@digitalelves.com>
- •
- gyutw <30371241+gyutw@users.noreply.github.com>
- •
- Hekmon <edouardhur@gmail.com>
- •
- LaSombra <lasombra@users.noreply.github.com>
- •
- Dov Murik <dov.murik@gmail.com>
- •
- Ameer Dawood <ameer1234567890@gmail.com>
- •
- Dan Hipschman <dan.hipschman@opendoor.com>
- •
- Josh Soref <jsoref@users.noreply.github.com> <2119212+jsoref@users.noreply.github.com>
- •
- David <david@staron.nl>
- •
- Ingo <ingo@hoffmann.cx>
- •
- Adam Plánský <adamplansky@users.noreply.github.com> <adamplansky@gmail.com>
- •
- Manish Gupta <manishgupta.ait@gmail.com>
- •
- Deepak Sah <sah.sslpu@gmail.com>
- •
- Marcin Zelent <marcin@zelent.net>
- •
- zhucan <zhucan.k8s@gmail.com>
- •
- James Lim <james.lim@samsara.com>
- •
- Laurens Janssen <BD69BM@insim.biz>
- •
- Bob Bagwill <bobbagwill@gmail.com>
- •
- Nathan Collins <colli372@msu.edu>
- •
- lostheli
- •
- kelv <kelvin@acks.org>
- •
- Milly <milly.ca@gmail.com>
- •
- gtorelly <gtorelly@gmail.com>
- •
- Brad Ackerman <brad@facefault.org>
- •
- Mitsuo Heijo <mitsuo.heijo@gmail.com>
- •
- Claudio Bantaloukas <rockdreamer@gmail.com>
- •
- Benjamin Gustin <gustin.ben@gmail.com>
- •
- Ingo Weiss <ingo@redhat.com>
- •
- Kerry Su <me@sshockwave.net>
- •
- Ilyess Bachiri <ilyess.bachiri@sonder.com>
- •
- Yury Stankevich <urykhy@gmail.com>
- •
- kice <wslikerqs@gmail.com>
- •
- Denis Neuling <denisneuling@gmail.com>
- •
- Janne Johansson <icepic.dz@gmail.com>
- •
- Patrik Nordlén <patriki@gmail.com>
- •
- CokeMine <aptx4561@gmail.com>
- •
- Sơn Trần-Nguyễn <github@sntran.com>
- •
- lluuaapp <266615+lluuaapp@users.noreply.github.com>
- •
- Zach Kipp <kipp.zach@gmail.com>
- •
- Riccardo Iaconelli <riccardo@kde.org>
- •
- Sakuragawa Misty <gyc990326@gmail.com>
- •
- Nicolas Rueff <nicolas@rueff.fr>.IP • 2 Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
- •
- Bob Pusateri <BobPusateri@users.noreply.github.com>
- •
- Alex JOST <25005220+dimejo@users.noreply.github.com>
- •
- Alexey Tabakman <samosad.ru@gmail.com>
- •
- David Sze <sze.david@gmail.com>
- •
- cynthia kwok <cynthia.m.kwok@gmail.com>
- •
- Miron Veryanskiy <MironVeryanskiy@gmail.com>
- •
- K265 <k.265@qq.com>
- •
- Vesnyx <Vesnyx@users.noreply.github.com>
- •
- Dmitry Chepurovskiy <me@dm3ch.net>
- •
- Rauno Ots <rauno.ots@cgi.com>
- •
- Georg Neugschwandtner <georg.neugschwandtner@gmx.net>
- •
- pvalls <polvallsrue@gmail.com>
- •
- Robert Thomas <31854736+wolveix@users.noreply.github.com>
- •
- Romeo Kienzler <romeo.kienzler@gmail.com>
- •
- tYYGH <tYYGH@users.noreply.github.com>
- •
- georne <77802995+georne@users.noreply.github.com>
- •
- Maxwell Calman <mcalman@MacBook-Pro.local>
- •
- Naveen Honest Raj <naveendurai19@gmail.com>
- •
- Lucas Messenger <lmesseng@cisco.com>
- •
- Manish Kumar <krmanish260@gmail.com>
- •
- x0b <x0bdev@gmail.com>
- •
- CERN از طریق پروژه CS3MESH4EOSC
- •
- Nick Gaya <nicholasgaya+github@gmail.com>
- •
- Ashok Gelal <401055+ashokgelal@users.noreply.github.com>
- •
- Dominik Mydlil <dominik.mydlil@outlook.com>
- •
- Nazar Mishturak <nazarmx@gmail.com>
- •
- Ansh Mittal <iamAnshMittal@gmail.com>
- •
- noabody <noabody@yahoo.com>
- •
- OleFrost <82263101+olefrost@users.noreply.github.com>
- •
- Kenny Parsons <kennyparsons93@gmail.com>
- •
- Jeffrey Tolar <tolar.jeffrey@gmail.com>
- •
- jtagcat <git-514635f7@jtag.cat>
- •
- Tatsuya Noyori <63089076+public-tatsuya-noyori@users.noreply.github.com>
- •
- lewisxy <lewisxy@users.noreply.github.com>
- •
- Nolan Woods <nolan_w@sfu.ca>
- •
- Gautam Kumar <25435568+gautamajay52@users.noreply.github.com>
- •
- Chris Macklin <chris.macklin@10xgenomics.com>
- •
- Antoon Prins <antoon.prins@surfsara.nl>
- •
- Alexey Ivanov <rbtz@dropbox.com>
- •
- Serge Pouliquen <sp31415@free.fr>
- •
- acsfer <carlos@reendex.com>
- •
- Tom <tom@tom-fitzhenry.me.uk>
- •
- Tyson Moore <tyson@tyson.me>
- •
- database64128 <free122448@hotmail.com>
- •
- Chris Lu <chrislusf@users.noreply.github.com>
- •
- Reid Buzby <reid@rethink.software>
- •
- darrenrhs <darrenrhs@gmail.com>
- •
- Florian Penzkofer <fp@nullptr.de>
- •
- Xuanchen Wu <117010292@link.cuhk.edu.cn>
- •
- partev <petrosyan@gmail.com>
- •
- Dmitry Sitnikov <fo2@inbox.ru>
- •
- Haochen Tong <i@hexchain.org>
- •
- Michael Hanselmann <public@hansmi.ch>
- •
- Chuan Zh <zhchuan7@gmail.com>
- •
- Antoine GIRARD <antoine.girard@sapk.fr>
- •
- Justin Winokur (Jwink3101) <Jwink3101@users.noreply.github.com>
- •
- Mariano Absatz (git) <scm@baby.com.ar>
- •
- Greg Sadetsky <lepetitg@gmail.com>
- •
- yedamo <logindaveye@gmail.com>
- •
- hota <lindwurm.q@gmail.com>
- •
- vinibali <vinibali1@gmail.com>
- •
- Ken Enrique Morel <ken.morel.santana@gmail.com>
- •
- Justin Hellings <justin.hellings@gmail.com>
- •
- Parth Shukla <pparth@pparth.net>
- •
- wzl <wangzl31@outlook.com>
- •
- HNGamingUK <connor@earnshawhome.co.uk>
- •
- Jonta <359397+Jonta@users.noreply.github.com>
- •
- YenForYang <YenForYang@users.noreply.github.com>
- •
- SimJoSt / Joda Stößer <git@simjo.st>
- •
- Logeshwaran <waranlogesh@gmail.com>
- •
- Rajat Goel <rajat@dropbox.com>
- •
- r0kk3rz <r0kk3rz@gmail.com>
- •
- Matthew Sevey <mjsevey@gmail.com>
- •
- Filip Rysavy <fil@siasky.net>
- •
- Ian Levesque <ian@ianlevesque.org>
- •
- Thomas Stachl <thomas@stachl.me>
- •
- Dmitry Bogatov <git#v1@kaction.cc>
- •
- thomae <4493560+thomae@users.noreply.github.com>
- •
- trevyn <trevyn-git@protonmail.com>
- •
- David Liu <david.yx.liu@oracle.com>
- •
- Chris Nelson <stuff@cjnaz.com>
- •
- Felix Bünemann <felix.buenemann@gmail.com>
- •
- Atílio Antônio <atiliodadalto@hotmail.com>
- •
- Carlo Mion <mion00@gmail.com>
- •
- Chris Lu <chris.lu@gmail.com>
- •
- Vitor Arruda <vitor.pimenta.arruda@gmail.com>
- •
- bbabich <bbabich@datamossa.com>
- •
- David <dp.davide.palma@gmail.com>
- •
- Borna Butkovic <borna@favicode.net>.IP • 2 Fredric Arklid <fredric.arklid@consid.se>
- •
- Andy Jackson <Andrew.Jackson@bl.uk>
- •
- Sinan Tan <i@tinytangent.com>
- •
- deinferno <14363193+deinferno@users.noreply.github.com>
- •
- rsapkf <rsapkfff@pm.me>
- •
- Will Holtz <wholtz@gmail.com>
- •
- GGG KILLER <gggkiller2@gmail.com>
- •
- Logeshwaran Murugesan <logeshwaran@testpress.in>
- •
- Lu Wang <coolwanglu@gmail.com>
- •
- Bumsu Hyeon <ksitht@gmail.com>
- •
- Shmz Ozggrn <98463324+ShmzOzggrn@users.noreply.github.com>
- •
- Kim <kim@jotta.no>
- •
- Niels van de Weem <n.van.de.weem@smile.nl>
- •
- Koopa <codingkoopa@gmail.com>
- •
- Yunhai Luo <yunhai-luo@hotmail.com>
- •
- Charlie Jiang <w@chariri.moe>
- •
- Alain Nussbaumer <alain.nussbaumer@alleluia.ch>
- •
- Vanessasaurus <814322+vsoch@users.noreply.github.com>
- •
- Isaac Levy <isaac.r.levy@gmail.com>
- •
- Gourav T <workflowautomation@protonmail.com>
- •
- Paulo Martins <paulo.pontes.m@gmail.com>
- •
- viveknathani <viveknathani2402@gmail.com>
- •
- Eng Zer Jun <engzerjun@gmail.com>
- •
- Abhiraj <abhiraj.official15@gmail.com>
- •
- Márton Elek <elek@apache.org> <elek@users.noreply.github.com>
- •
- Vincent Murphy <vdm@vdm.ie>
- •
- ctrl-q <34975747+ctrl-q@users.noreply.github.com>
- •
- Nil Alexandrov <nalexand@akamai.com>
- •
- GuoXingbin <101376330+guoxingbin@users.noreply.github.com>
- •
- Berkan Teber <berkan@berkanteber.com>
- •
- Tobias Klauser <tklauser@distanz.ch>
- •
- KARBOWSKI Piotr <piotr.karbowski@gmail.com>
- •
- GH <geeklihui@foxmail.com>
- •
- rafma0 <int.main@gmail.com>
- •
- Adrien Rey-Jarthon <jobs@adrienjarthon.com>
- •
- Nick Gooding <73336146+nickgooding@users.noreply.github.com>
- •
- Leroy van Logchem <lr.vanlogchem@gmail.com>
- •
- Zsolt Ero <zsolt.ero@gmail.com>
- •
- Lesmiscore <nao20010128@gmail.com>
- •
- ehsantdy <ehsan.tadayon@arvancloud.com> <ehsantadayon85@gmail.com>
- •
- SwazRGB <65694696+swazrgb@users.noreply.github.com>
- •
- Mateusz Puczyński <mati6095@gmail.com>
- •
- Michael C Tiernan - MIT-Research Computing Project <mtiernan@mit.edu>
- •
- Kaspian <34658474+KaspianDev@users.noreply.github.com>
- •
- Werner <EvilOlaf@users.noreply.github.com>
- •
- Hugal31 <hugo.laloge@gmail.com>
- •
- Christian Galo <36752715+cgalo5758@users.noreply.github.com>
- •
- Erik van Velzen <erik@evanv.nl>
- •
- Derek Battams <derek@battams.ca>
- •
- Paul <devnoname120@gmail.com>
- •
- SimonLiu <simonliu009@users.noreply.github.com>
- •
- Hugo Laloge <hla@lescompanions.com>
- •
- Mr-Kanister <68117355+Mr-Kanister@users.noreply.github.com>
- •
- Rob Pickerill <r.pickerill@gmail.com>
- •
- Andrey <to.merge@gmail.com>
- •
- Eric Wolf <19wolf@gmail.com>
- •
- Nick <nick.naumann@mailbox.tu-dresden.de>
- •
- Jason Zheng <jszheng17@gmail.com>
- •
- Matthew Vernon <mvernon@wikimedia.org>
- •
- Noah Hsu <i@nn.ci>
- •
- m00594701 <mengpengbo@huawei.com>
- •
- Art M. Gallagher <artmg50@gmail.com>
- •
- Sven Gerber <49589423+svengerber@users.noreply.github.com>
- •
- CrossR <r.cross@lancaster.ac.uk>
- •
- Maciej Radzikowski <maciej@radzikowski.com.pl>
- •
- Scott Grimes <scott.grimes@spaciq.com>
- •
- Phil Shackleton <71221528+philshacks@users.noreply.github.com>
- •
- eNV25 <env252525@gmail.com>
- •
- Caleb <inventor96@users.noreply.github.com>
- •
- J-P Treen <jp@wraptious.com>
- •
- Martin Czygan <53705+miku@users.noreply.github.com>
- •
- buda <sandrojijavadze@protonmail.com>
- •
- mirekphd <36706320+mirekphd@users.noreply.github.com>
- •
- vyloy <vyloy@qq.com>
- •
- Anthrazz <25553648+Anthrazz@users.noreply.github.com>
- •
- zzr93 <34027824+zzr93@users.noreply.github.com>
- •
- Paul Norman <penorman@mac.com>
- •
- Lorenzo Maiorfi <maiorfi@gmail.com>
- •
- Claudio Maradonna <penguyman@stronzi.org>
- •
- Ovidiu Victor Tatar <ovi.tatar@googlemail.com>
- •
- Evan Spensley <epspensley@gmail.com>
- •
- Yen Hu <61753151+0x59656e@users.noreply.github.com>
- •
- Steve Kowalik <steven@wedontsleep.org>
- •
- Jordi Gonzalez Muñoz <jordigonzm@gmail.com>
- •
- Joram Schrijver <i@joram.io>
- •
- Mark Trolley <marktrolley@gmail.com>
- •
- João Henrique Franco <joaohenrique.franco@gmail.com>
- •
- anonion <aman207@users.noreply.github.com>
- •
- Ryan Morey <4590343+rmorey@users.noreply.github.com>
- •
- Simon Bos <simonbos9@gmail.com>.IP • 2 YFdyh000 <yfdyh000@gmail.com>
- •
- Øyvind Heddeland Instefjord <instefjord@outlook.com>
- •
- Dmitry Deniskin <110819396+ddeniskin@users.noreply.github.com>
- •
- Alexander Knorr <106825+opexxx@users.noreply.github.com>
- •
- Richard Bateman <richard@batemansr.us>
- •
- Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
- •
- Lorenzo Milesi <lorenzo.milesi@yetopen.com>
- •
- Isaac Aymerich <isaac.aymerich@gmail.com>
- •
- YanceyChiew <35898533+YanceyChiew@users.noreply.github.com>
- •
- Manoj Ghosh <msays2000@gmail.com>
- •
- Bachue Zhou <bachue.shu@gmail.com>
- •
- Manoj Ghosh <manoj.ghosh@oracle.com>
- •
- Tom Mombourquette <tom@devnode.com>
- •
- Robert Newson <rnewson@apache.org>
- •
- Samuel Johnson <esamueljohnson@gmail.com>
- •
- coultonluke <luke@luke.org.uk>
- •
- Anthony Pessy <anthony@cogniteev.com>
- •
- Philip Harvey <pharvey@battelleecology.org>
- •
- dgouju <dgouju@users.noreply.github.com>
- •
- Clément Notin <clement.notin@gmail.com>
- •
- x3-apptech <66947598+x3-apptech@users.noreply.github.com>
- •
- Arnie97 <arnie97@gmail.com>
- •
- Roel Arents <2691308+roelarents@users.noreply.github.com>
- •
- Aaron Gokaslan <aaronGokaslan@gmail.com>
- •
- techknowlogick <matti@mdranta.net>
- •
- rkettelerij <richard@mindloops.nl>
- •
- Kamui <fin-kamui@pm.me>
- •
- asdffdsazqqq <90116442+asdffdsazqqq@users.noreply.github.com>
- •
- Nathaniel Wesley Filardo <nfilardo@microsoft.com>
- •
- ycdtosa <ycdtosa@users.noreply.github.com>
- •
- Erik Agterdenbos <agterdenbos@users.noreply.github.com>
- •
- Kevin Verstaen <48050031+kverstae@users.noreply.github.com>
- •
- MohammadReza <mrvashian@gmail.com>
- •
- vanplus <60313789+vanplus@users.noreply.github.com>
- •
- Jack <16779171+jkpe@users.noreply.github.com>
- •
- Abdullah Saglam <abdullah.saglam@stonebranch.com>
- •
- Marks Polakovs <github@markspolakovs.me>
- •
- piyushgarg <piyushgarg80@gmail.com>
- •
- Kaloyan Raev <kaloyan-raev@users.noreply.github.com>
- •
- IMTheNachoMan <imthenachoman@gmail.com>
- •
- alankrit <alankrit@google.com>
- •
- Bryan Kaplan <#@bryankaplan.com>
- •
- LXY <767763591@qq.com>
- •
- Simmon Li (he/him) <li.simmon@gmail.com>
- •
- happyxhw <44490504+happyxhw@users.noreply.github.com>
- •
- Simmon Li (he/him) <hello@crespire.dev>
- •
- Matthias Baur <baurmatt@users.noreply.github.com>
- •
- Hunter Wittenborn <hunter@hunterwittenborn.com>
- •
- logopk <peter@kreuser.name>
- •
- Gerard Bosch <30733556+gerardbosch@users.noreply.github.com>
- •
- ToBeFree <github@tfrei.de>
- •
- NodudeWasTaken <75137537+NodudeWasTaken@users.noreply.github.com>
- •
- Peter Brunner <peter@lugoues.net>
- •
- Ninh Pham <dongian.rapclubkhtn@gmail.com>
- •
- Ryan Caezar Itang <sitiom@proton.me>
- •
- Peter Brunner <peter@psykhe.com>
- •
- Leandro Sacchet <leandro.sacchet@animati.com.br>
- •
- dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- •
- cycneuramus <56681631+cycneuramus@users.noreply.github.com>
- •
- Arnavion <me@arnavion.dev>
- •
- Christopher Merry <christopher.merry@mlb.com>
- •
- Thibault Coupin <thibault.coupin@gmail.com>
- •
- Richard Tweed <RichardoC@users.noreply.github.com>
- •
- Zach Kipp <Zacho2@users.noreply.github.com>
- •
- yuudi <26199752+yuudi@users.noreply.github.com>
- •
- NickIAm <NickIAm@users.noreply.github.com>
- •
- Juang, Yi-Lin <frankyjuang@gmail.com>
- •
- jumbi77 <jumbi77@users.noreply.github.com>
- •
- Aditya Basu <ab.aditya.basu@gmail.com>
- •
- ed <s@ocv.me>
- •
- Drew Parsons <dparsons@emerall.com>
- •
- Joel <joelnb@users.noreply.github.com>
- •
- wiserain <mail275@gmail.com>
- •
- Roel Arents <roel.arents@kadaster.nl>
- •
- Shyim <github@shyim.de>
- •
- Rintze Zelle <78232505+rzelle-lallemand@users.noreply.github.com>
- •
- Damo <damoclark@users.noreply.github.com>
- •
- WeidiDeng <weidi_deng@icloud.com>
- •
- Brian Starkey <stark3y@gmail.com>
- •
- jladbrook <jhladbrook@gmail.com>
- •
- Loren Gordon <lorengordon@users.noreply.github.com>
- •
- dlitster <davidlitster@gmail.com>
- •
- Tobias Gion <tobias@gion.io>
- •
- Jānis Bebrītis <janis.bebritis@wunder.io>
- •
- Adam K <github.com@ak.tidy.email>
- •
- Andrei Smirnov <smirnov.captain@gmail.com>
- •
- Janne Hellsten <jjhellst@gmail.com>
- •
- cc <12904584+shvc@users.noreply.github.com>
- •
- Tareq Sharafy <tareq.sha@gmail.com>
- •
- kapitainsky <dariuszb@me.com>.IP • 2 douchen <playgoobug@gmail.com>
- •
- Sam Lai <70988+slai@users.noreply.github.com>
- •
- URenko <18209292+URenko@users.noreply.github.com>
- •
- Stanislav Gromov <kullfar@gmail.com>
- •
- Paulo Schreiner <paulo.schreiner@delivion.de>
- •
- Mariusz Suchodolski <mariusz@suchodol.ski>
- •
- danielkrajnik <dan94kra@gmail.com>
- •
- Peter Fern <github@0xc0dedbad.com>
- •
- zzq <i@zhangzqs.cn>
- •
- mac-15 <usman.ilamdin@phpstudios.com>
- •
- Sawada Tsunayoshi <34431649+TsunayoshiSawada@users.noreply.github.com>
- •
- Dean Attali <daattali@gmail.com>
- •
- Fjodor42 <molgaard@gmail.com>
- •
- BakaWang <wa11579@hotmail.com>
- •
- Mahad <56235065+Mahad-lab@users.noreply.github.com>
- •
- Vladislav Vorobev <x.miere@gmail.com>
- •
- darix <darix@users.noreply.github.com>
- •
- Benjamin <36415086+bbenjamin-sys@users.noreply.github.com>
- •
- Chun-Hung Tseng <henrybear327@users.noreply.github.com>
- •
- Ricardo D'O. Albanus <rdalbanus@users.noreply.github.com>
- •
- gabriel-suela <gscsuela@gmail.com>
- •
- Tiago Boeing <contato@tiagoboeing.com>
- •
- Edwin Mackenzie-Owen <edwin.mowen@gmail.com>
- •
- Niklas Hambüchen <mail@nh2.me>
- •
- yuudi <yuudi@users.noreply.github.com>
- •
- Zach <github@prozach.org>
- •
- nielash <31582349+nielash@users.noreply.github.com>
- •
- Julian Lepinski <lepinsk@users.noreply.github.com>
- •
- Raymond Berger <RayBB@users.noreply.github.com>
- •
- Nihaal Sangha <nihaal.git@gmail.com>
- •
- Masamune3210 <1053504+Masamune3210@users.noreply.github.com>
- •
- James Braza <jamesbraza@gmail.com>
- •
- antoinetran <antoinetran@users.noreply.github.com>
- •
- alexia <me@alexia.lol>
- •
- nielash <nielronash@gmail.com>
- •
- Vitor Gomes <vitor.gomes@delivion.de> <mail@vitorgomes.com>
- •
- Jacob Hands <jacob@gogit.io>
- •
- hideo aoyama <100831251+boukendesho@users.noreply.github.com>
- •
- Roberto Ricci <io@r-ricci.it>
- •
- Bjørn Smith <bjornsmith@gmail.com>
- •
- Alishan Ladhani <8869764+aladh@users.noreply.github.com>
- •
- zjx20 <zhoujianxiong2@gmail.com>
- •
- Oksana <142890647+oks-maytech@users.noreply.github.com>
- •
- Volodymyr Kit <v.kit@maytech.net>
- •
- David Pedersen <limero@me.com>
- •
- Drew Stinnett <drew@drewlink.com>
- •
- Pat Patterson <pat@backblaze.com>
- •
- Herby Gillot <herby.gillot@gmail.com>
- •
- Nikita Shoshin <shoshin_nikita@fastmail.com>
- •
- rinsuki <428rinsuki+git@gmail.com>
- •
- Beyond Meat <51850644+beyondmeat@users.noreply.github.com>
- •
- Saleh Dindar <salh@fb.com>
- •
- Volodymyr <142890760+vkit-maytech@users.noreply.github.com>
- •
- Gabriel Espinoza <31670639+gspinoza@users.noreply.github.com>
- •
- Keigo Imai <keigo.imai@gmail.com>
- •
- Ivan Yanitra <iyanitra@tesla-consulting.com>
- •
- alfish2000 <alfish2000@gmail.com>
- •
- wuxingzhong <qq330332812@gmail.com>
- •
- Adithya Kumar <akumar42@protonmail.com>
- •
- Tayo-pasedaRJ <138471223+Tayo-pasedaRJ@users.noreply.github.com>
- •
- Peter Kreuser <logo@kreuser.name>
- •
- fotile96 <fotile96@users.noreply.github.com>
- •
- Luc Ritchie <luc.ritchie@gmail.com>
- •
- cynful <cynful@users.noreply.github.com>
- •
- wjielai <wjielai@tencent.com>
- •
- Jack Deng <jackdeng@gmail.com>
- •
- Mikubill <31246794+Mikubill@users.noreply.github.com>
- •
- Artur Neumann <artur@jankaritech.com>
- •
- Saw-jan <saw.jan.grg3e@gmail.com>
- •
- Oksana Zhykina <o.zhykina@maytech.net>
- •
- karan <karan.gupta92@gmail.com>
- •
- viktor <viktor@yakovchuk.net>
- •
- moongdal <moongdal@tutanota.com>
- •
- Mina Galić <freebsd@igalic.co>
- •
- Alen Šiljak <dev@alensiljak.eu.org>
- •
- 你知道未来吗 <rkonfj@gmail.com>
- •
- Abhinav Dhiman <8640877+ahnv@users.noreply.github.com>
- •
- halms <7513146+halms@users.noreply.github.com>
- •
- ben-ba <benjamin.brauner@gmx.de>
- •
- Eli Orzitzer <e_orz@yahoo.com>
- •
- Anthony Metzidis <anthony.metzidis@gmail.com>
- •
- keongalvin <keongalvin@gmail.com>
- •
- rarspace01 <rarspace01@users.noreply.github.com>
- •
- Paul Stern <paulstern45@gmail.com>
- •
- Nikhil Ahuja <nikhilahuja@live.com>
- •
- Harshit Budhraja <52413945+harshit-budhraja@users.noreply.github.com>
- •
- Tera <24725862+teraa@users.noreply.github.com>
- •
- Kyle Reynolds <kylereynoldsdev@gmail.com>
- •
- Michael Eischer <michael.eischer@gmx.de>
- •
- Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>.IP • 2 DanielEgbers <27849724+DanielEgbers@users.noreply.github.com>
- •
- Jack Provance <49460795+njprov@users.noreply.github.com>
- •
- Gabriel Ramos <109390599+gabrielramos02@users.noreply.github.com>
- •
- Dan McArdle <d@nmcardle.com>
- •
- Joe Cai <joe.cai@bigcommerce.com>
- •
- Anders Swanson <anders.swanson@oracle.com>
- •
- huajin tong <137764712+thirdkeyword@users.noreply.github.com>
- •
- John-Paul Smith <john-paulsmith@users.noreply.github.com>
- •
- racerole <148756161+racerole@users.noreply.github.com>
- •
- Gachoud Philippe <ph.gachoud@gmail.com>
- •
- YukiUnHappy <saberhana@yandex.com>
- •
- Kyle Reynolds <kyle.reynolds@bridgerphotonics.com>
- •
- Lewis Hook <lewis@hook.im>
- •
- hoyho <luohaihao@gmail.com>
- •
- Vitaly <9034218+gvitali@users.noreply.github.com>
- •
- iotmaestro <iotmaestro@proton.me>
- •
- psychopatt <66741203+psychopatt@users.noreply.github.com>
- •
- Alex Garel <alex@garel.org>
- •
- Warrentheo <warrentheo@hotmail.com>
- •
- Alexandre Lavigne <lavigne958@gmail.com>
- •
- yoelvini <134453420+yoelvini@users.noreply.github.com>
- •
- Erisa A <erisa@cloudflare.com>
- •
- Pieter van Oostrum <pieter@vanoostrum.org>
- •
- jakzoe <155812065+jakzoe@users.noreply.github.com>
- •
- guangwu <guoguangwu@magic-shield.com>
- •
- static-moonlight <107991124+static-moonlight@users.noreply.github.com>
- •
- yudrywet <yudeyao@yeah.net>
- •
- Butanediol <git@xnh.app>
- •
- Dave Nicolson <david.nicolson@gmail.com>
- •
- Katia Esposito <katia@linux.com>
- •
- pawsey-kbuckley <36438302+pawsey-kbuckley@users.noreply.github.com>
- •
- hidewrong <167099254+hidewrong@users.noreply.github.com>
- •
- Michael Terry <mike@mterry.name>
- •
- Sunny <25066078+LoSunny@users.noreply.github.com>
- •
- overallteach <cricis@foxmail.com>
- •
- JT Olio <jt@olio.lol>
- •
- Evan McBeth <64177332+AtomicRobotMan0101@users.noreply.github.com>
- •
- Dominik Joe Pantůček <dominik.pantucek@trustica.cz>
- •
- yumeiyin <155420652+yumeiyin@users.noreply.github.com>
- •
- Bruno Fernandes <54373093+folkzb@users.noreply.github.com>
- •
- Thomas Schneider <tspam.github@brainfuck.space>
- •
- Charles Hamilton <52973156+chamilton-ccn@users.noreply.github.com>
- •
- Tomasz Melcer <tomasz@melcer.pl>
- •
- Michał Dzienisiewicz <michal.piotr.dz@gmail.com>
- •
- Florian Klink <flokli@flokli.de>
- •
- Bill Fraser <bill@wfraser.dev>
- •
- Thearas <thearas850@gmail.com>
- •
- Filipe Herculano <fifo_@live.com>
- •
- Russ Bubley <russ.bubley@googlemail.com>
- •
- Paul Collins <paul.collins@canonical.com>
- •
- Tomasz Melcer <liori@exroot.org>
- •
- itsHenry <2671230065@qq.com>
- •
- Ke Wang <me@ke.wang>
- •
- AThePeanut4 <49614525+AThePeanut4@users.noreply.github.com>
- •
- Tobias Markus <tobbi.bugs@googlemail.com>
- •
- Ernie Hershey <github@ernie.org>
- •
- Will Miles <wmiles@sgl.com>
- •
- David Seifert <16636962+SoapGentoo@users.noreply.github.com>
- •
- Fornax <wimbrand96@gmail.com>
- •
- Sam Harrison <sam.harrison@files.com>
- •
- Péter Bozsó <3806723+peterbozso@users.noreply.github.com>
- •
- Georg Welzel <gwelzel@mailbox.org>
- •
- John Oxley <john.oxley@gmail.com> <joxley@meta.com>
- •
- Pawel Palucha <pawel.palucha@aetion.com>
- •
- crystalstall <crystalruby@qq.com>
- •
- nipil <nipil@users.noreply.github.com>
- •
- yuval-cloudinary <46710068+yuval-cloudinary@users.noreply.github.com>
- •
- Mathieu Moreau <mrx23dot@users.noreply.github.com>
- •
- fsantagostinobietti <6057026+fsantagostinobietti@users.noreply.github.com>
- •
- Oleg Kunitsyn <114359669+hiddenmarten@users.noreply.github.com>
- •
- Divyam <47589864+divyam234@users.noreply.github.com>
- •
- ttionya <ttionya@users.noreply.github.com>
- •
- quiescens <quiescens@gmail.com>
- •
- rishi.sridhar <rishi.sridhar@zohocorp.com>
- •
- Lawrence Murray <lawrence@indii.org>
- •
- Leandro Piccilli <leandro.piccilli@thalesgroup.com>
- •
- Benjamin Legrand <benjamin.legrand@seagate.com>
- •
- Noam Ross <noam.ross@gmail.com>
- •
- lostb1t <coding-mosses0z@icloud.com>
- •
- Matthias Gatto <matthias.gatto@outscale.com>
- •
- André Tran <andre.tran@outscale.com>
- •
- Simon Bos <simon@simonbos.be>
- •
- Alexandre Hamez <199517+ahamez@users.noreply.github.com>
- •
- Randy Bush <randy@psg.com>
- •
- Diego Monti <diegmonti@users.noreply.github.com>
- •
- tgfisher <tgfisher@stanford.edu>
- •
- Moises Lima <mozlima@gmail.com>
- •
- Dimitar Ivanov <mimiteto@gmail.com>
- •
- shenpengfeng <xinhangzhou@icloud.com>
- •
- Dimitrios Slamaris <dim0x69@users.noreply.github.com>.IP • 2 vintagefuture <39503528+vintagefuture@users.noreply.github.com>
- •
- David Seifert <soap@gentoo.org>
- •
- Michael R. Davis <mrdvt92@users.noreply.github.com>
- •
- remygrandin <remy.gr@ndin.fr>
- •
- Ilias Ozgur Can Leonard <iscilyas@gmail.com>
- •
- divinity76 <divinity76@gmail.com>
- •
- Martin Hassack <martin@redmaple.tech>
- •
- Filipe Azevedo <pasnox@gmail.com>
- •
- hayden.pan <hayden.pan@outlook.com>
- •
- Yxxx <45665172+marsjane@users.noreply.github.com>
- •
- Thomas ten Cate <ttencate@gmail.com>
- •
- Louis Laureys <louis@laureys.me>
- •
- Henry Lee <contact@nynxz.com>
- •
- ToM <thomas.faucher@bibliosansfrontieres.org>
- •
- TAKEI Yuya <853320+takei-yuya@users.noreply.github.com>
- •
- Francesco Frassinelli <fraph24@gmail.com> <francesco.frassinelli@nina.no>
- •
- Matt Ickstadt <mattico8@gmail.com> <matt@beckenterprises.com>
- •
- Spencer McCullough <mccullough.spencer@gmail.com>
- •
- Jonathan Giannuzzi <jonathan@giannuzzi.me>
- •
- Christoph Berger <github@christophberger.com>
- •
- Tim White <tim.white@su.org.au>
- •
- Robin Schneider <robin.schneider@stackit.cloud>
- •
- izouxv <izouxv@users.noreply.github.com>
- •
- Moises Lima <mozlima@users.noreply.github.com>
- •
- Bruno Fernandes <bruno.fernandes1996@hotmail.com>
- •
- Corentin Barreau <corentin@archive.org>
- •
- hiddenmarten <hiddenmarten@gmail.com>
- •
- Trevor Starick <trevor.starick@gmail.com>
- •
- b-wimmer <132347192+b-wimmer@users.noreply.github.com>
- •
- Jess <jess@jessie.cafe>
- •
- Zachary Vorhies <zachvorhies@protonmail.com>
- •
- Alexander Minbaev <minbaev@gmail.com>
- •
- Joel K Biju <joelkbiju18@gmail.com>
- •
- ll3006 <doublel3006@gmail.com>
- •
- jbagwell-akamai <113531113+jbagwell-akamai@users.noreply.github.com>
- •
- Michael Kebe <michael.kebe@gmail.com>
- •
- Lorenz Brun <lorenz@brun.one>
- •
- Dave Vasilevsky <djvasi@gmail.com> <dave@vasilevsky.ca>
- •
- luzpaz <luzpaz@users.noreply.github.com>
- •
- jack <9480542+jackusm@users.noreply.github.com>
- •
- Jörn Friedrich Dreyer <jfd@butonic.de>
- •
- alingse <alingse@foxmail.com>
- •
- Fernando Fernández <ferferga@hotmail.com>
- •
- eccoisle <167755281+eccoisle@users.noreply.github.com>
- •
- Klaas Freitag <kraft@freisturz.de>
- •
- Danny Garside <dannygarside@outlook.com>
- •
- Samantha Bowen <sam@bbowen.net>
- •
- simonmcnair <101189766+simonmcnair@users.noreply.github.com>
- •
- huanghaojun <jasen.huang@ugreen.com>
- •
- Enduriel <endur1el@protonmail.com>
- •
- Markus Gerstel <markus.gerstel@osirium.com>
- •
- simwai <16225108+simwai@users.noreply.github.com>
- •
- Ben Alex <ben.alex@acegi.com.au>
- •
- Klaas Freitag <opensource@freisturz.de> <klaas.freitag@kiteworks.com>
- •
- Andrew Kreimer <algonell@gmail.com>
- •
- Ed Craig-Wood <138211970+edc-w@users.noreply.github.com>
- •
- Christian Richter <crichter@owncloud.com> <1058116+dragonchaser@users.noreply.github.com>
- •
- Ralf Haferkamp <r.haferkamp@opencloud.eu>
- •
- Jugal Kishore <me@devjugal.com>
- •
- Tho Neyugn <nguyentruongtho@users.noreply.github.com>
- •
- Ben Boeckel <mathstuf@users.noreply.github.com>
- •
- Clément Wehrung <cwehrung@nurves.com>
- •
- Jeff Geerling <geerlingguy@mac.com>
- •
- Germán Casares <german.casares.march+github@gmail.com>
- •
- fhuber <florian.huber@noris.de>
- •
- wbulot <wbulot@hotmail.com>
- •
- Jeremy Daer <jeremydaer@gmail.com>
- •
- Oleksiy Stashok <ostashok@tesla.com>
- •
- PrathameshLakawade <prathameshlakawade@gmail.com>
- •
- Nathanael Demacon <7271496+quantumsheep@users.noreply.github.com>
- •
- ahxxm <ahxxm@users.noreply.github.com>
- •
- Flora Thiebaut <johann.thiebaut@gmail.com>
- •
- kingston125 <support@filelu.com> <kingston125@github.com>
- •
- Ser-Bul <30335009+Ser-Bul@users.noreply.github.com>
- •
- jinjingroad <jinjingroad@sina.com>
- •
- necaran <55765083+necaran@users.noreply.github.com>
- •
- Marvin Rösch <marvinroesch99@gmail.com>
- •
- curlwget <curlwget@icloud.com>
- •
- $@M@RTH_ <165886349+Samarth1015@users.noreply.github.com>
- •
- Ali Zein Yousuf <azy5030@gmail.com>
- •
- Davide Bizzarri <davide.bizzarri@willhaben.at>
- •
- Ross Smith II <ross@smithii.com>
- •
- Vikas Bhansali <64532198+vibhansa-msft@users.noreply.github.com>
- •
- Sudipto Baral <sudiptobaral.me@gmail.com>
- •
- Sam Pegg <samrpegg@gmail.com> <70067376+S-Pegg1@users.noreply.github.com>
- •
- liubingrun <liubr1@chinatelecom.cn>
- •
- Albin Parou <fumesover@gmail.com>
- •
- n4n5 <56606507+Its-Just-Nans@users.noreply.github.com>.IP • 2 Florent Vennetier <florent.vennetier@ovhcloud.com>
- •
- houance <45840516+houance@users.noreply.github.com>
- •
- Yu Xin <3188+is@users.noreply.github.com>
- •
- Antonin Goude <antonin.goude@ovhcloud.com>
- •
- Timothy Jacobs <timothy@ironbounddesigns.com>
- •
- praveen-solanki-oracle <praveen.solanki@oracle.com>
- •
- huangnauh <huanglibo2010@gmail.com>
- •
- Lucas Bremgartner <breml@users.noreply.github.com>
- •
- Binbin Qian <qianbinbin@hotmail.com>
- •
- cui <523516579@qq.com>
- •
- Tilman Vogel <tilman.vogel@web.de>
- •
- skbeh <60107333+skbeh@users.noreply.github.com>
- •
- Claudius Ellsel <claudius.ellsel@live.de>
- •
- Motte <37443982+dmotte@users.noreply.github.com>
- •
- dougal <dougal.craigwood@gmail.com> <147946567+roucc@users.noreply.github.com>
- •
- anon-pradip <pradipsubedi360@gmail.com>
- •
- Robin Rolf <imer@imer.cc>
- •
- Jean-Christophe Cura <jcaspes@gmail.com>
- •
- russcoss <russcoss@outlook.com>
- •
- Matt LaPaglia <mlapaglia@gmail.com>
- •
- Youfu Zhang <1315097+zhangyoufu@users.noreply.github.com>
- •
- juejinyuxitu <juejinyuxitu@outlook.com>
- •
- iTrooz <hey@itrooz.fr>
- •
- Microscotch <github.com@microscotch.net>
- •
- Andrew Ruthven <andrew@etc.gen.nz>
- •
- spiffytech <git@spiffy.tech>
- •
- Dulani Woods <Dulani@gmail.com>
- •
- Marco Ferretti <mferretti93@gmail.com>
- •
- hunshcn <hunsh.cn@gmail.com>
- •
- vastonus <vastonus@outlook.com>
- •
- Oleksandr Redko <oleksandr.red+github@gmail.com>
- •
- reddaisyy <reddaisy@outlook.jp>
- •
- viocha <viocha@qq.com>
- •
- Aneesh Agrawal <aneesh@anthropic.com>
- •
- divinity76 <hans@loltek.net>
- •
- Andrew Gunnerson <accounts+github@chiller3.com>
- •
- Lakshmi-Surekha <Lakshmi.Kovvuri@ibm.com>
- •
- dulanting <dulanting@outlook.jp>
- •
- Adam Dinwoodie <me-and@users.noreply.github.com>
- •
- Lukas Krejci <metlos@users.noreply.github.com>
- •
- Riaz Arbi <riazarbi@users.noreply.github.com>
- •
- Fawzib Rojas <fawzib.rojas@gmail.com>
- •
- fries1234 <fries1234@protonmail.com>
- •
- Joseph Brownlee <39440458+JellyJoe198@users.noreply.github.com>
- •
- Ted Robertson <10043369+tredondo@users.noreply.github.com>
- •
- SublimePeace <184005903+SublimePeace@users.noreply.github.com>
- •
- Copilot <198982749+Copilot@users.noreply.github.com>
- •
- Alex <64072843+A1ex3@users.noreply.github.com>
- •
- n4n5 <its.just.n4n5@gmail.com>
- •
- aliaj1 <ali19961@gmail.com>
- •
- Sean Turner <30396892+seanturner026@users.noreply.github.com>
- •
- jijamik <30904953+jijamik@users.noreply.github.com>
- •
- Dominik Sander <git@dsander.de>
- •
- Nikolay Kiryanov <nikolay@kiryanov.ru>
- •
- Diana <5275194+DianaNites@users.noreply.github.com>
- •
- Duncan Smart <duncan.smart@gmail.com>
- •
- vicerace <vicerace@sohu.com>
- •
- Cliff Frey <cliff@openai.com>
- •
- Vladislav Tropnikov <vtr.name@gmail.com>
- •
- Leo <i@hardrain980.com>
- •
- Johannes Rothe <mail@johannes-rothe.de>
- •
- Tingsong Xu <tingsong.xu@rightcapital.com>
- •
- Jonas Tingeborn <134889+jojje@users.noreply.github.com>
- •
- jhasse-shade <jacob@shade.inc>
- •
- vyv03354 <VYV03354@nifty.ne.jp>
- •
- masrlinu <masrlinu@users.noreply.github.com> <5259918+masrlinu@users.noreply.github.com>
- •
- vupn0712 <126212736+vupn0712@users.noreply.github.com>
- •
- darkdragon-001 <darkdragon-001@users.noreply.github.com>
- •
- sys6101 <csvmen@gmail.com>
- •
- Nicolas Dessart <nds@outsight.tech>
- •
- Qingwei Li <332664203@qq.com>
- •
- yy <yhymmt37@gmail.com>
- •
- Marc-Philip <marc-philip.werner@sap.com>
- •
- Mikel Olasagasti Uranga <mikel@olasagasti.info>
- •
- Nick Owens <mischief@offblast.org>
- •
- hyusap <paulayush@gmail.com>
- •
- jzunigax2 <125698953+jzunigax2@users.noreply.github.com>
- •
- lullius <lullius@users.noreply.github.com>
- •
- StarHack <StarHack@users.noreply.github.com>
- •
- Leon Brocard <acme@astray.com>
- •
- Cohinem <143964778+Cohinem@users.noreply.github.com>
- •
- Jack Kelly <jack@OpenClimateFix.org>
- •
- Prakhar Chhalotre <chhalotreprakhar00@gmail.com>
- •
- Varun Chawla <34209028+veeceey@users.noreply.github.com>
- •
- Jan-Philipp Reßler <75355263+TabError@users.noreply.github.com>
- •
- Shlomi Avihou <shlomi@zadarastorage.com>
- •
- Chris <238498929+chris081519-crypto@users.noreply.github.com>
- •
- Jan-Philipp Reßler <xodarap@xodarap.de>
- •
- Dark Dragon <darkdragon-001@web.de>.IP • 2 Leon Brocard <lbrocard@fastly.com>
- •
- a1pcm <a1pcm@users.noreply.github.com>
- •
- FTCHD <144691102+FTCHD@users.noreply.github.com>
- •
- Bjoern Franke <bjo+git@schafweide.org>
- •
- hxnd <callmehxnd@outlook.de>
- •
- Adam Kasztenny <adamkasztenny@gmail.com>
- •
- Romāns Potašovs <justgook@gmail.com>
- •
- Brian Bockelman <bbockelman@morgridge.org>
- •
- Bjoern Franke <bjo@schafweide.org>
- •
- razorloves <razorloves@gmail.com>
- •
- Duncan F <131309315+duncanaf@users.noreply.github.com>
- •
- Billy Hughes <w.g.h.hughes@gmail.com>
- •
- Bhagyashreek8 <57988406+Bhagyashreek8@users.noreply.github.com>
- •
- Andriy Senyshyn <135705861+sam-mt@users.noreply.github.com>
- •
- Andrew Furman <7343697+furmandev@users.noreply.github.com>
- •
- ZRHan <56144550+ZRHann@users.noreply.github.com>
- •
- Jason <jasonbabo@gmail.com>
- •
- Patrick Farrell <pfarrell@whamcloud.com>
- •
- BizaNator <17164422+BizaNator@users.noreply.github.com>
- •
- lif <1835304752@qq.com>
- •
- jinkeyuu <44105232+jinkeyuu@users.noreply.github.com>
- •
- jinyu.han <jinyu.han@ucloud.cn>
- •
- Claude Opus 4.6 <noreply@anthropic.com>
- •
- Andriy Senyshyn <andriy.senyshyn@kiteworks.com>
- •
- Mike GIllan <mike.gillan@gmail.com>
- •
- Xiangzhe <xiangzhedev@gmail.com>
- •
- Suyun <suyun@aosc.io>
- •
- TheBabu <ariq.haqq@gmail.com>
- •
- Brais Couce <braiscouce@gmail.com>
- •
- Mozi <29089388+pzhlkj6612@users.noreply.github.com>
- •
- SyoBoN <syobon@syobon.net>
- •
- Jan Heylen <heyleke@gmail.com>
- •
- tdawe <90407556+tdawe1@users.noreply.github.com>
- •
- Anton Bordwine <54022438+antonchuvashow@users.noreply.github.com>
- •
- mathieulongtin <617359+mathieulongtin@users.noreply.github.com>
- •
- Luke Cyca <me@lukecyca.com>
- •
- dlaumen <262192488+dlaumen@users.noreply.github.com>
- •
- Yakov Till <37628546+Lyapsus@users.noreply.github.com>
- •
- Chris Coughlan <chris@coughlan.io>
- •
- John Volk <volkjohn@users.noreply.github.com>
- •
- 王一赫 <wyihe5220@gmail.com>
- •
- Gustavo V. F. <31892323+Gustavo-V-F@users.noreply.github.com>
- •
- Sven Rebhan <36194019+srebhan@users.noreply.github.com>
- •
- Copilot <223556219+Copilot@users.noreply.github.com>
- •
- KTibow <KTibow@users.noreply.github.com>
- •
- kkocdko <31189892+kkocdko@users.noreply.github.com>
- •
- Tim Schumacher <tim@tschumacher.net>
- •
- ferrumclaudepilgrim <ferrumclaudepilgrim@users.noreply.github.com>
- •
- Alvinwylim <31592545+Alvinwylim@users.noreply.github.com>
- •
- Tore Anderson <tore@fud.no>
- •
- Sai Asish Y <say.apm35@gmail.com>
- •
- Lucky945H <1355363613@qq.com>
- •
- William Tange <github@tan.ge>
- •
- TaterLi <admin@lijingquan.net>
- •
- KyokoMiki <161209740+kyokomiki@users.noreply.github.com>
- •
- Iizuki <36295229+Iizuki@users.noreply.github.com>
- •
- tomholford <16504501+tomholford@users.noreply.github.com> <tomholford@users.noreply.github.com>
- •
- caltechustc <caltechustc@outlook.com>
- •
- Valerij Fredriksen <freva@users.noreply.github.com>
- •
- Hakan İSMAİL <93117749+Hakanbaban53@users.noreply.github.com>
- •
- Brian King <BrianDKing@gmail.com>
- •
- Puneet Dixit <puneetdixit4321@gmail.com>
- •
- Yakov Till <yakov.till@gmail.com>
- •
- Janne Beate Bakeng <436265+jbbakeng@users.noreply.github.com>
- •
- IceLocke <lockeice@gmail.com>
- •
- nako-ruru <nako_ruru@163.com>
- •
- bright <nako_ruru@sina.com>
- •
- Filippo <57143294+FilippoMuschera@users.noreply.github.com>
- •
- Gaurav <amvermagaurav007@gmail.com>
- •
- Yuhang Cao <caoyuhang@fwerkor.com>
- •
- Yash Anil <yashanil98@gmail.com>
- •
- yashanil98 <79158725+yashanil98@users.noreply.github.com>
- •
- lewoberst <github@jan-o-sch.net>
- •
- max <max@example.com>
- •
- Bryan Stenson <bryan.stenson@gmail.com>
- •
- happysnaker <73147033+happysnaker@users.noreply.github.com>
- •
- Jan Schlien <rclone-github@jan-o-sch.net>
- •
- user77 <abubakarm@gmail.com>
- •
- maximilize <3752128+maximilize@users.noreply.github.com>
- •
- dithwick <46924962+dithwick@users.noreply.github.com>
- •
- Sandy Luppino <s.luppino@opendrives.com>
- •
- Sanjays2402 <51058514+Sanjays2402@users.noreply.github.com>
- •
- blackflytech <blackflytech@outlook.com>
- •
- Amit Mishra <amit.mishra.eee21@itbhu.ac.in>
- •
- Erol Ozcan <erol.ozcan@gmail.com>
- •
- TowyTowy <towy@airreps.link>
- •
- 0rangeSeaW0lf <0sw-8m4k2v@waku.li>
- •
- sijie-Z <sijie-zhou@users.noreply.github.com>
- •
- Søren Lindberg <deeferentleeg@gmail.com>.IP • 2 Kyue <Gooh456@users.noreply.github.com>
- •
- Giridhar <80974392+giri256@users.noreply.github.com>
- •
- p1 <giridharpavan593@gmail.com>
- •
- Zero Services GmbH <info@zeroservices.eu>
- •
- Noah Zalev <github@nzalev.ca>
- •
- Acts1631 <69813585+acts-1631@users.noreply.github.com>
- •
- ifloppy <68799904+ifloppy@users.noreply.github.com>
- •
- Dzmitry Nianakhau <dzmitry.nianakhau@scality.com>
- •
- Anupam Mediratta <mediratta@gmail.com>
- •
- Socialpranker <273312799+Socialpranker@users.noreply.github.com>
- •
- phatlc <phatle.hsd@gmail.com>
- •
- Punya Jain <4511945+punya10@users.noreply.github.com>
ارتباط با پروژه rclone (CONTACT THE RCLONE PROJECT)
انجمن گفتگو (Forum)
انجمن گفتگو برای پرسشها و بحثهای عمومی:
پشتیبانی تجاری (Business support)
برای پشتیبانی تجاری یا پرسشهای مربوط به حمایت مالی، لطفاً مراجعه کنید به:
- •
- https://rclone.com
- •
- <sponsorship@rclone.com>
مخزن GitHub (GitHub repository)
مخزن این پروژه در نشانی زیر قرار دارد:
در آنجا میتوانید گزارشهای باگ را ثبت کرده یا با pull requestها در توسعه مشارکت کنید.
توییتر (Twitter)
همچنین میتوانید برای اطلاع از اطلاعیههای rclone، حساب Nick را در توییتر دنبال کنید:
- •
- @njcw (https://twitter.com/njcw)
ایمیل (Email)
یا در صورتی که راههای دیگر میسر نشد، یا تمایل دارید موردی خصوصی یا محرمانه مطرح کنید:
- •
- <info@rclone.com>
لطفاً درخواستهای راهنمایی را به این نشانی ایمیل نکنید - بهتر است این موارد در انجمن گفتگو مطرح شوند، مگر اینکه قصد داشته باشید برای پشتیبانی تجاری ثبتنام کنید.
نویسندگان (AUTHORS)
Nick Craig-Wood.
| September 4, 2026 | User Manual |