ทำ Rotate ไฟล์ Log ของ Asterisk ด้วยคำสั่ง log rotate

Asterisk Opensource IP Pbx

ทำ Rotate ไฟล์ Log ของ Asterisk ด้วยคำสั่ง log rotate

โพสต์โดย nuiz » 22 ก.พ. 2011 09:20

มีทริกเล็กๆของ Asterisk มาฝากครับ เกี่ยวกับไฟล์ Log ในโฟลเดอร์ /var/log/asterisk

วันนี้ผมลองเข้าไปดูที่เครื่อง Asterisk ตัวที่เป็น Call Center พบว่าไฟล์ Log ในโฟลเดอร์ /var/log/asterisk ที่ชื่อ full มีขนาดใหญ่โตมากมาย

โค้ด: เลือกทั้งหมด
ls -la /var/log/asterisk

-rw-r--r-- 1 asterisk asterisk 6531748782 Feb 22 09:12 full
ขนาดประมาณ 6 กิ๊ก

จะลบทิ้งเลยก็กระไรอยู่เพราะ Asterisk กำลังทำงานอยู่ จะ stop ก็ทำไม่ได้ตอนนี้เพราะมีคนกำลังใช้งานอยู่ มีคำสั่งนึงครับที่จะทำให้ Asterisk ทำการ Rotate ไฟล์ Log แล้วสร้างไฟล์ใหม่ขึ้นมาแทน เราก็ลบไฟล์เก่าทิ้งไปได้เลย คำสั่งนี้คือ log rotate

สั่งจาก Linux Prompt
โค้ด: เลือกทั้งหมด
asterisk -rx "log rotate"

หรือคำสั่ง logger rotate สำหรับ Asterisk 1.6+

หรือจะสั่งจาก Asterisk Console
โค้ด: เลือกทั้งหมด
log rotate

หรือ logger rotate

กลับมาดูในโฟลเดอร์ /var/log/asterisk อีกครั้ง ก็จะเห็นแบบนี้
-rw-r--r-- 1 callctr callctr 781 Feb 22 09:13 full
-rw-r--r-- 1 callctr callctr 6531958355 Feb 22 09:13 full.0

ทีนี้เราก็ลบไฟล์ full.0 ทิ้งไปได้เลย
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 5970
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: ทำ Rotate ไฟล์ Log ของ Asterisk ด้วยคำสั่ง log rotate

โพสต์โดย Alpacino » 26 เม.ย. 2011 10:20

เราสามารถทำการตั้ง cron ให้มัน rotate auto ได้นะครับ เข้าไปแก้ที่ /etc/logrotate.d/asterisk

/var/log/asterisk/full {
daily -------------------> rotate เป็นวัน เวลาที่มันจะ rotate default จะประมาณตี 2 เราสามารถแก้เวลาได้ที่ /etc/crontab แก้แล้ว restart syslog ด้วย
rotate 5 -------------------> เก็บไว้ประมาณ 5 วัน ถ้าอยากเก็บไว้หลายๆวันก็แก้ตรงนี้
missingok
compress -------------------> มีการบีบอัดไฟล์ log จะเป็น .gz
delaycompress
notifempty
sharedscripts
postrotate
/usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
endscript
}

ประมาณนี้แหละครับ แล้วอย่าลืม restart cron กับ syslog ด้วยนะครับ
ความรู้คือการแบ่งปัน
Alpacino
Bronz Member
 
โพสต์: 17
ลงทะเบียนเมื่อ: 20 ต.ค. 2010 09:06


ย้อนกลับไปยัง Asterisk SIP Server

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: Google [Bot] และ บุคคลทั่วไป 2 ท่าน

cron