Điểm:0

Làm cách nào để tắt các mục nhập danh sách crontab trong nhật ký cron?

lá cờ do

Tôi có một tập lệnh trên máy chủ chạy vài phút một lần và trong số những thứ khác sẽ kiểm tra xem một số mục nhập crontab độc hại đã được đưa vào chưa. Để làm điều này, tôi kiểm tra crontab của tất cả người dùng, tất cả đều hoạt động tốt, nhưng của tôi /var/log/cron tệp được lấp đầy với các mục của tất cả danh sách crontab, vì vậy mỗi khi tôi chạy tập lệnh, nó sẽ ghi lại tất cả danh sách crontab như thế này:

Ngày 30 tháng 11 17:16:02 myserv crontab[348610]: (root) DANH SÁCH (root)
Ngày 30 tháng 11 17:16:02 myserv crontab[348611]: (root) DANH SÁCH (bin)
Ngày 30 tháng 11 17:16:02 myserv crontab[348612]: (root) DANH SÁCH (daemon)
Ngày 30 tháng 11 17:16:02 myserv crontab[348613]: (root) DANH SÁCH (adm)
30 tháng 11 17:16:02 myserv crontab[348614]: (root) DANH SÁCH (lp)
Ngày 30 tháng 11 17:16:02 myserv crontab[348615]: (root) DANH SÁCH (đồng bộ hóa)
Ngày 30 tháng 11 17:16:02 myserv crontab[348616]: (root) DANH SÁCH (tắt máy)
Ngày 30 tháng 11 17:16:02 myserv crontab[348617]: (root) DANH SÁCH (tạm dừng)
Ngày 30 tháng 11 17:16:02 myserv crontab[348618]: (root) DANH SÁCH (mail)
Ngày 30 tháng 11 17:16:02 myserv crontab[348619]: (root) DANH SÁCH (toán tử)
Ngày 30 tháng 11 17:16:02 myserv crontab[348620]: (root) DANH SÁCH (trò chơi)
Ngày 30 tháng 11 17:16:02 myserv crontab[348621]: (root) DANH SÁCH (ftp)
Ngày 30 tháng 11 17:16:02 myserv crontab[348622]: (root) DANH SÁCH (smb)
Ngày 30 tháng 11 17:16:02 myserv crontab[348623]: (root) DANH SÁCH (được đặt tên)
Ngày 30 tháng 11 17:16:02 myserv crontab[348624]: (root) DANH SÁCH (postgres)
Ngày 30 tháng 11 17:16:02 myserv crontab[348625]: (root) DANH SÁCH (mysql)
.....

vì vậy nó lấp đầy tệp nhật ký một cách không cần thiết. Tôi đã chơi với các bộ chọn khác nhau nhưng có vẻ như khi chọn cron.info nó hiển thị tất cả thông tin, trong khi cron.notice nó không hiển thị khi crontab đã được chỉnh sửa hay thực thi, điều này một lần nữa tôi thích trong nhật ký của mình.

# Đăng nhập nội dung cron
cron.* /var/log/cron

cron.* có vẻ giống như cron.info Bất kỳ ý tưởng nào về cách loại trừ các mục "DANH SÁCH"? Vì thế /var/log/cron sẽ giống như:

Ngày 30 tháng 11 17:24:02 mysrv CROND[349831]: (root) CMDEND (/etc/cron.b/check nout >/dev/null 2>&1)
Ngày 30 tháng 11 17:28:01 mysrv CROND[350781]: (root) CMD (/etc/cron.b/check nout >/dev/null 2>&1)
Điểm:1
lá cờ pe

thử với cron.none . Nếu bạn dùng * dấu hoa thị (*) khớp với 0 hoặc nhiều lần xuất hiện.

Bây giờ, bạn có thể sửa đổi quy tắc để di chuyển nhật ký sang tệp khác /đường dẫn/đến/khác/tệp

CẬP NHẬT

So sánh-Hoạt động

Các hoạt động so sánh sau đây hiện được hỗ trợ:

chứa

Kiểm tra xem chuỗi được cung cấp trong giá trị có trong thuộc tính hay không. Phải có kết quả khớp chính xác, ký tự đại diện không được hỗ trợ.

bình đẳng

So sánh chuỗi âvalueâ được cung cấp và nội dung thuộc tính. Hai giá trị này phải hoàn toàn bằng nhau để khớp. Sự khác biệt đối với chứa là chứa các tìm kiếm giá trị ở bất kỳ đâu bên trong giá trị thuộc tính, trong khi tất cả các ký tự phải giống hệt nhau đối với isequal. Do đó, isequal hữu ích nhất cho các trường như syslogtag hoặc FROMHOST, nơi bạn có thể biết chính xác nội dung.

bắt đầu với

Kiểm tra xem giá trị có được tìm thấy chính xác ở phần đầu của giá trị thuộc tính hay không. Ví dụ: nếu bạn tìm kiếm âvalâ với

:msg, startedwith, "val"

nó sẽ khớp nếu tin nhắn chứa âcác giá trị có trong tin nhắn nàyâ nhưng nó sẽ không khớp nếu tin nhắn chứa âCó các giá trị trong tin nhắn nàyâ (trong trường hợp sau, âcó chứaâ sẽ khớp). Xin lưu ý rằng âstartswithâ nhanh hơn nhiều so với các biểu thức thông thường. Vì vậy, ngay cả khi chúng được triển khai, việc sử dụng âstartswithâ có thể rất hợp lý (về mặt hiệu suất).

biểu thức chính quy

So sánh thuộc tính với biểu thức chính quy POSIX BRE được cung cấp.

ereregex

So sánh thuộc tính với biểu thức chính quy POSIX ERE được cung cấp.

Bạn có thể sử dụng ký tự bang (!) ngay trước thao tác so sánh, kết quả của thao tác này bị phủ định. Ví dụ, nếu tin nhắn chứa âĐây là một thông báo mang tính thông tinâ, mẫu sau sẽ không khớp:

:msg, chứa, "lỗi"

nhưng cái này phù hợp:

:msg, !contains, "lỗi"

Sử dụng phủ định có thể hữu ích nếu bạn muốn thực hiện một số xử lý chung nhưng loại trừ một số sự kiện cụ thể. Bạn có thể sử dụng hành động loại bỏ kết hợp với điều đó. Một mẫu sẽ là:

*.* /var/log/allmsgs-bao gồm-thông tin.log
:msg, chứa, "thông tin" ~
*.* /var/log/allmsgs-but-informational.log

Đừng bỏ qua dấu ngã ở dòng 2! Trong mẫu này, tất cả các thông báo được ghi vào tệp allmsgs-bao gồm-thông tin.log. Sau đó, tất cả thư chứa chuỗi âthông tinâ đều bị loại bỏ. Điều đó có nghĩa là các dòng tệp cấu hình bên dưới âdiscard lineâ (số 2 trong mẫu của chúng tôi) sẽ không được áp dụng cho thông báo này. Sau đó, tất cả các dòng còn lại cũng sẽ được ghi vào tệp allmsgs-but-informational.log.

DenisZ avatar
lá cờ do
nếu tôi sử dụng cron.none thì tôi sẽ không nhận được bất kỳ mục nhật ký nào mà tôi không muốn. Tôi chỉ muốn loại trừ các mục DANH SÁCH crontab khỏi nhật ký
Arden Smith avatar
lá cờ pe
Tạo một quy tắc khác để di chuyển nhật ký đến một vị trí khác như gợi ý cho bạn trong câu trả lời của tôi để có một mục nhập nhật ký rõ ràng và dễ dàng hơn.
DenisZ avatar
lá cờ do
Cảm ơn tôi đã nghiên cứu tài liệu và đưa ra giải pháp dưới đây
Điểm:0
lá cờ do

Tôi tìm thấy giải pháp với bộ lọc, cho bất kỳ ai quan tâm. Tôi đã chèn một câu lệnh bên trên cron.info để xóa các thư không mong muốn. vì vậy giải pháp của tôi trông giống như:

:msg, chứa, "(root) DANH SÁCH" ~
cron.* /var/log/cron

bây giờ tất cả các dòng có các mục có "(root) LIST" sẽ bị loại bỏ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.