سلام.
برای صاحبان سایت های دینامیک گرفتن بک آپ از دیتایس خیلی مهمه و اگر این بک آپ حجمش بالا باشه ( مثلا بالای 100 مگابایت یا حتی حدود 1 گیگابایت ) بک آپ گیری دشوار خواهد شد و با سرعتی که ما در ایران داریم تقریبا غیر ممکن هست .
حالا من میخوام آموزش گرفتن بک آپ و ریستورکردن آن رو از طریق خود سرور بیان کنم امیدوارم مفید باشه.
برای اینکار شما باید به سرور لینوکسی با دسترسی شل داشته باشید . ( حتما باید دسترسی شما root باشه)
اول : برنامه PuTTY رو دانلود کنیداین نرم افزار به نظر من حرفه ای ترین در shell هست > http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
با اجرای برنامه و ورود به فضای شل سایت ( اگر کار با این نرم افزار رو نمیدونید بگید تا توضیحی مختصر بدم) کار رو آغاز میکنیم .
uname = نام کاربری دیتابیس (username)
dbname= نام دیتابیس
db_backup.sql = نام فایلی که اطلاعات دیتابیس در اون هست .
1_ طریقه بک آپ گیری (backup) :
کاری که خط فرمان بالا در شل لینوکس انجام میده از دیتابیس dbname بک آپ میگیره و بعد اون رو با نام db_backup.sql ذخیر میکنه .
حالا شما با داشتن این بک آپ و آرشیو کردن اون میتونید هر زمان که بخواهین اون رو ریستو یا دانلود کند...
* اگر قصد دارید فایل بک آپ رو بصورت فشورد ( مثل zip) داشته باشین دستور زیر رو استفاده کنید .
دراین حالت فایل تولید شده به صورت فشرده در میاد .
برای اینکه اون رو هم از حالب فشرده خارج کنید یعنی sql.gz به .sql دستور زیر :
2_ طریقه ریستور کردن (restore):
ابتدا یک دیتابیس جدید بسازید و یک یوزم هم برای اون درست کنید .
و بعد :
و اما اگر نوع فایل بک آپ به صورت فشرده بود (.sql.gz ) از دستور زیر استفاده کنید :
زمان بک آپ گیری و ریستو کردن بستگی به حجم دیتابیس داره نیز قدرت سرور مثلا من سروی که داشتم سی پیو 8 هسته ای بود و حجم دیتابیس حدود 1.5 گیگابایت برای ریستور کردن حدود 5 دقیقه زمان بورد.
اگر دیتابیس شما روی یک هاست دیگه هست و بک آپ رو جای دیگه گذاشتین از دستور زیر برای انتقال اون به سرور خودتون استفاده کنید .
با سپاس .
برای صاحبان سایت های دینامیک گرفتن بک آپ از دیتایس خیلی مهمه و اگر این بک آپ حجمش بالا باشه ( مثلا بالای 100 مگابایت یا حتی حدود 1 گیگابایت ) بک آپ گیری دشوار خواهد شد و با سرعتی که ما در ایران داریم تقریبا غیر ممکن هست .
حالا من میخوام آموزش گرفتن بک آپ و ریستورکردن آن رو از طریق خود سرور بیان کنم امیدوارم مفید باشه.
برای اینکار شما باید به سرور لینوکسی با دسترسی شل داشته باشید . ( حتما باید دسترسی شما root باشه)
اول : برنامه PuTTY رو دانلود کنیداین نرم افزار به نظر من حرفه ای ترین در shell هست > http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
با اجرای برنامه و ورود به فضای شل سایت ( اگر کار با این نرم افزار رو نمیدونید بگید تا توضیحی مختصر بدم) کار رو آغاز میکنیم .
uname = نام کاربری دیتابیس (username)
dbname= نام دیتابیس
db_backup.sql = نام فایلی که اطلاعات دیتابیس در اون هست .
1_ طریقه بک آپ گیری (backup) :
کد:
mysqldump -u uname -p dbname > db_backup.sql
کاری که خط فرمان بالا در شل لینوکس انجام میده از دیتابیس dbname بک آپ میگیره و بعد اون رو با نام db_backup.sql ذخیر میکنه .
حالا شما با داشتن این بک آپ و آرشیو کردن اون میتونید هر زمان که بخواهین اون رو ریستو یا دانلود کند...
* اگر قصد دارید فایل بک آپ رو بصورت فشورد ( مثل zip) داشته باشین دستور زیر رو استفاده کنید .
کد:
mysqldump -u uname -p dbname | gzip -9 > db_backup.sql.gz
دراین حالت فایل تولید شده به صورت فشرده در میاد .
برای اینکه اون رو هم از حالب فشرده خارج کنید یعنی sql.gz به .sql دستور زیر :
کد:
gunzip db_backup.sql.gz
2_ طریقه ریستور کردن (restore):
ابتدا یک دیتابیس جدید بسازید و یک یوزم هم برای اون درست کنید .
و بعد :
کد:
mysql -u uname –p dbname < db_backup.sql
و اما اگر نوع فایل بک آپ به صورت فشرده بود (.sql.gz ) از دستور زیر استفاده کنید :
کد:
gunzip < [db_backup.sql.gz] | mysql -u unmae -p dbname
زمان بک آپ گیری و ریستو کردن بستگی به حجم دیتابیس داره نیز قدرت سرور مثلا من سروی که داشتم سی پیو 8 هسته ای بود و حجم دیتابیس حدود 1.5 گیگابایت برای ریستور کردن حدود 5 دقیقه زمان بورد.
اگر دیتابیس شما روی یک هاست دیگه هست و بک آپ رو جای دیگه گذاشتین از دستور زیر برای انتقال اون به سرور خودتون استفاده کنید .
کد:
wget http://domain.com/database.sql
با سپاس .