Lệnh logrotate trong linux với các ví dụ dễ hiểu

Lệnh logrotate trong linux giúp quản lý các file nhật ký một cách tự động và hiệu quả, tránh tình trạng ổ cứng bị đầy. Nó cho phép nén, xóa, hoặc xoay vòng các file log cũ theo lịch trình định sẵn, giúp hệ thống hoạt động ổn định. Với lệnh logrotate, bạn có thể dễ dàng cấu hình để phù hợp với nhu cầu sử dụng, đảm bảo không gian lưu trữ luôn được tối ưu.

Lệnh logrotate trong linux là gì?

Command logrotate in linux là một công cụ quản lý nhật ký (log) rất hữu ích, giúp hệ thống hoạt động ổn định hơn. Nó tự động xoay vòng, nén, xóa và gửi các tệp nhật ký theo lịch trình định sẵn, tránh việc chúng phình to quá mức. Command logrotate in linux giúp bạn tiết kiệm dung lượng ổ cứng và dễ dàng quản lý các thông tin quan trọng. Việc cấu hình logrotate cho phép bạn tùy chỉnh tần suất xoay vòng, số lượng bản sao lưu giữ lại và các hành động khác. Sử dụng logrotate là một phần quan trọng trong việc bảo trì hệ thống Linux, đảm bảo hiệu suất và khả năng giám sát.

Giới thiệu về Lệnh Logrotate

Trong bước này, bạn sẽ tìm hiểu về lệnh logrotate trong Linux. Logrotate là một tiện ích giúp quản lý các tệp nhật ký một cách tự động. Nó thực hiện việc xoay vòng, nén và xóa các tệp nhật ký cũ một cách hiệu quả. Điều này rất quan trọng để duy trì hiệu suất hệ thống của bạn. Các tệp nhật ký có thể nhanh chóng chiếm nhiều dung lượng đĩa nếu không được quản lý đúng cách. Trước tiên, hãy kiểm tra phiên bản logrotate đã được cài đặt trên hệ thống của bạn.
sudo logrotate --version
Ví dụ về kết quả trả về:
logrotate 3.18.1
Tiếp theo, hãy khám phá cách sử dụng cơ bản của lệnh logrotate này. Lệnh logrotate đọc tệp cấu hình /etc/logrotate.conf và các tệp cấu hình trong thư mục /etc/logrotate.d/. Nó xác định cách xoay vòng các tệp nhật ký dựa trên các cấu hình này. Để xem cấu hình mặc định, bạn có thể chạy lệnh sau:
sudo cat /etc/logrotate.conf
Lệnh này sẽ hiển thị các cài đặt mặc định cho việc xoay vòng nhật ký. Ví dụ như tần suất xoay vòng, số lượng tệp nhật ký cũ cần giữ lại và phương pháp nén được sử dụng. Bạn cũng có thể xoay vòng các tệp nhật ký thủ công bằng lệnh logrotate. Ví dụ, để xoay vòng tệp nhật ký truy cập của Apache, bạn có thể chạy:
sudo logrotate /etc/logrotate.d/apache2
Lệnh này sẽ xoay vòng ngay lập tức tệp nhật ký truy cập Apache, bất kể lịch trình đã được cấu hình trước đó.

Cấu hình Logrotate cho nhật ký của Apache Web Server

Trong bước này, bạn sẽ học cách cấu hình logrotate để quản lý các nhật ký của Apache web server.

Đầu tiên, hãy cài đặt Apache web server bằng các lệnh sau đây:

sudo apt-get update
sudo apt-get install -y apache2

Sau khi cài đặt hoàn tất, bạn có thể kiểm tra các tệp nhật ký mặc định của Apache.

ls -l /var/log/apache2/

Ví dụ về kết quả trả về:

-rw-r--r-- 1 root root   0 Apr 26 12:00 access.log
-rw-r--r-- 1 root root   0 Apr 26 12:00 error.log

Bây giờ, hãy tạo một tệp cấu hình logrotate tùy chỉnh cho nhật ký Apache.

sudo nano /etc/logrotate.d/apache2

Thêm cấu hình sau vào tệp:

/var/log/apache2/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        if /etc/init.d/apache2 status > /dev/null; then
            /etc/init.d/apache2 reload > /dev/null
        fi
    endscript
}

Cấu hình này sẽ thực hiện các công việc sau:

  • Xoay vòng (rotate) các nhật ký access và error của Apache hàng ngày.
  • Giữ lại các tệp nhật ký trong vòng 7 ngày.
  • Nén các tệp nhật ký đã được xoay vòng.
  • Tạo các tệp nhật ký mới với các quyền được chỉ định.
  • Khởi động lại dịch vụ Apache sau khi xoay vòng để đảm bảo sử dụng các tệp nhật ký mới.

Để kiểm tra cấu hình, bạn có thể xoay vòng nhật ký thủ công bằng lệnh sau:

sudo logrotate /etc/logrotate.d/apache2

Kiểm tra lại thư mục nhật ký để xem các tệp đã được xoay vòng:

ls -l /var/log/apache2/

Ví dụ về kết quả trả về:

-rw-r--r-- 1 root root   0 Apr 26 12:00 access.log
-rw-r--r-- 1 root root   0 Apr 26 12:00 error.log
-rw-r--r-- 1 root root   0 Apr 26 12:01 access.log.1.gz
-rw-r--r-- 1 root root   0 Apr 26 12:01 error.log.1.gz

Tùy chỉnh cấu hình Logrotate cho các tệp nhật ký cụ thể

Trong bước này, bạn sẽ học cách tùy chỉnh cấu hình logrotate cho các tệp nhật ký cụ thể trên hệ thống.

Chúng ta hãy tạo một tệp nhật ký tùy chỉnh và cấu hình logrotate để quản lý nó nhé.

Đầu tiên, hãy tạo một tệp nhật ký mẫu:

sudo touch /var/log/custom.log
sudo chmod 644 /var/log/custom.log

Bây giờ, tạo một tệp cấu hình logrotate mới cho nhật ký tùy chỉnh:

sudo nano /etc/logrotate.d/custom-logs

Thêm cấu hình sau:

/var/log/custom.log {
    weekly
    rotate 4
    compress
    delaycompress
    notifempty
    create 644 root adm
}

Cấu hình này sẽ:

  • Xoay (rotate) tệp custom.log hàng tuần
  • Giữ lại các tệp nhật ký trong 4 tuần
  • Nén (compress) các tệp nhật ký đã xoay
  • Tạo các tệp nhật ký mới với các quyền được chỉ định

Để kiểm tra cấu hình, bạn có thể xoay nhật ký thủ công:

sudo logrotate /etc/logrotate.d/custom-logs

Kiểm tra thư mục nhật ký để xem các tệp đã xoay:

ls -l /var/log/

Ví dụ đầu ra:

-rw-r--r-- 1 root adm     0 Apr 26 12:00 custom.log
-rw-r--r-- 1 root adm     0 Apr 19 12:00 custom.log.1.gz
-rw-r--r-- 1 root adm     0 Apr 12 12:00 custom.log.2.gz
-rw-r--r-- 1 root adm     0 Apr  5 12:00 custom.log.3.gz
-rw-r--r-- 1 root adm     0 Mar 29 12:00 custom.log.4.gz

Bạn cũng có thể tùy chỉnh cấu hình logrotate cho các tệp nhật ký khác trên hệ thống. Ví dụ như nhật ký ứng dụng hoặc nhật ký hệ thống, bằng cách tạo thêm các tệp cấu hình trong thư mục /etc/logrotate.d/.

Kết luận cho linux logrotate command

Vậy là chúng ta đã cùng nhau khám phá sức mạnh của linux logrotate command! Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách quản lý log file một cách hiệu quả. Đừng ngần ngại thử nghiệm các cấu hình khác nhau để tìm ra giải pháp phù hợp nhất với nhu cầu của bạn. Việc làm chủ linux logrotate command sẽ giúp hệ thống của bạn hoạt động ổn định và tiết kiệm không gian lưu trữ đáng kể. Hãy nhớ rằng, việc theo dõi và quản lý log file là một phần quan trọng trong việc duy trì sự ổn định của hệ thống. Chúc bạn thành công trên con đường chinh phục linux và quản lý log file một cách chuyên nghiệp! Hãy tiếp tục khám phá những công cụ hữu ích khác trong thế giới linux rộng lớn nhé.

Last Updated : 15/10/2025