ตั้งสำรองข้อมูลอัตโนมัติไปเซิร์ฟเวอร์อื่นบน DirectAdmin
DirectAdmin มีระบบสำรองข้อมูลระดับผู้ดูแลที่สำรองทุกอย่างของแต่ละบัญชี ทั้งไฟล์เว็บ ฐานข้อมูล อีเมล ระเบียน DNS และการตั้งค่า ทำให้กู้คืนบัญชีทั้งบัญชีได้ในขั้นตอนเดียว
คู่มือนี้ตั้งให้ส่งออกไปเก็บนอกเครื่อง ซึ่งเป็นเงื่อนไขพื้นฐานที่ทำให้การสำรองข้อมูลมีความหมายจริง
สิ่งที่ต้องเตรียม
- DirectAdmin และสิทธิ์ผู้ดูแลระบบ
- เซิร์ฟเวอร์ปลายทางที่รับ FTP หรือ SSH ได้
- พื้นที่ปลายทางอย่างน้อยสามเท่าของข้อมูลจริง
du -sh /home/*/domains 2>/dev/null | sort -h | tail -10
df -h
ขั้นตอนที่ 1: เตรียมเซิร์ฟเวอร์ปลายทาง
สร้างผู้ใช้เฉพาะสำหรับรับข้อมูลสำรอง โดยให้เข้าถึงได้เฉพาะโฟลเดอร์ของตัวเอง
# บนเซิร์ฟเวอร์ปลายทาง
sudo adduser --disabled-password --gecos "" dabackup
sudo mkdir -p /srv/backups/da
sudo chown dabackup:dabackup /srv/backups/da
sudo chmod 750 /srv/backups/da
ตั้ง SSH Key เพื่อไม่ต้องเก็บรหัสผ่านในคอนฟิก
# บนเซิร์ฟเวอร์ DirectAdmin
sudo ssh-keygen -t ed25519 -f /root/.ssh/da_backup -N ''
sudo ssh-copy-id -i /root/.ssh/da_backup.pub [email protected]
sudo ssh -i /root/.ssh/da_backup [email protected] 'echo ok'
ขั้นตอนที่ 2: ตั้งค่าใน DirectAdmin
เข้า DirectAdmin ด้วยบัญชี Admin ไปที่ Admin Tools แล้ว Admin Backup/Transfer
ในแท็บ Create Backup ตั้งค่า
- Step 1 เลือก All Users หรือเลือกเฉพาะบัญชีที่ต้องการ
- Step 2 เลือก Schedule แล้วกำหนดรอบเวลา
- Step 3 เลือกสิ่งที่จะสำรอง แนะนำให้เลือกทุกอย่าง
- Step 4 เลือกที่เก็บเป็น FTP หรือ SCP
สำหรับ FTP ใส่ข้อมูล
FTP IP: 10.0.0.9
FTP Username: dabackup
FTP Password: รหัสผ่าน
FTP Path: /srv/backups/da
Use secure FTP (FTPS): เปิด
สำหรับ SCP ซึ่งปลอดภัยกว่า ใส่ข้อมูลเซิร์ฟเวอร์และระบุพาธของ SSH Key
ขั้นตอนที่ 3: ตั้งรอบเวลาให้เหมาะสม
แนะนำสองงานควบคู่กัน
- รายวัน ตอนตีสอง เก็บ 7 ชุด
- รายสัปดาห์ คืนวันอาทิตย์ เก็บ 4 ชุด
ตรวจว่างานถูกสร้างใน cron
sudo crontab -l | grep -i backup
sudo cat /usr/local/directadmin/data/admin/backup_crons/* 2>/dev/null
ขั้นตอนที่ 4: จำกัดจำนวนที่เก็บ
DirectAdmin ไม่ลบไฟล์เก่าที่ปลายทางให้อัตโนมัติในทุกกรณี ตั้งสคริปต์ที่ปลายทางแทน
# บนเซิร์ฟเวอร์ปลายทาง
sudo nano /usr/local/bin/prune-da-backups.sh
#!/bin/bash
set -euo pipefail
DEST=/srv/backups/da
KEEP=14
find "$DEST" -name '*.tar.gz' -mtime +$KEEP -print -delete
find "$DEST" -name '*.tar.zst' -mtime +$KEEP -print -delete
echo "เหลือ $(find "$DEST" -name '*.tar.*' | wc -l) ไฟล์ ใช้พื้นที่ $(du -sh "$DEST" | cut -f1)"
sudo chmod +x /usr/local/bin/prune-da-backups.sh
ตั้งรันทุกวันหลังเวลาที่ข้อมูลสำรองส่งมาถึงแล้ว
ขั้นตอนที่ 5: ทดสอบด้วยการสำรองทันที
ในหน้าเดียวกันเลือก Now แทน Schedule แล้วเริ่มงาน ดูความคืบหน้าในแท็บ Message System
# ดู Log จากบรรทัดคำสั่ง
sudo tail -f /var/log/directadmin/error.log
sudo tail -f /var/log/directadmin/system.log | grep -i backup
# ดูคิวงาน
sudo cat /usr/local/directadmin/data/task.queue
ตรวจที่ปลายทางว่าไฟล์มาถึงจริงและขนาดสมเหตุสมผล
ssh [email protected] 'ls -lh /srv/backups/da/ | tail -20'
ขั้นตอนที่ 6: กู้คืนบัญชี
ที่แท็บ Restore Backup เลือกที่มาของไฟล์ เลือกไฟล์ที่ต้องการ แล้วเลือกบัญชีที่จะกู้
ตัวเลือกสำคัญคือ IP ที่จะใช้ หากกู้ไปยังเซิร์ฟเวอร์ใหม่ที่ IP ต่างกัน ให้เลือกให้ถูกต้อง ไม่เช่นนั้นเว็บจะชี้ไป IP เดิม
กู้จากบรรทัดคำสั่งได้เช่นกัน
cd /home/admin/admin_backups
ls -lh
# วางไฟล์ที่จะกู้ในโฟลเดอร์นี้แล้วสั่งผ่านหน้าเว็บ
# หรือแตกไฟล์ดูเนื้อหาก่อน
tar -tzf user.example.tar.gz | head -30
กู้ไปยังเซิร์ฟเวอร์ทดสอบก่อนเสมอ เมื่อเป็นการกู้ครั้งสำคัญ เพื่อตรวจว่าข้อมูลครบก่อนเขียนทับของจริง
ขั้นตอนที่ 7: ตรวจสอบอัตโนมัติว่าการสำรองข้อมูลยังทำงาน
การสำรองข้อมูลที่ล้มเหลวเงียบ ๆ เป็นเดือนคือสถานการณ์ที่พบบ่อยที่สุดเมื่อเกิดเหตุจริง
#!/bin/bash
# บนเซิร์ฟเวอร์ปลายทาง ตรวจว่ามีไฟล์ใหม่วันนี้
DEST=/srv/backups/da
COUNT=$(find "$DEST" -name '*.tar.*' -mtime -1 | wc -l)
EXPECT=20 # จำนวนบัญชีที่ควรมี
if [ "$COUNT" -lt "$EXPECT" ]; then
echo "พบไฟล์สำรองใหม่เพียง $COUNT จากที่ควรมี $EXPECT" \
| mail -s "แจ้งเตือน: การสำรองข้อมูล DirectAdmin ผิดปกติ" [email protected]
fi
เพิ่มการตรวจสอบชนิด Push ใน Uptime Kuma เพื่อให้รู้ทันทีเมื่องานไม่ทำงานเลย
ขั้นตอนที่ 8: ซ้อมกู้คืนตามรอบ
ตั้งรอบซ้อมทุกไตรมาส กู้บัญชีหนึ่งลงเซิร์ฟเวอร์ทดสอบ ตรวจว่าเว็บเปิดได้ ฐานข้อมูลครบ และอีเมลใช้งานได้ แล้วจับเวลาที่ใช้
บันทึกผลไว้เป็นเอกสาร ตัวเลขเวลาที่ใช้กู้คืนคือสิ่งที่ต้องรู้ก่อนเกิดเหตุจริง
ปัญหาที่พบบ่อย
สำรองข้อมูลล้มเหลวเพราะพื้นที่ไม่พอ
DirectAdmin สร้างไฟล์ชั่วคราวบนเครื่องก่อนส่งออก ตรวจพื้นที่ใน /home และพิจารณาแบ่งสำรองเป็นหลายรอบแทนการทำทุกบัญชีพร้อมกัน
ส่งไป FTP แล้วไม่สำเร็จ
ตรวจว่าเปิด Passive mode และทดสอบการเชื่อมต่อจากเซิร์ฟเวอร์ DirectAdmin โดยตรง
curl --ftp-ssl -u dabackup:pass ftp://10.0.0.9/srv/backups/da/
กู้คืนแล้วเว็บใช้งานไม่ได้
ตรวจว่าเวอร์ชัน PHP บนเครื่องปลายทางตรงกับต้นทาง และตรวจว่าไฟล์คอนฟิกของเว็บชี้ไปยังชื่อฐานข้อมูลที่ถูกต้อง เพราะชื่ออาจเปลี่ยนตามชื่อผู้ใช้
ไฟล์สำรองใหญ่เกินไป
แยกสำรองอีเมลออกจากไฟล์เว็บ และพิจารณาใช้เครื่องมือแบบเพิ่มส่วนต่าง เช่น restic สำหรับข้อมูลที่โตเร็ว ควบคู่ไปกับการสำรองของ DirectAdmin ที่ใช้กู้ทั้งบัญชี
ต้องการบริการสำรองข้อมูลนอกสถานที่ที่มีทีมดูแล ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








