آموزشسی پنل

بکاپ گیری خودکار MongoDB

بهترین راهکار برای جلوگیری از دادن داده های مهم بکاپ گیری از آن است، که در صورت خرابی سخت افزار یا مشکلات نرم افزار می توانید بازگردانی فایل پشتیبان را انجام دهید.پشتیبان گیری اتوماتیک از MongoDB به ما اطمینان خاطر می دهد تا در این زمان از داده های مهم سازمان محافظت کنیم و آن را بازگردانی نمائیم.

به صورت خلاصه برای راه اندازی بکاپ اتوماتیک MongoDB باید اقدامات زیر را انجام دهیم:

  • نوشتن یک اسکریپت برای ایجاد فولدر با نام تاریخ جاری و بکاپ گیری از MongoDB در داخل این فولدر
  • دادن دسترسی 777 به اسکریپت بکاپ گیری از دیتابیس مانگو
  • تعریف کردن این اسکریپت در Crontab برای اجرا در فواصل زمانی مورد نیاز

نکته: اگر شما سرور سی پنل دارید، می توانید مسیر فولدر بکاپ گیری را در یکی از اکانت های خودتان که شخص دیگری به آن دسترسی ندارد ایجاد کنید و همچنین این مسیر باید خارج از Public_html  و در داخل home آن کاربر سی پنل باشد تا قابل دانلود نباشد. همچنین در این حالت اگر بکاپ اتوماتیک توسط خود سی پنل یا jetbackup از این اکانت بر روی سرور دیگر نیز گرفته شود پایگاه های داده MongoDB شما نیز در لوکیشن دیگر آپلود خواهد شد.

قدم اول، ایجاد دایرکتوری مورد نظر برای بکاپ:

mkdir /db_backups

قدم دوم، نوشتن اسکریپت:

c#!/bin/sh
DIR=`date +%m%d%y`
DEST=/db_backups/$DIR
mkdir $DEST
mongodump -h -d -u -p -o $DEST

قدم سوم، اعمال دسترسی فول به این اسکریپت می باشد:
برای دسترسی دادن به فایل مربوطه توسط دستور زیر ما فرض کرده ایم شما اسکریپت را با نام mongobk.sh در home ذخیره کرده اید و دسترسی 777 را بر روی آن اعمال می کنیم تا قابل اجرا باشد.

chmod 777 /home/mongobk.sh

قدم چهارم، قرار دادن اسکریپت در Crontab برای اجرا در فواصل زمانی مورد نیاز می باشد:
برای تعریف زمان اجرای اسکریپت توسط Crontab باید دستوری Crontab -e را اجرا نمائید و بعد از اجرا در آخرین خط موجود، به صورت زیر اسکریپت نوشته شده را برای اجرا به همراه زمان های اجرا تعریف کنید. طبق تنظیم زیر هر شب ساعت 12 اجرای اسکریپت انجام خواهد شد. بعد از ایجاد خط زیر شما می توانید crontab را ذخیره و از آن خارج شوید.

0 0 * * * /home/mongobk.sh

 

نکاتی که می توان برای گسترش اسکریپت استفاده کرد:

کارهای دیگری که ممکن استبرای بهبود این اسکریپت انجام گیرد: پاک کردن فایل هایی که بیشتر از یک ماه از ایجاد آن ها گذشته است،به شرطی که نیازی به این بک آپ ها نداشته باشیم،به سادگی دایرکتوری های قدیمی را همزمان با پشتیبان گیری شبانه خود حذف می کنیم.

همچنین باید اسکریپت خود را با استفاده از متغیرهای مختلفی نظیر رمز عبور یا همان پسورد ایمن کنیم. قرار دادن پسورد دیتابیس در اسکریپتی نظیر این، بسیار می تواند خطرناک باشد. در صورتی که اسکریپت مقابل افراد اشتباه قرار گیرد،باید از یک متغیر برای پر کردن رمز عبور خود استفاده کنیم. همچنین ممکن است اتصال به Mongo از طریق ssh را ما به عنوان یک مسئله در نظر بگیریم، اما از حوصله این آموزش خارج می باشد.

در این آموزش روش بک آپ گیری خودکار MongoDB را برایتان شما آموزش دادیم. با این دید که اگر شما بدانید مسئله ی بک آپ چقدر حائز اهمیت است (در صورت وقوع اتفاقات ناگوار)، امیدواریم این مقاله به شما کمک شایانی کند!

فائزه سیّد بطحائی

فائزه سید بطحائی هستم، کارشناس مترجمی زبان انگلیسی با توجه به علاقه شدیدی که به دنیای فناوری اطلاعات و شبکه داشتم از سال 1389 وارد حوزه فناوری اطلاعات شدم و در زمینه شبکه و سرویس های میزبانی وب دوره های بین المللی متعدد و تجارب بسیاری کسب کردم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا