Tự động backup database hàng ngày trong Hosting Cpanel bằng Cronjob

206

Việc backup dữ liệu database là rất quan trọng với quản trị viên của website, tuy nhiên không phải khi nào cũng có thể nhớ để backup được. Việc backup tự động database trên VPS hay Server thì rất đơn giản rồi, hôm nay Ad sẽ chia sẻ cho các bạn các backup database hàng ngày trong Hosting Cpanel bằng Cronjob.

Trước tiên chúng ta tạo một folder tên là backups trong home/username/

Tiếp theo chúng ta sẽ tạo một bash script, bash script này sẽ tự động backup database cho chúng ta. Trong bài viết của mình, mình đặt tên bash script này là “backup.sh”. Nội dung của backup.sh như sau:

#!/bin/bash
date=`date +"%Y-%m-%d"`;
/usr/bin/mysqldump -h localhost -u username -pDBPASS --all-databases | gzip > /home/username/backups/dbbackup_$date.sql.gz

Giải thích:
Đoạn script trên sẽ tạo các bản backup, tên của bản backup sẽ chứa thời gian khi việc backup được thực hiện. Bản backup sẽ được tự động nén thành .gz để tiết kiệm dung lượng.
username: user database của bạn
DBpass: pass của database
dbbackup_$date.sql.gz: tên file backup

Nếu bạn sử dụng đoạn mã trên thì tất cả các database có chung một username sẽ được nén vào cùng một file. nếu bạn muốn backup từng database riêng rẽ, bạn sử dụng mã sau:

#!/bin/bash

date=`date +"%Y-%m-%d"`;
/usr/bin/mysqldump -h localhost -u username_backup -pDBPASS --databases dbname1 | gzip > /home/username/backups/dbname1_$date.sql.gz
/usr/bin/mysqldump -h localhost -u username_backup -pDBPASS --databases dbname2 | gzip > /home/username/backups/dbname2_$date.sql.gz

Sau khi tạo được backup.sh. Ta sẽ lưu file này /home/username/backup.sh

Tạo cronjob để script tự động chạy hàng ngày vào lúc 3h sáng

ta vào trong mục CronJob trong Cpanel

Tạo một Cronjob

Nội dung command: /bin/sh /home/username/backup.sh

Sau khi Add new Cronjob , bạn nhìn xuống dưới nếu như vậy là thành công rồi nhé !

Nếu sợ bị đầy dung lượng host bạn có thể tham khảo bài xóa file tự động theo lịch định sẵn bằng cron job tại đây.

Chúc bạn thành công.

------------
Liên hệ kỹ thuật viên để được tư vấn tốt nhất!
Telegram: Telegram kỹ thuật viên
Group Telegram: Group Telegram Hỗ Trợ
Email: Gửi Email