Vultr เสนอการสำรองข้อมูลอัตโนมัติเป็นตัวเลือกสำหรับ Performance Series VPS บทความนี้ให้นอกเหนือจากคุณสมบัตินี้ตัวเลือกในการสร้างการสำรองฐานข้อมูลรายวันโดยอัตโนมัติบนเซิร์ฟเวอร์และส่งผ่าน FTP ไปยังเซิร์ฟเวอร์สำรองของคุณหรือแม้กระทั่งโฮสต์ไฟล์
ภาพรวม
- การสำรองข้อมูลอัตโนมัติทำงานทุกวัน เวลาที่การสำรองข้อมูลเกิดขึ้นสามารถกำหนดค่าได้
- โฮสต์ของไฟล์จำนวนมากเสนอการถ่ายโอนไฟล์ผ่าน FTP ดังนั้นคุณสามารถส่งฐานข้อมูลของคุณไปยังบัญชีส่วนตัวของคุณโดยอัตโนมัติ
- มันจะส่งอีเมลหลังจากการสำรองข้อมูลเสร็จสิ้น
ลักษณะ
ก่อนอื่นให้สร้างและเปลี่ยนเป็น/backups
ไดเรกทอรี
mkdir /backups
cd /backups
จากนั้นใช้nano
หรือแก้ไขรายการโปรดของคุณสร้างไฟล์สคริปต์:
nano backupdb.sh
ตอนนี้คัดลอกและวางสคริปต์นี้และแก้ไขตัวแปรที่ด้านบนตามการตั้งค่าของคุณ:
#!/bin/bash
############### Infos - Edit them accordingly ########################
DATE=`date +%Y-%m-%d_%H%M`
LOCAL_BACKUP_DIR="/backups"
DB_NAME="database_name"
DB_USER="root"
DB_PASSWORD="root_password"
FTP_SERVER="111.111.111.111"
FTP_USERNAME="ftp-user"
FTP_PASSWORD="ftp-pass"
FTP_UPLOAD_DIR="/upload"
LOG_FILE=/backups/backup-DATE.log
############### Local Backup ########################
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $LOCAL_BACKUP_DIR/$DATE-$DB_NAME.sql.gz
############### UPLOAD to FTP Server ################
ftp -nv $FTP_SERVER << EndFTP
user "$FTP_USERNAME" "$FTP_PASSWORD"
binary
cd $FTP_UPLOAD_DIR
lcd $LOCAL_BACKUP_DIR
put "$DATE-$DB_NAME.sql.gz"
bye
EndFTP
############### Check and save log, also send an email ################
if test $? = 0
then
echo "Database Successfully Uploaded to the Ftp Server!"
echo -e "Database Successfully created and uploaded to the FTP Server!" | mail -s "Backup from $DATE" [email protected]
else
echo "Error in database Upload to Ftp Server" > $LOG_FILE
fi
หลังจากคุณแก้ไขสคริปต์และบันทึกไฟล์เสร็จแล้วเราจะทำให้ไฟล์นั้นทำงานได้โดยใช้คำสั่งต่อไปนี้:
chmod +x backupdb.sh
คุณสามารถทดสอบได้ทันทีโดยพิมพ์ในเทอร์มินัล
/backups/backupdb.sh
... และหลังจากที่การดำเนินการเสร็จสิ้นให้พิมพ์ls -a
เพื่อดูว่าฐานข้อมูลได้รับการสำรองไว้หรือไม่ นอกจากนี้ยังยืนยันว่ามันถูกส่งไปยังเซิร์ฟเวอร์ FTP ของคุณหรือไม่
หากทุกอย่างทำงานได้ดีเราสามารถทำให้มันทำงานได้ทุกวันโดยใช้ Crontab
ส่วน Crontab
คุณสามารถแก้ไข crontab ของคุณด้วยคำสั่งต่อไปนี้:
crontab -e
นี่จะเป็นการเปิดโปรแกรมแก้ไขข้อความที่คุณสามารถป้อนตารางเวลาของคุณกับแต่ละงานในบรรทัดใหม่
แต่ละส่วนถูกคั่นด้วยช่องว่างโดยส่วนสุดท้ายมีช่องว่างอย่างน้อยหนึ่งช่อง นี่คือวิธีการวางงาน cron:
นาที (0-59), ชั่วโมง (0-23, 0 = เที่ยงคืน), วัน (1-31), เดือน (1-12), วันธรรมดา (0-6, 0 = วันอาทิตย์), คำสั่ง
ดังนั้นในตัวแก้ไขให้พิมพ์หรือวางบรรทัดนี้:
30 02 * * * /backups/backupdb.sh
ตัวอย่างด้านบนจะทำงาน/backups/backupdb.sh
เวลา02:30 น.ทุกวันทุกเดือน แน่นอนคุณสามารถเปลี่ยนเวลาได้ตามที่คุณต้องการ
ตอนนี้เพียงบันทึกและปิดไฟล์ ในเวลาที่กำหนดการสำรองข้อมูลจะถูกดำเนินการ