بهترین و سریع ترین راه برای بکآپ گیری از صدها هزار فایل و
صدها گیگ دیتابیس چی هست ؟
سرور لینوکس ، دایرکت ادمین.
با خود دایرکت ادمین برای گرفتن بکآپ چند ساعت زمان میبره
و توی اون مدت هم به هیچ سرویسی نمیشه دسترسی داشت
چون تمام پردازش Mysql صرف بکآپ میشه !
میشه فایلارو فقط از سرور به یه پوشه دیگه کپی کرد ؟
مسئولین سرورها و میزبانی ها چکار میکنن معمولا ؟
iMohsen
January 22nd, 2013, 13:04
اگر دیتابیس Innodb ندارید و نسخه منبع و مقصد یکی هست میتونید با کپی کردن فایلها از طریق scp هم انتقال بدید .
اگر حجم فایلها کم و تعدادشون زیاده زیپ کنید ( و یا آرشیو tar )
اگر حجم فایلها زیاده و تعدادشون کم با rsync و compression انتقال بدید .
Dat
January 22nd, 2013, 13:30
اگر دیتابیس Innodb ندارید و نسخه منبع و مقصد یکی هست میتونید با کپی کردن فایلها از طریق scp هم انتقال بدید .
اگر حجم فایلها کم و تعدادشون زیاده زیپ کنید ( و یا آرشیو tar )
اگر حجم فایلها زیاده و تعدادشون کم با rsync و compression انتقال بدید .
ممنون از راهنماییتون ، کپی کردن دیتابیس های حجیم به همین روش scp ، آیا باز هم باعث گرفتن منابع
زیادی مثل رم و سی پی یو هست ؟ چون الان از طریق روش dump اصلا مناسب نیست.
و اگر توی ساعاتی باشه که تعدادی کاربران و بازدید فعال باشن براحتی باعث آورلود و خطا میشه.
میخواستم ببینم توی روش کپی دستی این مشکل هم هست یا نه.
iMohsen
January 22nd, 2013, 13:43
ممنون از راهنماییتون ، کپی کردن دیتابیس های حجیم به همین روش scp ، آیا باز هم باعث گرفتن منابع
زیادی مثل رم و سی پی یو هست ؟ چون الان از طریق روش dump اصلا مناسب نیست.
و اگر توی ساعاتی باشه که تعدادی کاربران و بازدید فعال باشن براحتی باعث آورلود و خطا میشه.
میخواستم ببینم توی روش کپی دستی این مشکل هم هست یا نه.
در روش کپی دستی فقط دیسک و پورت اشغال میشه . البته شما در scp با استفاده از پارامتر های میتونید میزان پهنای باند مصرفیش رو هم محدود کنید که پورت رو کامل اشغال نکنه و سرور تایم اوت بشه .
البته باز هم میگم اگر innodb داشته باشید به روش کپی فایل این دیتابیس یا جدول های Innodb منتقل نمیشن و باید dump ازشون بگیرید .
Dat
January 22nd, 2013, 14:43
در روش کپی دستی فقط دیسک و پورت اشغال میشه . البته شما در scp با استفاده از پارامتر های میتونید میزان پهنای باند مصرفیش رو هم محدود کنید که پورت رو کامل اشغال نکنه و سرور تایم اوت بشه .
البته باز هم میگم اگر innodb داشته باشید به روش کپی فایل این دیتابیس یا جدول های Innodb منتقل نمیشن و باید dump ازشون بگیرید .
innodb نیست و بصورت فایل ذخیره میشود ، فقط یه موضوع مهم ، لازمه که mysqld رو stop کنم یا همزمان با فعالیت هم میشه ؟
اگر همزمان با فعالیت ما اقدام به کپی کنیم چه اتفاقی میفته ؟
الان سرورهای بزرگی که مثلا 500 سایت رو هاست میکنن ، چطور از این حجم اطلاعات بکآپ میگیرند ؟
بسیار ممنون از راهنمایی هاتون.
iMohsen
January 22nd, 2013, 16:17
اگر اطلاعات ثبتی شما مهم هستند اول استاپ کنید و بعد انتقال بدید اما اگر استاپ نکنید هم میشه انتقال فقط ممکنه مثلا تا دارید تیبل اول رو انتقال میدید در تیبل دوم اطلاعاتی وارد بشه که مرجعش توی تیبل اولی باید باشه .
مثلا فروم ها رو باید سریع انتقال داد و یا دیتابیس رو از دسترس خارج کرد وگرنه پست و آمار کاربرا میریزه به هم .
سرور های بزرگ معمولا با استفاده از نرم افزارهای کنترل پنل بک آپ میگیرن . مثلا سی پنل dump میگیره ولی هر دیتابیس و تیبل را جدا میگیره و در بین هر دامپ لود سرور رو چک میکنه .
البته دیتابیس های خیلی حجیم رو میشه به صورت incremental هم بک آپ گرفت که دائم مجبور نباشه سرور مثلا 200 گیگ دیتا رو جابجا کنه . میاد فقط اون میزان دیتایی که تغییر پیدا کرده رو انتقال میده .
ms313
January 22nd, 2013, 20:51
واسه دایرکت ادمین از چی استفاده کنیم.؟
بله گفته شما درست ! اما یه سوال اگه سرور رو استاپ کنیم که سایت ها بالا نمیاد اونوقت چیکار کنیم؟
iMohsen
January 22nd, 2013, 21:53
واسه دایرکت ادمین از چی استفاده کنیم.؟
بله گفته شما درست ! اما یه سوال اگه سرور رو استاپ کنیم که سایت ها بالا نمیاد اونوقت چیکار کنیم؟
عرض کردم که حتما احتیاج نیست دیتایس سرور استاپ بشه . اگر نیاز دارید که اطلاعات در زمان انتقال تغییر نکنه دیتابیس رو استاپ کنید اگرنه حتما نیاز نیست .