ฉันติดตามลิงก์นี้เพื่อเปลี่ยนการตั้งค่าการหมุนบันทึกสำหรับ RHEL 6
หลังจากฉันเปลี่ยนแปลงไฟล์ config แล้วฉันควรทำอย่างไรเพื่อให้สิ่งนี้มีผล
ฉันติดตามลิงก์นี้เพื่อเปลี่ยนการตั้งค่าการหมุนบันทึกสำหรับ RHEL 6
หลังจากฉันเปลี่ยนแปลงไฟล์ config แล้วฉันควรทำอย่างไรเพื่อให้สิ่งนี้มีผล
คำตอบ:
logrotate
ใช้crontab
ในการทำงาน มันทำงานตามกำหนดเวลาไม่ใช่ภูตดังนั้นไม่จำเป็นต้องโหลดการกำหนดค่าใหม่
เมื่อcrontab
ประมวลผลlogrotate
ไฟล์จะใช้ไฟล์กำหนดค่าใหม่ของคุณโดยอัตโนมัติ
หากคุณต้องการทดสอบการกำหนดค่าของคุณคุณสามารถดำเนินการlogrotate
ด้วยตัวคุณเองด้วยคำสั่ง:
logrotate /etc/logrotate.d/your-logrotate-config
หรือตามที่ระบุไว้ในความคิดเห็นระบุอ้างถึงคำตอบของ slm ที่จะมีคำอธิบายที่แม่นยำ cron.dailylogrotate
บรรทัดในผลลัพธ์ของคำสั่งcrontab -l
และดำเนินการบรรทัดคำสั่ง
crontab -l
และดำเนินการ
logrotate
มี-d
ตัวเลือกสำหรับการทดสอบ (หรือ "แก้จุดบกพร่อง") ฉันขอแนะนำให้เรียกใช้อย่างน้อยหนึ่งครั้ง
การlogrotate
ตั้งค่าส่วนใหญ่ที่ฉันเคยเห็นใน distros ต่างๆหมดลง/etc/cron.daily
แล้ว logrotate
มีสคริปต์เปลือกมีชื่อ aptly เป็น
$ ls -l /etc/cron.daily/logrotate
-rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
หากคุณต้องการให้มันรันด้วยตนเองเพียงรันสคริปต์ในฐานะรูท:
$ sudo /etc/cron.daily/logrotate
หากคุณดูที่สคริปต์ซึ่งโดยทั่วไปแล้วจะแสดงวิธีที่คุณสามารถเรียกใช้logrotate
ด้วยตนเองโดยเพียงแค่เรียกใช้logrotate
+ เส้นทางไปยังไฟล์การกำหนดค่า
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
ควรอัตโนมัติผ่าน cron คุณสามารถบังคับให้ทดสอบการเปลี่ยนแปลงของคุณ
สำหรับ global logrotate:
sudo logrotate -v -f /etc/logrotate.conf
สำหรับไฟล์ conf เดียว:
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
-f
สำหรับการหมุนแรงนั้นยังมี-d
สำหรับการดีบักซึ่งก็คือ Dry run มันจะพิมพ์ทุกอย่างที่ทำได้ แต่ไม่ได้ทำจริงๆ
บนเครื่อง CentOS 6.5 ของฉันสำหรับการตั้งค่า logrotate สำหรับ nginx ฉันต้องทำสิ่งนี้:
logrotate /etc/logrotate.d/nginx
จากนั้นฉันตรวจสอบว่า logrotate ดูแลการตั้งค่า nginx ใหม่ของฉันเช่นนี้หรือไม่:
cat /var/lib/logrotate.status
logrotate
มีกำหนดให้ทำงานวันละครั้ง