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,
Chúc các bạn thành công!
Chia sẻ: Ngụy Kim Hưng