Tạo script backup database hàng tuần
Hi các bạn,
Hôm trước lỡ tay nghịch hỏng mất con VPS và quên ko backup database
Nên mềnh đã làm cái script chạy hàng tuần để tự động backup dữ liệu và đẩy lên bitbucket
Các bạn cần tạo file db.txt để liệt kê danh sách DB cần backup
Rồi setup cron job chạy hàng ngày / tuần
#At 02:00 on Sunday.
0 2 * * 7 /var/www/html/backup/mysql.sh > /var/www/html/logs/backup.log
Đây là nội dung file mysql.sh
#!/bin/bash
today=$(date '+%Y%m%d');
now=$(date);
echo "******** BEGIN BACKUP DATABASE at $now *******";
#Create backup folder
cd /var/www/html/backup/mysql;
mkdir -p $today;
cat db.txt | while read name
do
echo "> > > Start backup [$name] < < <"
mysqldump -u root -pAhihi1234$ $name > "$name.sql"
zip "$today/$name.zip" "$name.sql"
rm "$name.sql"
echo "> > > End backup [$name] < < <"
done
#Commit to GIT
cd /var/www/html/backup
git add -A
git commit -m "[BACKUP DATABASE at $today]"
git push
echo '******** END BACKUP DATABASE *******';
Và đây là kết quả trên bitbucket
![](https://i.imgur.com/rZ5KeZR.png)
Tự backup và ko mất $, hị hị