بکآپ گیری اتوماتیک از سرور با پارتیشن S3 Compatible پشتیبان و 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 root@yourserverdomain -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 پشتیبان را وارد کنید و بقیه تنظیمات را به صورت پیش فرض قرار دهید.
پس از انجام تنظیمات و خروج از بخش کانفیگ با دستور زیر میتوانید دادههای خود را با فضای ابری 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 3 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