Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh logrotate của Linux để quản lý các file log trên hệ thống của bạn. Logrotate là một tiện ích tự động xoay vòng, nén và xóa các file log cũ, giúp duy trì sức khỏe và hiệu suất của hệ thống. Đầu tiên, bạn sẽ khám phá cách sử dụng cơ bản của lệnh logrotate, bao gồm kiểm tra phiên bản đã cài đặt và hiểu cấu hình mặc định. Sau đó, bạn sẽ cấu hình logrotate để quản lý các log của máy chủ web Apache, tùy chỉnh các cài đặt xoay vòng để đáp ứng các nhu cầu cụ thể của bạn.
Giới thiệu về Lệnh Logrotate
Trong bước này, bạn sẽ tìm hiểu về lệnh logrotate trong Linux. Logrotate là một tiện ích giúp quản lý các file log bằng cách tự động xoay vòng, nén và xóa các file log cũ. Điều này rất quan trọng để duy trì sức khỏe và hiệu suất của hệ thống của bạn, vì các file log có thể nhanh chóng chiếm một lượng lớn dung lượng đĩa nếu không được quản lý đúng cách.
Đầu tiên, hãy kiểm tra phiên bản logrotate đã cài đặt trên hệ thống của bạn:
sudo logrotate --version
Ví dụ đầu ra:
logrotate 3.18.1
Tiếp theo, hãy khám phá cách sử dụng cơ bản của lệnh logrotate. Lệnh logrotate đọc file cấu hình /etc/logrotate.conf
và bất kỳ file cấu hình nào được tìm thấy trong thư mục /etc/logrotate.d/
để xác định cách xoay vòng các file log.
Để xem cấu hình mặc định, bạn có thể chạy:
sudo cat /etc/logrotate.conf
Thao tác này sẽ hiển thị cho bạn các cài đặt mặc định cho việc xoay vòng log, chẳng hạn như tần suất xoay vòng, số lượng file log cũ cần giữ và phương pháp nén được sử dụng.
Bạn cũng có thể xoay vòng các file log thủ công bằng lệnh logrotate. Ví dụ: để xoay vòng log truy cập Apache, bạn có thể chạy:
sudo logrotate /etc/logrotate.d/apache2
Thao tác này sẽ xoay vòng ngay lập tức file log truy cập Apache, bất kể lịch trình đã định cấu hình.
Cấu hình Logrotate cho Các Log của Máy chủ Web Apache
Trong bước này, bạn sẽ tìm hiểu cách cấu hình logrotate để quản lý các log của máy chủ web Apache.
Đầu tiên, hãy cài đặt máy chủ web Apache:
sudo apt-get update
sudo apt-get install -y apache2
Sau khi quá trình cài đặt hoàn tất, bạn có thể kiểm tra các file log Apache mặc định:
ls -l /var/log/apache2/
Ví dụ đầu ra:
-rw-r--r-- 1 root root 0 Apr 26 12:00 access.log
-rw-r--r-- 1 root root 0 Apr 26 12:00 error.log
Bây giờ, hãy tạo một file cấu hình logrotate tùy chỉnh cho các log của Apache:
sudo nano /etc/logrotate.d/apache2
Thêm cấu hình sau:
/var/log/apache2/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if /etc/init.d/apache2 status > /dev/null; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}
Cấu hình này sẽ:
- Xoay vòng các log truy cập và log lỗi của Apache hàng ngày
- Giữ 7 ngày file log
- Nén các file log đã xoay vòng
- Tạo các file log mới với các quyền được chỉ định
- Khởi động lại dịch vụ Apache sau khi xoay vòng để đảm bảo các file log mới được sử dụng
Để kiểm tra cấu hình, bạn có thể xoay vòng các log thủ công:
sudo logrotate /etc/logrotate.d/apache2
Kiểm tra lại thư mục log để xem các file đã xoay vòng:
ls -l /var/log/apache2/
Ví dụ đầu ra:
-rw-r--r-- 1 root root 0 Apr 26 12:00 access.log
-rw-r--r-- 1 root root 0 Apr 26 12:00 error.log
-rw-r--r-- 1 root root 0 Apr 26 12:01 access.log.1.gz
-rw-r--r-- 1 root root 0 Apr 26 12:01 error.log.1.gz
Tùy chỉnh Cấu hình Logrotate cho Các File Log Cụ thể
Trong bước này, bạn sẽ tìm hiểu cách tùy chỉnh cấu hình logrotate cho các file log cụ thể trên hệ thống của bạn.
Hãy tạo một file log tùy chỉnh và cấu hình logrotate để quản lý nó.
Đầu tiên, tạo một file log mẫu:
sudo touch /var/log/custom.log
sudo chmod 644 /var/log/custom.log
Bây giờ, tạo một file cấu hình logrotate mới cho log tùy chỉnh:
sudo nano /etc/logrotate.d/custom-logs
Thêm cấu hình sau:
/var/log/custom.log {
weekly
rotate 4
compress
delaycompress
notifempty
create 644 root adm
}
Cấu hình này sẽ:
- Xoay vòng file
custom.log
hàng tuần - Giữ 4 tuần file log
- Nén các file log đã xoay vòng
- Tạo các file log mới với các quyền được chỉ định
Để kiểm tra cấu hình, bạn có thể xoay vòng các log thủ công:
sudo logrotate /etc/logrotate.d/custom-logs
Kiểm tra thư mục log để xem các file đã xoay vòng:
ls -l /var/log/
Ví dụ đầu ra:
-rw-r--r-- 1 root adm 0 Apr 26 12:00 custom.log
-rw-r--r-- 1 root adm 0 Apr 19 12:00 custom.log.1.gz
-rw-r--r-- 1 root adm 0 Apr 12 12:00 custom.log.2.gz
-rw-r--r-- 1 root adm 0 Apr 5 12:00 custom.log.3.gz
-rw-r--r-- 1 root adm 0 Mar 29 12:00 custom.log.4.gz
Bạn cũng có thể tùy chỉnh cấu hình logrotate cho các file log khác trên hệ thống của bạn, chẳng hạn như các log dành riêng cho ứng dụng hoặc các log hệ thống, bằng cách tạo các file cấu hình bổ sung trong thư mục /etc/logrotate.d/
.
Tóm tắt
Trong lab này, bạn đã tìm hiểu về lệnh logrotate trong Linux, là một tiện ích giúp quản lý các file log bằng cách tự động xoay vòng, nén và xóa các file log cũ. Bạn đã khám phá cách sử dụng cơ bản của lệnh logrotate, bao gồm kiểm tra phiên bản, xem cấu hình mặc định và xoay vòng các file log thủ công. Ngoài ra, bạn đã cấu hình logrotate để quản lý các log của máy chủ web Apache, tạo một file cấu hình logrotate tùy chỉnh và hiểu các tùy chọn khác nhau có sẵn cho việc xoay vòng log.