ToolsKiếmTriệuĐô

Thiết Lập Sao Lưu MySQL Tự Động Trên Linux Với Cron Job

Sao lưu dữ liệu là công việc tối quan trọng đối với bất kỳ website hay ứng dụng nào. Tự động hóa quá trình này giúp bạn tiết kiệm thời gian và đảm bảo không bao giờ quên sao lưu.

Tự động hóa cơ sở dữ liệu
Để hệ thống tự làm việc cho bạn.

Hướng dẫn này sẽ chỉ bạn cách tạo một kịch bản (shell script) đơn giản để sao lưu một cơ sở dữ liệu MySQL, sau đó dùng `cron` để lên lịch cho kịch bản này chạy hàng ngày.

Bước 1: Tạo Script Sao Lưu

Đầu tiên, hãy tạo một file kịch bản. Mở terminal và gõ:

nano /home/user/backup_script.sh

Dán nội dung sau vào file, và thay thế các giá trị `DB_USER`, `DB_PASS`, `DB_NAME`, và `BACKUP_DIR` bằng thông tin của bạn:

#!/bin/bash
DB_USER="your_database_user"
DB_PASS="your_database_password"
DB_NAME="your_database_name"
BACKUP_DIR="/home/user/mysql_backups"
DATE=$(date +%F)

# Tạo thư mục backup nếu chưa tồn tại
mkdir -p $BACKUP_DIR

# Lệnh mysqldump để xuất database
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/$DB_NAME-$DATE.sql.gz

Lưu file lại (Ctrl+X, Y, Enter). Sau đó, cấp quyền thực thi cho file:

chmod +x /home/user/backup_script.sh

Bước 2: Lên Lịch Với Cron Job

Cron là một trình tiện ích trên Linux cho phép bạn chạy các tác vụ theo một lịch trình định sẵn.

Mở trình soạn thảo crontab:

crontab -e

Thêm dòng sau vào cuối file để lên lịch cho script chạy vào lúc 2 giờ sáng mỗi ngày:

0 2 * * * /home/user/backup_script.sh

Lưu file và thoát. Bây giờ, hệ thống của bạn sẽ tự động tạo một bản sao lưu nén của cơ sở dữ liệu mỗi ngày. Bạn nên kết hợp giải pháp này với việc đồng bộ các file backup lên một dịch vụ lưu trữ đám mây để tăng cường an toàn.