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

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

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

حدف log file

حدف log file

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

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

Du –h /var/log

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

در سرور تستی ما فایل 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. “

همین کار را با سایر log file ها انجام میدهیم.

نوین هاست یار نوین شماست ،

لوکیشن ما روی نقشه گوگل

نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *