แก้ปัญหา Backup ด้วย DirectAdmin ทำเครื่องช้า

มีหลายๆคนถามผมว่า เมื่อมีเว็บเยอะแล้วก็เว็บใหญ่ๆ หากใช้ Backup ของ DirectAdmin ที่ต้องบีบไฟล์ขนาดใหญ่ๆหลาย G จะทำเครื่องช้าทันที จะแก้ไขยังไง

วันนี้พอมีเวลาเลยจะเอามาแชร์เผื่อเป็นทางเลือกครับ

ที่ผมใช้อยู่คือ ใช้ Admin Backup/Transfer ของ DirectAdmin เหมือนเดิม แต่ตั้งค่าให้ Backup แค่ MySQL และ password ต่างๆทั้ง unix user แล้วก็ email user ส่วน MailrDir แล้วก็ home จะข้ามไป ส่วนไฟล์ใน /home ก็ใช้ rsync แทน

วิธีการก็ประมาณนี้ครับ

ส่วนแรกตั้งค่า config ในส่วน backup ของ directadmin

1 แก้ไข directadmin.conf เพิ่มค่านี้ลงไป skip_hometargz_in_backups=1 แล้วก็ค่านี้ skip_domains_in_backups=1

สั่งแบบนี้ได้เลย แต่ระวังตรง >> อย่าใส่อันเดียวนะ ไม่งั้นงานเข้าแน่



echo  -e "skip_hometargz_in_backups=1
skip_domains_in_backups=1" >> /usr/local/directadmin/conf/directadmin.conf


  1. restart directadmin

ส่วนที่สอง backup /home ด้วย rsync

rsync -va /home /hdd2 #ตัวอย่าง backup ไว้ที่เครื่องเดียวกัน

rsync -va -e ‘ssh -p 22’ user@host:/folder # backup ไปไว้ที่ เครื่องอื่น หากใครเปลี่ยน port ssh ก็ใส่ตาม port ทีตั้ง ถ้าไม่ได้เปลี่ยนก็ไม่ต้องใส่ก็ได้

ในส่วนการ restore ก็ยังคงทำด้วย DirectAdmin เหมือนเดิม แต่ส่วน ไฟล์เว็บ ใน /home ก็แล้วจะสะดวกจะใช้ ftp rsycn scp จะเอาทั้งหมด หรือบางส่วนก็แล้วแต่สะดวก

เครื่องผมจากที่ Backup ใช้เวลาเป็นวันๆ ปรับมาใช่แบบนี้ใช้เวลาไม่ถึง ชม ครับ

แถมท้าย shell script ครับ ก็ตั้ง crontab ตามสะดวกครับ

#!/bin/sh

#-p = port

rsync -va  -e 'ssh -p xxxx' /home [email]backupxxxx@xxx.xxx.xxx.xxx[/email]:/home/backupxxxx/



tmp=/tmp/mail-body-`date +%F`;

touch $tmp && chmod 600 $tmp;

#Set up the various headers for sendmail to use

TO="cust@xxx.com";

CC="admin@xxxx.com";

FROM="admin@xxx.xom";

SUBJECT="`hostname` Backup Seccessfully";

MIMEVersion=1.0.;

CONTENTType=text/html; charset=utf-8;

BODY="[b]Rsync from `hostname` to xxx.xxx.xxx complete [/b]";



echo -e To: $TO > $tmp;

echo -e Cc: $CC >> $tmp;

echo -e From: $FROM >> $tmp;

echo -e Content-Type: $CONTENTType >> $tmp;

echo -e MIME-Version: $MIMEVersion >> $tmp;

echo -e Subject: $SUBJECT >> $tmp;

echo -e  $BODY >> $tmp;



/usr/sbin/sendmail -t < $tmp;



rm -rf $tmp;


แล้วก็วิธี ssh โดยไม่ต้องใส่รหัสครับ จะได้ไม่ต้องระบุรหัสลองในสคริบ

http://linuxproblem.org/art_9.html

เข้าท่าครับคุณไก่ เดี๋ยวจะลองเอาไปทำมั่ง เพราะ backup แต่ละที นานจริงๆ ครับ

ขอบคุณมากครับ สำหรับความรู้ดีๆ

ขอบคุณครับลุง

ท่านพี่เจ๋งมากๆครับผม

ขอบคุณครับพี่ไก่ ว่าจะเขียน shell script มา rotate ยังไม่ได้เขียนสักที

มีวิธีแยก backup เฉพาะ log ไหมครับ

ตอนนี้ไฟล์ที่ใหญ่ที่สุดก็คือ log 90 วันเลย

เยี่ยมครับ

ขอบคุณครับ จะเก็บไว้ใช้ภายหลังจากไฟล์ใหญ่กว่านี้

DA มี feature ที่ backup ไม่ให้เครื่องช้าอยู่แล้ว. โดยเพิ่มคำสั่ง

backup_nice=19

เข้าไปที่ directadmin.conf

ซึ่งสามารถปรับแก้และอ้างอิงได้จาก

http://www.directadmin.com/features.php?id=577

ข้อดี backup + restore เครื่องไม่ค่อยโหลดสูง

ข้อเสีย backup + restore ได้ช้า

มาแจกคะแนนครับ

ใครทำแล้วได้ไม่ได้ยังไง คอนเฟิร์มเผื่อคนข้างหลังด้วยนะครับ

ความรู้ทั้งนั้น ขอนำไปลองหน่อยนะครับ

อันนี้ก็แจ่ม +++

ขอบคุณครับ สำหรับความรู้ใหม่

ขอบคุณครับ ใครไฟล์ใหญ่ๆช่วยได้เยอะเลย

เยี่ยมเลยครับ

กำลังหาวิธีอยู่พอดี ขอบคุณครับ

แจ่มครับ THT แบ่งปันความรู้กันดีจริงๆ ครับ ธุรกิจเดียวกัน แต่ให้ความช่วยเหลือและช่วยกันตอบปัญหาของเพื่อนผู้ทำธุรกิจเดียวกันได้อย่างอบอุ่นมากครับ ^^

เป็นอีก 1 เว็บที่ผมเข้าทุกวันแม้่ยังไม่ได้ทำ Host

ขอบคุณมากๆครับ

ขอบคุณมากๆครับ

แจ่มๆ ขอบคุณมากมายครับ