Ví dụ về logrotate của Linux

Vi Du Ve Logrotate Cua Linux



Thông tin nhật ký là một phần rất quan trọng của bất kỳ hệ điều hành nào để chẩn đoán sự cố của bất kỳ ứng dụng đang chạy nào và các mục nhật ký giúp tìm ra giải pháp cho vấn đề. Hầu hết các ứng dụng của hệ điều hành Linux đều tạo nhật ký và quản trị viên hệ thống nhận được thông tin cần thiết về ứng dụng từ các mục nhật ký. Tuy nhiên, các mục nhật ký đôi khi tạo ra vấn đề vì kích thước của các mục nhập sẽ lớn hơn theo thời gian. Vì vậy, các mục nhật ký được yêu cầu để quản lý.

Logrotate là một công cụ dòng lệnh của Linux để quản lý các mục nhật ký. Công cụ này giúp quản trị viên thực hiện các loại tác vụ khác nhau trên các mục nhật ký như giới hạn các tệp nhật ký được xoay, nén các tệp nhật ký được xoay, xóa các tệp nhật ký không cần thiết, thực thi tập lệnh shell cụ thể dựa trên các tệp nhật ký, v.v. lệnh “logrorate” để quản lý tệp nhật ký theo nhiều cách khác nhau được hiển thị trong hướng dẫn này bằng nhiều ví dụ.

Kiểm tra phiên bản logrotate đã cài đặt

Lệnh “logrotate” được cài đặt theo mặc định trong phiên bản mới của hệ điều hành Ubuntu. Chạy lệnh sau để kiểm tra phiên bản đã cài đặt của lệnh “logrotate”:







$ đăng nhập --phiên bản



Theo mặc định, các mục nhật ký của các ứng dụng khác nhau được lưu trữ trong thư mục “/var/log”. Nội dung tương tự sau đây sẽ xuất hiện nếu bạn kiểm tra nội dung của thư mục.



$ ls / đã từng là / nhật ký





Đặt cấu hình “Logrotate”

Giá trị cài đặt Mục đích
hàng ngày/hàng tuần/hàng tháng/hàng năm Nó xác định khoảng thời gian để xoay các bản ghi.
xoay số Nó xác định số lượng tệp sẽ được lưu giữ trước khi xóa các tệp nhật ký cũ.
nén Nó được sử dụng để nén các tập tin nhật ký.
néncmd Nó được sử dụng để thiết lập lệnh “nén”. Gzip là lệnh mặc định.
giải néncmd Nó được sử dụng để thiết lập lệnh “giải nén”. Gunzip là lệnh mặc định.
nén trễ Nó được sử dụng để trì hoãn quá trình nén các tệp nhật ký.
thông báo trống Nó được sử dụng để không xoay tập tin trống.
tôi đang thiếu Nếu được đặt, sẽ không có lỗi nào được tạo ra đối với các tệp nhật ký bị thiếu.
kích cỡ Nó được sử dụng để đặt giới hạn bắt đầu xoay các tệp nhật ký.
nội dung ngày tháng Nó được sử dụng để thêm giá trị ngày làm hậu tố của tệp xoay.
sao chép Nó được sử dụng để tạo một bản sao của tập tin gốc.
được xoay trước Nó được sử dụng để chạy tập lệnh trước khi xoay tệp nhật ký.
luân phiên Nó được sử dụng để chạy tập lệnh sau khi xoay tệp nhật ký.
tạo nên Nó được sử dụng để tạo các tệp nhật ký với quyền root.

Cú pháp:

Cú pháp của lệnh “logrotate” được đưa ra như sau:



đăng nhập [ LỰA CHỌN ] config_file_path

Các loại tùy chọn khác nhau có thể được sử dụng cho các mục đích khác nhau bằng lệnh “logrotate”.

Tùy chọn đăng nhập

Một số tùy chọn hữu ích của lệnh “logrotate” được đề cập sau đây:

-f, –lực lượng Nó được sử dụng để thực hiện chuyển động quay mạnh mẽ khi cần thiết.
-d, –debug Nó được sử dụng để kích hoạt chế độ gỡ lỗi trong quá trình xoay.
-m, –mail Nó được sử dụng để gửi email trong quá trình quay vòng.
-s, –state Nó được sử dụng cho các tập tin trạng thái thay thế.
-cách sử dụng Nó được sử dụng để in thông tin sử dụng.
-?, -giúp đỡ Nó được sử dụng để in các tin nhắn trợ giúp.
-v, –verbose Nó được sử dụng để in ở chế độ dài dòng.

Tệp cấu hình logrotate

Tệp cấu hình logrotate chính được đặt tại vị trí “/etc/logrotate.conf”. Chạy lệnh sau để mở tệp trong trình chỉnh sửa nano:

$ nano / vân vân / logrotate.conf

Cài đặt mặc định của lệnh “logrotate” được hiển thị trong tệp “logrotate.conf”. Lệnh “include” được sử dụng trong tệp để truy xuất cấu hình nằm trong thư mục “/etc/logrotate.d”.

Ví dụ 1: Tạo tệp cấu hình logrotate đơn giản

Tạo một tệp nhật ký mẫu có tên “/var/log/test.log” với dữ liệu nhật ký mẫu. Chạy lệnh sau để mở trình soạn thảo nano nhằm tạo tệp “logrotate.conf” mới trong vị trí thư mục “/etc/tmp”. Tạo thư mục “/tmp” với quyền root nếu nó chưa được tạo trước đó.

$ nano / vân vân / tmp / logrotate.conf

Thêm nội dung sau vào tệp cho tệp “/var/log/test.log”. Theo cài đặt, tệp “test.log” sẽ được luân chuyển hàng ngày nếu kích thước tệp vượt quá 5K:

/ đã từng là / nhật ký / kiểm tra.log {

hằng ngày

kích cỡ 5K

của anh ấy quản trị viên gốc

}

Chạy lệnh sau để kiểm tra kích thước của tệp nhật ký:

$ ls -l / đã từng là / nhật ký / kiểm tra.log

Chạy lệnh “logrotate” sau khi tạo tệp cấu hình.

$ sudo đăng nhập / vân vân / tmp / logrotate.conf

Chạy lại lệnh sau để kiểm tra kích thước của tệp nhật ký sau khi thực hiện lệnh “logrotate”:

$ ls -l / đã từng là / nhật ký / kiểm tra.log

Kích thước của tệp “test.log” là 1K+. Vì vậy, không có thao tác xoay nào được thực hiện dựa trên cài đặt cấu hình.

Thay đổi giá trị kích thước thành 1K trong tệp “/etc/tmp/logrotate.conf” và chạy lại lệnh “ls” để kiểm tra kích thước tệp của “/var/log/test.log”. Theo đầu ra, tệp nhật ký bị xoay và xóa do vượt quá giới hạn kích thước.

Ví dụ 2: Sử dụng Logrotate Copytruncate

Tạo hoặc sửa đổi tệp “/etc/tmp/logrotate.conf” với các cài đặt sau để hiển thị việc sử dụng copytruncate. Theo cài đặt mới, logrotate tạo một bản sao của tệp gốc bằng cách đặt kích thước tệp gốc về 0.

/ đã từng là / nhật ký / kiểm tra.log {

quay 5

kích cỡ 1k

sao chép

của anh ấy quản trị viên gốc

}

Chạy lệnh sau để kiểm tra kích thước của tệp “test.log”:

$ ls -l / đã từng là / nhật ký / kiểm tra.log

Chạy lệnh “logrotate” sau khi tạo tệp cấu hình.

$ sudo đăng nhập / vân vân / tmp / logrotate.conf

Chạy lại lệnh sau để kiểm tra kích thước của tệp “test.log” sau khi thực hiện lệnh “logrotate”:

$ ls -l / đã từng là / nhật ký / kiểm tra.log

Kích thước tệp gốc trở thành 0 sau khi thực hiện lệnh “logrotate” cho cài đặt copytruncate.

Ví dụ 3: Sử dụng tính năng nén Logrotate

Tạo hoặc sửa đổi tệp “/etc/tmp/logrotate.conf” với các cài đặt sau để hiển thị cách sử dụng tính năng nén. Theo cài đặt mới, logrotate tạo một tệp nén của tệp gốc.

/ đã từng là / nhật ký / kiểm tra.log {

quay 5

kích cỡ 1k

nén

tạo nên 770 quản trị viên gốc

}

Chạy lệnh sau để kiểm tra danh sách các tập tin và thư mục của “/var/log”:

$ ls / đã từng là / nhật ký /

Chạy lệnh “logrotate” sau khi tạo tệp cấu hình.

$ sudo đăng nhập / vân vân / tmp / logrotate.conf

Chạy lại lệnh sau để kiểm tra danh sách các tập tin và thư mục của “/var/log”:

$ ls / đã từng là / nhật ký /

Tệp nén của tệp “test.log” được tạo với tên “test.log.1.gz” và tệp gốc sẽ bị xóa.

Ví dụ 4: Sử dụng Logrotate Dateext

Tạo hoặc sửa đổi tệp “/etc/tmp/logrotate.conf” với các cài đặt sau để hiển thị việc sử dụng dateext. Theo cài đặt mới, logrotate tạo tệp nén của tệp gốc có giá trị ngày.

đã từng là / nhật ký / kiểm tra.log {

của anh ấy quản trị viên gốc

quay 5

kích cỡ 1k

nén

tạo nên 770 quản trị viên gốc

nội dung ngày tháng

}

Chạy lệnh “logrotate” sau khi tạo tệp cấu hình.

$ sudo đăng nhập / vân vân / tmp / logrotate.conf

Chạy lệnh sau để kiểm tra danh sách các tập tin và thư mục của “/var/log”:

$ ls -l / đã từng là / nhật ký /

Tệp nén của tệp “test.log” được tạo với tên “test.log.20240129.gz” và tệp gốc sẽ bị xóa.

Ví dụ 5: Sử dụng Logrotate Maxage

Tạo hoặc sửa đổi tệp “/etc/tmp/logrotate.conf” với các cài đặt sau để hiển thị việc sử dụng mức tối đa. Theo cài đặt, logrotate giữ năm mục nhật ký nếu kích thước của tệp nhật ký vượt quá 1K sau một ngày.

/ đã từng là / nhật ký / kiểm tra.log {

của anh ấy quản trị viên gốc

quay 5

kích cỡ 1k

nén

tối đa 1

}

Chạy lệnh “logrotate” sau để lưu trữ kết quả đầu ra trong một tệp nhật ký khác có tên “out.log”:

$ sudo đăng nhập -S = / đã từng là / nhật ký / out.log / vân vân / tmp / logrotate.conf

Theo kết quả đầu ra sau, tệp “out.log” được tạo sau khi thực hiện lệnh “logrotate”:

Ví dụ 6: Sử dụng Logrotate Missingok

Tạo hoặc sửa đổi tệp “/etc/tmp/logrotate.conf” với các cài đặt sau. Ở đây, tệp nhật ký “testfile.log” không tồn tại trong thư mục “/var/log”.

/ đã từng là / nhật ký / testfile.log {

của anh ấy quản trị viên gốc

quay 5

kích cỡ 1k

nén

}

Một thông báo lỗi được in sau khi thực hiện lệnh “logrotate”.

Thêm cài đặt “missingok” vào tệp cấu hình logrotate và chạy lại lệnh “logrotate”. Không có lỗi nào được in đối với tệp nhật ký bị thiếu.

Ví dụ 7: Sử dụng Logrotate Prerotate

Tạo một tệp Bash có tên “test.sh” với đoạn mã sau để in một thông báo đơn giản. Tệp được sử dụng trong ví dụ logrotate này để hiển thị việc sử dụng prerotate trong tệp cấu hình logrotate.

test.sh



#!/bin/bash

tiếng vọng 'ví dụ về logrotate...'

Sau khi tạo tệp, hãy chạy lệnh sau để đặt quyền thực thi tệp này cho tất cả người dùng:

$ chmod a+x / trang chủ / sự hiểu biết / test.sh

Bây giờ, hãy tạo hoặc sửa đổi tệp “/etc/tmp/logrotate.conf” với các cài đặt sau. Theo cài đặt, logrotate giữ năm mục nhật ký nếu kích thước của tệp nhật ký vượt quá 1K và tệp “test.sh” được thực thi trước khi xoay.

/ đã từng là / nhật ký / kiểm tra.log {

của anh ấy quản trị viên gốc

quay 5

kích cỡ 1k

được xoay trước

/ trang chủ / sự hiểu biết / test.sh

phần cuối

}

Đầu ra của tệp “test.sh” được hiển thị sau khi thực hiện lệnh “logrotate”:

Phần kết luận

Các cách sử dụng khác nhau của lệnh “logrotate” được hiển thị trong hướng dẫn này bằng nhiều ví dụ sẽ giúp người dùng Linux biết cách sử dụng lệnh và quản lý tệp nhật ký đúng cách.