با سلام خدمت دوستان.
چندی پیش جهت انجام تنظیمات بک آپ گیری در یکی از سرورهای اصلی ما یک اسکریپت بصورت دستنویس نوشتیم گفتیم خدمت همکاران انتشار دهیم تا استفاده کنند.
کارکرد بسیار آسان هست و شما می توانید بصورت کران جاب هر چند ساعت یکبار از دیتابیس های خود بک آپ گرفته و به یک اکانت FTP انتقال دهید.
ابتدا دو فایل زیر را ایجاد می کنیم :
سپس با یک ویرایشگر فایل اول /root/mysql_dump.sh را باز کرده و محتویات زیر را قرار می دهیم :کد:touch /root/mysql_dump.sh touch /root/ftp_upload.sh
سپس فایل بعدی /root/ftp_upload.sh را باز کرده و محتویات زیر را قرار می دهیم :کد:#!/bin/bash Time=$(date +"%d-%m"); cd /var/lib/mysql/ mkdir /home/dbbacks/ mkdir /home/dbbacks/backups mkdir /home/dbbacks/backups/$Time ls -d */ > /home/dbbacks/backups/$Time/db.txt sed -i "s|/||g" /home/dbbacks/backups/$Time/db.txt cd /home/dbbacks/backups/$Time for user in `/bin/cat /home/dbbacks/backups/$Time/db.txt` ; do mysqldump $user > $user.sql && sh /root/ftp_upload.sh $user ; rm -rf $user.sql ; done
یک سری توضیحات در مورد محتویات بالا خدمت شما اعلام می کنم:کد:#!/bin/bash Time=$(date +"%d-%m"); cd /home/dbbacks/backups/$Time HOST=123.123.123.123 USER=usernameftp PASS=passwordftp ftp -inv $HOST << EOF user $USER $PASS mkdir $Time cd $Time put $1.sql bye EOF
1- ابتدا وارد فولدر دیتابیس ها شده که ( شما باید مسیر دیتابیس های خود را اگر تغییر داده باشید در فایل بالا جایگزین کنید)
2- فولدر های مربوطه در شاخه /home ایجاد کرده تا یک temporary برای export گرفتن و انتقال فایل .sql به ftp ما باشد.
3-4 بر اساس روز یک فولدر به تاریخ روز_ماه ایجاد کرده و در یک فایل db.txt تمامی دیتابیس های شما را اعمم از دیتابیس mysql قرار می دهد.
5- سپس از تمامی نام های دیتابیس موجود در db.txt یک export می گیرد و در مسیر temporary ما ذخیره و به ftp ما transfer کرده و delete می کند!
همانطور که می دانید بیشتر اطلاعات همه وب سایت ها در پایگاه داده ذخیره می گردد لذا بک آپ گیری از دیتابیس ها توسط هر مدیر سرور یک امتیار مثبت برای مدیریت سرور و رمز موفقیت هاستینگ مربوطه می باشد.
شما می توانید هر چند ساعت یکبار با استفاده از کامند زیر از دیتابیس های خود بک آپ تهیه کنید:
این اسکریپت با همکاری دوست عزیزم جناب آقای فخر آبادی آماده شده است.کد:crontab -e 0 * * * * sh /root/mysql_dump.sh
این اسکریپت در سی پنل به درستی اجرا می گردد.
در دایرکت ادمین حتما باید username و password روت mysql server را از فایل /usr/local/directadmin/conf/mysql.conf برداشته و بصورت زیر در فایل زیر قرار دهید:
در غیر این صورت با ارور عدم دسترسی مواجه خواهید شد!nano ~/.my.cnf
[client]
user=da_admin
password=123123123
موفق باشید.





 
			
			 
  
 
 
				 بک آپ گیری از دیتابیس های سرور بصورت Dump و انتقال به FTP
 بک آپ گیری از دیتابیس های سرور بصورت Dump و انتقال به FTP
				 
					
					
					
						 پاسخ با نقل قول
  پاسخ با نقل قول نوشته اصلی توسط navid
 نوشته اصلی توسط navid
					
