Trong bài viết này, chúng ta sẽ hướng dẫn cách thiết lập lịch backup (sao lưu) các tệp log định kỳ trên một máy chủ Linux sử dụng công cụ cron. Việc này giúp bảo vệ dữ liệu log quan trọng, hỗ trợ kiểm tra lỗi và tuân thủ các yêu cầu bảo mật. Chúng ta sẽ sử dụng một kịch bản bash đơn giản để sao lưu và cấu hình cron để tự động hóa.

Yêu cầu

  • Máy chủ Linux (Ubuntu, CentOS, hoặc tương tự).
  • Quyền root hoặc sudo.
  • Một thư mục chứa tệp log cần backup (ví dụ: /var/log).
  • Không gian lưu trữ đủ trên máy chủ hoặc dịch vụ lưu trữ từ xa (như AWS S3).

Các bước thực hiện backup log định kỳ bằng cron

Bước 1: Tạo kịch bản backup

Tạo một tệp kịch bản bash để sao lưu log.

nano /usr/local/bin/backup_logs.sh

Thêm nội dung sau:

#!/bin/bash

# Định nghĩa biến
LOG_DIR="/var/log"
BACKUP_DIR="/backup/logs"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/logs_backup_${DATE}.tar.gz"

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

# Sao lưu tệp log
tar -czf "$BACKUP_FILE" -C "$LOG_DIR" .

# Xóa backup cũ (giữ 7 ngày)
find "$BACKUP_DIR" -type f -name "logs_backup_*.tar.gz" -mtime +7 -exec rm -f {} \;

echo "Backup log completed at ${DATE}" >> "${BACKUP_DIR}/backup_log.txt"

Đặt quyền thực thi cho kịch bản:

chmod +x /usr/local/bin/backup_logs.sh

Bước 2: Cấu hình cron

Sử dụng crontab để lập lịch chạy kịch bản định kỳ (ví dụ: hàng ngày lúc 2h sáng).

crontab -e

Thêm dòng sau vào tệp crontab:

0 2 * * * /usr/local/bin/backup_logs.sh

Ý nghĩa: Chạy kịch bản lúc 2h sáng (00:02) mỗi ngày.

Lưu và thoát.

Bước 3: Kiểm tra và giám sát

Kiểm tra trạng thái cron:

systemctl status cron

Xem log cron để xác minh:

grep CRON /var/log/syslog

Kiểm tra thư mục backup:

ls -lh /backup/logs/

Bước 4: Kiểm tra lịch sử backup

  • Xem tệp log backup:
    cat /backup/logs/backup_log.txt
    

Kết luận

Bạn đã thiết lập thành công lịch backup log định kỳ bằng cron. Việc này đảm bảo dữ liệu log được sao lưu hàng ngày và tự động xóa các bản backup cũ sau 7 ngày. Nếu sử dụng S3, dữ liệu sẽ an toàn hơn trên đám mây. Để nâng cao, bạn có thể thêm thông báo qua email hoặc kiểm tra tính toàn vẹn của tệp backup.

Nếu gặp vấn đề, kiểm tra log hệ thống (/var/log/syslog) hoặc điều chỉnh thời gian cron theo nhu cầu.

 

CÔNG TY TNHH VPSMMO

  • VP: 8B đường B31, KDC 91B, Phường An Khánh, Quận Ninh Kiều, Thành phố Cần Thơ
  • Tel: 0589549338
  • Email: info@vpsmmo.vn

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

// Script slider order nvme // Script slider order Platinum // Script slider order Dedicated // Script slider order vps gia re // Script mobile hearder menu