กลับไปหน้าบล็อก
มกราคม 13, 2026คู่มือ

วิธีกำหนดค่าการสำรองข้อมูลอัตโนมัติบน Linux Server

คู่มือทีละขั้นตอนเกี่ยวกับการตั้งค่าสคริปต์สำรองข้อมูลอัตโนมัติโดยใช้ cron jobs สำหรับไฟล์และฐานข้อมูล

วิธีกำหนดค่าการสำรองข้อมูลอัตโนมัติบน Linux Server

การสำรองข้อมูลเป็นประจำมีความสำคัญต่อการปกป้องข้อมูลของคุณ คู่มือนี้แสดงวิธีตั้งค่าการสำรองข้อมูลอัตโนมัติสำหรับไฟล์และฐานข้อมูลของคุณโดยใช้ shell script และ cron jobs บนเซิร์ฟเวอร์ Hiddence ของคุณ

การสร้างสคริปต์สำรองข้อมูล

สร้างสคริปต์สำรองข้อมูลสำหรับไฟล์ของคุณ:

bash
sudo nano /usr/local/bin/backup.sh
#!/bin/bash
BACKUP_DIR="/backups"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/backup.sh

การตั้งค่า Cron Job

กำหนดเวลาการสำรองข้อมูลอัตโนมัติโดยใช้ cron:

bash
sudo crontab -e
# เพิ่มบรรทัดนี้เพื่อรันการสำรองข้อมูลทุกวันเวลา 02:00 น.
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

สคริปต์สำรองข้อมูลฐานข้อมูล

สร้างสคริปต์สำหรับการสำรองข้อมูลฐานข้อมูล MySQL:

bash
sudo nano /usr/local/bin/db_backup.sh
#!/bin/bash
BACKUP_DIR="/backups/db"
DB_NAME="your_database"
DB_USER="root"
DB_PASS="your_password"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql
find $BACKUP_DIR -name "db_backup_*.sql.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/db_backup.sh

ที่เก็บข้อมูลสำรองระยะไกล

คัดลอกข้อมูลสำรองไปยังเซิร์ฟเวอร์ระยะไกลโดยใช้ rsync หรือ SCP:

bash
#!/bin/bash
BACKUP_DIR="/backups"
REMOTE_HOST="backup-server.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups"
rsync -avz -e ssh $BACKUP_DIR/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/

นโยบายการเก็บรักษาข้อมูลสำรอง

กำหนดค่าการเก็บรักษาเพื่อเก็บข้อมูลสำรองไว้เป็นระยะเวลาที่กำหนด:

bash
# เก็บข้อมูลสำรองรายวันไว้ 7 วัน
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# เก็บข้อมูลสำรองรายสัปดาห์ไว้ 4 สัปดาห์
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# เก็บข้อมูลสำรองรายเดือนไว้ 12 เดือน
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

แนวทางปฏิบัติที่ดีที่สุดในการสำรองข้อมูล

  • ทดสอบการกู้คืนข้อมูลสำรองเป็นประจำ
  • เก็บข้อมูลสำรองไว้ในหลายตำแหน่ง
  • เข้ารหัสข้อมูลสำรองที่ละเอียดอ่อน
  • ตรวจสอบบันทึกการสำรองข้อมูลเพื่อหาข้อผิดพลาด
  • จัดทำเอกสารขั้นตอนการสำรองข้อมูลของคุณ
  • ตั้งค่าการแจ้งเตือนสำหรับความล้มเหลวในการสำรองข้อมูล