Cách cài đặt và sử dụng logrotate để quản lý tệp nhật ký trong Ubuntu

theanh

Administrator
Nhân viên
Tệp nhật ký là quan trọng nhất đối với bảo mật hệ thống Linux. Công cụ logrotate được thiết kế để đơn giản hóa việc quản lý tệp nhật ký trên hệ thống Linux, cho phép tự động xoay vòng, nén, xóa và gửi tệp nhật ký. Bạn có thể dễ dàng thiết lập logrotate để xử lý tệp nhật ký hàng ngày, hàng tuần hoặc hàng tháng. Chương trình logrotate xoay vòng các tệp nhật ký bằng cách xóa các tệp cũ nhất khỏi hệ thống của bạn và tạo các tệp mới.

Trong hướng dẫn này, tôi sẽ giải thích cách sử dụng logrotate để quản lý nhật ký trên máy chủ Ubuntu.

Yêu cầu​

  • Máy chủ chạy Ubuntu
  • Người dùng không phải root có quyền sudo.

Cài đặt Logrotate​

Theo mặc định, logrotate có sẵn trong máy chủ Ubuntu. Nếu không, bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
sudo apt install logrotate -y
Sau khi logrotate đã được cài đặt, bạn có thể kiểm tra phiên bản logrotate bằng lệnh sau:
Mã:
sudo logrotate
Đầu ra:
Mã:
logrotate 3.11.0 - Bản quyền (C) 1995-2001 Red Hat, Inc.Phiên bản này có thể được phân phối lại miễn phí theo các điều khoản của Giấy phép Công cộng GNUCách sử dụng: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail=command] [-s|--state=statefile] [-v|--verbose] [-l|--log=STRING] [--version] [-?|--help] [--usage] [OPTION...]

Cấu hình Logrotate​

Theo mặc định, tệp cấu hình chính của logrotate là logrotate.conf nằm tại /etc/logrotate.conf. Các tệp cấu hình khác có tại /etc/logrotate.d. Bạn có thể liệt kê chúng bằng lệnh sau:
Mã:
ls /etc/logrotate.d
Đầu ra:
Mã:
alternatives apport dpkg mysql-server rsyslog unattended-upgradesapache2 apt lxd openproject ufw
Các tùy chọn chính của logrotate được liệt kê bên dưới:

missingok : Không tạo lỗi nếu nhật ký bị thiếu

weekly: xoay vòng các tệp nhật ký một lần một tuần

create: Tệp cũ được lưu dưới tên mới và một tệp mới được tạo

compress: logrotate nén các tệp nhật ký bằng gzip để tiết kiệm dung lượng

rotate 4: logrotate xoay vòng một nhật ký nhất định bốn lần trước khi xóa nhật ký đó, do đó, điều này sẽ giữ lại bốn tuần nhật ký trực tuyến

thông báo trống: Không xoay vòng tệp nhật ký khi tệp đó trống

Theo mặc định, logrotate chạy hàng ngày bằng cách thực thi tập lệnh shell /etc/cron.daily/logrotate. Hãy kiểm tra apache logrotation bằng cách chạy lệnh sau:
Mã:
sudo logrotate -d /etc/logrotate.d/apache2
Đầu ra:
Mã:
đọc tệp cấu hình /etc/logrotate.d/apache2Đọc trạng thái từ tệp: /var/lib/logrotate/statusPhân bổ bảng băm cho tệp trạng thái, kích thước 64 mụcXử lý 1 nhật kýmẫu xoay vòng: /var/log/apache2/*.log sau 1 ngày (14 lần xoay vòng)các tệp nhật ký trống không được xoay vòng, các nhật ký cũ bị xóaxem xét nhật ký /var/log/apache2/access.logTạo trạng thái mới Bây giờ: 2018-10-11 16:04 Lần xoay vòng cuối cùng vào 2018-10-11 16:00 nhật ký không cần xoay vòng (nhật ký đã được xoay vòng)xem xét nhật ký /var/log/apache2/error.logTạo trạng thái mới Bây giờ: 2018-10-11 16:04 Lần xoay cuối cùng lúc 2018-10-11 16:00 nhật ký không cần xoay (nhật ký đã được xoay)xem xét nhật ký /var/log/apache2/other_vhosts_access.logTạo trạng thái mới Bây giờ: 2018-10-11 16:04 Lần xoay cuối cùng lúc 2018-10-11 16:00 nhật ký không cần xoay (nhật ký đã được xoay)không chạy tập lệnh prerotate, vì không có nhật ký nào được xoaykhông chạy tập lệnh postrotate, vì không có nhật ký nào được xoay
Theo mặc định, logrotate được chạy như một tác vụ cron hàng ngày. Bạn có thể kiểm tra /etc/cron.daily/logrotate để biết thêm thông tin về tác vụ cron. Bạn cũng có thể cấu hình tác vụ cron cho logrotate để chạy hàng giờ, hàng tuần và hàng năm.
 
Back
Bên trên