Yas-Host
October 21st, 2015, 00:39
با سلام خدمت دوستان.
چندی پیش جهت انجام تنظیمات بک آپ گیری در یکی از سرورهای اصلی ما یک اسکریپت بصورت دستنویس نوشتیم گفتیم خدمت همکاران انتشار دهیم تا استفاده کنند.
کارکرد بسیار آسان هست و شما می توانید بصورت کران جاب هر چند ساعت یکبار از دیتابیس های خود بک آپ گرفته و به یک اکانت FTP انتقال دهید.
ابتدا دو فایل زیر را ایجاد می کنیم :
touch /root/mysql_dump.sh
touch /root/ftp_upload.sh
سپس با یک ویرایشگر فایل اول /root/mysql_dump.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
سپس فایل بعدی /root/ftp_upload.sh را باز کرده و محتویات زیر را قرار می دهیم :
#!/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
در غیر این صورت با ارور عدم دسترسی مواجه خواهید شد!
موفق باشید.
چندی پیش جهت انجام تنظیمات بک آپ گیری در یکی از سرورهای اصلی ما یک اسکریپت بصورت دستنویس نوشتیم گفتیم خدمت همکاران انتشار دهیم تا استفاده کنند.
کارکرد بسیار آسان هست و شما می توانید بصورت کران جاب هر چند ساعت یکبار از دیتابیس های خود بک آپ گرفته و به یک اکانت FTP انتقال دهید.
ابتدا دو فایل زیر را ایجاد می کنیم :
touch /root/mysql_dump.sh
touch /root/ftp_upload.sh
سپس با یک ویرایشگر فایل اول /root/mysql_dump.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
سپس فایل بعدی /root/ftp_upload.sh را باز کرده و محتویات زیر را قرار می دهیم :
#!/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
در غیر این صورت با ارور عدم دسترسی مواجه خواهید شد!
موفق باشید.