Hướng dẫn này sẽ trình bày cách tự động sao lưu cơ sở dữ liệu MySQL bằng tập lệnh Bash, từng bước một.
Làm cách nào để tự động sao lưu cơ sở dữ liệu MySQL bằng Bash Script?
Tạo tập lệnh Bash để sao lưu cơ sở dữ liệu MySQL. Đầu tiên, mở terminal, tạo một thư mục và điều hướng đến thư mục bằng cách gõ các lệnh sau:
mkdir mysqlbackup
cd mysqlbackup/
Đầu ra hiển thị rằng bạn đã điều hướng thành công đến thư mục:
Tạo một tập lệnh bash có tên “ dự phòng.sh ” sử dụng bất kỳ trình chỉnh sửa nào, đối với bài đăng này, trình chỉnh sửa nano đang được sử dụng:
sao lưu nano.sh
Tập lệnh bash sẽ tạo:
Cung cấp thông tin đăng nhập MySQL và tên của cơ sở dữ liệu mà bạn muốn sao lưu:
DB_USER='tên người dùng'DB_PASS='mật khẩu'
DB_
Đặt thư mục Backup “ BACKUP_DIR ” bằng cách cung cấp vị trí lưu tệp sao lưu:
BACKUP_DIR='/path/to/your/backup/thư mục'Đặt định dạng ngày cho tên của tệp sao lưu:
NGÀY=$(ngày +'%Y-%m-%d_%H-%M-%S')Sử dụng lệnh mysqldump này với thông tin đăng nhập cơ sở dữ liệu MySQL để tạo tệp sao lưu SQL:
mysqldump --user=$DB_USER --password=$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sqlĐể nén tệp sao lưu SQL bằng công cụ gzip, hãy sử dụng lệnh sau:
gzip $BACKUP_DIR/$DB_NAME-$DATE.sqlĐể tiết kiệm dung lượng ổ đĩa, hãy xóa các tệp sao lưu cũ sau một khoảng thời gian, trong khoảng thời gian này “ 7 ” tập tin sao lưu ngày cũ sẽ bị xóa bằng lệnh này:
tìm $BACKUP_DIR -type f -name '*.gz' -mtime +7 -deleteLưu tệp và thoát khỏi trình chỉnh sửa nano bằng cách nhấn “ CTRL + X ” phím:
Thay đổi quyền của tập lệnh bash thành có thể thực thi được bằng cách chạy lệnh này:
sao lưu chmod +x.shĐầu ra không có lỗi có nghĩa là việc thực thi lệnh thành công:
Chạy tập lệnh bằng lệnh bash này:
sao lưu sudo bash.shNhập mật khẩu của Ubuntu và sử dụng “ ls ” lệnh để xác minh xem tệp sao lưu có được tạo hay không:
Tệp sao lưu được tạo thành công bằng cách sử dụng tập lệnh bash. Bây giờ để tự động hóa quá trình sao lưu bằng cách sử dụng “ cron ” tiện ích lập lịch công việc. Để gửi một công việc định kỳ mới, hãy sử dụng “ -Nó là ” tùy chọn với crontab:
crontab -eĐặt thời gian để tự động chạy tập lệnh bash. Đối với bài đăng này, “ 2 giờ sáng ” được chọn để tự động chạy tập lệnh:
0 2 * * * /path/to/backup_mysql.shLưu và thoát tệp:
Hãy xem một lệnh khác nếu bạn muốn sao lưu cơ sở dữ liệu của mình sau mỗi “ 5 phút ” gõ cái này và lưu tệp:
*/5 * * * * /path/to/backup_mysql.shCrontab sẽ mất một chút thời gian để tạo công việc thành công:
Kiểm tra thư mục để biết các tệp sao lưu được tạo tự động sau “ 2 giờ sáng ', sử dụng ' ls ' yêu cầu:
Các tệp sao lưu cơ sở dữ liệu MySQL được tạo tự động bằng tập lệnh bash và tiện ích cron.
Phần kết luận
Tạo tập lệnh bash bằng cách cung cấp thông tin đăng nhập MySQL và tên của cơ sở dữ liệu mà bạn muốn sao lưu và định dạng tên tệp. Sử dụng lệnh mysqldump để tạo tệp SQL sao lưu, gzip để nén tệp và chạy tập lệnh. Sử dụng crontab để thực hiện quá trình sao lưu tự động. Bài đăng này đã thảo luận về cách tự động sao lưu cơ sở dữ liệu MySQL bằng cách sử dụng tập lệnh Bash.