Cách xử lý file log khổng lồ trong Linux

0

Nếu bạn đã quản lý một máy chủ Linux trong bất kỳ khoảng thời gian nào, bạn đã quen thuộc với vấn đề của các file log. Thì có thể bạn sẽ thấy khó khăn với việc đối mặt với một tập tin log hàng trăm MB(hoặc thậm chí GB). Tìm kiếm các file này là một nỗi đau, và cuối cùng nó sẽ ăn tốn rất nhiều dung lượng máy chủ của bạn.

Hướng dẫn này sẽ chỉ cho bạn cách xử lý vấn đề này. Chúng ta sẽ sử dụng gói Linux sẵn có cho các bản ghi hệ thống đã có sẵn. Điều này có nghĩa là bạn không cần phải cài đặt bất kỳ gói mới nào! Tất cả những gì bạn cần biết là cách thêm cấu hình cho các tệp nhật ký của riêng bạn.

Xem cách nhật ký Linux được xoay với logrotate

Có một loạt các tệp nhật ký hệ thống ở vị trí sau:

/ var / log /

Trong ảnh chụp màn hình bên dưới, tôi liệt kê tất cả các tệp trong thư mục đó và hiển thị kích thước tệp trong MB:

Như bạn có thể thấy, có rất nhiều tệp log lớn được datestamped. Chúng được tạo ra bởi “logrotate” theo mặc định. Nhìn vào dấu thời gian, chúng ta có thể thấy rằng chúng được tạo ra cứ 7 ngày một lần. Vì vậy, đối với mỗi tệp nhật ký ở đây, logrotate thực hiện như sau:

  1. Đổi tên tệp nhật ký bằng dấu thời gian
  2. Tạo một tệp nhật ký trống mới có cùng tên như trước đây

Kiểm tra cấu hình mặc định của Logrotate

Logrotate kiểm tra tệp sau để biết cấu hình của nó:

/etc/logrotate.conf

Trong đó, chúng ta có thể thấy rằng nó nhận được tất cả các thông tin quan trọng về:

  1. Tần suất xoay vòng nhật ký
  2. Có bao nhiêu bản sao lưu nên giữ
  3. Loại hậu tố nào cần thêm vào nhật ký cũ
  4. Có hay không nên nén chúng
  5. v.v.

Đây là ảnh chụp màn hình của tệp cấu hình logrotate:

Theo mặc định, các tệp nhật ký cũ không được nén. Bạn có thể thay đổi điều này bằng cách đơn giản là bỏ ghi chú “nén” như chỉ dẫn ở trên.

Thêm tệp để logrotate

Làm thế nào để logrotate biết các bản ghi để làm việc trên? Các tệp trong thư mục này:

/etc/logrotate.d

Ví dụ, trong nhật ký “an toàn” của chúng ta mà chúng ta đã thấy trong ảnh chụp màn hình đầu tiên, chúng ta có thể tìm ra tệp nào trong logrotate.d có chứa nó bằng cách sử dụng lệnh grep đơn giản, như được hướng dẫn chi tiết trong grep cho người dùng nâng cao :

grep -r secure /etc/logrotate.d

Ảnh chụp màn hình bên dưới cho biết tệp nào chịu trách nhiệm về nhật ký “bảo mật”:

Mở “syslog”, chúng ta có thể thấy rằng nó cho phép logrotate hoạt động trên một số tệp:

Tất cả đều nằm trong / var / log /. Vì vậy, mỗi tệp chứa:

  1. Tên của tệp nhật ký cần xoay
  2. Chỉ thị cụ thể cho tệp cụ thể đó
  3. Trong trường hợp không có chỉ thị, các giá trị mặc định từ logrotate.conf sẽ được sử dụng

Tạo tệp Logrotate của riêng bạn cho Nhật ký của bạn

Chúng ta có thể làm theo các mẫu ở trên để tạo một mục với logrotate cho chúng ta biết nó xử lý các tệp riêng của chúng ta theo cùng một cách.

Nhận chủ sở hữu và nhóm cho Danh bạ của bạn

Để đảm bảo rằng tất cả các điều khoản được đặt ra, chúng ta cần logrotate để chạy với các điều khoản thích hợp. Điều hướng đến thư mục chứa (các) tệp nhật ký bạn muốn xử lý và nhận chủ sở hữu cũng như nhóm bằng lệnh này:

ls -l -d

Ví dụ: thư mục / var / log có chủ sở hữu là “root” và nhóm cũng là “root”:

Tạo một tệp logrotate với cấu hình

Tiếp theo, tạo một tệp mới trong /etc/logrotate.d/ và dán cấu hình mẫu sau vào nó:

/var/log/newlogfile {

size 10M

compress

delaycompress

su root root

}

Thay thế / var / log / newlogfile bằng vị trí của tệp nhật ký của riêng bạn. Ngoài ra, thay thế root root su với tên chủ sở hữu và nhóm bạn đã có trong bước trước đó. Dưới đây là danh sách các chỉ thị logrotate mà bạn có thể sử dụng. Chỉ thị “delaycompress” cho phép logrotate chỉ nén các tệp có 2 phiên bản cũ hoặc cũ hơn. Bằng cách này, bạn có thể truy cập nhanh chóng và dễ dàng vào tệp nhật ký được nén gần đây nhất.

Bạn cũng có thể sử dụng các dòng sau trong khối dấu ngoặc nhọn để chạy tập lệnh sau và trước khi các tệp nhật ký của bạn được xoay:

postrotate
// scripts for post rotation go here
endscript

Như bạn có thể thấy, Linux có một giải pháp hoàn chỉnh để xoay tệp nhật ký. Tất cả những gì bạn cần làm là thêm một vài dòng mã vào khung hiện có và các tệp nhật ký của riêng bạn có thể được xoay mà không có bất kỳ phức tạp nào!

Nếu bạn thấy bài đăng trên blog này hữu ích, vui lòng chia sẻ bài đăng với bạn bè của bạn qua mạng truyền thông xã hội hoặc nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại nhận xét bên dưới và chúng tôi sẽ trả lời. Cảm ơn!

Leave a Reply

Your email address will not be published. Required fields are marked *