Score:0

จะปิดการใช้งานรายการ crontab ในบันทึก cron ได้อย่างไร

ธง do

ฉันมีสคริปต์บนเซิร์ฟเวอร์ที่ทำงานทุกๆ 2-3 นาที และเหนือสิ่งอื่นใด ตรวจสอบว่ามีการแทรกรายการ crontab ที่เป็นอันตรายหรือไม่ ในการทำเช่นนี้ ฉันตรวจสอบ crontabs ของผู้ใช้ทั้งหมด ซึ่งใช้งานได้ดีทั้งหมด แต่ของฉัน /var/log/cron ไฟล์เต็มไปด้วยรายการของรายการ crontab ทั้งหมด ดังนั้นทุกครั้งที่ฉันเรียกใช้สคริปต์ มันจะบันทึกรายการ crontab ทั้งหมดดังนี้:

30 พ.ย. 17:16:02 myserv crontab[348610]: (รูท) รายการ (รูท)
30 พ.ย. 17:16:02 myserv crontab[348611]: (รูท) รายการ (ถัง)
30 พ.ย. 17:16:02 myserv crontab[348612]: (รูท) รายการ (ภูต)
30 พ.ย. 17:16:02 myserv crontab[348613]: (รูท) รายการ (adm)
30 พ.ย. 17:16:02 myserv crontab[348614]: (รูท) รายการ (lp)
30 พ.ย. 17:16:02 myserv crontab[348615]: (รูท) รายการ (ซิงค์)
30 พ.ย. 17:16:02 myserv crontab[348616]: (รูท) รายการ (ปิด)
30 พ.ย. 17:16:02 myserv crontab[348617]: (รูท) รายการ (หยุด)
30 พ.ย. 17:16:02 myserv crontab[348618]: (รูท) รายการ (เมล)
30 พ.ย. 17:16:02 myserv crontab[348619]: (รูท) LIST (ตัวดำเนินการ)
30 พ.ย. 17:16:02 myserv crontab[348620]: (รูท) รายการ (เกม)
30 พ.ย. 17:16:02 myserv crontab[348621]: (รูท) รายการ (ftp)
30 พ.ย. 17:16:02 myserv crontab[348622]: (รูท) รายการ (smb)
30 พ.ย. 17:16:02 myserv crontab[348623]: (รูท) รายการ (ชื่อ)
30 พ.ย. 17:16:02 myserv crontab[348624]: (รูท) รายการ (postgres)
30 พ.ย. 17:16:02 myserv crontab[348625]: (รูท) รายการ (mysql)
.....

ดังนั้นมันจึงเติมไฟล์บันทึกโดยไม่จำเป็น ฉันเล่นกับตัวเลือกต่าง ๆ แต่ดูเหมือนว่าเมื่อเลือก cron.info มันแสดงข้อมูลทั้งหมดในขณะที่ cron.ข้อสังเกต มันไม่แสดงเมื่อมีการแก้ไขหรือดำเนินการ crontab ซึ่งฉันชอบอีกครั้งในบันทึกของฉัน

# บันทึกสิ่ง cron
cron.* /var/log/cron

ครอน* น่าจะเหมือนกับ cron.info แนวคิดใดที่จะแยกรายการ "LIST" ออก ดังนั้น /var/log/cron จะมีลักษณะดังนี้:

30 พ.ย. 17:24:02 mysrv CROND[349831]: (รูท) CMDEND (/etc/cron.b/check nout >/dev/null 2>&1)
30 พ.ย. 17:28:01 mysrv CROND[350781]: (รูท) CMD (/etc/cron.b/check nout >/dev/null 2>&1)
Score:1
ธง pe

ลองกับ cron.none . ถ้าคุณใช้ * เครื่องหมายดอกจัน ( * ) ตรงกับศูนย์หรือมากกว่านั้น

ตอนนี้คุณสามารถแก้ไขกฎเพื่อย้ายบันทึกไปยังไฟล์อื่นได้ /path/to/another/file

อัปเดต

การดำเนินการเปรียบเทียบ

รองรับการดำเนินการเปรียบเทียบต่อไปนี้:

ประกอบด้วย

ตรวจสอบว่าสตริงที่ระบุในค่ามีอยู่ในคุณสมบัติหรือไม่ ต้องตรงกันทุกประการ ไม่รองรับสัญลักษณ์แทน

เท่ากัน

เปรียบเทียบสตริง âvalueâ ที่ให้มาและเนื้อหาคุณสมบัติ ค่าทั้งสองนี้จะต้องเท่ากันพอดี ความแตกต่างของการมีคือมีการค้นหาค่าที่ใดก็ได้ภายในค่าคุณสมบัติ ในขณะที่อักขระทั้งหมดต้องเหมือนกันสำหรับค่าเท่ากัน ด้วยเหตุนี้ isequal จึงมีประโยชน์มากที่สุดสำหรับฟิลด์ต่างๆ เช่น syslogtag หรือ FROMHOST ซึ่งคุณอาจทราบเนื้อหาที่แน่นอน

เริ่มต้นด้วย

ตรวจสอบว่าพบค่าที่จุดเริ่มต้นของค่าคุณสมบัติหรือไม่ ตัวอย่างเช่น หากคุณค้นหา âvalâ with

:msg, เริ่มต้นด้วย, "val"

มันจะตรงกันถ้า msg มี âvalues ​​อยู่ในข้อความนี้â แต่จะไม่ตรงกันถ้า msg มี âมีค่าในข้อความนี้â (ในกรณีหลัง âcontainsâ จะตรงกัน). โปรดทราบว่า âstartswithâ เร็วกว่านิพจน์ทั่วไปมาก ดังนั้นแม้เมื่อมีการนำไปใช้แล้ว ก็ยังสมเหตุสมผลมาก (ในด้านประสิทธิภาพ) ที่จะใช้ âstartswithâ

regex

เปรียบเทียบคุณสมบัติกับนิพจน์ทั่วไป POSIX BRE ที่ให้มา

เอเรเรเก็กซ์

เปรียบเทียบคุณสมบัติกับนิพจน์ทั่วไป POSIX ERE ที่ให้มา

คุณสามารถใช้อักขระปัง (!) ได้ทันทีหน้าการดำเนินการเปรียบเทียบ ผลลัพธ์ของการดำเนินการนี้จะไร้ผล ตัวอย่างเช่น ถ้า ข้อความ ประกอบด้วย âนี่คือข้อความแจ้งข้อมูลâ ตัวอย่างต่อไปนี้จะไม่ตรงกัน:

:msg, มี, "ข้อผิดพลาด"

แต่อันนี้ตรงกับ:

:msg, !contains, "ผิดพลาด"

การใช้การปฏิเสธอาจมีประโยชน์หากคุณต้องการดำเนินการทั่วไปบางอย่าง แต่ไม่รวมเหตุการณ์เฉพาะบางอย่าง คุณสามารถใช้การดำเนินการยกเลิกร่วมกับสิ่งนั้นได้ ตัวอย่างจะเป็น:

*.* /var/log/allmsgs- included-informational.log
:msg, มี, "informational" ~
*.* /var/log/allmsgs-but-informational.log

อย่ามองข้ามตัวหนอนในบรรทัดที่ 2! ในตัวอย่างนี้ ข้อความทั้งหมดถูกเขียนไปยังไฟล์ allmsgs- included-informational.log จากนั้น ข้อความทั้งหมดที่มีสตริง âinformationalâ จะถูกยกเลิก ซึ่งหมายความว่าบรรทัดไฟล์ config ด้านล่าง âdiscard lineâ (หมายเลข 2 ในตัวอย่างของเรา) จะไม่ถูกนำไปใช้กับข้อความนี้ จากนั้น บรรทัดที่เหลือทั้งหมดจะถูกเขียนไปยังไฟล์ allmsgs-but-informational.log

DenisZ avatar
do flag
ถ้าฉันใช้ cron.none ฉันจะไม่ได้รับรายการบันทึกใดๆ ที่ไม่ใช่สิ่งที่ฉันต้องการ ฉันแค่ต้องการแยกรายการ crontab LIST ออกจากบันทึก
Arden Smith avatar
pe flag
สร้างกฎอื่นเพื่อย้ายบันทึกไปยังตำแหน่งอื่นตามคำแนะนำของคุณในคำตอบของฉัน เพื่อให้รายการบันทึกสะอาดและง่ายขึ้น
DenisZ avatar
do flag
ขอบคุณฉันกำลังศึกษาเอกสารและมาพร้อมกับวิธีแก้ปัญหาด้านล่าง
Score:0
ธง do

ฉันพบวิธีแก้ปัญหาด้วยตัวกรองสำหรับทุกคนที่สนใจ ฉันได้ใส่คำสั่งด้านบน cron.info เพื่อลบข้อความที่ไม่ต้องการออก ดังนั้นโซลูชันของฉันจึงมีลักษณะดังนี้:

:msg, มี, "(root) LIST" ~
cron.* /var/log/cron

ตอนนี้ทุกบรรทัดที่มีรายการ "(root) LIST" จะถูกยกเลิก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา