Hôm trước tôi đã hướng dẫn backup code, data web tự động bằng crontab trên Centos 7. Và hôm nay tôi sẽ tiếp tục hướng dẫn các bạn cách backup CSDL cho website 1 cách tự động với Crontab nhé!
Nội dung:
- Tạo scrit backup.
- Tạo crontab để thiết lập backup tự động theo thời gian.
1. Tạo script backup
Đầu tiên chúng ta sẽ tạo một file có tên là backupsql để trong thư mục /bin
# vi /bin/backupsql
Nội dung file như sau:
ngay=$(date +%d-%m-%Y)
#ngày tháng kiểu DD-MM-YYYY (12-10-2017)
file_name=”backup-$ngay” # Tên file sẽ có dạng backup-ngay-thang-nam.sql
mkdir /home/backup_MySQL/$ngay/
mysqldump –databases –user=web1–password=123456 web1 > /home/backup_MySQL/$ngay/web1_$ngay.sql
mysqldump –databases –user=web2 –password=123456 web2 > /home/backup_MySQL/$ngay/web2_$ngay.sql
echo “BACKUP SUCCESS!”
Nhiệm vụ của Script này là tạo thư mục /home/backup_MySQL/ngay-thang-nam. Tiếp sau đó sẽ dump 2 CSDL của web1 và web2 ra 2 file web1_ngay-thang-nam.sql và web2_ngay_thang_nam.sql vào thư mục vừa tạo. Cuối cùng là thông báo súc xích. Đơn giản vậy thôi. Các bạn chỉ cần copy code trên và triển thôi chỉ cần điều chỉnh lại thông số như user, tên DB, mật khẩu DB thôi.
Như vậy các bạn có thể chạy lệnh backupsql ngay trên cửa sổ cli để thực hiện việc backup CSDL.
# backupsql
2. Chúng ta thiết lập crontab để backup tự động hằng ngày vào lúc 18h nhé
Đầu tiên mở crontab:
# crontab -e
Tiếp theo soạn nội dung trong crontab như sau:
00 18 * * * backupsql
Chỉ cần 1 dòng vậy thôi thế là ok rồi lưu lại :wq!
và chờ đến giờ em nó chạy thôi. Việc còn lại là kiểm tra xem sau giờ đó nó có file backup ngon lành chưa thôi. 🙂
Như vậy là qua 2 bài này các bạn hoàn toàn có thể tạo cho server tự động backup webdata+database rồi. Bibi
Bạn nào chưa rõ có thể xem thêm video tại đây:
Mình lập blog này với mục đích lưu lại + chia sẻ các các kiến thức mình đã biết hoặc đang tìm hiểu. Cơ bản giúp ích cho mình 🙂 Nhưng hy vọng sẽ mang lại sự khởi đầu thuận lợi cho người mới bắt đầu!