Tối ưu quá trình ghi nhật ký

Một phần của tài liệu nhập môn linux và phần mềm mã nguồn mở (Trang 126 - 129)

Chương 12 Nhật ký

12.3Tối ưu quá trình ghi nhật ký

Các tệp nhật ký sau một thời gian sử dụng sẽ có kích thước tăng lên không ngừng. Nếu không có các biện pháp, trên lý thuyết kích thước của các tệp nhật ký sẽ tăng vô hạn. Rất khó có thể xác định được các thông tin trong một số lượng lớn các tệp nhật ký.

logrotate là phần mềm được xây dựng để làm thuận tiện hơn việc quản trị các hệ thống sản sinh ra nhiều các tệp nhật ký. logrotate cho phép nén, xóa, cập nhật và gửi các tệp nhật ký đi một cách tự động. Mỗi tệp nhật ký sẽ được kiếm tra định kỳ theo tuần, theo tháng và theo kích thước của tệp nhật ký.

Với cấu hình mặc định, logrotate thực hiện các thao tác trên các tệp nhật ký hàng ngày. Các tệp nhật ký sẽ được cập nhật khi các điều kiện về kích thước của tệp được kích hoạt, hoặc khi quản trị viên khai báo các thao tác này một cách tường minh (tùy biến –force).

logrotate có thể hoạt động trên nhiều tệp cấu hình khác nhau. Các tệp này thông thường được liên kết với nhau trong một tệp cấu hình duy nhất. Hình 12.3.3 là ví dụ một tệp cấu hình đơn giản cảu logrotate Các thao tác trên từng tệp nhật ký riêng biệt được ghi trong các tệp cấu hình đặt trong thư mục /etc/logrotate.d/. Ví dụ Các tùy biến trong các tệp cấu hình có ý nghĩa như sau:

# see "man logrotate" for details # rotate log files weekly

weekly

# keep 4 weeks worth of backlogs rotate 4

# create new (empty) log files after rotating old ones create

# uncomment this if you want your log files compressed #compress

# RPM packages drop log rotation information into this directory include /etc/logrotate.d

# no packages own wtmp -- we’ll rotate them here /var/log/wtmp {

monthly

create 0664 root utmp rotate 1

}

Hình 12.3.3: Ví dụ về tệp cấu hình của logrotate

/var/log/httpd/*.log { weekly rotate 52 compress missingok notifempty sharedscripts postrotate

/bin/kill -HUP ‘cat /var/run/httpd.pid 2>/dev/null‘ 2> /dev/null || true endscript }

• weekly : Các tệp nhật ký được thực hiện nếu ngày trong tuần hiện tại nhỏ hơn ngày trong tuần khi thực hiện kiểm tra tệp nhật ký hoặc đã kiểm tra được hơn 01 tuần.

• rotate 52 : Tệp nhật ký được xử lý 52 lần trước khi bị xóa đi hoặc gửi theo email.

• compress : Các tệp lưu trữ cũ của nhật ký được nén (để tiết kiệm không gian đĩa).

• missingok : Nếu tệp nhật ký không có, tiếp tục xử lý các tệp nhật ký tiếp theo. Không thông báo lỗi.

• notifempty : Không xử lý nếu nhật ký rỗng.

• sharedscripts : Các tệp nhật ký cùng thực hiện một kịch bản sẽ chỉ thực hiện kịch bản một lần. Nếu không có nhật ký nào được xử lý, kịch bản dùng chung này sẽ không thực hiện.

• postrotate câu lệnh endscript : Câu lệnh thực hiện sau khi xử lý xong tệp nhật ký.

12.4 Bài tập

Bài tập 12.1 Đăng nhập vào hệ thống bằng tài khoản người quản trị, xem nội dung tệp /var/log/messages. Câu lệnh nào cho biết các sự kiện mới nhất xảy ra trong hệ thống.

Bài tập 12.2 Theo dõi tệp nói trên sử dụng lệnh tail

Bài tập 12.3 Mở một console khác, thử đăng nhập bằng mật khẩu đúng và mật khẩu sai, theo dõi sự thay đổi của tệp trên

Bài tập 12.4 Căn cứ vào tệp cấu hình của logrotate, giải thích tệp /var/log/messages được xử lý thế nào.

Chương 13

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu nhập môn linux và phần mềm mã nguồn mở (Trang 126 - 129)