• ثبت نام
  • ورود
  • 49624 - 021 تلفن
  • ثبت نام
  • ورود
  • 49624 - 021 تلفن

اسکریپت نویسی شل لینوکس برای وبمسترها – قسمت ۶ – حدف log file

AdvancedLinuxShell - novinhost.org

AdvancedLinuxShell - novinhost.org

اسکریپت نویسی پیشرفته لینوکس برای وبمستر ها – قسمت ۶ – خالی کردن فایل های Log

فایل های Log یا وقایع نگاری لینوکس, در صورت تنظیم نشدن Log rotate روی هم جمع شده و ممکن است در دراز مدت حجم آنها به چندین گیگا بایت برسد.

بیشتر این فایل ها در دایرکتوری /var/log ذخیره میشوند, در این قسمت قصد داریم اسکریپتی بنویسیم که کار خالی کردن این فایل ها را بر عهده بگیرد.

AdvancedLinuxShell - novinhost.org

از ساده ترین شکل ممکن شروع میکنیم:

با وارد کردن دستور

Du –h /var/log

 در خط فرمان لیست فایل های   Log , به همراه حجم اشغال شده را مشاهده میکنیم:

در سرور تستی ما فایل munin با ۴۹ مگابایت حجم, سنگین ترین فایل لاگ بود, فایل audit نیز حجیم بود.

حالا میخواهیم اسکریپتی بنویسیم که این فایل ها را حذف کند:

Cat /dev/null > /var/log/munin

Cat /dev/nul > /var/log/audit

Echo “munin and audit logs Cleaned up. “

فایل /dev/null سیاهچاله لینوکس است, این فایل همیشه خالی است. حتی اگر چیزی در آن بنویسید.

با دستور cat محتوی فایل  null را که خالی است, به فایل لاگ انتقال میدهیم, با این کار فایل لاگ خالی میشوند.

اما فایل های لاگ معمولا اطلاعات مهمی در مورد سیستم دارند و اگر قرار بود همه آنها را حذف کنیم, بهتر بود از همان اول جلوی ایجاد شدن آنها را بگیریم, پس باید راهی پیدا کنیم که آخرین لاگ ها سالم بمانند و خط های قدیمی فایل حذف شوند.

دستور tail ده سطر آخر فایل را بر میگرداند, میتوانیم با کمک این دستور ده سطر آخر را نگه داریم.

Tail /var/log/munin > /var/log/munin.temp

Cat /dev/null > /var/log/munin

Mv /var/log/munin.temp /var/log/munin

Echo “logs cleaned up. “

همین کار را با سایر فایلها انجام میدهیم.

نوشته مشابه

ثبت نظر