ปกติ Cyberpanel มี feature สำหรับสำรองข้อมูล ทั้งเว็บไซต์และฐานข้อมูลอยู่แล้ว แต่สามารถสำรองได้เฉพาะ เว็บไซต์หลัก รวม ซับโดเมน
แต่ไม่สามารถสำรองซับโดเมนได้ วันนี้เลยเขียน script สำหรับช่วยสำรองฐานข้อมูล โค้ดตามด้านล่างนี้
คำอธิบายโค้ดอยู่ใน comment ในโค้ดอยู่แล้ว
สคริปต์สำรองข้อมูล (backup_subdomain_script.sh)
โค้ด: เลือกทั้งหมด
#!/bin/bash
# ข้อมูลที่ต้องการแก้ไข
SUBDOMAIN_DIR="/home/username/public_html/subdomain"
DB_NAME="db_name"
DB_USER="db_username"
BACKUP_DIR="/home/username/backups"
TIMESTAMP=$(date +"%F")
# สร้างไดเรกทอรีสำรองข้อมูล
mkdir -p ${BACKUP_DIR}
# สำรองข้อมูล subdomain
tar -czvf ${BACKUP_DIR}/subdomain_backup_${TIMESTAMP}.tar.gz -C ${SUBDOMAIN_DIR} .
# สำรองข้อมูลฐานข้อมูล
mysqldump -u ${DB_USER} -p${DB_PASS} ${DB_NAME} > ${BACKUP_DIR}/subdomain_db_backup_${TIMESTAMP}.sql
# บีบอัดฐานข้อมูล
tar -czvf ${BACKUP_DIR}/subdomain_full_backup_${TIMESTAMP}.tar.gz -C ${BACKUP_DIR} subdomain_backup_${TIMESTAMP}.tar.gz subdomain_db_backup_${TIMESTAMP}.sql
# ลบไฟล์ที่ไม่จำเป็น
rm ${BACKUP_DIR}/subdomain_backup_${TIMESTAMP}.tar.gz
rm ${BACKUP_DIR}/subdomain_db_backup_${TIMESTAMP}.sql