การสำรองข้อมูล MySQL เป็นประจำเป็นงานที่สำคัญ แต่การดำเนินการด้วยตนเองนั้นยุ่งยากเกินไป และเป็นการยากที่จะหลีกเลี่ยงการละเว้น ใช้วิธีการต่อไปนี้เพื่อให้ระบบสำรองข้อมูลเป็นประจำ
◆1. สร้างโฟลเดอร์สำรอง
#cd /www
#makedir สำรองข้อมูล
◆2. เขียนสคริปต์ที่กำลังรันอยู่
#vi การสำรองข้อมูลอัตโนมัติ
เขียนข้อความต่อไปนี้:
ชื่อไฟล์=`วันที่ +%Y%m%d`
mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz
บันทึกและออก
แสดงให้เห็น:
(1) mysql_bin_dir: เส้นทาง bin ของ mysql;
(2)ชื่อข้อมูล: ชื่อฐานข้อมูล;
(3) ผู้ใช้: ชื่อผู้ใช้ฐานข้อมูล;
(4)รหัสผ่าน: รหัสผ่านผู้ใช้;
(5)ชื่อ: ปรับแต่งตัวระบุคำนำหน้าไฟล์สำรอง
ดังตัวอย่างข้างต้น ฐานข้อมูล mysql จะถูกสำรองและจัดเก็บไว้ในการบีบอัด gzip โดยอัตโนมัติ โดยมีชื่อไฟล์เป็น name20080101.gz
◆3. เพิ่มสิทธิ์ในการดำเนินการให้กับสคริปต์
#chmod +x การสำรองข้อมูลอัตโนมัติ
◆4. ให้ crontab ทำงานที่ดำเนินการเป็นประจำให้เสร็จสิ้น
ในขั้นตอนนี้ วิธีการของ Redhat จะแตกต่างออกไป ซึ่งจะแจ้งให้ทราบในภายหลัง
แก้ไข crontab:
#vi /etc/crontab
ในบรรทัดสุดท้ายให้เพิ่ม:
01 5 * * * รูท /www/autobackup
รันสคริปต์เวลา 5 โมงเย็นทุกวัน คุณยังสามารถแก้ไข 5 เป็นเวลาอื่นที่ระบุได้
วิธีการ Redhat:
crontab ของ Redhat ใช้สี่ไดเรกทอรีตามเวลา (/etc/cron.hourly: ทุกชั่วโมง /etc/cron.daily: ทุกวัน /etc/cron.weekly: ทุกสัปดาห์ /etc/cron.monthly: ทุกเดือน) วิธีการรันสคริปต์
ใน Redhat คุณจะต้องคัดลอกสคริปต์ที่คุณเพิ่งแก้ไขไปยังไดเร็กทอรีที่เกี่ยวข้องเท่านั้น
◆5. รีสตาร์ท crontab
#/etc/rc.d/init.d/crond รีสตาร์ท