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

  اخبار ایران و جهان تاریخ و سیاست مهدویت علمی فرهنگی خانواده معارف اسلامی
مسیر جاری: صفحه اصلي / آموزشگاه رایانه / internet
 تبلیغات در سایت   
بزرگان واندیشمندان
نکته ها و ترفندهای رایانه ای  
ترفندی جالب برای یافتن متضاد ،...
ترفندی جالب برای افزودن نظر به...
ترفندی جالب برای یافتن سرعت حقيقی...
نمایش نام سازندگان Nero با افکت...
ساخت ویروسی خطرناک برای ریست کردن...
ساخت ویروسی برای ریست کردن کامپیوتر...
3 راه براي فعال کردن گزینه Show...
راهنمای قدم به قدم ساخت سایت رایگان...
تبدیل متن دلخواه شما به تصویر به...
کار کردن با کامپیوتر در هنگام نصب...
بازگرداندن Driver قبلی ، در صورتی...
دستورات کوچک برای اجرای برنامه...
کامپیوتر شما از چه زمانی روشن بوده...
دستورهای مهم برای استفاده در Run
روش رجیستر و آپدیت کردن ویندوز...
مشاده کلیه اطلاعات سخت افزاری و...
ساخت فایل Mute برای بی صدا نمودن...
مشاهده آسان محتوای Clipboard با...
حذف سریع عبارات جستجو شده در Search...
روش نصب همزمان تعداد زیادی فونت...
افزودن گزینه باز کردن با CMD به...
تغيير فرمت گروهي فایل ها با یک...
چاپ فهرست فایل ها و اطلاعات موجود...
حضور مخفی در شبکه
ویرایش رجیستری کلیه سیستم های تحت...
ترفندی برای قطع ارتباط اتوماتيک...
ترفندهای امنیتی در ایجاد یک شبکه...
مدیریت منوی انتخاب ویندوزها در...
تغییر مدت زمان مشاهده منوی انتخاب...
رو کردن دست ویندوز در هنگام بوت...
جدیدترین نرم افزارها  
دانلود Corel AfterShot Pro v1.0 مديريت قدرتمند تصاوير
دانلود Corel AfterShot Pro v1.0 مديريت قدرتمند تصاوير
دانلود OnOne Perfect Portrait v1.0 روتوش حرفه اي تصاوير
دانلود OnOne Perfect Portrait v1.0 روتوش حرفه اي تصاوير
ساخت جعبه هاي سه بعدي از محصولات با TBS Cover Editor v2.4.2.294
ساخت جعبه هاي سه بعدي از محصولات با TBS Cover Editor v2.4.2.294
نرم افزار تبديل و نمايش ويديوهاي DivX با DivX Plus Pro v8.2.1.10.3.1
نرم افزار تبديل و نمايش ويديوهاي DivX با DivX Plus Pro v8.2.1.10.3.1
دانلود ضميمه کليک روزنامه جام جم شماره 362
دانلود ضميمه کليک روزنامه جام جم شماره 362
دانلود ضميمه بايت روزنامه خراسان شماره 204
دانلود ضميمه بايت روزنامه خراسان شماره 204
دانلود ضميمه بايت روزنامه خراسان شماره 204
دانلود بايت شماره 206 - هفته نامه فناوري اطلاعات روزنامه خراسان
دانلود ضميمه بايت روزنامه خراسان شماره 205
دانلود بايت شماره 205 - هفته نامه فناوري اطلاعات روزنامه خراسان
مجموعه 4 تم ویژه میلاد امام صادق(علیه السلام)
مجموعه 4 تم ویژه میلاد امام صادق(علیه السلام)
مجموعه 6 تم ویژه میلاد پیامبر اکرم (ص)
مجموعه 6 تم ویژه میلاد پیامبر اکرم (ص)
پشتیبان گیری از بانک‌های اطلاعاتی MySQL

 نویسنده :  www.schoolnet.ir  89.4.23   410 بار مشاهده  


پشتیبان گیری از بانک‌های اطلاعاتی MySQL






امروزه با همه گیر شدن سایت‌های پویا، بسیاری از سرویس‌دهنده‌های وب که این نرم‌افزارهای کاربردی وب را اجرا می‌کنند، دارای تعداد زیادی بانک اطلاعاتی هستند که همانند فایل‌های دیگر نیاز است تا بصورت مرتب از آنها نسخه‌های پشتیبان تهیه شود. گاهی اهمیت نسخه‌های پشتیبان از بانک‌های اطلاعاتی از نسخه‌های پشتیبان فایل سیستم بیشتر است. دلیل آن هم روشن است، بسیاری از اطلاعات مهم در بانک‌های اطلاعاتی ذخیره می‌شوند نه در فایل سیستم!

در مقاله حاضر اسکریپتی را ایجاد خواهیم کرد که عمل پشتیبان گیری را بطور خودکار بر روی یک سرویس‌دهنده ثالث در ساعات خاصی از روز انجام دهد. اتصال به سرویس‌دهنده ثالث می‌تواند بصورت اشتراک‌های nfs و یا از طریق ssh صورت پذیرد.

در قدم نخست باید موارد ابتدایی و لازم برای انجام پشتیبان گیری را فراهم کرد. نخست باید بر روی سرویس‌دهنده بانک اطلاعاتی MySQL کاربری را ایجاد کرد که دارای حداقل دسترسی برای خواندن و ذخیره اطلاعات باشد. برای این منظور دستورات زیر را وارد می‌کنیم:
mainserver# mysql -u root -p
mysql> grant select,lock tables on *.* to
bkuser@localhost identified by 'bkpass';
بجای bkuser و bkpass می‌توانید نام کاربر و کلمه عبور مورد نظر خودتان را استفاده نمایید.

در صورتی که بخواهید تا فایل‌های نسخه‌های پشتیبان از طریق ssh در سرویس‌دهنده مقصد کپی شوند، باید چند کار اضافه‌تر نیز انجام دهید. بدلیل اینکه ارتباط باید بصورت خودکار و بدون دخالت کاربر صورت گیرد، باید عملیاتی را انجام داد تا باعث شود تا سرویس‌دهنده اصلی بتواند بدون نیاز به کلمه عبور به سرویس‌دهنده مقصد متصل گردد. برای این کار از روش ارسال کلید عمومی ssh سرویس‌دهنده مقصد بر روی سرویس‌دهنده اصلی استفاده می‌شود. برای ایجاد کلیک عمومی ssh بر روی سرویس‌دهنده مقصد، دستور زیر را وارد نمایید:
backupserver$ ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ''
backupserver$ chmod -R 700 .ssh/
سپس فایل id_dsa.pub موجود در شاخه ssh. را در شاخه root/.ssh/ سرویس‌دهنده اصلی با نام authorized_keys2 کپی نمایید:
backupserver$ scp .ssh/id_dsa.pub
root@mainserver:/root/.ssh/authorized_keys2

بسته به شماره نسخه سرویس‌دهنده ssh ای که بر روی سرویس‌دهنده اصلی در حال اجراست، ممکن است نیاز داشته باشید تا نام فایل authorized_keys2 به authorized_keys تغییر داده شود. برای این منظور می‌توانید یک لینک از آن به فایل authorized_keys ایجاد کنید:
mainserver# ln -s /root/.ssh/authorized_keys2 /root/.ssh/authorized_keys

نکته مهمی که باید رعایت کنید این است که کلید عمومی یک کاربر غیر از کاربر ریشه را بر روی سرویس اصلی قرار دهید تا در صورتی که احتمالا سرویس‌دهنده اصلی شکسته شود، امکان دسترسی کامل نفوذگر بر روی سرویس‌دهنده پشتیبان فراهم نگردد. برای مثال می‌توانید یک کاربر با نام backup بر روی سرویس دهنده مقصد ایجاد کنید. پس از کپی کلید بر روی سرویس‌دهنده اصلی، مجوز آنرا برای امنیت بیشتر بر روی 600 تنظیم کنید:
mainserver# chmod 600 /root/.ssh/authorized_keys*
در مرحله بعدی شاخه‌ای را که فایل‌های پشتیبان در آن ذخیره خواهد شد را بر روی سرویس‌دهنده مقصد ایجاد می‌کنیم:
backupserver$ mkdir /home/backup/bkstore/

اکنون تمامی مقدمات برای بکارگیری اسکریپت پشتیبان گیری از بانک اطلاعاتی انجام شده است. اسکریپت مورد استفاده ما دارای ساختاری به شکل زیر است:
#!/bin/sh
DATESTAMP="`date +%Y-%m-%d`"
echo -n "Processing Auto DB Backup..."
echo
cd /var/lib/mysql/
for x in *
do
if [ $x = "my.cnf" ]; then
echo $x
echo "invalid DB..."
else
echo $x
echo "valid DB..."
mysqldump -u bkuser -pbkpass $x > /root/dbs/tmp/$x.$DATESTAMP.sql
fi
done
cd /root/dbs/
rm `find tmp/ -size 0`
echo "Compressing DB Backups..."
tar -czf dbs.$DATESTAMP.tar.gz tmp/*
rm tmp/*.sql
echo "Copying DBs..."
scp dbs.$DATESTAMP.tar.gz
backup@backupserver:/home/backup/bkstore/
cd

همانطور که مشاهده می‌کنید، نحوه عمل این اسکریپت بسیار ساده است. اسکریپت وارد شاخه var/lib/myslq/ که در آنجا بانک‌های اطلاعاتی ذخیره می‌شود شده و با استفاده از یک حلقه ساده for و دستور mysqldump شروع به پشتیبان گیری از بانک‌های اطلاعاتی می‌کند. در نهایت نیز تمامی فایل‌ها را بصورت فشرده در آورده و با استفاده از دستور scp بر روی سرویس‌دهنده مقصد کپی می‌کند. در صورتی که سرویس‌دهنده مقصد با استفاده از اشتراک nfs به سرویس‌دهنده اصلی متصل بود، تنها به یک دستور cp اکتفا می‌کردیم و نیازی به بکارگیری کلیدهای عمومی ssh وجود نداشت ولی امنیت در هنگام انتقال اطلاعات در حالت دوم یعنی بکارگیری ssh بیشتر است.

اسکریپت بالا را با نامی مانند mysqlbk در مسیر root/ ذخیره کرده و مجوز اجرا به آن می‌دهیم:
mainserver# chmod +x mysqlbk
برای اینکه عملیات پشتیبان گیری بصورت خودکار و در ساعت خاصی از روز انجام گیرد، می‌توانیم از cron استفاده کنیم. دستور زیرا را تایپ کرده:
mainserver# crontab -e
سپس خط زیر را وارد می‌کنیم:
0 3 * * * /root/mysqlbk
از این پس هر روز در ساعت ۳ صبح عملیات پشتیبان گیری و کپی بر روی سرویس‌دهنده مقصد بصورت خودکار انجام خواهد شد.
برای افزایش ضریب اطمینان می‌توان اسکریپت خودکاری را بر روی سرویس‌دهنده مقصد تعبیه کرد که فایل‌های پشتیبان را به محل امن دیگری انتقال دهد.

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




  تبلیغات در سایت   
نقش نماز در شخصیت جوانان
خوشبختی در خانه شماست
آداب نماز
گیاه درمانی
رسانه



ارتباط با ما نقشه سایت اخبار ایران و جهان تاریخ و سیاست مهدویت علمی فرهنگی خانواده معارف اسلامی صفحه اصلی

پرتال فرهنگی اطلاع رسانی نور
copyright 2007 Noorportal.net All Right Reserved ©
صفحه اصلیارتباط با مانقشه سایتدرباره ما