Hướng dẫn tự động sao lưu cơ sở dữ liệu (database) định kỳ trên host Linux

huong tu dong sao luu database

Trong bài viết này tôi sẽ chia sẻ cho các bạn đang quản lý hosting Linux muốn tự dộng sao lưu cơ sở dữ liệu database định kỳ (mỗi ngày, mỗi tuần, mỗi tháng,...). Thường thì một số hosting có sẵn chức năng backup để sao lưu định kỳ không chỉ database mà còn sao lưu luôn cả source web. Nhưng đỗi với một trang có nguồn tài nguyên quá lớn thì cách sao lưu cả source web sẽ làm tốn bộ nhớ của host hoặc khi sao lưu sẽ ảnh thưởng đến web dang hoạt động.

Dưới đây sẽ là cách giúp bạn chỉ sao lưu cơ sở dữ liệu mỗi ngày.

Bước 1: Tạo 1 file backup.sh trên đường dẫn thư mục của user "/home/user/backup.sh". Sao chép nội dung bên dưới vào file và nhập cấu hình thông tin sao lưu database và lưu lại.

# Thông tin Database
 user="Tên user database"
 password="Mật khẩu user database"
 db_name="Tên database"
# Đường dẫn lưu file sao lưu và thời gian để tạo tên file
 backup_path="/home/user/backup"
 date=$(date +"%d-%m-%Y")
# Cấu hình quyền file được tạo
 umask 177
# Lệnh chạy sao lưu thành file .gz
 mysqldump -u $user -p$password $db_name | gzip > $backup_path/$db_name-$date.sql.gz

# Xóa các file sao lưu quá 30 ngày
# find $backup_path/* -mtime +30 -exec rm {} \;

Bước 2: Cấu hình Cronjob thêm dòng lệnh command sau với thời gian muốn sao lưu định kỳ:

bash /home/user/backup.sh

Tham khảo thời gian cấu hình chạy lệnh command hình bến dưới,

thoi gian scronjob

Chúc các bạn thành công!

Chia sẻ: Ngụy Kim Hưng