การสร้างสคริปต์เพื่อสำรองฐานข้อมูล MariaDB บน Ubuntu นั้น สามารถทำได้โดยใช้คำสั่ง `mysqldump` ซึ่งเป็นเครื่องมือที่มาพร้อมกับ MariaDB และ MySQL สำหรับการสำรองข้อมูลฐานข้อมูล โดยทั่วไปแล้ว สคริปต์นี้สามารถรันโดยใช้ cron jobs เพื่อทำงานอัตโนมัติในช่วงเวลาที่กำหนด
ด้านล่างนี้คือตัวอย่างสคริปต์ Bash ที่คุณสามารถใช้เพื่อสำรองข้อมูล MariaDB:
1. สร้างไฟล์สคริปต์ใหม่ เช่น `backup_mariadb.sh`
“`bash
#!/bin/bash
# กำหนดค่าวันที่ปัจจุบัน
DATE=$(date +”%Y%m%d%H%M”)
# ตั้งค่าชื่อฐานข้อมูล, ผู้ใช้, และรหัสผ่าน
DB_NAME=”your_database_name”
DB_USER=”your_database_user”
DB_PASS=”your_database_password”
# ตั้งค่าไดเรกทอรีสำหรับเก็บไฟล์สำรอง
BACKUP_DIR=”/path/to/backup/directory”
# ตั้งค่าไฟล์สำรอง
BACKUP_FILE=”$BACKUP_DIR/$DB_NAME-$DATE.sql”
# สร้างไดเรกทอรีสำรองถ้ายังไม่มี
mkdir -p $BACKUP_DIR
# ใช้คำสั่ง mysqldump เพื่อสำรองฐานข้อมูล
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE
# ตรวจสอบว่าสำรองข้อมูลสำเร็จหรือไม่
if [ $? -eq 0 ]; then
echo “Database backup successful: $BACKUP_FILE”
else
echo “Database backup failed!”
exit 1
fi
# ลบไฟล์สำรองที่เก่ากว่า 7 วัน
find $BACKUP_DIR -type f -name “*.sql” -mtime +7 -exec rm {} \;
echo “Old backups deleted.”
“`
2. ทำให้ไฟล์สคริปต์นี้สามารถรันได้โดยการตั้งสิทธิ์ให้ไฟล์เป็น executable:
“`bash
chmod +x backup_mariadb.sh
“`
3. ทดสอบการรันสคริปต์เพื่อดูว่าทำงานได้ถูกต้องหรือไม่:
“`bash
./backup_mariadb.sh
“`
4. ตั้งค่า cron job เพื่อรันสคริปต์นี้อัตโนมัติในช่วงเวลาที่ต้องการ ตัวอย่างเช่น เพื่อรันทุกคืนเวลา 2:00 น.:
“`bash
crontab -e
“`
เพิ่มบรรทัดนี้ในไฟล์ crontab:
“`bash
0 2 * * * /path/to/backup_mariadb.sh
“`
ตัวอย่างสคริปต์นี้จะสำรองฐานข้อมูลในรูปแบบไฟล์ `.sql` โดยจะเก็บไว้ในไดเรกทอรีที่กำหนด และจะลบไฟล์สำรองที่เก่ากว่า 7 วันโดยอัตโนมัติ หากต้องการเปลี่ยนแปลงค่าใด ๆ เช่น ชื่อฐานข้อมูลหรือไดเรกทอรีสำรอง คุณสามารถแก้ไขได้ตามความต้องการ