จัดการล็อกไฟล์ Linux ด้วยไฟล์ Logrotate. Log เป็นเครื่องมือที่มีค่าที่สุดสำหรับการรักษาความปลอดภัยระบบ Linux โปรแกรม logrotate ใช้เพื่อให้ผู้ดูแลระบบมีบันทึกเหตุการณ์ที่เกิดขึ้นในระบบซึ่งโปรแกรมอรรถประโยชน์ logrotate อาจถูกนำมาใช้ เพื่อสำรองไฟล์บันทึกดังนั้นสำเนาสามารถใช้เพื่อสร้างรูปแบบสำหรับการใช้งานระบบใน Daily Drill Down นี้ฉันจะครอบคลุมหัวข้อต่อไปนี้การกำหนดค่า logrotate กำหนดค่าเริ่มต้นสำหรับ logrotate การใช้ตัวเลือก include เพื่ออ่านแฟ้มกำหนดค่าอื่น ๆ การตั้งค่า พารามิเตอร์การหมุนสำหรับไฟล์ที่เฉพาะเจาะจงการใช้ตัวเลือกรวมถึงการแทนที่ค่าเริ่มต้นโปรแกรม logrotate โปรแกรม logrotate เป็นตัวจัดการไฟล์บันทึกใช้เป็นประจำในการหมุนหรือหมุนไฟล์บันทึกโดยการลบไฟล์ที่เก่าที่สุดออกจากระบบของคุณและสร้างแฟ้มบันทึกใหม่ ใช้เพื่อหมุนตามอายุของไฟล์หรือขนาดไฟล์ s และโดยปกติจะรันโดยอัตโนมัติผ่านโปรแกรมอรรถประโยชน์ cron โปรแกรม logrotate อาจใช้ในการบีบอัดไฟล์บันทึก s และกำหนดค่าอีเมลให้กับผู้ใช้เมื่อมีการหมุนเวียนการกำหนดค่า logrotate โปรแกรม logrotate ถูกกำหนดค่าด้วยการป้อนตัวเลือกในไฟล์นี่คือไฟล์ข้อความซึ่งอาจมีตัวเลือกการกำหนดค่าใด ๆ ไว้ในตารางด้านล่าง in อาจใช้เพื่อตั้งค่าพารามิเตอร์การกำหนดค่าสำหรับแฟ้มบันทึกใด ๆ ในระบบตัวเลือกเหล่านี้อาจใช้เพื่ออนุญาตให้ logrotate อ่านพารามิเตอร์การกำหนดค่าจากไฟล์บันทึกอื่น ๆ โดยใช้พารามิเตอร์ include ซึ่งใช้เพื่อบีบอัดไฟล์บันทึกที่มีการหมุนด้วย gzip นี้ใช้เมื่อคุณไม่ต้องการบีบอัดแฟ้มบันทึกการหมุนซึ่งใช้เมื่อกระบวนการยังคงเขียนข้อมูลเพื่อเปิดแฟ้มบันทึกตัวเลือกนี้จะคัดลอกแฟ้มบันทึกที่ใช้งานอยู่ไปยังการสำรองข้อมูลและตัดทอนแฟ้มล็อกที่ใช้งานอยู่สำเนาของแฟ้มบันทึกนี้ การสำรองข้อมูล แต่ล็อกไฟล์เปิดไม่ได้เป็นกลุ่มเจ้าของโหมด truncated. create นี้จะหมุนแฟ้มบันทึกและสร้างแฟ้มบันทึกใหม่ที่มีสิทธิ์ที่ระบุเจ้าของและกลุ่มค่าเริ่มต้นคือการใช้ m เดียวกัน ode เจ้าของและกลุ่มเป็นแฟ้มต้นฉบับซึ่งจะป้องกันไม่ให้สร้างแฟ้มบันทึกใหม่เมื่อใช้กับตัวเลือกการบีบอัดแฟ้มบันทึกการหมุนจะไม่ถูกบีบอัดจนกว่าจะมีการ cycled. This แทนการล่าช้าแฟ้มบันทึก บีบอัดเมื่อมี cycled. If กลายเป็น 2GB ขนาด tomcat ล้มเหลวและไม่สามารถเริ่มต้นโดยไม่มีข้อความแสดงข้อผิดพลาดใด ๆ เพื่อหลีกเลี่ยงสถานการณ์นี้คุณควรหมุนบ่อยบทความนี้อธิบายวิธีการตั้งค่าการหมุนอัตโนมัติของเครื่อง unix linux วิธีหมุนโดยอัตโนมัติทุกวัน หรือเมื่อมันกลายเป็นใหญ่กว่า 5M.2 คัดลอกเนื้อหาต่อไปนี้ลงในไฟล์ข้างต้นเกี่ยวกับการกำหนดค่าข้างต้นตรวจสอบให้แน่ใจว่าเส้นทางด้านบนจะถูกปรับเพื่อชี้ไปที่ tomcat s. daily ของคุณ - หมุน daily. rotate เก็บที่มากที่สุด 7 log filespress บีบอัด rotation. size หมุนถ้าขนาดใหญ่กว่า 5M. copytruncate ตัดทอนแฟ้มบันทึกเดิมในสถานที่หลังจากที่สร้างสำเนาแทนการย้ายแฟ้มบันทึกเก่าและเลือกสร้างใหม่สามารถใช้ เมื่อโปรแกรมบางโปรแกรมไม่สามารถบอกให้ปิดล็อกไฟล์และอาจเขียนต่อท้ายไฟล์บันทึกก่อนหน้านี้เสมอโปรดทราบว่ามีชิ้นส่วนเวลาน้อยมากระหว่างการคัดลอกไฟล์และการตัดทอนข้อมูลดังกล่าวดังนั้นข้อมูลการบันทึกข้อมูลบางส่วนอาจสูญหายไปเมื่อตัวเลือกนี้ ใช้ตัวเลือกสร้างจะไม่มีผลเนื่องจากแฟ้มบันทึกเก่าอยู่ใน place. You don t ต้องทำอะไรอื่นทำงานได้ทุกคืน cron daemon รันงานที่ระบุไว้ในไดเรกทอรีซึ่งจะเรียกแฟ้มที่ โดยทั่วไปจะมาพร้อมกับการติดตั้งลินุกซ์เรียกใช้คำสั่ง usr sbin logrotate รวมถึงสคริปต์ทั้งหมดในไดเรกทอรี logrotate d อื่น ๆ ซึ่งจะเป็นสาเหตุให้ etc logrotate d tomcat file ที่คุณเขียนไว้ในขั้นตอนก่อนหน้านี้รัน logrotate ด้วยตนเองลองเรียกใช้คำสั่งต่อไปนี้ เรียกใช้งาน cron ด้วยตนเองดูจะสมบูรณ์ปลอดภัยดูคำอธิบายเกี่ยวกับวิธีการ copytruncate ข้างต้นมีโอกาสเล็กน้อยที่จะสูญเสียข้อมูลการบันทึกระหว่างขั้นตอนการคัดลอกและตัดทอนมักเป็นที่ยอมรับได้ แต่บางครั้ง ไม่ใช่ตัวเลือก logrotate เพิ่มเติมหากต้องการดูตัวเลือก logrotate ทั้งหมดในระบบของคุณให้ดูที่คู่มือนี้โพสต์โดย Steve เมื่อวันอังคารที่ 29 มีนาคม พ. ศ. 2548 เวลา 06 11. หลาย ๆ บริการที่ติดตั้งบนเครื่องลินุกซ์จะสร้างไฟล์บันทึกที่เติบโตและเติบโตขึ้นและ หากไม่ได้รับการตรวจสอบคุณสามารถใส่ดิสก์ลงในไฟล์ logfiles ได้หากคุณไม่ระมัดระวังวิธีที่พบมากที่สุดในการเก็บ logfile ในการตรวจสอบคือการใช้ logrotate และแพคเกจ Debian หลายตัวจะถูกตั้งค่าให้ทำงานโดยใช้ค่าเริ่มต้น แพคเกจที่ชัดเจนที่สุดซึ่งใช้เป็น Apache ซึ่งเว็บเซิร์ฟเวอร์จะเก็บ logfiles ไว้ในไดเร็กทอรี var log apache หรือ var log apache2 ถ้าคุณตรวจสอบไดเรกทอรีนี้คุณจะเห็นว่ามี logfiles ซึ่งเก็บถาวรอยู่ที่นี่ logfiles ปัจจุบันจะถูกเก็บไว้ดิบเป็น logfiles เมื่อวานนี้และ logfiles ก่อนหน้าจะถูกบีบอัดด้วย gzip และเก็บเฉพาะสำหรับห้าสัปดาห์ฉันรู้ว่ามันเป็นเวลาห้าสัปดาห์และไม่ห้าวันเพราะฉันได้ดูที่การกำหนดค่า - มันไม่ชัดเจนจากการส่งออกนี้แม้ว่า Th e กระบวนการที่รับผิดชอบในการบีบอัดและหมุน logfiles เหล่านี้เรียกว่า logrotate และจะทำงานวันละครั้งเมื่อติดตั้ง Debian เมื่อเราดูคำสั่งกำหนดเวลาด้วย cron มีไดเร็กทอรีที่เรียกว่าสคริปต์ที่มีการดำเนินการเพียงครั้งเดียว ต่อวันที่นี่คุณจะพบสคริปต์ไดรเวอร์ logrotate ทุกวันสคริปต์นี้จะทำงานและตรวจสอบสองสิ่งแฟ้มการกำหนดค่า file. Catalog ฯลฯ logrotate d. The หลังเป็นที่มากที่สุดของแพคเกจของเรามีการกำหนดค่าไดเรกทอรีนี้มีแฟ้มการกำหนดค่าที่แพคเกจอื่น ๆ ได้ติดตั้งตัวอย่างเช่นถ้าคุณติดตั้ง Apache ไฟล์ etc logrotate d apache จะถูกติดตั้งเซิร์ฟเวอร์หลายอย่างเช่น exim mailserver จะติดตั้งไฟล์การกำหนดค่าของตัวเองและคุณสามารถเพิ่มของคุณเองแฟ้มการกำหนดค่า logrotate ทั่วไปดูเหมือนว่านี้คุณสามารถ ดูสิ่งที่สำคัญหลายประการที่นี่ส่วนที่ชัดเจนที่สุดคือรายการไฟล์ที่จะถูกจับคู่โดยไฟล์การกำหนดค่านี้หลังจากที่เราได้ collec tion ของเงื่อนไขการกำหนดค่าที่แตกต่างกันหนึ่งในแต่ละบรรทัดในตัวอย่างข้างต้นเรามีไฟล์ควรจะหมุนทุกสัปดาห์ตรงข้ามกับ daily. We ควรเก็บไม่เกิน nn filespress ไฟล์เก่ากับ gzip ตรงข้าม nocompress. Don t บีบอัดไฟล์วันวานตรงข้ามบีบอัด don t จะหมุนถ้า logfile ว่างเปล่าตรงข้าม ifempty. create กลุ่มผู้ใช้ xx ถ้าเราต้องสร้างไฟล์ใหม่ให้มันโหมดที่กำหนดเจ้าของและกลุ่มเรียกใช้สคริปต์ก่อน prerotate หรือ postrotate สำหรับแต่ละ logfile บุคคลตรงข้าม nosharedscripts. postrotrot endcript. Anything ระหว่างเหล่านี้จะถูกดำเนินการหลังจากกระบวนการหมุนตรงข้าม prerotate. Hopefully ที่ควรได้ทำ sense. The upshot ของสคริปต์นี้คือไฟล์ที่ตรงกับการหมุนทุกสัปดาห์บีบอัด ed ถ้าไม่ว่างเปล่าใหม่ ไฟล์ถูกสร้างขึ้นด้วยโหมดไฟล์ 640 และหลังจากการหมุนเสร็จสิ้นเซิร์ฟเวอร์จะถูกรีสตาร์ทหากเราต้องการติดตั้งเซอร์วิสในระบบซึ่งสร้าง logfile เราสามารถทำให้มันถูกหมุนได้ง่าย, เพียงแค่เพิ่มแฟ้มการกำหนดค่า logrotate ใหม่สมมติว่าเรามี fred บริการใหม่ซึ่งสร้างผลลัพธ์ในที่นี้ทำให้เราสามารถหมุนเวียนได้ทุกวันด้วยสคริปต์อย่างนี้อย่าลืมเก็บ logfiles ไว้ 7 วันที่ใดก็ได้ ไม่ได้บ่นหากมี logfile missingpress ไฟล์ที่เก่ากว่า แต่ไม่ใช่ yesterdays. Create logfiles ใหม่เนื่องจากเป็นของผู้ใช้และกลุ่ม fred. Restart บริการหลังจากหมุน logfiles. Any ของไฟล์ที่มีอยู่ในไดเรกทอรี logrotate สามารถตรวจสอบได้ สำหรับตัวอย่างเพิ่มเติม - และ manpage เอกสารตัวเลือกทั้งหมดที่คุณอาจใช้ในลักษณะที่ชัดเจนไฟล์ p0f ไม่หมุน don t roted โพสต์โดยผู้ไม่ประสงค์ออกเมื่อพ. 10 กุมภาพันธ์ 2010 เวลา 00. ฉันเชื่อว่า logrotate ไม่ทำงานได้ดียกเว้นไฟล์ที่เปิด ในโหมดต่อท้าย rhel-as4 ในกรณีของฉันเมื่อเปิด trunc บริการเขียนบันทึกจะเก็บตัวชี้แฟ้มและเริ่มเขียนที่ offset เช่นเดียวกับก่อนการหมุนและข้อความก่อนหน้าจะถูกแทนที่ด้วยขยะปิดและเปิดใหม่เริ่มต้นใหม่บริการหรือเปิดไฟล์ที่มีผนวกหรือกับทั้งหมดดูเหมือนจะทำงานในกรณีของฉันฉันไม่สามารถเริ่มต้นงานตามที่ผู้จัดการชิ้นส่วนของ hdwr ผนวกทำงานสำหรับฉัน P0f ไฟล์ don t หมุน RESOLVED โพสต์โดย ไม่ได้ระบุชื่อเมื่ออังคาร 4 ตุลาคม 2011 เวลา 20 28.Hey ฉันมีปัญหาเดียวกันหลังจาก googling บางและพยายามฉันพบ answer. You ได้อย่างง่ายดายต้องเพิ่ม copytruncate การตั้งค่า thats all. Background ปัญหาคือว่าหลังจาก logrotate หมุน logfile ตัวชี้ยังคงอยู่ในไฟล์ - แต่ตอนนี้มีชื่อเป็นและ apache พยายามเข้าสู่ไฟล์ที่ - ไม่เป็น one. website ที่สร้างขึ้นใหม่ที่ช่วยให้ฉันออกดูออกสำหรับจุด 3 รีสร้าง archfile เก็บกับ logrotate โพสต์โดย gmicah ใน Mon 22 สิงหาคม 2005 เวลา 12 28.I am การตั้งค่า logrotation ในบางข้อความ syslog ที่ฉันรับจากกล่องที่แตกต่างกันอะไรจะเป็นวิธีที่ง่ายที่สุดในการหมุนบันทึก recursively ไดเรกทอรีทั้งหมดภายใน directory. Re สร้าง logfile เก็บด้วย logrotate โพสต์โดยผู้ใช้ที่ถูกระงับ gg234 ในวันจันทร์ที่ 17 ต. ค. 2548 เวลา 11 26. ฉันต้องการตั้งค่าคอนฟิกไฟล์การกำหนดค่า logrotate ของฉันตามข้อมูลต่อไปนี้เราจำเป็นต้องเก็บบันทึกไคลเอ็นต์ทั้งหมดเป็นรายเดือนไว้ที่ log var log apache2 ล็อกไฟล์ภายใต้โฟลเดอร์นี้เรามีไดเร็กทอรีไคลเอ็นต์ที่ต่างกันควรมีไฟล์บันทึกที่เป็นและไฟล์สำหรับ logotate สิ้นเดือนควรใช้และควรเก็บไฟล์บันทึกไว้ในโฟลเดอร์ monthname โดยใช้ไฟล์วิธีการกำหนดค่านี้ in. logfiles ตำแหน่ง var log apache2 บันทึกภายใต้โฟลเดอร์นี้ลูกค้าทุกคนจะมีโฟลเดอร์ของพวกเขาสำหรับล็อกในด้านที่ไฟล์บันทึก Apache จะมี i e. Every logrotate เดือนควรจะทำงานและควรสร้างโฟลเดอร์ที่มี monthnameandyear ภายใต้โฟลเดอร์ monthname ที่ perticular เดือน logfiles ไฟล์ shouls จะ there. Re การสร้างที่เก็บ logfile กับ logrotate โพสต์โดยไม่ประสงค์ออกนามในวันศุกร์ที่ 8 ก. ย. 2006 เวลา 04 10.I m กำลังมองหาวิธีหรือลักษณะ - ขอโทษภาษาอังกฤษของฉันไม่ดีดังนั้น - เพื่อส่งบันทึกการหมุนเป็นสิ่งที่แนบมาไม่ได้อยู่ในเนื้อหาของข้อความความจริงก็คือ im พยายามที่จะหมุนไม่ได้เข้าสู่ระบบ แต่ OpenOffice ไฟล์สำหรับเหตุผลในการสำรองข้อมูลนี้อาจเป็นกิจกรรมที่ไม่เป็นที่ต้องการ แต่ id ต้องการจะทำอย่างไรก็ตามฟีเจอร์ logrotate ของจดหมายจะส่งไฟล์ในรูปแบบข้อความธรรมดาในเนื้อหาของข้อความที่ฉันต้องการส่งให้เหมือนกับไฟล์ที่แนบมา help. Re ของคุณสร้าง logfile เก็บกับ logrotate โพสต์โดยไม่ประสงค์ออกนามในศุกร์ 10 พฤศจิกายน 2006 เวลา 02 48.Re การสร้างที่เก็บ logfile กับ logrotate โพสต์โดยบุทช์เมื่ออาทิตย์ 31 ธันวาคม 2006 ที่ 18 44. ฉันหวังว่าใครสามารถช่วยฉันด้วยต่อไปนี้ ฉันใช้โฮสต์เสมือน apache2 แต่ละคนมีล็อกไฟล์เข้าสู่ระบบของตนเองฉันได้สร้างแฟ้ม logrotate แยกกันสำหรับแต่ละโฮสต์ใน etc logrotate d. What ฉันพบคือแฟ้มบันทึกของฉันจะถูกหมุน แต่ Apache ช่วย loging ใน logfile เก่าเป็นถ้า apache ไม่ได้เริ่มต้นใหม่ แต่ฉัน have. postrotate ถ้า - f แล้ว etc init d apache2 รีสตาร์ท dev null fi ปลายทางทุกคนมีเงื่อนงำในการรับ Apache เข้าสู่ file. Re ใหม่สร้าง archfile เก็บกับ logrotate. Posted โดย ComradeP on Sun 8 เมษายน 2550 เวลา 10 น ปัญหาที่เกิดขึ้นในขณะเดียวกันฉันมีตรงปัญหาเดียวกันและต้องรีสตาร์ท apache ด้วยตนเองอีกครั้งหลังจาก logrotate ได้ทำเพื่อให้มันเข้าสู่ file. I ขวาอาจจะผิด แต่ฉันคิดว่านี้ได้รับเฉพาะเกิดขึ้นตั้งแต่ฉันแนะนำ อาจจะค่อนข้างแพงก่อนหมุนงาน Ree สร้างที่เก็บ logfile กับ logrotate โพสต์โดยบุทช์เมื่ออาทิตย์ 8 เมษายน 2007 ที่ 10 16.No ฉันไม่ได้แก้ปัญหาฉันมีเงื่อนงำในการที่จะใช้ start. I awstats ยังไม่ดังนั้น นี่อาจเป็นสาเหตุของการสร้างแฟ้มบันทึก logfile กับ logrotate โพสต์โดย ComradeP เมื่อพฤหัสบดี 12 เมษายน 2007 เวลา 16 58. ฉันสังเกตเห็นบางสิ่งบางอย่างที่ผิดพลาดอย่างแน่นอนกับการกำหนดค่าของฉันและที่น่ากลัวคือการตำหนิสำหรับปัญหาที่เราเห็น ในการเพิ่ม awatats ส่วน prestat ฉันลืมที่จะปิดมันออกด้วยปลายแบบรูปแบบเป็น endTechnic endTorrent สิ้นสุดดังนั้นเมื่อระวังการอ่านจดหมาย cron ถูกส่งฉันฉันสังเกตเห็นว่ามันบ่นเกี่ยวกับคำสั่ง postrotate ไม่พบ - เนื่องจากมี คือ n endcript หลังจาก prerotate ก็ยังคงดำเนินการแต่ละบรรทัดเป็นคำสั่ง prerotate จนกว่า endrotrots ของ postrotate ซึ่งเป็นมันเกิดขึ้นเป็นบิตที่เริ่มต้นใหม่ apache. Now ถ้าเริ่มต้นนี้เกิดขึ้นก่อนการเข้าสู่ระบบการหมุนจะไม่น่าแปลกใจที่ Apache ช่วยให้ใช้แฟ้มเก่าฉันไม่แน่ใจว่าจะแก้ไขปัญหานี้ได้ทุกสัปดาห์และไม่เต็มใจที่จะกระตุ้นด้วยตนเอง แต่ฉันหวังว่าจะสร้างแฟ้มบันทึก logfile ด้วย logrotate โพสต์โดย mcs1 เมื่อวันจันทร์ที่ 21 เมษายน 2008 ที่ 05 03.Nenfortunately ฉันมีปัญหาใหญ่ Logrotate เพียงไม่หมุนไฟล์ syslog ฉันมีถึงวัน debian stable. If ฉันใช้ logrotate - vvf etc logrotate d syslog-ng ฉัน get. rotating รูปแบบบังคับ n bspfrom บรรทัดคำสั่ง 4 การหมุนเวียนแฟ้มบันทึกที่ว่างเปล่าจะไม่ถูกหมุน, บันทึก ol d จะถูกลบออกโดยไม่คำนึงถึง log log ไม่จำเป็นต้อง rotating. rotating var log syslog บังคับ nbs pfrom บรรทัดคำสั่ง 7 rotations ไฟล์บันทึกว่างจะถูกหมุน gs lo เก่าจะถูกลบออก log log var log syslog log log rotary log log logloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglogloglog rotatecount 7, logstart 1, i 5, เปลี่ยนชื่อเป็น var log syslog 5 rotatecount 7, logstart 1, i 4, เปลี่ยนชื่อเป็น var log syslog 4 rotatecount 7, logstart 1, i 3 เปลี่ยนชื่อเป็น var log syslog 3 rotatecount 7, logstart 1 , i 2, เปลี่ยนชื่อเป็น var log syslog 2 rotatecount 7, logstart 1, i 1 เปลี่ยนชื่อเป็น var log syslog 1 rotatecount 7, logstart 1, i 0 เปลี่ยนชื่อ var log syslog เป็น var log syslog 1 เรียกใช้สคริปต์ postrotate ที่เรียกใช้สคริปต์ด้วย arg var log syslog etc init d syslog-ng โหลดใหม่ dev null ข้อผิดพลาดไม่สามารถเปิด log var syslog 1 สำหรับการบีบอัดฉันได้ลบส่วนอื่น ๆ ของการแก้ปัญหาเอาท์พุทเป็นเพียงสคริปต์ etc logrotate d syslog-ng ข้อความล็อก var log 4 รายสัปดาห์ missingok notifempty compress หมุน 4 รายสัปดาห์ missingok notifempty compress หมุนเวียนการบีบอัดข้อมูลรายสัปดาห์ 4 missingok notifempty var log syslog rotate 7 รายวันบีบอัด postrotate ฯลฯ init d syslog-ng โหลดอีกครั้ง dev null ค่าส่วนฉันได้ปล้นมาก config. It เพียงไม่เปลี่ยนชื่อไฟล์ต้นฉบับช่วยใด ๆ เป็นที่ชื่นชมอย่างมากฉันต่อสู้นี้บางครั้ง ขอบคุณมากที่สร้างแฟ้มบันทึก logfile กับ logrotate โพสต์โดย mcs1 เมื่อจันทร์ 21 เมษายน 2008 เวลา 06 26.Sorry ฉันต้องรับตัวเองใหญ่หมวกโง่ใหญ่ปัญหาอยู่ใน there. logrotate - vvf etc logrotate d syslog - ng. - d แก้ปัญหาหมายความว่าไม่มีการเปลี่ยนแปลงฉันยังคงรอดูว่าจะหมุนด้วย cron ปัญหาเดิมคือกับ sysklogd ไม่ต้องการ logrotate กับ cron เปลี่ยนเป็น syslog-ng ซึ่งมีการตั้งค่า logrotate ที่หมุน var log syslog ฯลฯ รวมอยู่ในสคริปต์บนเครื่องอื่น ๆ etch ทำงานได้อย่างสมบูรณ์แบบด้วย sysklogd แม้ wqithout สคริปต์เพิ่มเติมใด ๆ ดังนั้นยังไม่ได้ที่ด้านล่างของนี้ แต่อย่างน้อยก็หมุนในขณะนี้ขอบคุณมากสำหรับทรัพยากรที่ดี Mcs1.Re การสร้าง ที่เก็บ logfile กับ logrotate โพสต์โดย colinc on Mon 25 สิงหาคม 2008 at 03 18. ฉันต้องการหมุนไฟล์บันทึกของ Apache ของเราเริ่มต้นด้วย accesslog 1 เมืองต่อไปนี้เนื่องจากเป็นผู้ร้ายหลักที่เติมพื้นที่ว่างในดิสก์ var ของฉันฉันต้องการหมุนไฟล์บันทึกครั้ง วันและบีบอัดไฟล์ gzip โดยไม่ต้องสงสัยว่าจะต้องใช้ตัวเลือกที่สง่างามในการรีสตาร์ท Apache เพื่อไม่รบกวนการเข้าถึงไคลเอ็นต์เว็บโปรดแจ้งให้ทราบว่าสามารถทำได้โดยใช้ตัวเลือกที่สง่างามเพื่อไม่ให้ผู้ใดประสบกับปัญหาใด ๆ โพสต์โดย colinc เมื่อจันทร์ 25 ส. ค. 2551 เวลา 03 28. นี่คือไฟล์ของฉันใน ec logrotate d. missingok notifempty sharedscripts postrotate bin kill - HUP cat 2 dev null 2 dev null true endscript. which doesn t ดูเหมือนจะทำอะไรในปัจจุบัน แต่ฉันลาดเทเห็น seetings ใด ๆ สำหรับการหมุนสัปดาห์ แต่ฉันสามารถดูคำสั่งฆ่าใน pid ที่ ทำให้ฉันเป็นห่วงฉันได้รับรางวัล t กำลังดำเนินการเริ่มต้นสง่างามของ apache provess. Re การสร้างแฟ้มบันทึก logfile กับ logrotate โพสต์โดย colinc เมื่ออังคาร 26 สิงหาคม 2008 เวลา 00 47.ok ฉัน m ตอบคำถามของฉันเองที่นี่ผมคิดว่าฉันเพิ่งเปลี่ยน bin kill - HUP cat 2 dev null 2 dev null จริงกับ usr sbin apachectl graceful และงานทำเสร็จฉันจะทดสอบโดยใช้ข้อเสนอแนะของคุณ above. Re การสร้างที่เก็บ logfile กับ logrotate โพสต์โดยไม่ประสงค์ออกเมื่อ Tue 23 Sep 2008 at 16 08 ขอบคุณมาก แต่ผมคิดว่ารายละเอียดของตัวเลือก sharedscripts เป็นย้อนกลับ shariderscripts เรียกใช้สคริปต์ที่กำหนดไว้ล่วงหน้าหรือ postrotate สำหรับแต่ละ logfile เป็นรายบุคคล nosharedscripts nosharedscripts nosharedscripts ที่เรียกใช้สคริปต์สำหรับแต่ละ sharscripts logfile บุคคลเรียกใช้สคริปต์ครั้งเดียวไม่ว่ากี่ logfiles จะหมุนไม่ได้สร้าง logfile เก็บกับ logrotate โพสต์โดยไม่ประสงค์ออกนาม on พฤหัส 1 มีนาคม 2012 เวลา 10 33. ฉันไม่สามารถ logrotate มากกว่า once. below คือเนื้อหาของไฟล์ daily missingok หมุน 10 size 5k create 0777 chakma. Rotating MySQL slow logs ปลอดภัยโพสต์บล็อกนี้เป็นส่วนที่สองของสอง เช่นเดียวกับส่วนหนึ่งที่ตีพิมพ์ในวันพุธนี้เป็นโพสต์ข้ามจากบล็อกวิศวกรรมของกรุ๊ปปอนอีกครั้งขอบคุณ Kyle Oppenheim ที่ Groupon และอีกหนึ่งเตือนใจว่าฉันจะอยู่ที่ Percona Live MySQL Conference and Expo ในสัปดาห์หน้าในซานตาคลาร่าแคลิฟอร์เนียเพื่อค้นหา ฉันมีคุณสามารถเช็คเอาต์ภาคฉันจะนำที่นี่ในการโพสต์ล่าสุดของฉันฉันอธิบายวิธีการรักษาแคชของ MySQL เซิร์ฟเวอร์สแตนด์บายร้อนโดยใช้ MySQL logs ช้ากับ longquery เวลาที่ตั้งไว้ที่ 0 นี่เป็นบทเรียนบางส่วนที่เราได้เรียนรู้เมื่อเข้าสู่ข้อความค้นหาจำนวนมากเพื่อเข้าสู่ระบบที่ช้าอย่าใช้ copytruncate. Logrotate มีเทคนิคสองวิธีในการบันทึกการหมุนเวียนของคุณอาจมีตัวเลือกคล้าย ๆ กันกับสำเนาที่แตกต่างกันของ name. copytruncate ไฟล์ไปยังชื่อใหม่แล้วตัดทอนไฟล์ต้นฉบับ no copytruncate ใช้เรียกระบบเปลี่ยนชื่อเพื่อย้ายไฟล์ไปยังชื่อใหม่จากนั้นคาดว่า daemon จะถูกส่งสัญญาณเพื่อเปิดไฟล์บันทึกอีกครั้ง MYSQL มี mutex ให้ทำงานช้า บันทึกการเขียน Truncation สามารถบล็อก MySQL เนื่องจากระบบปฏิบัติการ serializes การเข้าถึง inode ในระหว่างการดำเนินการ truncate ปัญหานี้เห็นได้ชัดโดยเฉพาะอย่างยิ่งเมื่อใช้ระบบไฟล์ ext3 แทน xfs. Use FLUSH LOGS แทนการส่ง SIGHUP เมื่อ copytruncate ถูกปิดใช้งาน MySQL ต้องบอก เพื่อเปิดไฟล์ล็อกช้ามีสองตัวเลือกสำหรับการส่งสัญญาณส่งสัญญาณ HUP ไปยังกระบวนการ mysqld ใช้คอนโซล mysql หรือยูทิลิตี mysqladmin เพื่อล็อก LOGS. These เหล่านี้ควรจะเทียบเท่า แต่ MySQL บัก 65481 อธิบายว่าสัญญาณ HUP ยัง flushes ตารางนอกเหนือจากการบันทึกตารางฟลัชชิงสามารถส่งผลกระทบต่อการทำงาน queries. Disable MySQL ช้าบันทึกในระหว่างการหมุน loglogloglog ใช้เวลาในขณะที่แบบสอบถามยังคงมีการดำเนินการเพื่อป้องกันไม่ให้ MySQL จากการกรอกบัฟเฟอร์บันทึกช้าเรา ปิดการใช้งาน MySQL ช้าบันทึกชั่วคราวในระหว่างการล็อก rotation. Putting ทั้งหมดเข้าด้วยกันนี่คือแฟ้มการกำหนดค่า logrotate สำหรับการเข้าสู่ระบบที่ช้าที่แสดงให้เห็นถึงการปฏิบัติที่ดีที่สุดเหล่านี้ Peter เข้าร่วมทีมให้คำปรึกษายุโรปพฤษภาคม 2012 ก่อนที่จะร่วม Percona ท่ามกลางสิ่งอื่น ๆ เขา ทำงานที่ Sun Microsystems โดยเฉพาะด้านการปรับแต่งประสิทธิภาพและเป็น DBA ที่ไซต์เครือข่ายสังคมออนไลน์ที่ใหญ่ที่สุดในฮังการีเขายังสอนหลักสูตร MySQL University MySQL หลายหลักสูตรเขาใช้และทำงานร่วมกับซอฟต์แวร์โอเพ่นซอร์สตั้งแต่ช่วงต้นปีพศ. ปัจจุบันเขาอาศัยอยู่ในบูดาเปสต์ประเทศฮังการีกับภรรยาและลูกชายของเขา 20 ข้อคิดเห็นที่สำคัญอย่างหนึ่งคือการตรวจสอบว่าโย u มีการใช้การเชื่อมต่อแบบต่อเนื่อง longquerytime ของตัวแปรทั่วโลกจะถูกตรวจสอบเมื่อมีการสร้างการเชื่อมต่อดังนั้นถ้าคุณใช้พูลเชื่อมต่อหรือการเชื่อมต่อแบบต่อเนื่องนี้จะไม่เป็นประโยชน์เพราะจะไม่มีผลกับการเชื่อมต่อที่เปิดอยู่แล้ว คุณลักษณะ Percona Server เพื่อแก้ปัญหานี้คุณสามารถตั้งค่า slowqueryloguseglobalcontrol ใน 5 5 หรือ usegloballogslowcontrol ใน 5 1 ใน 1 และเซิร์ฟเวอร์จะใช้ตัวแปร longquerytime ทั่วโลกแทน local one. PS 5 1 PS 5 5. on MySQL 5 5 I จะคิดว่าดีกว่าที่จะใช้ FLUSH 50503 SLOW LOGS แทนที่จะเป็น FLUSH LOGS ทั่วไปซึ่งจะทำการบันทึกไฟล์บันทึกอื่น ๆ ที่มีราคาแพงกว่าเช่นกัน Peter Boros กล่าวว่ามาร์ตินแอนดรูว์คุณมีสิทธิ์ในการใช้งานคุณสามารถใช้ SET GLOBAL slowquerylog ปิดเพื่อเปิดใช้งานการเข้าสู่ระบบและปิดการทำงานอย่างช้าๆเช่น Bill ทำในเครื่องมือของเขาที่นี่ขอบคุณสำหรับความคิดที่ดีของคุณฉันมี misgivings ความปลอดภัยกับการใช้งาน mysql - e ซึ่งต้องใช้และรหัสผ่านเนื่องจากกล่องขั้นตอนต้อง setted. To preven t MySQL จากการกรอก buffer log ช้าเราปิดการใช้งาน MySQL ช้าบันทึกชั่วคราวในระหว่างการล็อก rotation. Wouldn t ที่อยู่ในส่วน prerotate ฉัน don t เห็นหนึ่งในบทให้ astrostl ล็อกช้าถูกปิดใช้งานในบท postrotate คำสั่งของการดำเนินงานคือ logrotate เปลี่ยนชื่อแฟ้มบันทึก MySQL ยังคงเขียนแฟ้มที่มีการเปลี่ยนชื่อเนื่องจากยังไม่ได้เปิดไฟล์ใหม่อีก 2 logrotate รันข้อความ postrotate 2a การล็อกบันทึกถูกหยุดชั่วคราว ตั้งค่า longquerytime สากล 2000 2b มีการรอขนาดเล็กสำหรับบัฟเฟอร์ล็อกจะล้างเลือกนอน 2 2c จัดการไฟล์จะถูกเปิดใหม่ LOGISTIC FLUSH 2d การเข้าสู่ระบบที่ช้าต่อเนื่องตั้งค่าทั่วโลก longquerytime lqtsave. Roger นั่นคือระหว่างการล็อกการหมุนที่โยนฉันเนื่องจากมีเพียง pre และวิธีการโพสต์ฉันจะพิจารณาในระหว่างการเปรยเริ่มต้นในและหยุดใน post. I พบปัญหาบนเซิร์ฟเวอร์ที่มีรหัสผ่านราก Logrotate apparently ไม่อ่านในโฟลเดอร์บ้านจึงไม่สามารถเข้าสู่เซิร์ฟเวอร์ MySQL และ ดำเนินการคำสั่ง postrotate ผลคือไฟล์จะไม่ออกฉันทำงานรอบที่โดยการสร้างผู้ใช้ที่มีสิทธิ์ SUPER และ RELOAD ตั้งแต่รหัสผ่านจะต้องมีการส่งผ่านคำสั่ง line ขอแนะนำให้กำหนดค่า logrotate สำหรับ root เท่านั้น Fabian นี้ยังสามารถ addressed โดยการจัดเก็บข้อมูลประจำตัวในสิทธิ์ 600 แล้วอ้างถึงไฟล์ใน mysql คำสั่ง usr ท้องถิ่น bin mysql - e. Log หมุนใน RHEL CentOS Oracle linux. Default กำหนดค่าไฟล์ logrotate สำหรับ Red Hat 5 x คือ ดังต่อไปนี้คุณสามารถดูโดยค่าเริ่มต้นบันทึกจะหมุนสัปดาห์และเก็บไว้สี่สัปดาห์กับการบีบอัดไม่มีถ้าแพคเกจเพิ่มเติมมีการติดตั้งจาก RPMs ก็สามารถลดลงรวมถึงการเข้าสู่ระบบการล็อกใน etc logrotate d แต่ไม่กี่แพคเกจทำจึง s ถึงดูแลระบบเพื่อ ติดตั้งอย่างถูกต้องตามที่คุณเห็นการตั้งค่าเริ่มต้นเป็นที่น่าพอใจค่อนข้างเกินไปแรกคิดว่าเข้าใจแพคเกจนี้ติดตั้ง logrotate รวมถึงใน etc logrotate d และที่ don t หลังจากการติดตั้งทั่วไปของ RHEL directory logrotate d มีโหลของสคริปต์สำหรับติดตั้งแล้ว แพคเกจตัวอย่างเช่นที่สำคัญที่สุดของพวกเขาคือ syslog มันมีขนาดเล็กสวยน้อยกว่า 10 lines. If คุณปรับเปลี่ยนการตั้งค่า rsyslog เช่นโดยการสร้างแฟ้มบันทึกแยกต่างหากสำหรับนักวิจารณ์ al เท่านั้นคุณต้องเพิ่มลงในสคริปต์นี้การใช้ sharedscripts บล็อกการเรียกซ้ำของภูตสำหรับแต่ละล็อกที่ระบุนี่คือความหมายของไอเท็มนี้ในหน้าของมนุษย์โดยปกติสคริปต์ prerotate และ postrotate จะถูกเรียกใช้สำหรับแต่ละ log ซึ่งเป็น หมุนและเส้นทางสัมบูรณ์ไปยังแฟ้มบันทึกจะถูกส่งผ่านเป็นอาร์กิวเมนต์แรกของสคริปต์ซึ่งหมายความว่าสคริปต์เดียวอาจถูกเรียกใช้หลายครั้งสำหรับรายการไฟล์บันทึกที่ตรงกับไฟล์หลายไฟล์เช่นตัวอย่างข่าว var log ถ้ามีการระบุ sharedscripts สคริปต์จะ ใช้งานได้ครั้งเดียวไม่ว่ากี่ logs ตรงกับ wildcarded pattern และ pattern ทั้งหมดจะถูกส่งไปยังพวกเขาอย่างไรก็ตามหากไม่มี log ใน pattern ต้องการหมุน script จะไม่รันเลยถ้า scripts ออกจาก error การดำเนินการที่เหลือจะไม่ถูกเรียกใช้สำหรับบันทึกใด ๆ ตัวเลือกนี้จะแทนที่ตัวเลือก nosharedscripts และแสดงถึงการสร้างอ็อพชันการหมุนเวียนบันทึกของแอ็กเซ็กจะดำเนินการโดยใช้การตั้งค่าต่อไปนี้สคริปต์ cron เริ่มต้นสำหรับการอุทธรณ์ ของ logrotate คือซึ่งหมายความว่าการล็อกการหมุนเวียนมีกำหนดเวลาเที่ยงคืนของแต่ละวันโดยปกติแล้วจะเป็นเช่นนี้ แต่สำหรับเซิร์ฟเวอร์ syslog กลางคุณอาจต้องใช้การ invocation ในการกำหนดค่าดีฟอลต์จำนวนไฟล์บันทึกที่สำคัญเช่นข้อความ log var จะถูกเก็บไว้ในดิสก์เป็นระยะเวลาที่ จำกัด มากและบันทึกเก่าจะถูกลบโดยอัตโนมัติโดยค่าเริ่มต้นบันทึกจะถูกเก็บไว้เพียง 4 สัปดาห์ซึ่งเป็นที่ยอมรับไม่ได้สำหรับเซิร์ฟเวอร์การผลิตและต้องมีการเปลี่ยนแปลงระหว่างการกำหนดค่าเริ่มต้นของเซิร์ฟเวอร์โดยค่าเริ่มต้นบันทึก จะถูกเก็บไว้เป็นเวลา 4 สัปดาห์ซึ่งเป็นที่ยอมรับไม่ได้สำหรับเซิร์ฟเวอร์การผลิตและต้องมีการเปลี่ยนแปลงระหว่างการกำหนดค่าเริ่มต้นของเซิร์ฟเวอร์หากต้องการเปลี่ยนเวลาบันทึกของคุณเพื่อแก้ไขและเปลี่ยนพารามิเตอร์หมุนคุณสามารถแทนที่ข้อมูลนี้สำหรับบันทึกเฉพาะ โดยการแก้ไขไฟล์ใน etc log logrotate directory d สำหรับรายละเอียดเพิ่มเติมดู logrotate คน page. Old logfiles มักจะมีการบีบอัดด้วย gzip หรือ bzip หลังให้การบีบอัดที่ดีขึ้นของข้อความ ไฟล์เพื่อประหยัดพื้นที่พวกเขายังสามารถย้ายไปยังไดเรกทอรีใหม่ดูตัวเลือกบีบอัด delaycompress ด้านล่างสมมติว่าเรามี foobar บริการใหม่ซึ่งมีการกำหนดค่าให้เขียนบันทึกไปยังไดเรกทอรี var logs foobar เพื่อรองรับความต้องการการหมุนสำหรับ daemon นี้เราต้องการ เพื่อเพิ่มคำสั่ง logrotate ในการอธิบายพารามิเตอร์การหมุนตัวอย่างเช่น รายเดือน missingok หมุน 6 compress delaycompress สร้างราก root root 640 roothost sharedscripts postrotate ฯลฯ init d foobar restart endscript แน่นอนมันสามารถทำได้ง่ายขึ้น แต่ขอหารือเกี่ยวกับตัวอย่างที่ซับซ้อนมากขึ้นนี้เราใช้รายเดือนเพื่อให้มั่นใจว่าบันทึกถูกหมุน เดือนและหมุน 6 เพื่อให้แน่ใจว่าไม่เกินเจ็ดบันทึกก่อนจะถูกเก็บไว้ตอนนี้ฟังก์ชันแปลกใหม่เมื่อเข้าสู่ระบบหมดอายุก็ s ส่งอีเมลไปยัง root localhost ก่อนที่จะถูกลบตามที่ระบุโดยจดหมายที่สามารถทำได้สำหรับบันทึกประจำวันมิฉะนั้นอีเมลอาจมีมากเกินไป bigpress shrinks บันทึกการหมุนยกเว้นรุ่นก่อนหน้าเนื่องจากการ delaycompress การบีบอัดด้วย delaycompress เป็นค่าที่แนะนำ Logrotate doesn t บ่นถ้าล็อกไฟล์หายไปเนื่องจาก missingok หลังจากที่บันทึกได้รับการหมุนใหม่จะถูกสร้างขึ้นโดยสร้างเป็นเป็นของ ผู้ใช้และกลุ่มรากและบริการจะเริ่มต้นใหม่ซึ่งจะใช้ในการบีบอัดไฟล์บันทึกที่มีการหมุนเวียนด้วย gzip 7 กุมภาพันธ์ 2012 การสร้างไฟล์บันทึก logfile ด้วย logrotate หลาย ๆ บริการที่ติดตั้งบนเครื่อง Linux จะสร้างไฟล์บันทึกที่เติบโตและเติบโตและเติบโตขึ้นหากไม่ได้ทำเครื่องหมายไว้คุณสามารถกรอกข้อมูลลงในดิสก์ด้วยชุดแฟ้มบันทึกขนาดใหญ่หากไม่ระวัง วิธีการที่พบมากที่สุดในการรักษา logfile ในการตรวจสอบคือการใช้ logrotate และแพคเกจ Debian จำนวนมากได้รับการติดตั้งเพื่อใช้งานโดย default. The แพคเกจที่ชัดเจนที่สุดซึ่งใช้เป็น Apache ซึ่งโดยปกติแล้วจะเก็บ logfiles ไว้ในไดเรกทอรี var log apache หรือ var log apache2 ถ้าคุณตรวจสอบไดเรกทอรีนี้คุณจะเห็นว่ามีกลุ่มของ logfiles ซึ่งเก็บถาวรอยู่ที่นี่ logfiles ปัจจุบันจะถูกเก็บไว้ดิบเช่นเดียวกับ logfiles เมื่อวานนี้และ logfiles ก่อนหน้านี้จะถูกบีบอัดด้วย gzip และเก็บไว้เป็นเวลาห้า สัปดาห์ฉันรู้ว่ามันห้าสัปดาห์และไม่ห้าวันเพราะฉันได้ดูที่การกำหนดค่า - มันไม่ชัดเจนจากการส่งออกนี้แม้ว่ากระบวนการที่อยู่ในค่าใช้จ่ายของการบีบอัดและการหมุน logfiles เหล่านี้เรียกว่า l โอ้โฮร์และมันจะถูกใช้งานวันละครั้งเมื่อติดตั้ง Debian เมื่อเราได้ดูคำสั่งกำหนดเวลาด้วย cron มีไดเร็กทอรีที่เรียกว่าสคริปต์ซึ่งมีการเรียกใช้งานวันละครั้งที่นี่คุณจะพบสคริปต์ไดรเวอร์ logrotate ทุกวันนี้ สคริปต์ทำงานและตรวจสอบสองสิ่งแฟ้มการกำหนดค่าแฟ้มการกำหนดค่า ฯลฯ directory logrotate d. The เป็นที่มากที่สุดของแพคเกจของเรามีการกำหนดค่าไดเรกทอรีนี้มีแฟ้มการกำหนดค่าที่แพคเกจอื่น ๆ มีการติดตั้งตัวอย่างเช่นถ้าคุณติดตั้ง apache ไฟล์ etc logrotate d apache จะถูกติดตั้งเซิร์ฟเวอร์หลายอย่างเช่น exim mailserver จะติดตั้งไฟล์การกำหนดค่าของตัวเองและคุณสามารถเพิ่มแฟ้มการกำหนดค่า logrotate ของคุณเองโดยทั่วไปดูเหมือนว่านี้คุณสามารถดูสิ่งที่สำคัญหลายประการที่นี่ที่ชัดเจนที่สุดคือรายการของไฟล์ที่ จะถูกจับคู่โดยไฟล์การกำหนดค่านี้หลังจากนี้เรามีชุดคำศัพท์การกำหนดค่าคำที่แตกต่างกันในแต่ละบรรทัดในตัวอย่างข้างต้นเรา มีไฟล์ควรจะหมุนทุกสัปดาห์ตรงกันข้าม daily. We ควรเก็บไม่เกิน nn filespress ไฟล์เก่ากับ gzip ตรงข้าม nocompress. Don t บีบอัดไฟล์วันวานตรงข้าม compress. Don t จะหมุนถ้า logfile ว่างเปล่า xxx xxx ifempty. create ตรงข้าม กลุ่มผู้ใช้ถ้าเราต้องสร้างไฟล์ใหม่ให้มันโหมดที่กำหนดเจ้าของและ group. Run ใด ๆ ที่กำหนดไว้ล่วงหน้าหรือ postrotate สคริปต์สำหรับแต่ละ logfile แต่ละตรงกันข้าม nosharedscripts. postrotate endcript. Anething ระหว่างเหล่านี้จะถูกดำเนินการหลังจากที่กระบวนการหมุนตรงข้ามกับ prerotate หวังว่าควรจะมีความรู้สึก upshot ของสคริปต์นี้คือไฟล์ที่ตรงกับการหมุนทุกสัปดาห์อัด ed ถ้ามันไม่ว่างเปล่าไฟล์ใหม่ถูกสร้างขึ้นด้วยโหมดไฟล์ 640 และหลังจากการหมุนได้เสร็จสิ้น เซิร์ฟเวอร์จะถูกรีสตาร์ทหากเราต้องการติดตั้งเซอร์วิสท้องถิ่นซึ่งสร้างไฟล์บันทึกข้อมูลที่เราสามารถทำให้มันหมุนได้อย่างง่ายดายเพียงแค่เพิ่มไฟล์คอนฟิกูเรชัน Logrotate ใหม่สมมติว่าเรามีบริการใหม่ f สีแดงที่ผลิตออกในเราสามารถทำให้นี้จะหมุนทุกวันด้วยสคริปต์เช่น this. Keep ไม่เกิน 7 วันมูลค่า logfiles ที่ใด time. Not บ่นถ้ามี logfile missingpress ไฟล์เก่า แต่ไม่วันวาน สร้าง logfiles ใหม่เนื่องจากเป็นของผู้ใช้และกลุ่ม fred. Restart บริการหลังจากหมุนไฟล์ logfile. Any ของไฟล์ที่มีอยู่ในไดเรกทอรี logrotate สามารถตรวจสอบตัวอย่างเพิ่มเติมได้ - และ manpage เอกสารตัวเลือกทั้งหมดที่คุณอาจใช้ใน ลักษณะที่ชัดเจน 22 มีนาคม 2008 ในการติดตั้งค่าเริ่มต้นของ CentOS หรือ Red Hat Enterprise Linux สคริปต์การล็อกบันทึกจะหมุนไฟล์บันทึกของ Apache ในแต่ละวันและโหลดเซอร์วิสอีกครั้งโพสต์นี้จะดูวิธีป้องกันไม่ให้เกิดการกระทำนี้ โดยอัตโนมัติหรือเปลี่ยนลักษณะการทำงานเพื่อหมุนไฟล์บันทึกหากการตั้งชื่อการเข้าสู่ระบบของคุณแตกต่างจากไฟล์ดีฟอลต์ภูต cron บนเซิร์ฟเวอร์ CentOS หรือ Red Hat Enterprise Linux จะรันสคริปต์ใน directo ry ในแต่ละวันซึ่งรวมถึงการเรียกใช้สคริปต์ logrotate ซึ่งเรียกใช้ usr sbin logrotate ผ่านไฟล์การกำหนดค่าเวอร์ชันดีฟอลต์ของไฟล์นี้มีดังต่อไปนี้ตัวแปรดีฟอลต์เหล่านี้ค่อนข้างตรงไปข้างหน้าและให้คุณสามารถควบคุมจำนวนไฟล์บันทึกที่หมุนได้ , จำนวนมากของไฟล์บันทึกก่อนหน้าเพื่อให้ก่อนที่จะลบพวกเขาหรือไม่ที่จะบีบอัดพวกเขาและอื่น ๆ นอกจากนี้ยังบอก logrotate เพื่อประมวลผลไฟล์ทั้งหมดในไดเรกทอรี ฯลฯ logrotate d. The ไฟล์ที่ควบคุมการเข้าสู่ระบบการหมุนของ Apache ใน CentOS และ Red Hat Enterprise Linux มีชื่อและเนื้อหาดีฟอลต์ของไฟล์นี้มีดังต่อไปนี้ไฟล์ที่กล่าวคือการหมุนไฟล์ทั้งหมดที่ตรงกับรูปแบบการเข้าใช้งานและล็อกไฟล์ข้อผิดพลาดใน Apache บน CentOS และ RHEL เป็นชื่อ accesslog และ errorlog so they match this pattern. If you have changed the default names of the log files and they don t match this pattern, then you can have logrotate rotate your log files by making sure the pattern i s in this file in place of the line For example, if your log files were named and then would match them. If you do not wish the logrotate script to rotate your Apache log files at all, then you can simply delete this file like so, logged in either as root or using sudo. The changes will take effect the next time the logrotate script is run. Manage Linux log files with Logrotate By Jim McIntyre. December 27, 2000 TechRepublic. Log files are the most valuable tools available for Linux system security The logrotate program is used to provide the administrator with an up-to-date record of events taking place on the system The logrotate utility may also be used to back up log files, so copies may be used to establish patterns for system use In this Daily Drill Down, I ll cover the following topics. The logrotate configuration. Setting defaults for logrotate. Using the include option to read other configuration files. Setting rotation parameters for specific files. Using the include option to overrid e defaults. The logrotate program The logrotate program is a log file manager It is used to regularly cycle or rotate log files by removing the oldest ones from your system and creating new log files It may be used to rotate based on the age of the file or the file s size, and usually runs automatically through the cron utility The logrotate program may also be used to compress log files and to configure e-mail to users when they are rotated. The logrotate configuration The logrotate program is configured by entering options in the file This is a text file, which may contain any of the configuration options listed in the table below The options entered in may be used to set configuration parameters for any log file on the system These options may also be used to allow logrotate to read configuration parameters from other log files, by using the include parameter. Softpanorama Recommended. logrotate is designed to ease administration of systems that generate large numbers of log files It al lows automatic rotation, compression, removal, and mailing of log files Each log file may be handled daily, weekly, monthly, or when it grows too large. Normally, logrotate is run as a daily cron job It will not modify a log multiple times in one day unless the criterium for that log is based on the log s size and logrotate is being run multiple times each day, or unless the - f or - force option is used. Any number of config files may be given on the command line Later config files may override the options given in earlier files, so the order in which the logrotate config files are listed is important Normally, a single config file which includes any other config files which are needed should be used See below for more information on how to use the include directive to accomplish this If a directory is given on the command line, every file in that directory is used as a config file. If no command line arguments are given, logrotate will print version and copyright information, along with a short usage summary If any errors occur while rotating logs, logrotate will exit with non-zero status. Turns on debug mode and implies - v In debug mode, no changes will be made to the logs or to the logrotate state file.-f --force Tells logrotate to force the rotation, even if it doesn t think this is necessary Sometimes this is useful after adding new entries to a logrotate config file, or if old log files have been removed by hand, as the new files will be created, and logging will continue correctly - m --mail command Tells logrotate which command to use when mailing logs This command should accept two arguments 1 the subject of the message, and 2 the recipient The command must then read a message on standard input and mail it to the recipient The default mail command is bin mail - s - s, --state statefile Tells logrotate to use an alternate state file This is useful if logrotate is being run as a different user for various sets of log files The default state file is --usage Prints a s hort usage message - v --verbose Turns on verbose mode. Configuration File. logrotate reads everything about the log files it should be handling from the series of configuration files specified on the command line Each configuration file can set global options local definitions override global ones, and later definitions override earlier ones and specify logfiles to rotate A simple configuration file looks like this. The first few lines set global options in the example, logs are compressed after they are rotated Note that comments may appear anywhere in the config file as long as the first non-whitespace character on the line is a. The next section of the config files defined how to handle the log file var log messages The log will go through five weekly rotations before being removed After the log file has been rotated but before the old version of the log has been compressed , the command sbin killall - HUP syslogd will be executed. The next section defines the parameters for both and They are rotated whenever it grows over 100k in size, and the old logs files are mailed uncompressed to after going through 5 rotations, rather than being removed The sharedscripts means that the postrotate script will only be run once after the old logs have been compressed , not once for each log which is rotated Note that the double quotes around the first filename at the beginning of this section allows logrotate to rotate logs with spaces in the name Normal shell quoting rules apply, with , , and characters supported. The last section defines the parameters for all of the files in var log news Each file is rotated on a monthly basis This is considered a single rotation directive and if errors occur for more than one file, the log files are not compressed. Please use wildcards with caution If you specify , logrotate will rotate all files, including previously rotated ones A way around this is to use the olddir directive or a more exact wildcard such as. Here is more information on the dir ectives which may be included in a logrotate configuration filepress Old versions of log files are compressed with gzip 1 by default See also nocompress compresscmd Specifies which command to use to compress log files The default is gzip See also compress uncompresscmd Specifies which command to use to uncompress log files The default is gunzip compressext Specifies which extension to use on compressed logfiles, if compression is enabled The default follows that of the configured compression command compressoptions Command line options may be passed to the compression program, if one is in use The default, for gzip 1 , is -9 maximum compression copy. Make a copy of the log file, but don t change the original at all This option can be used, for instance, to make a snapshot of the current log file, or when some other utility needs to truncate or parse the file When this option is used, the create option will have no effect, as the old log file stays in place. copytruncate Truncate the orig inal log file in place after creating a copy, instead of moving the old log file and optionally creating a new one It can be used when some program cannot be told to close its logfile and thus might continue writing appending to the previous log file forever Note that there is a very small time slice between copying the file and truncating it, so some logging data might be lost When this option is used, the create option will have no effect, as the old log file stays in place create mode owner group Immediately after rotation before the postrotate script is run the log file is created with the same name as the log file just rotated mode specifies the mode for the log file in octal the same as chmod 2 , owner specifies the user name who will own the log file, and group specifies the group the log file will belong to Any of the log file attributes may be omitted, in which case those attributes for the new file will use the same values as the original log file for the omitted attributes T his option can be disabled using the nocreate option daily. Log files are rotated every day. dateext Archive old versions of log files adding a daily extension like YYYYMMDD instead of simply adding a number The extension may be configured using the dateformat option dateformat formatstring Specify the extension for dateext using the notation similar to strftime 3 function Only Y m d and s specifiers are allowed The default value is - Y m d Note that also the character separating log name from the extension is part of the dateformat string The system clock must be set past Sep 9th 2001 for s to work correctly Note that the datestamps generated by this format must be lexically sortable i e first the year, then the month then the day e g 2001 12 01 is ok, but 01 12 2001 is not, since 01 11 2002 would sort lower while it is later This is because when using the rotate option, logrotate sorts all rotated filenames to find out which logfiles are older and should be removed delaycompress Postpo ne compression of the previous log file to the next rotation cycle This only has effect when used in combination with compress It can be used when some program cannot be told to close its logfile and thus might continue writing to the previous log file for some time extension ext Log files with ext extension can keep it after the rotation If compression is used, the compression extension normally appears after ext For example you have a logfile named and want to rotate it to instead of ifempty Rotate the log file even if it is empty, overriding the notifempty option ifempty is the default include fileordirectory Reads the file given as an argument as if it was included inline where the include directive appears If a directory is given, most of the files in that directory are read in alphabetic order before processing of the including file continues The only files which are ignored are files which are not regular files such as directories and named pipes and files whose names end with o ne of the taboo extensions, as specified by the tabooext directive The include directive may not appear inside a log file definition mail address When a log is rotated out-of-existence, it is mailed to address If no mail should be generated by a particular log, the nomail directive may be used mailfirst When using the mail command, mail the just-rotated file, instead of the about-to-expire file maillast When using the mail command, mail the about-to-expire file, instead of the just-rotated file this is the default maxage count Remove rotated logs older than count days The age is only checked if the logfile is to be rotated The files are mailed to the configured address if maillast and mail are configured minsize size Log files are rotated when they grow bigger than size bytes, but not before the additionally specified time interval daily weekly monthly or yearly The related size option is similar except that it is mutually exclusive with the time interval options, and it causes log fil es to be rotated without regard for the last rotation time When minsize is used, both the size and timestamp of a log file are considered missingok If the log file is missing, go on to the next one without issuing an error message See also nomissingok monthly Log files are rotated the first time logrotate is run in a month this is normally on the first day of the month nocompress Old versions of log files are not compressed See also compress nocopy. Do not copy the original log file and leave it in place this overrides the copy option. nocopytruncate Do not truncate the original log file in place after creating a copy this overrides the copytruncate option nocreate New log files are not created this overrides the create option nodelaycompress Do not postpone compression of the previous log file to the next rotation cycle this overrides the delaycompress option nodateext Do not archive old versions of log files with date extension this overrides the dateext option nomail. Don t mail old lo g files to any address. nomissingok If a log file does not exist, issue an error This is the default noolddir Logs are rotated in the same directory the log normally resides in this overrides the olddir option nosharedscripts Run prerotate and postrotate scripts for every log file which is rotated this is the default, and overrides the sharedscripts option The absolute path to the log file is passed as first argument to the script If the scripts exit with error, the remaining actions will not be executed for the affected log only noshred Do not use shred when deleting old log files See also shred notifempty Do not rotate the log if it is empty this overrides the ifempty option olddir directory Logs are moved into directory for rotation The directory must be on the same physical device as the log file being rotated, and is assumed to be relative to the directory holding the log file unless an absolute path name is specified When this option is used all old versions of the log end up in d irectory This option may be overridden by the noolddir option postrotate endscript The lines between postrotate and endscript both of which must appear on lines by themselves are executed using bin sh after the log file is rotated These directives may only appear inside a log file definition Normally, the absolute path to the log file is passed as first argument to the script If sharedscripts is specified, whole pattern is passed to the script See also prerotate See sharedscripts and nosharedscripts for error handling prerotate endscript The lines between prerotate and endscript both of which must appear on lines by themselves are executed using bin sh before the log file is rotated and only if the log will actually be rotated These directives may only appear inside a log file definition Normally, the absolute path to the log file is passed as first argument to the script If sharedscripts is specified, whole pattern is passed to the script See also postrotate See sharedscripts and nosh aredscripts for error handling firstaction endscript The lines between firstaction and endscript both of which must appear on lines by themselves are executed using bin sh once before all log files that match the wildcarded pattern are rotated, before prerotate script is run and only if at least one log will actually be rotated These directives may only appear inside a log file definition Whole pattern is passed to the script as first argument If the script exits with error, no further processing is done See also lastaction lastaction endscript The lines between lastaction and endscript both of which must appear on lines by themselves are executed using bin sh once after all log files that match the wildcarded pattern are rotated, after postrotate script is run and only if at least one log is rotated These directives may only appear inside a log file definition Whole pattern is passed to the script as first argument If the script exits with error, just an error message is shown as this is the last action See also firstaction rotate count Log files are rotated count times before being removed or mailed to the address specified in a mail directive If count is 0, old versions are removed rather than rotated size size Log files are rotated when they grow bigger than size bytes If size is followed by k the size is assumed to be in kilobytes If the M is used, the size is in megabytes, and if G is used, the size is in gigabytes So size 100 size 100k size 100M and size 100Gare all valid sharedscripts Normally, prerotate and postrotate scripts are run for each log which is rotated and the absolute path to the log file is passed as first argument to the script That means a single script may be run multiple times for log file entries which match multiple files such as the var log news example If sharedscripts is specified, the scripts are only run once, no matter how many logs match the wildcarded pattern, and whole pattern is passed to them However, if none of the logs in the pattern require rotating, the scripts will not be run at all If the scripts exit with error, the remaining actions will not be executed for any logs This option overrides the nosharedscripts option and implies create option shred. Delete log files using shred - u instead of unlink This should ensure that logs are not readable after their scheduled deletion this is off by default See also noshred. shredcycles count Asks GNU shred 1 to overwite log files count times before deletion Without this option, shred s default will be used start count This is the number to use as the base for rotation For example, if you specify 0, the logs will be created with a 0 extension as they are rotated from the original log files If you specify 9, log files will be created with a 9, skipping 0-8 Files will still be rotated the number of times specified with the count directive tabooext list The current taboo extension list is changed see the include directive for information on the taboo extensions If a pr ecedes the list of extensions, the current taboo extension list is augmented, otherwise it is replaced At startup, the taboo extension list contains rpmsave v swp rpmnew. cfsaved and weekly. Log files are rotated if the current weekday is less than the weekday of the last rotation or if more than a week has passed since the last rotation This is normally the same as rotating logs on the first day of the week, but it works better if logrotate is not run every night. Log files are rotated if the current year is not the same as the last rotation. Default state file. FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc We believe this constitutes a fair use of any such copyrighted material as provided for in section 107 of the US Copyright Law In accordance with Title 17 U S C Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes If you wish to use copyrighted material from this site for purposes of your own that go beyond fair use , you must obtain permission from the copyright owner. ABUSE IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days Multiple types of probes increase this period.
No comments:
Post a Comment