...

حذف خودکار فایل‌های ضبط‌شده تماس‌ها در ایزابل ۵ با اسکریپت Bash

حذف خودکار فایل‌های ضبط‌شده تماس‌ها در ایزابل ۵ با اسکریپت Bash

فهرست مطالب

در سیستم‌های تلفنی مانند Issabel، Elastix و FreePBX، یکی از مهم‌ترین چالش‌ها، پر شدن فضای دیسک به‌مرور زمان است. دلیل اصلی این موضوع، ذخیره شدن فایل‌های ضبط تماس (Call Recording)، پیام‌های صوتی و لاگ‌هاست.

اگر این فایل‌ها به‌موقع مدیریت و پاکسازی نشوند، می‌تواند باعث مشکلات زیر شود:

  • اختلال در عملکرد سیستم تلفنی

  • توقف کامل سرویس‌های Asterisk

  • آسیب به فایل‌سیستم یا خرابی لینوکس


🛠 راهکار: اسکریپت حذف مکالمات قدیمی (مثلاً بیش از ۳۰ روز)

با استفاده از اسکریپت Bash زیر، می‌توانید فایل‌های ضبط تماس را که بیش از ۳۰ روز از عمرشان گذشته، به‌صورت روزانه و خودکار حذف کنید.


ساخت فایل اسکریپت

  1. یک فایل با نام removeOldRecordings.sh در مسیر /usr/src/ بسازید:

sudo nano /usr/src/removeOldRecordings.sh
  1. محتویات زیر را در آن قرار دهید:

#!/bin/bash

#  حذف فایل‌های ضبط تماس قدیمی‌تر از X روز

# مسیر فایل‌های ضبط‌شده تماس‌ها
RECORDINGS=/var/spool/asterisk/monitor/

# مدت نگهداری فایل‌ها (بر حسب روز)
RECORDINGEXPIRY=30

# حذف فایل‌هایی که قدیمی‌تر از مدت مشخص شده هستند
find "$RECORDINGS" -type f -mtime +$RECORDINGEXPIRY -exec rm -f {} \;

  1. فایل را ذخیره کرده و مجوز اجرایی کامل بدهید:

sudo chmod 777 /usr/src/removeOldRecordings.sh

اجرای خودکار روزانه با Cron

برای اینکه اسکریپت هر روز اجرا شود (مثلاً ساعت ۱۲:۰۱ بامداد)، یک کرون‌جاب تنظیم کنید:

crontab -e

در فایل بازشده، کلید i را بزنید و خط زیر را اضافه کنید:

۱ ۰ * * * /usr/src/removeOldRecordings.sh

برای ذخیره و خروج:

  1. کلید Esc را بزنید

  2. سپس بنویسید: :wq و Enter


نکات قابل تنظیم

  • مسیر RECORDINGS= را می‌توانید به پوشه موردنظر تغییر دهید؛ مثلاً برای حذف پیام‌های صندوق صوتی یا لاگ‌ها.

  • متغیر RECORDINGEXPIRY=30 را می‌توانید به هر عدد روز دلخواه (مثلاً ۱۵ یا ۶۰) تغییر دهید.


نکته امنیتی مهم

اگر امنیت برایتان اهمیت دارد، به‌جای chmod 777 از مجوزهای محدودتر مثل chmod 755 و اجرای اسکریپت با یک کاربر خاص استفاده کنید.

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها