อันดับแรกต้องติดตั้ง lftp ก่อน
yum install lftp -y
การสำรอง DB
เข้า Path ที่จะเก็บคำสั่ง ผมเลือก /root
สร้างโฟลเดอร์ก่อนเลย
mkdir BK
เข้าไปในโฟลเดอร์ที่เราสร้างไว้
cd /root/BK
สร้างไฟล์ backup.log และ backup-file.log
สร้างไฟล์ .sh
nano backup.sh
ภายในไฟล์ ซึ่งจะสำรองไปไว้ใน QNAP โดยไปสร้าง USername Password Folder ไว้ก่อน
#!/bin/bash
cd /root/BKecho “Start Backup” >> backup.log
date >> backup.logmysqldump –default-character-set=utf8 -uroot -pPASSWORD DB_NAME> DB_NAME.sql
sleep 5name=$(date ‘+%y-%m-%d’)
tar -czvf DB_NAME-$name.sql.tar.gz DB_NAME.sql
sleep 5lftp -u user,password -e “cd user/Folder;put /root/BK/DB_NAME-$name.sql.tar.gz;quit” ip address
sleep 5rm -rf /root/BK/DB_NAME.sql
rm -rf /root/BK/DB_NAME-$name.sql.tar.gzecho “FTP Backup” >> backup.log
date >> backup.logcurl -X POST -H ‘Authorization: Bearer token-line’ -F ‘message=Hi Admin! Server Backup Database Centerpoint(DB_NAME.sql) to Storage Complete.’ https://notify-api.line.me/api/notify > /dev/null 2>&1
การสำรอง File
สร้างไฟล์ .sh
nano backup-file.sh
ภายในไฟล์
#!/bin/bash
cd /root/BKecho “Start Backup” >> backup-file.log
date >> backup-file.logname=$(date ‘+%y-%m-%d’)
#FTP
cd /var/www
tar -czf html$name.tar.gz htmlsleep 5
lftp -u user,password -e “cd user/Folder;put /root/BK/DB_NAME-$name.sql.tar.gz;quit” ip address
sleep 5rm -rf /var/www/html$name.tar.gz
curl -X POST -H ‘Authorization: Bearer token-line’ -F ‘message=Hi Admin! Server Backup WEB to Storage Complete.’ https://notify-api.line.me/api/notify > /dev/null 2>&1
เสร็จแล้วก็ chmod กันก่อนใช้
chmod +x backup.sh
chmod +x backup-file.sh
ลอง ls -l ดู ไฟล์ทั้งสองจะเป็นสีเขียวก็สามารถทำงานได้ปกติ
crontab -e
5 5 * * * /bin/sh /root/BK/backup.sh
5 5 * * * /bin/sh /root/BK/backup-file.sh
ตั้งเวลาให้ทำงานทุกวัน เวลา ตี 5