วันนี้บังเอิญไปเจอวิธีการสำรองข้อมูล MySQL บนระบบปฏิบัติการลินุกซ์ CentOS ซึ่งต้องยอมรับว่าตัวผมเองก็ไม่ถนัดแนวๆนี้เท่าไร แต่เชื่อว่าบทความนี้มีประโยชน์สำหรับผู้ดูแลเครื่องแม่ข่าย (Server) อย่างแน่นอนครับ
Backup MySQL บน CentOS โดย Thicha Puantae
1.สร้างไฟล์ backup.sh ไว้ที่ /var/Backup
2.เพิ่มคำสั่งในไฟล์ backup.sh ดังนี้
อธิบาย : เป็นคำสั่งสำรองข้อมูล mysql โดยแก้ไขตัวแปรดังนี้
SERVER ให้ใส่ IP Server
USER คือ user name ของ database
PASS ใส่ password ของ database
DATA ใส่ชื่อ data ที่จะ backup
/var/Backup/tempData/ คือที่อยู่ที่จะเก็บไฟล์
FILENAME ใส่ชื่อไฟล์ที่จะ backup
สามารถเพิ่มได้หลายบรรทัดถ้ามีการสำรองหลาย Database
อธิบาย : เป็นการกำหนดรูปแบบชื่อไฟล์ไว้ในตัวแปรก่อนนำไปตั้งชื่อไฟล์
อธิบาย : สั่งให้รวมไฟล์เป็นไฟล์เดียวด้วย tar แล้วทำการบีบอัดข้อมูลด้วย gzip
โดยเรียกใช้ตัวแปร $timeaccess มากำหนดชื่อไฟล์ ชื่อไฟล์ที่ได้จะเป็น Backup-2011-09-26.tar.gz
3.เพิ่มคำสั่งใน crontab เพื่อให้สำรองข้อมูลทุกวันตอนเที่ยงคืนดังนี้
พิมพ์ crontab -e จะเปิดไฟล์ config ขึ้นมาให้เพิ่มคำสั่ง
เสร็จแล้ว save แล้วพิมพ์ crontab -l เพื่อตรวจสอบคำสั่งที่สร้างไว้
คีย์การใช้งาน crontab
สรุป ใช้ crontab สั่งให้รับไฟล์ sh /var/Backup/backup.sh ทุกเที่ยงคืน ทำการสำรองข้อมูลโดยใช้ mysqldump ได้ sql ไฟล์มาเก็บไว้ที่ /var/Backup/tempData/ แล้วทำการบีบอัดข้อมูลทั้งหมดมาเก็บไว้ใน /var/Backup/Data/
ลองดูนะครับ ถ้าไม่ได้ตรงไหน ตามไปถามต่อได้ที่ https://www.facebook.com/note.php?note_id=245444018841600
เคล็ดลับดีๆ ใหม่สดทุกวัน หากท่านนำรูปภาพ ข้อความ หรือส่วนหนึ่งส่วนใดไปใช้ ขอความกรุณาร่วมกันแชร์นะครับ โดยแจ้งที่มา (source) กลับมายังเว็บของเรา ตามกฏ Attribution-NonCommercial-ShareAlike 3.0 Unported หรือ สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน 3.0 ต้นฉบับ 