Mongodb: ไฟล์บันทึกยังว่างเปล่า


0

เมื่อวานนี้ฉันย้ายไฟล์ 2 ไฟล์จาก / var / log / mongodb ไปยังไดเรกทอรีอื่น ชื่อไฟล์: "mongod.log", "mongod.log.1" (2 ไฟล์เท่านั้นในไดเรกทอรีนี้ที่มีขนาดใหญ่) mongodb ทำงานอยู่ที่จุดนี้ฉันคาดว่า mongodb จะสร้าง mongod.log ใหม่ แต่ไม่ได้ทำ จากนั้นฉันสร้าง mongod.log ด้วยตนเองและสร้าง "chown mongodb: mongodb mongod.log" แต่ไฟล์ยังคงว่างเปล่า

ฉันไม่สามารถหยุด mongodb ได้ฉันจะบังคับ mongodb ให้ล็อกอีกครั้งในไฟล์นี้ได้อย่างไร mongod.conf นั้นใช้ได้

คำตอบ:


1

ไฟล์ต้นฉบับนั้นยังคงถูกเปิดอยู่mongodแม้ว่าคุณจะย้ายไฟล์ไปแล้วก็ตามและมันก็จะยังคงเป็นไฟล์ที่ล็อกไว้จนกว่าคุณจะหยุดmongodกระบวนการหรือลองทำสิ่งต่อไปนี้:

  1. ลบmongod.logไฟล์ใหม่ที่คุณสร้างขึ้น/var/log/mongodb
  2. ย้ายmongod.logไฟล์เก่ากลับไปที่/var/log/mongodb
  3. ออกlogRotateคำสั่งจากmongoเชลล์ (เมื่อเชื่อมต่อกับที่เกี่ยวข้องmongod)

หมายเหตุ: หรืออีกวิธีหนึ่งสำหรับขั้นตอนที่ 3 คุณสามารถส่ง a kill -SIGUSR1 <pid of mongod>เพื่อให้ได้สิ่งเดียวกัน

เมื่อเสร็จแล้วคุณจะมีmongod.logไฟล์ใหม่ที่เล็กกว่าในโฟลเดอร์พร้อมกับไฟล์ก่อนหน้าที่ถูกตัดทอน (ไม่ได้ถูกเขียนไป) ชื่อที่แน่นอนขึ้นอยู่กับเวอร์ชันที่คุณกำลังพูดถึงซึ่งคุณไม่ได้กล่าวถึง แต่ตอนนี้คุณสามารถย้ายไฟล์บันทึกขนาดใหญ่ออกไปยังไดเรกทอรีอื่นได้ (ฉันขอแนะนำให้บีบอัดไฟล์เหล่านั้นบีบอัดได้ง่าย)

หากขนาดเป็นปัญหาปกติฉันขอแนะนำให้ทำเช่นนี้เป็นงาน cron หรือคล้ายกับทำให้กระบวนการดำเนินต่อไปโดยอัตโนมัติ


0

เพียงออกคำสั่งด้านล่างในรันไทม์และคุณสามารถดูบันทึกที่กำลังเขียนลงในไฟล์บันทึกที่ระบุ:

db.adminCommand( { logRotate : 1 } )

หวังว่านี่จะช่วย !!!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.