بک آپ گیری از دیتابیس mongo واقع در container

dump containerize docker mongo

ابتدا باید mongodb-tools در همان container نصب گردد تا بتوان از دستور mongodump استفاده کرد اما معمولا داخل خود container موجود نیست که mongodb  درون آن نصب می باشد علاوه برداشتن mongodb-tools

امکان apt و apt-get و install نیز موجود نمی باشد.

برای این امر به container های دیگر در آن شبکه که کمی امکانات بیشتری دارند رفته و به صورت شبکه از mongodb بک آپ گرفته می شود.

برای چک کردن شبکه ی کانتینر و دسترسی به mongo کانتینری که دیتابیس mongodb در آن قرار ندارد کامند زیر را زده می شود:

mongo --host <CONTAINER_ID> --port <PORT>

پیش نیاز : 

apt-get install
apt-get upgrade
apt-get update
apt-get install wget 
apt-get install -y mongodb

اگر دیتابیس را مشاهده کنید مراحل زیر را اجرا می کنیم:

سپس یک فایل بک آپ می سازیم:

touch <BACKUPFILE_NAME>.bson

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

Mongo --host <CONTAINER_ID> --port <PORT> -d <DATABASE_NAME> -c <COLLECTION_NAME> --out - > <COLLECTIONFILE_NAME>.bson

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

سپس فایل بک آپ را با دستور زیر فشرده کنید:

gzip <BACKUPFILE_NAME>.bson

سپس با میانبر CTRL+D از Container خارج می شوید و با دستور زیر فایل فشرده شده در container را در سرور کپی کنید:

docker cp  <CONTAINER_ID>:<SOURCE_ADDRESS>/<BACKUPFILE_NAME>.bson.gz <DESTINATION_ADDRESS>

برای انتقال فایل از سرور راه های متعددی وجود دارد:

1.استفاده از دستور SCP 

2.استفاده از ایجاد لینک در وب سرور NGINX و دانلود آن در local 

3. …

.

.

دسته‌بندی نشده

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

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