LogRotate là gì, các tính năng chính của LogRotate? Hướng dẫn cài đặt & cấu hình LogRotate trên Linux. Tất cả sẽ có trong bài viết dưới đây.
Hosting tốc độ cao - Chất lượng tốt [ Tặng miễn phí trọn bộ plugin SEO trị giá 359$ ]
LogRotate là gì?
LogRotate là một công cụ trên hệ điều hành Linux dùng để quản lý file log. Nó giúp xử lý và lưu trữ file log một cách tự động, giúp tránh file log quá lớn và gây tắc nghẽn hệ thống. LogRotate cung cấp một số tùy chọn cấu hình để quản lý file log như xóa các file log cũ, nén các file log đã quá hạn, xác định tần suất xử lý file log và kích thước tối đa của file log trước khi xử lý.
- Một số lệnh kiểm tra thông số thường gặp trên hệ thống Linux
- Lệnh xem dung lượng trên máy chủ Linux
- Kiểm tra tiến trình chiếm dụng CPU trong Linux với SysStat
- Vài thủ thuật Linux thường dùng nhất cho dân lập trình
LogRotate có thể:
- Xóa các file log cũ và tạo file log mới.
- Nén các file log đã quá hạn để giảm dung lượng lưu trữ.
- Xác định tần suất xử lý file log (hàng ngày, hàng tuần, hàng tháng).
- Xác định kích thước tối đa của file log trước khi xử lý.
Với LogRotate, bạn có thể cấu hình theo nhu cầu của mình để quản lý file log một cách hiệu quả và dễ dàng.
Các tính năng chính của LogRotate
LogRotate cung cấp nhiều tính năng giúp quản lý file log trên hệ điều hành Linux, bao gồm:
- Tự động xử lý và lưu trữ file log: LogRotate sẽ tự động xử lý và lưu trữ file log một cách tự động, giúp tránh file log quá lớn và gây tắc nghẽn hệ thống.
- Xóa file log cũ: LogRotate có thể xóa các file log cũ để giảm dung lượng lưu trữ.
- Nén file log: LogRotate có thể nén các file log đã quá hạn để giảm dung lượng lưu trữ.
- Tùy chọn xử lý theo tần suất: LogRotate cung cấp tùy chọn xử lý file log theo tần suất hàng ngày, hàng tuần hoặc hàng tháng.
- Xác định kích thước tối đa file log: LogRotate có thể xác định kích thước tối đa của file log trước khi xử lý.
- Tùy biến cấu hình: LogRotate cung cấp một số tùy chọn cấu hình để cho phép bạn cấu hình theo nhu cầu của mình.
- Đồng bộ với hệ thống: LogRotate là một công cụ mặc định của hệ điều hành Linux, giúp đảm bảo tính đồng bộ với hệ thống.
Cách cài đặt LogRotate đối với Ubuntu, Debian, CentOS, Redhat
Cách cài đặt LogRotate trên các hệ điều hành Linux khác nhau:
- Ubuntu/Debian:
- Sử dụng lệnh sau để cài đặt LogRotate trên Ubuntu/Debian:
sudo apt-get update
sudo apt-get install logrotate
- CentOS/RedHat:
- Sử dụng lệnh sau để cài đặt LogRotate trên CentOS/RedHat:
sudo yum update
sudo yum install logrotate
Sau khi cài đặt xong, bạn có thể sửa đổi cấu hình LogRotate tại /etc/LogRotate.conf hoặc tạo các tập tin cấu hình riêng cho các dịch vụ khác nhau tại /etc/LogRotate.d/.
Thông số thường gặp trong các tệp tin chính của LogRotate
Một số cấu hình LogRotate cơ bản
Các file log mà LogRotate quản lý được lưu tại /etc/LogRotate.conf. File chứa thông tin về chu kỳ lặp, nén file, dung lượng file log,… Trong khi đó thông tin về cấu hình file log đối với từng ứng dụng được lưu tại /etc/LogRotate.d/.
Cấu trúc của cấu hình LogRotate không quá phúc tạp, chỉ gồm các log file và các thông tin thiết lập cấu hình được đặt trong dấu { }. Dưới đây là một số cấu hình LogRotate cơ bản và phố biến:
Lựa chọn file log được rotate
Bạn có thể lựa chọn file log được rotate trong cấu hình LogRotate. LogRotate sẽ dựa trên cấu hình để xác định xem file log nào sẽ được rotate và cách xử lý.
Bạn có thể chỉ định từng file log riêng biệt hoặc nhóm các file log trong một thư mục với các cấu hình tương ứng. Cấu hình LogRotate sẽ chứa thông tin về địa chỉ file log, tần suất rotate, kích thước tối đa và các tùy chọn xử lý khác.
Ví dụ, bạn có thể cấu hình LogRotate để rotate file log Apache mỗi ngày với kích thước tối đa là 100MB và lưu trữ tối đa 30 phiên bản cũ:
/var/log/apache2/*.log {
daily
rotate 30
size 100M
compress
delaycompress
notifempty
missingok
}
Rotate theo thời gian
Bạn có thể cấu hình LogRotate để rotate file log theo thời gian. LogRotate cung cấp một số tùy chọn để chỉ định thời gian rotate, bao gồm daily, weekly, monthly hoặc annually.
Ví dụ, bạn có thể cấu hình LogRotate để rotate file log mỗi ngày:
/var/log/myapp.log {
daily
rotate 7
size 100M
compress
delaycompress
notifempty
missingok
}
Hoặc, bạn có thể cấu hình LogRotate để rotate file log mỗi tuần:
/var/log/myapp.log {
weekly
rotate 4
size 100M
compress
delaycompress
notifempty
missingok
}
Tùy chọn thời gian rotate sẽ xác định khi LogRotate sẽ thực hiện việc rotate file log.
Rotate theo dung lượng file log
LogRotate cung cấp tùy chọn "size" để chỉ định dung lượng tối đa của file log trước khi nó được rotate.
Ví dụ, bạn có thể cấu hình LogRotate để rotate file log nếu nó vượt quá 100MB:
/var/log/myapp.log {
daily
rotate 7
size 100M
compress
delaycompress
notifempty
missingok
}
Khi file log đạt dung lượng tối đa chỉ định, LogRotate sẽ thực hiện việc rotate nó và tạo một phiên bản mới của file log để ghi nhật ký tiếp theo.
Xử lý file log trống
Bạn có thể cấu hình LogRotate để xử lý file log trống. LogRotate cung cấp tùy chọn "notifempty" để chỉ định rằng nó sẽ chỉ rotate file log nếu nó không trống.
Ví dụ, bạn có thể cấu hình LogRotate như sau để chỉ rotate file log nếu nó không trống:
/var/log/myapp.log {
daily
rotate 7
size 100M
compress
delaycompress
notifempty
missingok
}
Tùy chọn "notifempty" sẽ giữ file log nếu nó trống và không thực hiện việc rotate cho đến khi nó có nội dung.
Tự động nén file log
LogRotate cung cấp tùy chọn "compress" để chỉ định rằng file log sẽ được nén sau khi được rotate.
Ví dụ, bạn có thể cấu hình LogRotate như sau để tự động nén file log sau khi rotate:
/var/log/myapp.log {
daily
rotate 7
size 100M
compress
delaycompress
notifempty
missingok
}
Tùy chọn "compress" sẽ nén file log đã rotate thành một tệp nén, giúp tiết kiệm dung lượng đĩa cứng và tăng tốc độ truy xuất file log.
Phân quyền file log
LogRotate cung cấp tùy chọn "create" để chỉ định phân quyền cho file log mới.
Ví dụ, bạn có thể cấu hình LogRotate như sau để đặt phân quyền cho file log mới sau khi rotate:
/var/log/myapp.log {
daily
rotate 7
size 100M
compress
delaycompress
notifempty
missingok
create 0640 root adm
}
Tùy chọn "create 0640 root adm" sẽ tạo một file log mới sau khi rotate với quyền 0640 và chủ sở hữu là root và nhóm là adm. Điều này sẽ giúp bảo mật file log và cho phép chỉ một số người có thể truy cập vào nó.
Thực thi lệnh trước hoặc sau rotate
LogRotate cung cấp hai tùy chọn "prerotate" và "postrotate" để chỉ định lệnh cần thực thi.
Ví dụ, bạn có thể cấu hình LogRotate như sau để thực thi một lệnh trước khi rotate:
/var/log/myapp.log {
daily
rotate 7
size 100M
compress
delaycompress
notifempty
missingok
create 0640 root adm
prerotate
/usr/bin/myapp-backup.sh
endscript
}
Tùy chọn "prerotate" sẽ thực thi lệnh "/usr/bin/myapp-backup.sh" trước khi file log được rotate. Điều này có thể giúp bạn lưu trữ bản sao của file log trước khi nó được rotate.
Debug cấu hình LogRotate
Bạn có thể sử dụng các lệnh sau để debug cấu hình LogRotate:
- LogRotate -d /etc/LogRotate.conf: Sử dụng tùy chọn -d để chạy LogRotate trong chế độ debug. LogRotate sẽ in ra màn hình tất cả các bước mà nó thực hiện trong quá trình rotate file log.
- LogRotate -f /etc/LogRotate.conf: Sử dụng tùy chọn -f để bắt đầu rotate một file log một cách tự do, không cần phải đợi đến thời điểm hẹn giờ. Điều này có thể giúp bạn kiểm tra xem cấu hình của bạn có hoạt động đúng hay không.
- LogRotate -v /etc/LogRotate.conf: Sử dụng tùy chọn -v để in ra màn hình thông tin chi tiết về quá trình rotate file log. Điều này có thể giúp bạn xác định các vấn đề cần giải quyết trong cấu hình của bạn.
Cần lưu ý rằng, các tùy chọn trên chỉ có tác dụng với LogRotate chạy trong chế độ tự do, không áp dụng cho LogRotate chạy trong chế độ dịch vụ.
Hosting tốc độ cao - Chất lượng tốt [ Tặng miễn phí trọn bộ plugin SEO trị giá 359$ ]
Kết luận
Công cụ LogRotate là một cách hiệu quả để xử lý và lưu trữ file log một cách tự động, giúp tránh file log quá lớn và gây tắc nghẽn hệ thống. Với LogRotate, bạn cũng có thể cấu hình theo nhu cầu của mình để quản lý file log một cách dễ dàng và thuận tiện hơn.
Các tìm kiếm liên quan đến chủ đề “Logrotate”
Logrotate Linux
|
Logrotate config | Cron logrotate | Copytruncate logrotate |
Pm2-logrotate | Logrotate Ubuntu | Restart logrotate | Logrotate examples |
Bài liên quan
- Linux là gì? Hướng dẫn phân quyền trên Linux
- Các câu lệnh (command) thông dụng để xem dung lượng trên ổ đĩa linux
- Tìm vị trí file cấu hình dịch vụ MySQL, PHP và Apache trên Linux
- Hướng dẫn cập nhật bản vá cho lỗi bảo mật Spectre và Meltdown trên Linux
- Cài đặt LMD (Linux Malware Detect) và ClamAV để scan malware trên Linux