داشتن Google Drive و OneDrive و Dropbox به صورت هم‌زمان روی کامپیوتر می‌تواند خیلی زود مدیریت فایل‌ها را به کاری دردسرساز تبدیل کند. هر سرویس کلاینت مخصوص خود را دارد که در پس‌زمینه از منابع سیستم استفاده می‌کند و آیکون جداگانه‌ای در بخش اعلان‌ها نمایش می‌دهد. علاوه بر این هر سرویس روش متفاوتی برای مدیریت همگام‌سازی و تعارض فایل‌ها دارد.

اگر فضای ذخیره‌سازی ابری در چند سرویس مختلف پراکنده شده باشد دسترسی به فایل‌ها و مدیریت آن‌ها نیز دشوارتر می‌شود. راهکار ساده‌تر این است که همه حساب‌های ابری در قالب یک فضای ذخیره‌سازی واحد در اختیار قرار بگیرند.

Rclone دقیقاً برای چنین کاری کاربرد دارد. این ابزار رایگان و متن‌باز می‌تواند چندین سرویس ذخیره‌سازی ابری را به یکدیگر متصل کند و آن‌ها را به صورت یک درایو یا پوشه واحد در سیستم نمایش دهد. Rclone در حال حاضر از بیش از ۷۰ سرویس و پروتکل ذخیره‌سازی پشتیبانی می‌کند.

با سیاره‌ی آی‌تی همراه باشید تا نرم‌افزار رایگان Rclone را بهتر بشناسیم.

یک ابزار برای ترکیب سرویس‌های ذخیره‌سازی ابری

Rclone ده‌ها سرویس ابری را از طریق خط فرمان به یکدیگر متصل می‌کند

Rclone یک ابزار رایگان و متن‌باز مبتنی بر خط فرمان است که با طیف بسیار گسترده‌ای از سرویس‌های ذخیره‌سازی ابری سازگاری دارد. Google Drive و OneDrive و Dropbox و Mega و حتی گزینه‌های ذخیره‌سازی خودمیزبان مانند Nextcloud را می‌توان با آن مدیریت کرد.

Rclone از نظر ایده شباهت زیادی به rsync دارد اما به جای اینکه صرفاً پوشه‌های موجود روی دیسک محلی را همگام‌سازی کند حساب‌های ذخیره‌سازی ابری را مانند دایرکتوری‌های محلی در اختیار سیستم قرار می‌دهد. هر حساب ابری در Rclone به عنوان یک remote تعریف می‌شود و پس از پیکربندی می‌توان فایل‌های آن را فهرست کرد یا فایل‌ها را کپی و همگام‌سازی کرد و حتی فضای ابری را روی سیستم Mount کرد.

در این روش دیگر لازم نیست برای هر سرویس یک کلاینت دسکتاپ جداگانه نصب شود. همچنین برای مدیریت فایل‌ها نیازی به باز کردن مرورگر و ورود جداگانه به هر سرویس نخواهد بود.

برای راه‌اندازی حساب‌های ابری در Rclone دو روش وجود دارد. روش اول استفاده از دستور rclone config در ترمینال است و روش دوم از رابط مرورگری داخلی Rclone بهره می‌برد. فرایند پیکربندی سرویس‌هایی مانند OneDrive نیز از طریق همین دستور انجام می‌شود و Rclone برای دریافت مجوز دسترسی کاربر را به مرورگر هدایت می‌کند.

برای هر سرویس کافی است یک نام برای remote انتخاب شود و نوع فضای ذخیره‌سازی موردنظر از فهرست نمایش‌داده‌شده انتخاب شود. Rclone سپس مرورگر را برای انجام فرایند OAuth باز می‌کند تا دسترسی حساب تأیید شود. این فرایند مشابه روشی است که اپلیکیشن‌های رسمی برای دریافت مجوز دسترسی به حساب کاربری استفاده می‌کنند.

پس از تکمیل فرایند اطلاعات remote در فایل پیکربندی Rclone ذخیره می‌شود.

این مراحل باید برای هر سرویس به صورت جداگانه انجام شوند. با این حال اگر فقط چند سرویس مانند Google Drive و OneDrive و Dropbox در اختیار باشد کل فرایند معمولاً زمان زیادی نمی‌برد. پس از پایان کار می‌توان اتصال هر حساب را با دستورهایی مانند دستور زیر بررسی کرد:

rclone ls [drive name]

ترفند اصلی؛ ترکیب همه حساب‌ها با Union Remote

Backend مربوط به Union چند فضای ابری را مانند یک فضای ذخیره‌سازی واحد نمایش می‌دهد

تعریف remoteهای جداگانه مفید است اما در این حالت هر حساب همچنان به صورت یک فضای ذخیره‌سازی مستقل دیده می‌شود. اگر هدف فقط مدیریت جداگانه حساب‌ها باشد همین مرحله کافی است.

اما اگر قرار باشد همه فضای ذخیره‌سازی ابری به شکل یک درایو واحد نمایش داده شود باید از Union در Rclone استفاده کرد.

برای این کار می‌توان دستور زیر را اجرا کرد:

rclone config

اتصال Google Drive و OneDrive و Dropbox به یک درایو با Rclone

سپس هنگام ایجاد remote جدید گزینه union را به عنوان نوع فضای ذخیره‌سازی انتخاب کرد.

در مرحله بعد باید remoteهایی که قرار است با یکدیگر ترکیب شوند مشخص شوند. برای مثال می‌توان چیزی شبیه عبارت زیر تعریف کرد:

gdrive: mega: onedrive:

Rclone پس از آن همه remoteهای مشخص‌شده را مانند یک فایل‌سیستم واحد مدیریت می‌کند. در نتیجه هنگام ورود به Union Remote فایل‌های موجود در حساب‌های مختلف در یک ساختار دایرکتوری واحد نمایش داده می‌شوند.

نحوه قرار گرفتن فایل‌های جدید نیز به سیاست‌های تعریف‌شده برای Union بستگی دارد. می‌توان تنظیم کرد فایل‌های جدید به remoteای منتقل شوند که فضای خالی بیشتری دارد یا یک remote مشخص به عنوان مقصد پیش‌فرض انتخاب شود.

امکان تعیین محدودیت برای remoteهای مختلف نیز وجود دارد. به عنوان مثال می‌توان یک حساب را فقط برای خواندن در نظر گرفت یا اجازه ایجاد فایل‌های جدید در آن را غیرفعال کرد. برای این کار می‌توان از پسوندهایی مانند :ro و :nc استفاده کرد.

این قابلیت زمانی کاربرد زیادی دارد که یکی از حساب‌ها صرفاً برای نگهداری نسخه پشتیبان در نظر گرفته شده باشد و نباید فایل‌های جدید به صورت عادی در آن ایجاد شوند.

تبدیل فضای ابری به یک پوشه معمولی

فضای ذخیره‌سازی ترکیبی را مستقیماً در فایل اکسپلورر Mount کنید

پس از ساخت Union Remote یک فایل‌سیستم یکپارچه در اختیار خواهید داشت اما این فایل‌سیستم هنوز مجازی است و به صورت یک پوشه معمولی در کامپیوتر نمایش داده نمی‌شود.

برای Mount کردن آن در لینوکس و macOS می‌توان از FUSE استفاده کرد. در ویندوز قابلیت FUSE به صورت بومی وجود ندارد و بنابراین باید ابتدا WinFSP نصب شود. WinFSP امکان ارائه فایل‌سیستم‌های سفارشی به صورت درایوهای ویندوز را فراهم می‌کند.

پس از آماده‌سازی سیستم می‌توان در لینوکس دستور زیر را اجرا کرد:

rclone mount union: /path/to/mount

در ویندوز نیز می‌توان از دستور زیر استفاده کرد:

rclone mount union: X:

پس از اجرای دستور Union Remote به عنوان یک درایو معمولی در سیستم نمایش داده می‌شود. از اینجا به بعد می‌توان فایل‌ها را باز کرد و آن‌ها را کپی یا جابه‌جا کرد.

نمونه واقعی Mount شدن فضای ذخیره‌سازی با Rclone در فایل اکسپلورر ویندوز نیز دقیقاً چنین ساختاری را نشان می‌دهد؛ فضای Mount‌شده مانند یک درایو عادی در فایل اکسپلورر ظاهر می‌شود و می‌توان فایل‌ها و پوشه‌ها را مانند یک فضای محلی مدیریت کرد.

اتصال Google Drive و OneDrive و Dropbox به یک درایو با Rclone

همچنین در صورت نیاز می‌توان از گزینه‌هایی مانند --vfs-cache-mode writes استفاده کرد. این گزینه برای اجرای برنامه‌هایی که باید فایل‌ها را روی فضای Mount‌شده ذخیره کنند مفید است. به عنوان مثال ویرایشگرهای متنی ممکن است برای ذخیره صحیح فایل‌ها به این حالت نیاز داشته باشند.

Rclone به صورت پیش‌فرض رفتار متفاوتی در زمینه Cache فایل‌ها دارد و در برخی شرایط ممکن است برنامه‌ها نتوانند مانند یک درایو محلی معمولی فایل را مستقیماً ذخیره کنند. تنظیم حالت VFS مناسب می‌تواند این مشکل را برطرف کند.

البته Mount دستی یک نکته مهم دارد. اگر ترمینالی که Rclone در آن اجرا شده بسته شود یا سیستم دوباره راه‌اندازی شود Mount نیز از بین خواهد رفت.

در لینوکس می‌توان دستور Mount را به تنظیمات راه‌اندازی سیستم یا Window Manager اضافه کرد تا پس از ورود به سیستم به صورت خودکار اجرا شود.

در ویندوز نیز می‌توان از ابزارهایی مانند NSSM برای ثبت دستور Rclone به عنوان یک سرویس پس‌زمینه استفاده کرد تا پس از روشن شدن کامپیوتر به صورت خودکار اجرا شود.

پس از انجام این تنظیمات نیازی به اجرای دستی دستورها در هر بار ورود به سیستم نخواهد بود. درایو ترکیبی می‌تواند مانند یک پوشه معمولی همیشه در دسترس باشد و فایل‌های چند حساب ابری را در یک محل نمایش دهد.

آیا ساخت یک پوشه واحد ارزش این دردسر را دارد؟

کمی پیکربندی می‌تواند چند سرویس ابری را در یک رابط واحد قرار دهد

راه‌اندازی اولیه Rclone را می‌توان در چند دقیقه انجام داد اما اگر قرار باشد Mount به صورت دائمی تنظیم شود و گزینه‌های موردنیاز برای Cache و اجرای خودکار نیز در نظر گرفته شوند فرایند راه‌اندازی می‌تواند زمان بیشتری نیاز داشته باشد.

با این حال پس از تکمیل پیکربندی مزیت اصلی Rclone کاملاً مشخص می‌شود. به جای نصب چند کلاینت دسکتاپ و مدیریت چندین پوشه و آیکون و فرایند همگام‌سازی می‌توان چند حساب ابری را از طریق یک فایل‌سیستم واحد مدیریت کرد.

البته Rclone جایگزین کامل نرم افزارهای تخصصی پشتیبان‌گیری نیست. اگر هدف ایجاد نسخه‌های پشتیبان خودکار و افزونه در چند حساب مختلف باشد استفاده از ابزار اختصاصی Backup همچنان انتخاب مناسب‌تری است.

اما برای دسترسی به فضای ذخیره‌سازی پراکنده و تبدیل چند سرویس ابری به یک درایو یکپارچه Rclone گزینه بسیار قدرتمندی محسوب می‌شود. مهم‌تر اینکه این ابزار کاملاً رایگان و متن‌باز است و در سیستم‌عامل‌های مختلف نیز عملکرد مشابهی ارائه می‌دهد.

اگر چند حساب ابری دارید و نمی‌خواهید برای هرکدام یک کلاینت جداگانه روی سیستم اجرا شود Rclone می‌تواند راهی ساده برای تبدیل همه آن‌ها به یک فضای ذخیره‌سازی واحد باشد.