بک‌آپ گیری اتوماتیک از سرور با پارتیشن S3 Compatible پشتیبان و Rclone

بک اپ گیری اتوماتیک از سرور با rclone

Rclone چیست؟

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

پیش از این در مقاله “راهنمای Mount کردن پارتیشن S3-Compatible پشتیبان به عنوان درایو ذخیره‌سازی در ویندوز با استفاده از Rclone” ابزار آرکلون را معرفی کرده‌ایم. در این مطلب خواهیم دید چگونه بک اپ سرور خود را در فضای ابری s3 compatible پشتیبان به صورت اتوماتیک ذخیره سازی کنید. برای این کار در سه قدم بک آپ گیری سرورتان بر روی فضای ابری S3 پشتیبان اتوماتیک خواهد شد:

  • ایجاد پارتیشن s3 compatible در فضای ذخیره سازی ابری پشتیبان
  • نصب و کانفیگ Rclone
  • ایجاد کورون جاب برای اجرای اتوماتیک بک آپ گیری

فضای ابری S3 compatible در پشتیبان ایجاد کنید

پس از ساختن پارتیشن S3 compatible  خود در پنل وب پشتیبان این مشخصات برای اتصال به آبجکت استوریج در اختیار شما قرار خواهد داشت.

کلید دسترسی (Access Key ID)

کلید خصوصی (Secret Access Key)

اندپوینت S3 (یک نام دامنه تایید شده برای فضای ابری شما یا FQDM)

نام  Bucket (که پس از ساخت پارتیشن به هر تعداد که نیازداشته باشید در پارتیشن ایجاد می‌کنید)

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

اندپوینت S3 همان آدرس و موقعیت مکانی سرور شماست. با ورود آدرس اندپوینت پارتیشن S3 پشتیبان خود در مرورگروب به پنل وب S3 پشتیبان (MinIO)  دسترسی خواهید داشت و می‌توانید باکت‌های خود را ایجاد کنید و policy یا حق دسترسی‌های به باکت‌ها را تعریف کنید.

باکت (Bucket) اصطلاحی است که در Object Storage و ساختار S3 رواج دارد. همان ظرف ذخیره سازی شماست. شما می‌توانید به هر تعداد که بخواهید Bucket در پارتیشن S3 خود بسازید.

نصب و کانفیگ ابزار Rclone

وارد سرور اصلی‌تان شده و ابزار rclone را نصب کنید.

اتصال از طریق ssh و نصب rclone:

ssh [email protected] -p sshportnumber

برای دسترسی به نسخه متناسب با سیستم عامل خود از اینجا برای دانلود rclone اقدام کنید.

آموزش نصب rclone را در این آدرس دنبال کنید:

https://rclone.org/install

به عنوان مثال در نسخه لینوکس AMD 64 برای سرور cenots 6.9 به صورت زیر 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

نصب فایل‌های راهنما

sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb 

پس از نصب rclone باید آن را کانفیگ کنید و به فضای ابری خود در پشتیبان متصل کنید دستور زیر را برای کانفیگ ارکلود وارد کنید:

rclone config

در کانیفگ ارکلود باید یک ریموت کانکشن تعریف کنید بنابراین برای ساختن یک رمیون جدید گزینه new remote را با وارد کردن حرف n انتخاب کنید و در مرحله اول یک نام برای ریموت خود انتخاب کنید مثلا در تصویر زیر نام test وارد شده در مرحله بعد از بین لیست باید سرویس مناسب خودتان را انتخاب کنید چون می‌خواهید به پارتیشن s3 compatible پشتیبان متصل شوید گزینه 4 را انتخاب کنید سپس در لیست بعدی گزینه MinIO را انتخاب کنید و در مرحله بعد هم گزینه false را انتخاب کنید :

بک‌آپ گیری اتوماتیک از سرور با پارتیشن S3 Compatible پشتیبان و Rclone

در ادامنه با وارد کردن کلید دسترسی و کلید خصوصی و ادرس اندپوینت پارتیشن s3 پشتیبان را وارد کنید و بقیه تنظیمات را به صورت پیش فرض قرار دهید.

پس از انجام تنظیمات و خروج از بخش کانفیگ با دستور زیر می‌توانید داده‌های خود را با فضای ابری S3 پشتیبان سینک کنید:

 rclone sync /home/www/public_html/ test:backup --verbose > /var/log/rclone.log 2>&1
 

در کد بالا پس از دستور sync مسیر فایل‌ها بر روی سرورتان را وارد کنید و سپس نام ریموت کانکشنی که برای آرکلون انتخاب کرده اید و نام باکتی که در پشتیبان ساخته‌اید را وارد کنید.

در هنگام انتقال فایل‌ها با استفاده از دستور nload سرعت انتقال را تنظیم کنید:

 sudo yum install nload 
 nload -i 100000 -o 100000 

تنظیم cron job برای اجرای اتوماتیک فرایند سینک داده‌ها:

0 1 1,15 * * rclone sync /home/www/public_html/ test:backup --verbose > /var/log/rclone.log 2>&1

با دستور بالا دستور تعیین می‌کنید 1ام و 15 هم هر ماه ساعت 1 بامداد فایل های سرور در مسیر home/www را با پارتیشن S3 پشتیبان در باکت backup سینک شود.

برای ساختن کورون جاب با به صورت زیر سینک شدن داده ها را اتوماتیک کنید:

 sudo su - 
 crontab -e 

برای اینکه راحت تر کورون جاب شخصی خودتان را بسازید از این ابزار استفاده کنید. همچنین برای ایجاد کورون جاب در whm/cpanel در تب Advance با استفاده از گزینه cron job این کار را انجام می‌دهید.

نکته اضافه: بک اپ گیری دیتا بیس و ذخیره سازی در مسیر تنظیم شده:

اگر دیتابیس شما MySQL است با استفاده از mysqldump بک آپ دیتابیس خود را ایجاد کرده و در شاخه‌ای که با فضای ابری پشتیبان خود سینک کرده اید ذخیره کنید. با دستور زیر یک دایرکتوری با نام db در شاخه www ایجاد می‌کنیم:

cd /home/www/public_html/
mkdir dB

از کورون جاب زیر برای ایجاد بک اپ دیتا بیس در دایرکتوری db استفاده کنید:

mysqldump database_db > /home/www/public_html/dB/backup.sql

در ادامه لازم است یک فایل در سرورتان ایجاد کرده و پسورد دیتابیس را در آن ذخیره کنید:

touch .my.cnf
nano  .my.cnf
[client]
user = database_username
password = "database_password"
host = localhost