Logrotate: วิธีเข้าถึงไฟล์เอาต์พุตใน postrotate


15

ฉันหมุนNginxบันทึกทุกวัน (พร้อมdateext) หลังจากการหมุนฉันต้องการแยกไฟล์สำหรับวันที่เพิ่งผ่านไปและรวบรวมอีเมลที่มีจำนวนข้อผิดพลาดที่ส่งคืนโดยเซิร์ฟเวอร์ Nginx

ฉันจะเข้าถึงไฟล์เอาต์พุตในส่วน postrotate / ปลายคำบรรยายของได้logrotateอย่างไร


คุณสามารถอธิบายรายละเอียดเพิ่มเติมได้หรือไม่
เลด

เสร็จสิ้น ขออภัยฉันคิดว่ามันชัดเจนเพียงพอ :)
ibz

คำตอบ:


4

ฉันไม่ทราบถึงตัวแปรใด ๆ ที่คุณสามารถใช้ได้หากนั่นคือสิ่งที่คุณกำลังมองหา อย่างไรก็ตามทันทีหลังจากหมุนบันทึกคุณควรทราบชื่อไฟล์ที่ได้รับการหมุนตามการกำหนดค่าที่คุณได้ตั้งค่าสำหรับการหมุน ( /var/log/somefile.1หรือคล้าย)

อาจจะตอบได้ง่ายกว่าถ้าคุณอธิบายปัญหาจริงที่คุณพยายามแก้ไข?


ฉันคิดว่าปัญหาไม่เกี่ยวข้อง อธิบายรายละเอียดเพิ่มเติมตอนนี้ ใช่ฉันสามารถใช้วันที่เพื่อรับชื่อไฟล์ แต่ฉันหวังว่าฉันจะได้รับผ่านตัวแปรหรือบางอย่างซึ่งจะทำให้รู้สึกมากขึ้น
ibz

3
ดูเหมือนว่า larsks จะตีในสิ่งที่คุณต้องการ $ 1 คือตัวแปรที่คุณกำลังมองหา
ทำเครื่องหมาย

17

หากคุณไม่ได้ใช้คำสั่ง "sharedscripts" สคริปต์ postrotate ของคุณจะได้รับเป็น $ 1 ไฟล์ที่เรียกใช้การหมุนเวียนบันทึก สิ่งนี้อาจช่วยได้หากคุณกำลังพยายามใช้สคริปต์ทั่วไปที่มีหลายบทสรุป นั่นคือให้อะไรเช่นนี้:

/var/log/sample1.log /var/log/sample[23].log {
  ..config...
}

หากจำเป็นต้องหมุนไฟล์ที่ตรงกันสคริปต์ของคุณจะถูกเรียกด้วย $ 1 ตั้งค่าเป็น "/var/log/sample1.log", "/var/log/sample2.log" หรือ "/var/log/sample3.log" "ตามความเหมาะสม จากนั้นคุณสามารถต่อท้าย ".1" เพื่อค้นหาไฟล์ที่เพิ่งหมุน

หากคุณใช้ตัวเลือก "sharedscripts" สคริปต์ของคุณจะถูกเรียกด้วย $ 1 ตั้งค่าเป็น "/var/log/sample1.log /var/log/sample [2323..log" ซึ่งจะช่วยให้คุณระบุ stanza เฉพาะ แต่ ไม่ใช่ไฟล์ที่แน่นอน)

หวังว่านี่จะช่วยให้คุณได้เริ่มต้น โปรดทราบว่าสิ่งนี้จะใช้งานได้เฉพาะกับ logrotate> v3.7.5


1
มีประโยชน์ ที่จริงแล้วทั้งสคริปต์ก่อนและหลังการหมุนดูเหมือนจะได้รับชื่อไฟล์ที่หมุนเป็น $ 1 ซึ่งเป็นสิ่งที่คำถามถาม
ทำเครื่องหมาย

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